/* lc-wedding-cost.css — the Lowcountry Wedding Cost Estimate tool */
.lc-cost {
  --lc-ink:#1d2721; --lc-muted:#6b7772; --lc-line:#e3e6e3; --lc-bg:#fff;
  --lc-bg-soft:#f6f7f5; --lc-accent:#2f6f57; --lc-gold:#b8863b;
  color:var(--lc-ink);
  display:grid; grid-template-columns:340px 1fr; gap:28px;
  max-width:1040px; margin:0 auto; padding:8px 20px 48px;
  font-family:inherit;
}
@media (max-width:820px){ .lc-cost{ grid-template-columns:1fr; gap:20px; } }

/* form */
.lc-cost__form{ background:var(--lc-bg-soft); border:1px solid var(--lc-line); border-radius:14px; padding:22px; align-self:start; }
.lc-cost__field{ margin-bottom:20px; }
.lc-cost__field:last-child{ margin-bottom:0; }
.lc-cost__label{ display:block; font-size:13px; text-transform:uppercase; letter-spacing:.04em; color:var(--lc-muted); margin-bottom:8px; }
.lc-cost__label b{ color:var(--lc-ink); font-size:16px; margin-left:6px; }
.lc-cost__range{ width:100%; accent-color:var(--lc-accent); }
.lc-cost__select{ width:100%; padding:10px 12px; border:1px solid var(--lc-line); border-radius:9px; background:var(--lc-bg); color:var(--lc-ink); font-size:14px; }
.lc-cost__select:focus{ outline:none; border-color:var(--lc-accent); }

/* result */
.lc-cost__headline{ text-align:center; padding:8px 0 22px; border-bottom:1px solid var(--lc-line); margin-bottom:18px; }
.lc-cost__hl-label{ color:var(--lc-muted); font-size:14px; }
.lc-cost__total{ font-size:52px; font-weight:800; line-height:1.05; margin:6px 0 4px; letter-spacing:-.02em; }
.lc-cost__band{ color:var(--lc-muted); font-size:14px; }

/* breakdown rows */
.lc-cost__breakdown{ display:flex; flex-direction:column; }
.lc-cost__row{ display:grid; grid-template-columns:1fr auto; grid-template-areas:"top cta" "bar cta"; align-items:center; column-gap:14px; padding:11px 6px; border-bottom:1px solid var(--lc-line); text-decoration:none; color:inherit; }
.lc-cost__cat-top{ grid-area:top; display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.lc-cost__bar{ grid-area:bar; }
.lc-cost__cat-cta{ grid-area:cta; }
.lc-cost__cat-name{ font-weight:600; font-size:15px; }
.lc-cost__cat-amt{ font-variant-numeric:tabular-nums; color:var(--lc-ink); font-weight:700; }
.lc-cost__bar{ display:block; height:6px; background:var(--lc-bg-soft); border-radius:4px; overflow:hidden; margin-top:7px; }
.lc-cost__bar-fill{ display:block; height:100%; background:var(--lc-accent); border-radius:4px; }
.lc-cost__row--link{ transition:background .12s; }
.lc-cost__row--link:hover{ background:var(--lc-bg-soft); }
.lc-cost__cat-cta{ color:var(--lc-accent); font-size:13px; font-weight:600; white-space:nowrap; opacity:0; transition:opacity .12s; align-self:center; }
.lc-cost__row--link:hover .lc-cost__cat-cta{ opacity:1; }
@media (max-width:820px){ .lc-cost__cat-cta{ opacity:1; } .lc-cost__total{ font-size:42px; } }

.lc-cost__note{ color:var(--lc-muted); font-size:12.5px; line-height:1.5; margin-top:18px; }
