/* Final buying flow: preserve the approved light stone palette and full-height products. */
.series-fit { font-size:12px!important; line-height:1.6!important; color:var(--muted); max-width:28em; margin-bottom:18px!important; }
.series-tile { display:flex; flex-direction:column; }
.series-tile>strong { margin-top:auto; }
.guide-teaser { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:36px 0; margin:15px 0 60px; border-block:1px solid var(--line); }
.guide-teaser h2 { font-size:29px; margin:0 0 12px; }
.guide-teaser p { font-size:14px; color:var(--muted); max-width:580px; margin:0; }
.guide-teaser .button { flex-shrink:0; }
.card-kit-price { font-size:12px; color:var(--muted); border-top:1px solid var(--line); padding-top:14px; margin:12px 0 6px; }
.card-kit-price strong { display:block; font-size:20px; color:var(--ink); font-weight:500; margin-top:4px; }
.card-dimensions { font-size:11px; color:var(--muted); margin-bottom:18px; }
.volume-helper { border:1px solid var(--line); background:var(--panel); margin-bottom:22px; }
.volume-helper>summary { list-style:none; cursor:pointer; padding:22px 26px; display:flex; justify-content:space-between; gap:20px; font-size:16px; }
.volume-helper>summary::-webkit-details-marker { display:none; }
.volume-helper[open]>summary>span { transform:rotate(45deg); }
.volume-helper>div { padding:0 26px 24px; }
.volume-helper p { font-size:14px; }
.room-calculator { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:16px; align-items:end; margin:20px 0; }
.room-calculator label { font-size:12px; }
.room-calculator input { display:block; width:100%; margin-top:8px; min-height:48px; }
.room-calculator .button { min-height:50px; }
.room-result { font-weight:550; color:#3c543a; }
.product-gallery { min-width:0; }
.product-hero .gallery-main { border:0; width:100%; position:relative; padding:28px; cursor:zoom-in; display:block; min-height:0; aspect-ratio:1/1; height:auto; }
.product-hero .gallery-main img { display:block; width:100%; height:100%; object-fit:contain; max-height:none; }
.gallery-main .gallery-zoom { position:absolute; left:auto; right:16px; bottom:15px; font-size:11px; padding:8px 11px; background:#fff; color:var(--ink); }
.gallery-thumbs { display:flex; gap:10px; margin:14px 0 12px; }
.gallery-thumb { padding:6px; width:76px; height:76px; border:1px solid var(--line); background:white; cursor:pointer; }
.gallery-thumb[aria-pressed="true"] { border:2px solid var(--sand); }
.gallery-thumb img { width:100%; height:100%; object-fit:contain; }
.product-fit { color:var(--muted); font-size:14px; line-height:1.65; max-width:520px; margin:15px 0 20px; }
.product-jumps { display:flex; gap:30px; border-block:1px solid var(--line); padding:8px 0; margin-top:15px; flex-wrap:wrap; }
.product-jumps a { display:flex; align-items:center; min-height:44px; font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.dimensions-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:center; }
.dimension-copy>p:not(.eyebrow) { max-width:520px; color:var(--muted); }
.dimension-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:32px 0; }
.dimension-values dt { font-size:12px; color:var(--muted); }
.dimension-values dd { font-size:25px; margin:9px 0 0; white-space:nowrap; }
.dimension-figure { display:flex; flex-direction:column; align-items:center; background:white; padding:25px; border:1px solid var(--line); min-width:0; }
.dimension-figure img { height:410px; max-width:100%; object-fit:contain; }
.dimension-figure span { margin-top:20px; color:var(--muted); font-size:11px; text-align:center; }
.text-button { display:inline-flex; align-items:center; justify-content:flex-start; min-height:44px; background:transparent; color:var(--ink); font:inherit; font-size:13px; border:0; padding:10px 0; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.save-quote { margin-top:10px; }
.kit-summary .save-quote,.smart-summary .save-quote { width:100%; }
.photo-viewer { width:min(1000px,94vw); max-width:94vw; max-height:94dvh; padding:20px; background:#fff; }
.photo-viewer .dialog-top h2 { font-size:20px; }
.photo-viewer>img { display:block; width:100%; height:min(65dvh,700px); object-fit:contain; background:white; }
.viewer-navigation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; }
.viewer-navigation .button { min-width:50px; padding:8px 18px; min-height:44px; }
.viewer-navigation p { font-size:12px; margin:0; color:var(--muted); }
.saved-quote { width:min(800px,94vw); max-width:94vw; max-height:92dvh; padding:30px; background:var(--bg); }
.saved-quote h2 { font-size:28px; }
.saved-quote pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:13px; line-height:1.75; background:white; border:1px solid var(--line); padding:25px; }
body:has(dialog[open]) { overflow:hidden; }
.series-guide-row { display:grid; grid-template-columns:200px minmax(0,1fr) 215px; gap:45px; align-items:center; padding:40px 0; border-top:1px solid var(--line); }
.guide-picture { height:240px; padding:15px; background:#eeebe5; display:flex; }
.guide-picture img { width:100%; height:100%; object-fit:contain; }
.series-guide-row h2 { font-size:33px; margin-bottom:12px; }
.series-guide-row h3 { font-size:18px; font-weight:450; letter-spacing:0; margin-bottom:12px; }
.series-guide-row p { max-width:600px; color:var(--muted); font-size:14px; }
.series-guide-row .guide-facts { color:var(--ink); margin-bottom:8px; }
.guide-series-price { display:flex; flex-direction:column; align-items:start; gap:12px; }
.guide-series-price span { font-size:12px; color:var(--muted); }
.guide-series-price strong { font-size:24px; font-weight:500; white-space:nowrap; }
.guide-series-price a { font-size:12px; }
.guide-decision { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.guide-decision p { max-width:550px; color:var(--muted); }
.guide-steps { border-left:1px solid var(--line); padding-left:45px; }
.guide-steps h3 { font-size:24px; }
.guide-steps ol { padding-left:20px; }
.guide-steps li { padding-left:7px; margin:24px 0; color:var(--muted); }
.guide-steps strong { font-weight:500; color:var(--ink); }
.control-guide { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.control-guide article { padding:35px; background:var(--panel); border:1px solid var(--line); }
.control-guide h3 { font-size:26px; margin-bottom:18px; }
.control-guide p { font-size:15px; color:var(--muted); }
.guide-checklist { border-top:1px solid var(--line); max-width:820px; }
.guide-checklist p { color:var(--muted); max-width:650px; }
.product-card a:focus-visible,.gallery-thumb:focus-visible,.text-button:focus-visible { outline:2px solid var(--sand); outline-offset:4px; }
@media(max-width:1000px) {
  .dimensions-section { gap:35px; }
  .room-calculator { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .room-calculator .button { grid-column:1/-1; justify-self:start; }
  .series-guide-row { grid-template-columns:150px minmax(0,1fr); gap:20px 30px; }
  .guide-series-price { grid-column:2; flex-direction:row; flex-wrap:wrap; align-items:center; }
  .guide-series-price span { display:none; }
  .guide-picture { grid-row:span 2; }
  .guide-decision { gap:35px; }
  .guide-steps { padding-left:30px; }
}
@media(max-width:680px) {
  .guide-teaser { display:block; margin:0 0 40px; padding:28px 0; }
  .guide-teaser h2 { font-size:25px; }
  .guide-teaser .button { margin-top:22px; }
  .product-hero .gallery-main { padding:22px; aspect-ratio:1/1.05; }
  .gallery-thumb { width:62px; height:62px; }
  .gallery-thumbs { gap:8px; }
  .product-jumps { gap:0 24px; margin-top:20px; }
  .product-jumps a { font-size:12px; }
  .product-fit { font-size:13px; }
  .dimensions-section { grid-template-columns:minmax(0,1fr); gap:28px; }
  .dimension-values dd { font-size:23px; }
  .dimension-figure { padding:20px; }
  .dimension-figure img { height:360px; }
  .dimension-copy .actions { gap:12px; }
  .volume-helper>summary { padding:18px; font-size:14px; }
  .volume-helper>div { padding:0 18px 20px; }
  .room-calculator { gap:10px; }
  .room-calculator input { padding:12px 9px; font-size:16px; }
  .room-calculator label { font-size:11px; }
  .room-calculator .button { width:100%; }
  .photo-viewer { padding:14px; }
  .photo-viewer .dialog-top h2 { font-size:17px; }
  .photo-viewer>img { height:60dvh; }
  .saved-quote { padding:18px; }
  .saved-quote h2 { font-size:24px; }
  .saved-quote pre { padding:16px; font-size:12px; }
  .saved-quote .actions { gap:10px; }
  .saved-quote .button { width:100%; }
  .series-guide-row { grid-template-columns:90px minmax(0,1fr); gap:15px; padding:28px 0; align-items:start; }
  .guide-picture { height:180px; padding:6px; }
  .series-guide-row h2 { font-size:27px; }
  .series-guide-row h3 { font-size:16px; line-height:1.4; }
  .series-guide-row p { font-size:12px; line-height:1.7; }
  .guide-series-price { grid-column:1/-1; justify-content:space-between; gap:10px; }
  .guide-series-price strong { font-size:22px; }
  .guide-decision,.control-guide { grid-template-columns:minmax(0,1fr); gap:25px; }
  .guide-steps { border-left:0; border-top:1px solid var(--line); padding:25px 0 0; }
  .control-guide article { padding:25px; }
}
.phone-control-proof { grid-column:1/-1; display:grid; grid-template-columns:240px minmax(0,1fr); align-items:center; gap:44px; padding:30px; border:1px solid var(--line); border-radius:18px; }
.phone-control-proof video { width:100%; max-height:380px; background:#161917; border-radius:12px; object-fit:contain; }
.phone-control-proof h3 { font-size:29px; line-height:1.2; }
.phone-control-proof p { max-width:520px; }
.crown-video { display:grid; grid-template-columns:.65fr 1fr; gap:70px; align-items:center; }
.crown-video video { width:100%; max-height:560px; object-fit:contain; background:#161917; border-radius:18px; }
.controller-app-note { padding:24px 0; border-bottom:1px solid var(--line); }
@media(max-width:600px) {
  .phone-control-proof,.crown-video { grid-template-columns:minmax(0,1fr); gap:24px; }
  .phone-control-proof { padding:22px; }
  .phone-control-proof video { max-height:370px; }
  .phone-control-proof h3 { font-size:24px; }
  .crown-video video { max-height:430px; }
}
@media print {
  .phone-control-proof,.crown-video { display:none!important; }
  @page { margin:14mm; }
  html,body { background:white!important; color:black!important; padding:0!important; overflow:visible!important; }
  .header,.footer,.compare-bar,.toast,.purchase-bar,.product-jumps,.gallery-thumbs,.gallery-zoom,.smart-addon,.detail-photo,.skip,.menu-toggle { display:none!important; }
  .shell { width:100%!important; max-width:none!important; padding:0!important; }
  .section { padding:25px 0!important; }
  .product-hero { display:grid!important; grid-template-columns:35% 1fr!important; gap:25px!important; }
  .product-main-image { height:260px!important; }
  .product-info h1 { font-size:32px!important; }
  .product-info .actions,.variants,.sale-note,.field-title,.product-gallery .fine { display:none!important; }
  .heater-kit .section-head,.management-modes,.kit-supply,.management-options,.kit-summary .button,.save-quote,.request-details,.quick-message-note,.text-button,.dimensions-section .actions { display:none!important; }
  .heater-kit-layout { display:block!important; }
  .kit-summary { background:white!important; border:1px solid #bbb!important; padding:20px!important; position:static!important; break-inside:avoid; }
  .dimensions-section { gap:30px!important; break-inside:avoid; }
  .dimension-figure img { height:260px!important; }
  .product-details { display:block!important; }
  .description { margin-top:25px; }
  dialog { display:none!important; }
  body:has(#saved-quote[open])>* { display:none!important; }
  body:has(#saved-quote[open])>#saved-quote { display:block!important; position:static!important; max-height:none!important; width:100%!important; max-width:none!important; border:0!important; padding:0!important; overflow:visible!important; }
  #saved-quote .dialog-top button,#saved-quote .actions,#saved-quote>p { display:none!important; }
  #saved-quote pre { border:0!important; padding:0!important; font-size:11pt!important; }
}
