/* Product-specific additions to the retained product-page styles. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent-strong);outline-offset:4px}
html{scroll-padding-top:24px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:20000;padding:16px 24px;background:white;border:2px solid var(--accent-strong);border-radius:12px}
.skip-link:focus{top:16px}
.gallery-hero h1 em{font-style:normal;color:var(--accent-strong)}
.gallery-hero-grid>*{min-width:0}
.gallery-jump{display:inline-block;margin-top:24px;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:5px;color:var(--text-soft)}
.plisse-poster{display:block;position:relative;width:100%;padding:0;border:1px solid var(--line);border-radius:25px;background:#fff;overflow:hidden;cursor:zoom-in;box-shadow:var(--shadow-lg);text-align:left;color:var(--text)}
.plisse-poster img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.plisse-poster>span{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;font-size:14px;background:#fff}
.plisse-poster b{color:var(--accent-strong);font-size:23px;font-weight:400}
.poster-hint{font-size:11px!important;line-height:1.6!important;margin:12px 2px 0!important}
.plisse-how-note{padding:38px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(130deg,var(--blue-pale),#f8f1e6)}
.plisse-how-note p{font-size:15px;line-height:1.85;color:#52657d;margin-bottom:0}
.fold-mark{font-size:45px;letter-spacing:-.15em;color:var(--accent-strong);display:block;overflow:hidden}
.plisse-variants{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.plisse-variant{padding:34px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff,var(--blue-pale));box-shadow:var(--shadow-sm)}
.variant-number{font-size:12px;letter-spacing:.07em;color:var(--accent-strong)}
.plisse-variant h3{font:300 32px/1.2 'Raleway',Arial,sans-serif;margin:20px 0 14px}
.plisse-variant p{color:var(--text-soft);font-size:15px;line-height:1.8;margin-bottom:24px}
.plisse-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:700px;margin:30px auto 0}
.plisse-color{display:grid;justify-items:center;gap:18px;padding:25px 10px;font-size:16px}
.swatch{display:inline-block;flex-shrink:0;width:68px;height:68px;border:1px solid rgba(38,54,79,.18);border-radius:50%;box-shadow:inset 0 2px 4px rgba(255,255,255,.5),0 7px 15px rgba(38,54,79,.10)}
.swatch.white{background:#f6f5f1}.swatch.brown{background:#614331}.swatch.anthracite{background:#383b3c}
.calculator-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}
.calculator-form{padding:32px;border:1px solid var(--line);border-radius:27px;background:var(--bg-soft)}
.calculator-form fieldset{border:0;margin:0 0 27px;padding:0;min-width:0}
.calculator-form legend,.field>label{font-size:14px;font-weight:500;display:block;margin-bottom:12px;color:var(--text)}
.segmented{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.segmented label{position:relative;cursor:pointer}
.segmented input{position:absolute;left:12px;top:16px;opacity:0}
.segmented label>span{display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid var(--line);padding:12px 8px;border-radius:15px;font-size:14px;background:white}
.segmented input:checked+span{background:var(--dark);color:white;border-color:var(--dark)}
.segmented input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
.field-hint{font-size:12px;line-height:1.65;color:#52657d;display:block}
#size-range{margin:-15px 0 25px}
.dimensions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.field{min-width:0}
.field input{display:block;width:100%;height:54px;border:1px solid rgba(82,108,142,.28);border-radius:13px;background:white;color:var(--text);padding:12px 15px;font:400 18px/1.3 inherit;letter-spacing:.02em}
.field input[aria-invalid=true]{border-color:#aa3939;background:#fff9f9}
.field-error{display:block;min-height:0;color:#9a3333;font-size:12px;line-height:1.6;margin-top:5px}
.color-options{display:flex;flex-wrap:wrap;gap:9px}
.color-option{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:white;padding:10px;cursor:pointer;font-size:12px}
.color-option:has(input:checked){border-color:var(--accent-strong);background:#faf5ed}
.color-option .swatch{width:23px;height:23px}
.color-option input{accent-color:var(--accent-strong);width:16px;height:16px;margin:0}
.installation-options{display:grid;gap:10px}
.installation-options label{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:white;font-size:13px;line-height:1.5;cursor:pointer}
.installation-options input{width:17px;height:17px;flex-shrink:0;accent-color:var(--accent-strong);margin:0}
.quantity-field{margin-bottom:25px}.quantity-field input{max-width:130px;margin-bottom:8px}
.calculate-submit{width:100%;font-size:14px}
.calculator-result{position:sticky;top:24px;padding:36px;border-radius:27px;background:linear-gradient(145deg,#26364f,#304964);color:white;box-shadow:var(--shadow-lg)}
.result-heading{font-size:12px;letter-spacing:.07em;color:#e0c99f;margin-bottom:29px}
.total-label{font-size:14px;color:#dbe3ed}
.total-price{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin:8px 0 26px;font:300 clamp(38px,4.2vw,56px)/1.15 'Raleway',Arial,sans-serif;font-variant-numeric:tabular-nums}
.total-price .currency{font:300 20px/1.4 'Raleway',Arial,sans-serif;color:#e0c99f}
#total-price{min-width:0;max-width:100%;overflow-wrap:anywhere}
.result-details{margin:0 0 23px;padding:0;font-size:13px;line-height:1.6}
.result-details>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-bottom:1px solid rgba(255,255,255,.13);padding:13px 0}
.result-details dt{color:#d6dfeb}.result-details dd{margin:0;text-align:right;color:white}
.price-disclaimer{font-size:12px;line-height:1.8;color:#e1e7ed;padding-top:6px}
.calculator-result .btn{width:100%;font-size:13px;text-align:center;margin-top:15px;line-height:1.5}
.calculator-result .btn-light{color:var(--text)}
#invalid-result{font-size:17px;line-height:1.8;margin:0 0 20px}
.rounding-note{max-width:940px;color:#52657d;font-size:12px;line-height:1.85;margin:24px 0 0;padding-left:19px;border-left:2px solid var(--accent)}
.plisse-gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.poster-dialog{width:min(1200px,98vw);max-width:98vw;height:96dvh;max-height:96dvh;padding:0;border:1px solid var(--line);border-radius:18px;background:#17263c;color:white;overflow:hidden}
.poster-dialog::backdrop{background:rgba(16,27,43,.92)}
.poster-dialog[open]{display:flex;flex-direction:column}
.poster-controls{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;flex-shrink:0;flex-wrap:wrap}
.poster-controls button,.poster-controls a{border:1px solid rgba(255,255,255,.3);background:transparent;color:white;border-radius:10px;min-width:42px;min-height:42px;padding:9px 13px;font:400 13px/1.4 Arial,sans-serif;cursor:pointer}
.poster-controls #poster-close{font-size:22px;padding:2px 10px}
.poster-stage{overflow:auto;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;padding:8px;overscroll-behavior:contain}
.poster-stage img{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;margin:auto}
.poster-stage.zoomed{display:block}
.poster-stage.zoomed img{width:1080px;max-width:none;height:1080px;max-height:none;margin:0 auto}
#poster-caption{text-align:center;font-size:12px;margin:10px 15px 14px;color:#e0c99f}
@media(max-width:1000px){.calculator-grid{gap:20px}.calculator-form,.calculator-result{padding:25px}.color-options{gap:7px}.color-option{padding:9px 7px}.color-option .swatch{width:18px;height:18px}}
@media(max-width:900px){.gallery-hero-grid{grid-template-columns:1fr 1fr;gap:24px}.gallery-hero h1{font-size:41px}.gallery-hero p{font-size:16px}.hero-points{gap:6px}.hero-points span{font-size:11px;padding:10px}.hero-actions .btn{font-size:12px;padding:13px}.calculator-grid{grid-template-columns:1fr}.calculator-result{position:static}.info-grid{gap:25px}}
@media(max-width:760px){html{scroll-padding-top:12px}.gallery-hero-grid{grid-template-columns:1fr;gap:30px}.gallery-hero h1{font-size:38px}.hero-points span{font-size:12px}.hero-actions .btn{font-size:14px}.plisse-poster{border-radius:19px}.plisse-how-note{padding:25px}.plisse-variants{grid-template-columns:1fr}.plisse-variant{padding:25px}.plisse-colors{gap:8px}.plisse-color{font-size:13px;padding:16px 0}.swatch{width:53px;height:53px}.calculator-form,.calculator-result{padding:23px 18px;border-radius:22px}.dimensions{gap:12px}.field>label{font-size:13px}.segmented label>span{font-size:13px}.total-price{font-size:48px}.result-details>div{grid-template-columns:1fr 1fr;gap:12px}.plisse-gallery{grid-template-columns:1fr;gap:22px}.poster-dialog{width:98vw}.poster-controls{gap:6px;padding:8px}.poster-controls button,.poster-controls a{font-size:11px;padding:8px;min-width:36px;min-height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.plisse-poster{transition:none}}

/* Align the desktop title with the product image and shorten the gap below the header. */
@media(min-width:901px){
  .gallery-hero{padding-top:44px}
  .gallery-hero-grid{align-items:start}
  .gallery-hero .eyebrow{display:none}
}

/* Mobile introduction: show the product photograph before the heading. */
@media(max-width:900px){
  .gallery-hero{padding-top:18px}
  .gallery-hero-grid{grid-template-columns:1fr;gap:24px;align-items:start}
  .gallery-hero-grid>div:nth-child(2){order:-1}
}
@media(max-width:760px){
  .sticky-buttons a{height:30.8px;min-height:30.8px;max-height:30.8px;padding:4px!important;border-radius:999px;font-size:12px;line-height:1.2}
}
