.wedding-detail-page{display:flex;min-width:0;flex-direction:column;gap:1.5rem}

.wedding-detail-profile{position:relative;padding:1.5rem 1.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.25rem;box-shadow:var(--shadow-ambient)}
.wedding-detail-profile__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.wedding-detail-profile__header h2{margin:0 0 .4rem;font-family:var(--font-editorial);font-weight:600;font-size:1.5rem;color:var(--color-text)}
.wedding-detail-profile__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:0}
.wedding-detail-profile__grid dt{margin:0;color:var(--color-text-muted);font-size:.75rem}
.wedding-detail-profile__grid dd{margin:.3rem 0 0;font-weight:650;font-size:.9375rem;color:var(--color-text)}
.wedding-detail-profile__notes{margin:1.1rem 0 0;padding-top:1.1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}
.wedding-detail-profile__notes strong{color:var(--color-text)}

.wedding-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem}

.wedding-detail-scenario{min-height:auto}
.wedding-detail-scenario__summary{margin-bottom:1.25rem}
.wedding-detail-scenario__summary h3{margin:0 0 .9rem;font-family:var(--font-editorial);font-size:1.375rem;font-weight:600;color:var(--color-text)}
.wedding-detail-scenario__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin:0 0 1rem}
.wedding-detail-scenario__stats dt{margin:0;color:var(--color-text-muted);font-size:.6875rem}
.wedding-detail-scenario__stats dd{margin:.3rem 0 0;overflow-wrap:anywhere;font-size:.9375rem;font-weight:700;color:var(--color-text)}
.wedding-detail-scenario__stats dd.is-negative{color:var(--color-error)}

.wedding-detail-composition{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.wedding-detail-composition li{display:grid;grid-template-columns:9rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .9rem;background:var(--color-surface-container);border-radius:.9rem}
.wedding-detail-composition__category{color:var(--color-text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.wedding-detail-composition li a{overflow:hidden;color:var(--color-text);font-size:.8125rem;font-weight:650;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.wedding-detail-composition li a:hover{text-decoration:underline;text-underline-offset:.2em}
.wedding-detail-composition__price{font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.wedding-detail-composition li.wedding-detail-composition__total{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem;padding:1rem .9rem 0;background:none;border-radius:0;border-top:1px solid var(--color-border)}
.wedding-detail-composition__total span:first-child{font-weight:700;font-size:.8125rem;color:var(--color-text)}
.wedding-detail-composition__total span:last-child{font-size:1.0625rem;font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums}

.wedding-detail-loading{display:grid;gap:1.25rem}

@media(max-width:799px){
  .wedding-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:699px){
  .wedding-detail-profile{padding:1.25rem}
  .wedding-detail-profile__header{flex-direction:column;align-items:flex-start}
  .wedding-detail-metrics{grid-template-columns:1fr}
  .wedding-detail-scenario__stats{grid-template-columns:1fr}
  .wedding-detail-composition li{grid-template-columns:1fr;gap:.3rem}
  .wedding-detail-composition__price{justify-self:start}
}
