/* Leisurecraft catalog + system builder.
   Extends site.css (same obsidian / ember / ice / cream tokens, Fraunces + Manrope).
   Nothing here redefines a site.css class; every selector is .lc-*. */

.lc-fine{color:var(--muted);font-size:13px;line-height:1.65}
.lc-ok{color:#9BE6B4}
.lc-warn{color:var(--ember-soft)}
.lc-stamp{margin-top:26px;max-width:78ch}
.lc-stale{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;border:1px solid rgba(226,88,45,.45);background:rgba(226,88,45,.12);
  color:#F5B98A;border-radius:999px;padding:3px 9px}
.lc-fresh{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;border:1px solid rgba(111,190,228,.4);background:rgba(111,190,228,.1);
  color:#B7E1F5;border-radius:999px;padding:3px 9px}
.lc-cat{display:inline-block;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 11px}
.lc-tag{display:inline-block;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  color:#B7E1F5;border:1px solid rgba(111,190,228,.4);background:rgba(111,190,228,.09);
  border-radius:999px;padding:5px 11px}
.lc-sku{color:var(--muted);font-size:12.5px;margin:6px 0 0;letter-spacing:.04em}
.lc-desc{color:var(--muted);font-size:15px;margin:12px 0 0}
.lc-price{font-family:var(--display);font-size:22px;letter-spacing:-.01em;color:var(--text)}
.lc-tariff{margin:12px 0 0;font-size:13.5px;color:var(--muted);line-height:1.6}
.lc-lead{margin:12px 0 0;font-size:14px;color:#C2CAD2;line-height:1.6}

/* ---------- imagery ---------- */
.lc-shot{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,#12171c,#0d1114);aspect-ratio:4/3}
.lc-shot img{width:100%;height:100%;object-fit:cover;display:block}
.lc-shot-none{display:flex;align-items:center;justify-content:center;text-align:center;
  padding:22px;color:var(--muted);font-size:13px}

/* ---------- paired hero cards ---------- */
.lc-pairs{display:grid;gap:22px;margin-top:40px}
.lc-pair{border:1px solid var(--line);border-radius:24px;padding:26px;
  background:radial-gradient(110% 130% at 6% 0%,rgba(226,88,45,.14),transparent 56%),
             radial-gradient(110% 130% at 94% 100%,rgba(111,190,228,.14),transparent 56%),
             var(--bg-2)}
.lc-pairgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;position:relative}
.lc-pairgrid:before{content:"";position:absolute;left:50%;top:6%;bottom:6%;width:1px;
  background:linear-gradient(180deg,transparent,rgba(226,88,45,.5),rgba(111,190,228,.5),transparent)}
.lc-half h4{font-family:var(--display);font-weight:600;font-size:19px;margin:12px 0 6px}
.lc-halflabel{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
.lc-half.hot .lc-halflabel{color:#F5B98A}
.lc-half.cold .lc-halflabel{color:#B7E1F5}
.lc-pairfoot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.lc-pairtotal b{font-family:var(--display);font-size:26px;letter-spacing:-.01em}
.lc-pairnote{margin-top:14px;max-width:80ch}

/* ---------- catalog grid ---------- */
.lc-catsec{padding:72px 0}
.lc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.lc-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;
  padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.lc-card:hover{transform:translateY(-3px);border-color:rgba(243,241,237,.2);
  box-shadow:0 22px 60px rgba(0,0,0,.45)}
.lc-cardlink{text-decoration:none;color:inherit;display:block}
.lc-cardbody{padding:16px 2px 0}
.lc-cardbody h3{font-family:var(--display);font-weight:600;font-size:20px;margin:10px 0 0}
.lc-cardfoot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.lc-cardcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:18px}
.lc-cardcta .btn{padding:10px 18px;font-size:13.5px}

/* ---------- product detail ---------- */
.lc-pdp{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:34px;align-items:start;padding:44px 0 8px}
.lc-pdpbuy{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--line);border-radius:22px;padding:28px}
.lc-pdpbuy h1{font-family:var(--display);font-size:clamp(26px,3.4vw,38px);margin:12px 0 0;line-height:1.08}
.lc-amt{margin:18px 0 4px}
.lc-opttbl{margin-top:18px}

/* ---------- builder ---------- */
.lc-buildgrid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:start}
.lc-step{border-top:1px solid var(--line);padding:30px 0}
.lc-step:first-child{border-top:0;padding-top:6px}
.lc-step h2{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);margin:0}
.lc-stepno{color:var(--ember-soft);font-size:14px;letter-spacing:.18em;margin-right:10px;
  vertical-align:middle}
.lc-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}
.lc-choice{position:relative;text-align:left;border:1px solid var(--line);border-radius:18px;
  padding:14px;background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;
  font:inherit;transition:border-color .2s ease,background .2s ease}
.lc-choice:hover{border-color:rgba(243,241,237,.28)}
.lc-choice:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.lc-choice[aria-checked="true"]{border-color:var(--ember);background:rgba(226,88,45,.12)}
.lc-choice .lc-shot{aspect-ratio:16/10}
.lc-choice h4{font-family:var(--display);font-weight:600;font-size:17px;margin:12px 0 4px}
.lc-choice .lc-p{font-size:14px;color:#C2CAD2}
.lc-choice .lc-t{font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.lc-optwrap{margin-top:22px}
.lc-optgroup{border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:14px;
  background:rgba(255,255,255,.02)}
.lc-optgroup legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:0 6px}
.lc-optrow{display:flex;gap:12px;align-items:flex-start;padding:9px 0;
  border-top:1px solid rgba(243,241,237,.05);font-size:14.5px}
.lc-optrow:first-of-type{border-top:0}
.lc-optrow input{margin-top:4px;accent-color:var(--ember);width:17px;height:17px;flex:none}
.lc-optrow input:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.lc-optrow .lc-fine{display:block}
.lc-extras{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.lc-extra{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);
  border-radius:16px;padding:14px;background:rgba(255,255,255,.025);font-size:14.5px}
.lc-extra input[type=checkbox]{margin-top:4px;accent-color:var(--ice);width:17px;height:17px;flex:none}
.lc-extra input[type=number]{box-sizing:border-box;width:64px;margin-top:8px;padding:7px 9px;border-radius:10px;
  border:1px solid #2A3138;background:#11151A;color:var(--text);font:inherit;font-size:14px}
.lc-extra input:focus-visible{outline:2px solid var(--ice);outline-offset:2px}

/* ---------- estimate rail ---------- */
.lc-est{position:sticky;top:96px;border:1px solid var(--line);border-radius:20px;padding:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012))}
.lc-est h3{font-family:var(--display);font-size:20px;margin:0 0 14px}
.lc-lines{font-size:14px}
.lc-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;
  border-top:1px solid rgba(243,241,237,.06)}
.lc-line:first-child{border-top:0}
.lc-line .lc-l{color:#D5DBE1}
.lc-line .lc-v{font-family:var(--display);white-space:nowrap}
.lc-line.lc-sub .lc-l,.lc-line.lc-sub .lc-v{color:var(--muted);font-size:13px;
  font-family:var(--body)}
.lc-line.lc-tar .lc-v{color:var(--ember-soft)}
.lc-total{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.lc-total b{font-family:var(--display);font-size:26px;letter-spacing:-.01em}
.lc-excluded{margin-top:14px;border:1px solid rgba(226,88,45,.35);border-radius:14px;
  padding:12px 14px;background:rgba(226,88,45,.07);font-size:13px;color:#EBD9CE;line-height:1.6}
.lc-excluded ul{margin:8px 0 0;padding-left:18px}

/* ---------- quote form ---------- */
.lc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.lc-field label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:7px}
.lc-field input{width:100%;max-width:100%;box-sizing:border-box;padding:13px 15px;border-radius:13px;border:1px solid #2A3138;
  background:#11151A;color:var(--text);font:400 15px/1.5 var(--body)}
.lc-field input:focus-visible{outline:2px solid var(--ice);outline-offset:2px;border-color:var(--ice)}
.lc-field input[aria-invalid="true"]{border-color:var(--ember)}
.lc-checks{border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:20px 0 0}
.lc-checks legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:0 6px}
.lc-check{display:flex;gap:12px;align-items:flex-start;padding:11px 0;font-size:14px;
  color:#C2CAD2;line-height:1.6;border-top:1px solid rgba(243,241,237,.05)}
.lc-check:first-of-type{border-top:0}
.lc-check input{margin-top:4px;accent-color:var(--ember);width:18px;height:18px;flex:none}
.lc-check input:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.lc-err{color:#FFB59B;border:1px solid rgba(226,88,45,.45);background:rgba(226,88,45,.1);
  border-radius:12px;padding:11px 14px;font-size:14px;margin:18px 0 0}
.lc-done{border:1px solid rgba(111,190,228,.4);background:rgba(111,190,228,.08);
  border-radius:18px;padding:22px;margin-top:20px}
.lc-done h3{font-family:var(--display);font-size:22px;margin:0 0 10px}
.lc-done .lc-ref{font-family:var(--display);font-size:24px;letter-spacing:.04em;color:#B7E1F5}
.lc-done p{color:#C2CAD2;font-size:14.5px;line-height:1.65}

@media(max-width:980px){
  .lc-buildgrid,.lc-pdp{grid-template-columns:1fr}
  .lc-grid{grid-template-columns:1fr 1fr}
  .lc-est{position:static}
}
@media(max-width:640px){
  .lc-grid,.lc-choices,.lc-extras,.lc-fields{grid-template-columns:1fr}
  .lc-pairgrid{grid-template-columns:1fr}
  .lc-pairgrid:before{display:none}
  .lc-catsec{padding:52px 0}
  .lc-opttbl th:nth-child(3),.lc-opttbl td:nth-child(3){display:table-cell}
}
@media (prefers-reduced-motion:reduce){
  .lc-card,.lc-choice{transition:none}
  .lc-card:hover{transform:none}
}

/* the site header is sticky: keep anchored/scrolled-to controls out from under it */
.lc-step,.lc-optgroup,.lc-choice,.lc-extra,.lc-catsec,.lc-done{scroll-margin-top:100px}

/* the choice card's image is a <span>: make it a block box or the card text overlaps */
.lc-choice .lc-shot{display:block}
.lc-extrablock{display:flex;flex-direction:column;gap:0}
.lc-extraopts{margin:0 0 0 8px}
.lc-extraopts .lc-optgroup{margin-top:10px}
.lc-pdp.lc-pdp-noimg{grid-template-columns:minmax(0,720px)}
.lc-warnbox{border:1px solid rgba(226,88,45,.35);background:rgba(226,88,45,.07);
  border-radius:12px;padding:11px 14px}

/* ---------- catalog at scale: tabs, search, progressive reveal ---------- */
.lc-toolbar{padding:34px 0 0;position:relative;z-index:2}
.lc-tabs{display:flex;flex-wrap:wrap;gap:9px}
.lc-tab{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;
  color:#C2CAD2;text-decoration:none;background:rgba(255,255,255,.03);transition:.2s}
.lc-tab:hover{border-color:rgba(243,241,237,.28);color:var(--text)}
.lc-tab:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.lc-searchwrap{margin-top:16px;max-width:460px}
.lc-searchwrap input{width:100%;padding:13px 15px;border-radius:13px;border:1px solid #2A3138;
  background:#11151A;color:var(--text);font:400 15px/1.5 var(--body)}
.lc-searchwrap input:focus-visible{outline:2px solid var(--ice);outline-offset:2px;
  border-color:var(--ice)}
.lc-morewrap{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.lc-details{border:1px solid var(--line);border-radius:16px;padding:0 18px;margin-top:26px}
.lc-details>summary{cursor:pointer;padding:18px 0;font-family:var(--display);font-size:18px;
  list-style:none}
.lc-details>summary::-webkit-details-marker{display:none}
.lc-details>summary:after{content:"+";color:var(--ember-soft);font-size:22px;margin-left:10px}
.lc-details[open]>summary:after{content:"\2212"}
.lc-details>summary:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.lc-details .lc-grid{margin-top:8px;padding-bottom:20px}

/* base-price / kit honesty */
.lc-kit{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.06em;
  text-transform:uppercase;color:#F5B98A}
.lc-kitnote{margin:14px 0 0;border:1px solid rgba(226,88,45,.4);background:rgba(226,88,45,.09);
  border-radius:14px;padding:12px 14px;font-size:13.5px;color:#EBD9CE;line-height:1.6}

/* .lc-card sets display:flex, which beats the UA [hidden] rule — filtering needs this */
.lc-card[hidden],.lc-extrablock[hidden],[data-lc-slot][hidden]{display:none!important}

/* supplier configuration notes (base-unit / controls-on-quote caveats) */
.lc-optnote{display:block;margin-top:6px;font-size:12.5px;line-height:1.55;color:#F5B98A}
.lc-opttbl td:nth-child(4){color:var(--muted);font-size:13.5px}

/* secondary detail collapsed in the estimate rail (key charges stay visible) */
.lc-keyline{color:#D5DBE1;margin-top:14px}
.lc-more{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.lc-more>summary{cursor:pointer;font-size:13.5px;color:var(--ice);list-style:none}
.lc-more>summary::-webkit-details-marker{display:none}
.lc-more>summary:after{content:" +";color:var(--ember-soft)}
.lc-more[open]>summary:after{content:" \2212"}
.lc-more>summary:focus-visible{outline:2px solid var(--ice);outline-offset:3px}

/* ================= multi-page system builder (step routes) =================
   Scoped to .lc-* only, low specificity, and it uses the daylight semantic tokens
   (--bg/--surface/--text/--muted/--ember/--ice/--line) so it inherits the bright
   theme instead of fighting it. Layout only — no color is hard-coded here. */
.lc-wizhead{padding:64px 0 10px;background:var(--bg)}
.lc-wizhead h1{font-family:var(--display);font-size:clamp(30px,4.4vw,48px);margin:14px 0 10px}
.lc-prog{margin-top:26px}
.lc-prog ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.lc-prog li{flex:1 1 170px}
.lc-prog a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted);
  border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:14px;
  background:var(--surface)}
.lc-prog-n{display:inline-flex;align-items:center;justify-content:center;width:22px;
  height:22px;border-radius:999px;border:1px solid var(--line);font-size:12px}
.lc-prog-now a{color:var(--text);border-color:var(--ember)}
.lc-prog-now .lc-prog-n{background:var(--ember);color:var(--bg);border-color:var(--ember)}
.lc-prog-done a{color:var(--text)}
.lc-prog-done .lc-prog-n{background:var(--ice);color:var(--bg);border-color:var(--ice)}
.lc-wizbody{padding:26px 0 70px}
.lc-wizgrid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.lc-wizmain{min-width:0}
.lc-sumbar{position:sticky;top:92px;border:1px solid var(--line);border-radius:20px;
  padding:20px;background:var(--surface)}
.lc-sumtitle{font-family:var(--display);font-size:19px;margin:0 0 12px}
.lc-sumrow,.lc-revrow{display:flex;flex-direction:column;gap:5px;padding:12px 0;
  border-top:1px solid var(--line)}
.lc-sumcat{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.lc-sumacts{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:4px}
.lc-linkbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;
  background:none;border:0;font:inherit;font-size:13px;color:var(--ice);
  text-decoration:underline;cursor:pointer}
.lc-sumtotal{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.lc-sumtotal b{font-family:var(--display);font-size:24px}
.lc-startcard,.lc-picked{border:1px solid var(--line);border-radius:20px;padding:22px;
  background:var(--surface)}
.lc-startlist{margin:14px 0 18px;padding-left:20px;line-height:1.9}
.lc-picked{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}
.lc-choicegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.lc-choicecard{display:flex;flex-direction:column;gap:8px;text-decoration:none;
  color:inherit;border:1px solid var(--line);border-radius:20px;padding:16px;
  background:var(--surface);position:relative}
.lc-choicecard h3{font-family:var(--display);font-size:19px;margin:10px 0 0}
.lc-choicecard .lc-t{font-size:12.5px;color:var(--muted);line-height:1.55}
.lc-choicecard .lc-p{font-family:var(--display);font-size:20px}
.lc-choicego{margin-top:auto;padding-top:10px;font-size:13.5px;color:var(--ice)}
.lc-choicecard.is-picked{border-color:var(--ember)}
.lc-pickedflag{position:absolute;top:12px;right:12px;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;border-radius:999px;padding:4px 10px;border:1px solid var(--ember);
  color:var(--ember)}
.lc-wizfoot{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;
  margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.lc-skip{margin-top:10px}
.lc-buildbox{margin:18px 0;border:1px solid var(--line);border-radius:20px;padding:18px;
  background:var(--surface)}
/* ---------- product gallery ---------- */
.lc-gallery{margin:0}
.lc-gallery{min-width:0}
.lc-gctl{display:flex;align-items:center;gap:10px;margin-top:12px}
.lc-thumbs{display:flex;gap:10px;align-items:center;margin-top:10px;overflow-x:auto;
  padding-bottom:4px;max-width:100%;-webkit-overflow-scrolling:touch}
.lc-thumb{flex:0 0 76px;height:60px;padding:0;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background:var(--surface);cursor:pointer}
.lc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lc-thumb[aria-pressed="true"]{border-color:var(--ember);outline:1px solid var(--ember)}
.lc-gnav{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);
  color:var(--text);border-radius:999px;min-width:44px;min-height:44px;font-size:20px;
  line-height:1;cursor:pointer}
.lc-spectbl th{text-align:left;width:38%;font-weight:600}
.lc-src{font-size:12px;color:var(--ice)}
@media(max-width:960px){
  .lc-wizgrid{grid-template-columns:1fr}
  .lc-sumbar{position:static;order:-1}
  .lc-prog a{padding:8px 11px;font-size:13px}
}
@media(max-width:640px){
  .lc-prog li{flex:1 1 44%}
  .lc-choicegrid{grid-template-columns:1fr}
  .lc-wizfoot .btn{flex:1 1 100%;text-align:center}
}
/* Daylight overrides: beat the older dark component colors on the step flow. */
html .lc-prog a,html .lc-sumbar,html .lc-startcard,html .lc-picked,
html .lc-choicecard,html .lc-buildbox,html .lc-thumb,html .lc-gnav{
  background:var(--surface);border-color:var(--line);color:var(--text);
}
html .lc-linkbtn,html .lc-choicego,html .lc-src{color:var(--ice)}
html .lc-choicecard:hover{border-color:var(--ice);box-shadow:var(--shadow)}
html .lc-pickedflag,html .lc-choicecard.is-picked{border-color:var(--ember)}
html .lc-pickedflag{color:var(--ember)}
html .lc-ok{color:var(--ice)}
html .lc-shot,html .lc-gmain{background:var(--bg-3)}
.lc-xtools{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.lc-xfilters{display:flex;flex-wrap:wrap;gap:8px}
.lc-chip{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);
  background:var(--surface);color:var(--muted);border-radius:999px;padding:0 16px;
  font:inherit;font-size:13px;cursor:pointer}
.lc-chip[aria-pressed="true"]{color:var(--text);border-color:var(--ember)}
.lc-cfg{margin-top:14px}
.lc-cfg summary,.lc-extraopts summary{cursor:pointer;font-size:14px}
html .lc-chip{background:var(--surface);color:var(--muted);border-color:var(--line)}
html .lc-chip[aria-pressed="true"]{color:var(--text);border-color:var(--ember)}
/* [hidden] must actually hide, even where a .lc-* rule sets display. */
.lc-cardcta[hidden],.lc-buildbox[hidden],.lc-picked[hidden],.lc-extraopts[hidden],
.lc-gallery[hidden],.lc-sumbar[hidden]{display:none}
html .lc-cardcta[hidden],html .lc-buildbox[hidden],html .lc-picked[hidden]{display:none}
.lc-opttblwrap{margin-top:10px}
.lc-opttblwrap summary{cursor:pointer;font-size:15px}
/* Estimate rail sits ABOVE the quote form on review: money is reviewed before send. */
.lc-review+.lc-est{margin-bottom:24px}
.lc-est{border:1px solid var(--line);border-radius:20px;padding:20px}
html .lc-est{background:var(--surface)}
.lc-pdp>*{min-width:0}
.lc-gmain img{max-width:100%}
/* Never depend on site.css's global box-sizing for our own inputs. */
.lc-searchwrap input,.lc-field input,.lc-extra input[type=number]{box-sizing:border-box;
  max-width:100%}
/* On review the estimate is IN FLOW above the form, so it must not stay sticky and
   float over the acknowledgements. Only the step summary rail stays sticky. */
.lc-wizmain>.lc-est{position:static;top:auto}
html .lc-wizmain>.lc-est{position:static}
.lc-check,.lc-fields,.lc-checks,#lc-submit{scroll-margin-top:100px}
/* "Included in your build" -- read-only, checked, disabled rows. Deliberately styled
   like a receipt, not a form: nothing here is meant to look editable. */
.lc-included{border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:20px}
html .lc-included{background:var(--surface)}
.lc-includedtitle{font-family:var(--display);font-size:18px;margin:0 0 12px}
.lc-includedlist{display:flex;flex-direction:column;gap:2px}
.lc-includedrow{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:14px;
  border-top:1px solid rgba(243,241,237,.06);cursor:default}
.lc-includedrow:first-child{border-top:0}
.lc-includedrow input[type=checkbox]{margin-top:4px;width:16px;height:16px;flex:none;
  accent-color:var(--ice);cursor:default}
.lc-includedrow input[type=checkbox]:disabled{opacity:.85}
html .lc-includedrow{border-top-color:var(--line)}

/* Persistent removed-choice notice: a stale saved pick is explained, never just
   silently dropped. Deliberately louder than .lc-fine and not auto-dismissing. */
.lc-noticebox{border:1px solid rgba(226,88,45,.45);background:rgba(226,88,45,.09);
  border-radius:14px;padding:14px 16px;margin:0 0 20px;font-size:13.5px;color:#EBD9CE;
  line-height:1.6}
.lc-noticebox ul{margin:8px 0 0;padding-left:18px}
html .lc-noticebox{color:var(--text)}

/* A required option group the fit policy left with nothing verified -- no invented
   fallback, the gap is stated plainly. */
.lc-optgroup-empty{border-color:rgba(226,88,45,.4)}

/* Chosen options: collapsed key/value list, not a dense run-on line. */
.lc-optsum{margin-top:4px}
.lc-optsum summary{cursor:pointer;font-size:13px;color:var(--muted);min-height:30px}
.lc-optdl{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;
  font-size:13px}
.lc-optdl dt{color:var(--muted)}
.lc-optdl dd{margin:0}
html .lc-optsum summary,html .lc-optdl dt{color:var(--muted)}
.lc-kitnote,.lc-noticebox {padding:20px;line-height:1.65}
.lc-includedrow {line-height:1.6}

/* Price/configuration notes are customer copy, not micro-print. */
html .lc-fine,html .lc-stamp,html .lc-optdl {font-size:14px;line-height:1.7}
html .lc-lead {font-size:15px;line-height:1.7}
html .lc-kitnote {font-size:14px;line-height:1.7;margin-top:20px}
html .lc-kitnote b {display:block;margin-bottom:8px}
html .lc-excluded {line-height:1.7}
html .lc-price-context {display:block;margin-top:8px}
