.zip-calculator{background:#252d26;border-top:1px solid var(--line)}.zip-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.zip-heading h2{font-size:clamp(35px,3.8vw,56px)}.zip-heading>p{font-size:14px;color:var(--muted);margin:0 0 6px}.zip-demo{padding:12px 18px;border:1px solid #657551;background:#303c2a;color:#d8e4c6;font-size:11px;margin-bottom:30px}.zip-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:35px;align-items:start}.zip-editor{min-width:0}.zip-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.zip-tab{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 17px;font-size:12px}.zip-tab[aria-pressed=true]{background:var(--green);color:var(--bg);border-color:var(--green)}.zip-screen{background:#202722;border:1px solid var(--line);padding:26px}.zip-screen-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:25px}.zip-screen-top h3{font-size:22px;font-weight:400;margin:0}.zip-remove{background:none;color:#b6bdb1;border:0;padding:7px 0;font-size:11px}.zip-step{border:0;padding:0;margin:0 0 28px;min-width:0}.zip-step legend{display:flex;align-items:center;gap:10px;font-size:16px;margin-bottom:16px}.zip-step-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #65785a;border-radius:50%;color:var(--green);font-size:11px}.zip-materials{display:grid;grid-template-columns:1fr 1fr;gap:13px}.zip-material{display:block!important;border:1px solid var(--line);background:#283229;position:relative;cursor:pointer;margin:0!important}.zip-material:has(input:checked){border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.zip-material input{position:absolute;left:12px;top:12px;width:20px;height:20px;margin:0;accent-color:var(--green)}.zip-material img{height:145px;object-fit:cover}.zip-material-copy{display:block;padding:14px;color:#bfc9ba;font-size:11px;line-height:1.5}.zip-material-copy strong{display:block;color:var(--white);font-size:15px;font-weight:500;margin-bottom:6px}.zip-material-copy small{display:block;font-size:9px;color:#a0ad95;margin-top:8px}.zip-dimensions{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:25px;align-items:center}.zip-dimension-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.zip-screen label{font-size:11px;display:block;margin-bottom:0}.zip-dimension-fields input{font-size:27px;min-height:54px;border:1px solid #586551;background:#2b352a;padding:10px 12px;margin-top:8px}.zip-drawing{height:120px;position:relative;padding:17px 25px 22px 7px}.zip-opening{width:100%;height:100%;border:5px solid #98a88b;background:repeating-linear-gradient(0deg,#89947a22 0 2px,transparent 2px 5px)}.zip-width-arrow{position:absolute;bottom:0;left:5px;right:25px;font-size:10px;text-align:center;color:var(--green);border-top:1px solid #93a77f}.zip-height-arrow{position:absolute;right:0;top:15px;bottom:21px;writing-mode:vertical-rl;font-size:10px;text-align:center;color:var(--green);border-left:1px solid #93a77f;padding-left:4px}.zip-area{color:var(--green);font-size:12px;margin:14px 0 0}.zip-limits{color:var(--muted);font-size:10px;margin:6px 0 0}.zip-profiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.zip-profile{border:1px solid var(--line);text-align:center;cursor:pointer;padding:12px 5px;position:relative;display:flex!important;flex-direction:column;align-items:center;gap:6px}.zip-profile input{position:absolute;width:1px;height:1px;opacity:0}.zip-profile:has(input:checked){border-color:var(--green);background:#303d2b}.zip-profile:has(input:focus-visible),.zip-toggle:has(input:focus-visible){outline:2px solid var(--green);outline-offset:3px}.zip-swatch{width:27px;height:27px;border:1px solid #98a18e;border-radius:50%}.zip-white{background:#f1f0ea}.zip-gray{background:#474a50}.zip-brown{background:#45322e}.zip-black{background:#111}.zip-profile small{color:var(--muted);font-size:9px}.zip-custom{grid-column:1/-1;flex-direction:row!important;justify-content:center;padding:10px}.zip-rainbow{background:conic-gradient(#dcb490,#93bba9,#a1a6cc,#dcb490);width:17px;height:17px}.zip-ral-field{margin-top:14px}.zip-ral-field input{max-width:160px;padding:10px;margin-top:7px;background:#2b352a;border:1px solid #586551}.zip-quantity{display:flex;align-items:center;gap:15px}.zip-counter{display:flex;border:1px solid #586551;background:#2b352a}.zip-counter button{width:42px;border:0;background:transparent;color:var(--green);font-size:22px}.zip-counter input{width:65px;text-align:center;border:0;font-size:24px;padding:8px 0;appearance:textfield;-moz-appearance:textfield}.zip-counter input::-webkit-inner-spin-button{appearance:none}.zip-quantity>span{color:var(--muted);font-size:11px}.zip-install{display:flex;gap:9px}.zip-toggle{border:1px solid var(--line);padding:12px 18px;cursor:pointer;position:relative;flex:1;text-align:center}.zip-toggle input{position:absolute;opacity:0;width:1px;height:1px}.zip-toggle:has(input:checked){background:#35442e;border-color:var(--green);color:var(--green)}.zip-error{font-size:12px;color:#f5c5a2;line-height:1.6;margin:0}.zip-error:empty{display:none}.zip-add{width:100%;border:1px dashed #7b916b;padding:17px;background:transparent;color:var(--green);font-size:13px;margin-top:17px}.zip-add:disabled{opacity:.4;cursor:default}.zip-result{position:sticky;top:25px;padding:30px;background:#eeeee4;color:#273223}.zip-result-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.zip-result .eyebrow{font-size:9px;color:#53684a}.zip-live{color:#6c7f59;font-size:9px}.zip-result-item{padding:15px 0;border-top:1px solid #c7cebd;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 15px;font-size:12px}.zip-result-item strong{font-weight:500;overflow-wrap:anywhere}.zip-result-item small{grid-column:1/-1;color:#67745f;font-size:10px}.zip-unit{font-size:10px;color:#67745f}.zip-totals{border-top:1px solid #c7cebd;padding-top:12px;margin-top:5px}.zip-totals>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:13px 0}.zip-totals strong{font-weight:500}.zip-price{border-top:1px solid #c7cebd;margin-top:22px;padding-top:23px}.zip-price>span{font-size:11px;display:block}.zip-price strong{font-size:clamp(35px,3.4vw,52px);letter-spacing:-1.6px;font-weight:400;display:block;line-height:1.2;margin-top:13px;overflow-wrap:anywhere}.zip-price strong.zip-individual-price{font-size:30px;letter-spacing:-.7px}#zip-status{font-size:12px;color:#766044;margin:15px 0}.zip-disclaimer{font-size:10px;color:#65705f;line-height:1.8}.zip-result>.button{width:100%;margin-top:15px}.zip-small{font-size:11px;line-height:1.7;color:var(--muted)}.zip-result>.zip-small{font-size:10px;text-align:center;color:#73806b;margin:15px 0 0}.zip-animate{animation:zip-price .2s ease}@keyframes zip-price{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}#zip-dialog{background:#252e26;border:1px solid #5c6b52;color:var(--white);width:min(480px,calc(100% - 28px));max-height:90vh;padding:32px}#zip-dialog::backdrop{background:#0d160dcc;backdrop-filter:blur(5px)}#zip-dialog h3{font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.8px;margin:25px 0 13px}.zip-close{position:absolute;right:16px;top:10px;color:var(--muted);border:0;background:none;font-size:29px;padding:5px 9px}#zip-lead label{display:block;font-size:11px;margin:20px 0}#zip-lead input{font-size:16px;min-height:48px}#zip-lead>.button{width:100%;margin-top:10px}#zip-lead-status{color:var(--green);font-size:12px;margin-top:18px}#zip-draft textarea{font-size:12px}#zip-dialog button:disabled{opacity:.5;cursor:default}#zip-fields input[aria-invalid=true]{border-color:#efb58e}[hidden]{display:none!important}@media(max-width:1100px){.zip-layout{gap:22px;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.zip-screen{padding:20px}.zip-dimensions{grid-template-columns:1fr 90px;gap:12px}.zip-dimension-fields{grid-template-columns:1fr}.zip-material-copy strong{font-size:13px}.zip-result{padding:23px}.zip-result-heading{display:block}.zip-live{display:block;margin-top:8px}.zip-profiles{gap:6px}.zip-profile{font-size:10px!important}}@media(max-width:760px){.zip-heading{display:block}.zip-heading>p{margin-top:22px;font-size:13px}.zip-heading h2{font-size:37px}.zip-layout{display:flex;flex-direction:column;gap:25px}.zip-editor,.zip-result{width:100%}.zip-result{position:static;padding:25px}.zip-screen{padding:19px}.zip-material img{height:120px}.zip-material-copy{padding:11px;font-size:10px}.zip-material-copy strong{font-size:14px}.zip-materials{gap:9px}.zip-drawing{height:118px;padding-right:22px}.zip-dimension-fields input{font-size:26px;min-height:52px}.zip-swatch{width:25px;height:25px}.zip-profile{font-size:9px!important;padding:12px 3px}.zip-profile small{font-size:8px}.zip-custom{font-size:11px!important}.zip-step legend{font-size:15px}.zip-demo{font-size:10px}.zip-result-heading{display:flex;flex-wrap:wrap}.zip-live{margin:0}.zip-price strong{font-size:46px}.zip-tabs{gap:7px}.zip-tab{padding:9px 13px}.zip-toggle{padding:13px 10px}#zip-dialog{padding:26px 23px}.zip-quantity>span{max-width:140px}}@media(prefers-reduced-motion:reduce){.zip-animate{animation:none}}

/* Category controls reuse the existing calculator palette and controls. */
.zip-screen select { font-size:14px; min-height:48px; border:1px solid #586551; background:#2b352a; padding:10px 12px; margin-top:8px; }
.zip-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
.zip-categories .zip-tab { white-space:normal; min-width:0; font-family:var(--font-body); font-weight:600; line-height:1.45; padding:12px 8px; }
.zip-product-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.zip-product-choice { border:1px solid var(--line); padding:16px; cursor:pointer; min-width:0; }
.zip-product-choice:has(input:checked) { border-color:var(--green); background:#303c2a; }
.zip-product-choice:has(input:disabled) { opacity:.6; cursor:not-allowed; }
.zip-product-choice input { accent-color:var(--green); width:auto; display:inline; margin:0 8px 8px 0; }
.zip-product-choice strong { font-weight:700; font-size:14px; }
.zip-product-choice small { display:block; color:var(--muted); font-size:12px; line-height:1.65; margin-top:8px; }
.zip-option-icon { display:inline-block; color:var(--green); font-size:23px; margin-right:8px; }
.zip-product-options { display:grid; gap:12px; }
.zip-product-options label { display:flex; gap:10px; align-items:start; }
.zip-product-options input { width:auto; accent-color:var(--green); margin-top:6px; }
.zip-category-enter { animation:zipCategoryEnter .2s ease; }
@keyframes zipCategoryEnter { from {opacity:.55; transform:translateY(3px)} to {opacity:1; transform:none} }
@media(max-width:480px){.zip-categories { grid-template-columns:1fr; }.zip-product-choices { grid-template-columns:1fr; }}
@media(prefers-reduced-motion:reduce){.zip-category-enter{animation:none;}}

.zip-standard { border:1px solid var(--line); background:#2b352a; padding:16px; font-size:14px; line-height:1.7; }.zip-standard strong { font-weight:700; }.zip-standard p { margin:8px 0 0; }
.zip-catalog-materials .zip-material img { height:80px; object-fit:cover; }
.zip-fabric-colors { margin-top:22px; }
.zip-sample-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.zip-sample-options .zip-material img { height:65px;object-fit:cover; }
.zip-sample-options .zip-material-copy { padding:10px;font-size:11px; }
.zip-sample-options .zip-material-copy strong { font-size:13px; }
.zip-legacy { border-top:1px solid var(--line);padding-top:16px; }
.zip-legacy summary { font-size:13px;color:var(--green); }
.zip-legacy .zip-materials { margin-top:15px; }
/* Keep the existing sticky result below the shared sticky header. */
@media(min-width:761px) { .zip-result { top:var(--header-scroll-offset,122px); } }
@media(max-width:480px) { .zip-sample-options {grid-template-columns:repeat(2,minmax(0,1fr));} }

/* ZIP catalogue preview and size feedback: existing palette and controls. */
.zip-scene{display:block;width:100%;height:auto;aspect-ratio:8/5;overflow:hidden}
.zip-catalog-materials .zip-material-copy{min-width:0;overflow-wrap:anywhere}
.zip-series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}
.zip-series-grid article{min-width:0;border:1px solid var(--line,#414a43);padding:14px}
.zip-series-grid img{width:100%;height:210px;object-fit:cover;object-position:center}
.zip-series-grid strong,.zip-series-grid h4{display:block;margin:12px 0;font-size:18px}
.zip-series-grid p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.zip-series-comparison summary{cursor:pointer;padding:12px 0}
#zip-size-feedback .zip-tab{margin:5px 8px 5px 0;white-space:normal;text-align:left;min-height:44px}
#zip-open-lead:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:600px){.zip-series-grid{grid-template-columns:1fr}.zip-series-grid img{height:240px}.zip-catalog-materials{grid-template-columns:minmax(0,1fr)}}

/* Compact material selection and an independent right-side ZIP scene. */
.zip-palette-title{font-size:16px;font-weight:600;margin:22px 0 12px}
.zip-color-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.zip-fabric-swatch{display:block;width:100%;height:78px}
.zip-color-option{min-width:0;min-height:136px}
.zip-color-option .zip-material-copy{padding:10px;font-size:12px;overflow-wrap:anywhere}
.zip-color-option .zip-material-copy strong{font-size:13px}
.zip-color-option input{box-shadow:0 0 0 2px #202722;border-radius:50%}
.zip-live-preview{margin:20px 0 0;overflow:hidden;border:1px solid #c4c8ba}
.zip-live-preview .zip-scene{max-height:300px;aspect-ratio:8/5}
.zip-live-preview figcaption{padding:14px;font-size:12px;line-height:1.65}
.zip-live-preview figcaption strong,.zip-live-preview figcaption span{display:block}
.zip-live-preview figcaption strong{font-size:15px;margin-bottom:5px}
.zip-preview-note{font-size:11px;line-height:1.6;color:#697160;margin:10px 0 22px}
@media(min-width:901px){.zip-result:has(#zip-preview:not([hidden])){max-height:calc(100dvh - var(--header-scroll-offset,110px) - 20px);overflow-y:auto;scrollbar-width:thin}}
@media(max-width:600px){.zip-color-options{grid-template-columns:repeat(2,minmax(0,1fr))}.zip-live-preview .zip-scene{max-height:210px}.zip-color-option{min-height:132px}}

.pergola-drawing{display:block;width:100%;max-width:700px;height:auto;margin:20px 0}.product-photo-grid figure{margin:0;min-width:0}.zip-dimension-fields label{min-width:0}.zip-dimension-fields select{max-width:100%}
/* Interactive ZIP presentation; other product previews remain unchanged. */
.zc-preview{margin:20px 0 24px;min-width:0}.zc-stage{height:420px;width:100%;overflow:hidden;position:relative;background:#d3ded7}.zc-stage canvas{display:block;width:100%;height:100%}.zc-stage>p{padding:22px;font-size:13px;line-height:1.6}.zc-stage.zc-unavailable:after{content:attr(data-size-note);position:absolute;inset:0;padding:30px;display:grid;place-items:center;color:#394c3d;background:#dce3d7;font-size:14px;line-height:1.7}.zc-controls{margin-top:18px}.zc-slider-label{display:block;font-size:13px;font-weight:600}.zc-slider-label output{float:right;font-variant-numeric:tabular-nums}.zc-slider-label input{display:block;width:100%;height:44px;margin:8px 0 0;padding:0;accent-color:#789254;cursor:pointer}.zc-stops{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#75816f}.zc-condition,.zc-caption,.zc-material-note{font-size:11px;line-height:1.65;color:#69735f;margin:12px 0}.zc-spec{border-top:1px solid #c5cbbb;padding-top:16px;margin-top:18px;overflow-wrap:anywhere}.zc-spec strong,.zc-spec span,.zc-spec small{display:block;font-size:12px;line-height:1.7;margin-bottom:4px}.zc-spec strong{font-size:14px;margin-bottom:10px}.zc-spec small{font-size:11px;color:#6b7562;margin-top:10px}@media(max-width:600px){.zc-stage{height:330px}.zc-stops{font-size:9px}}
@media(max-width:900px){.zip-layout:has(.zc-preview){display:flex;flex-direction:column}.zip-layout:has(.zc-preview)>.zip-editor,.zip-layout:has(.zc-preview)>.zip-result{width:100%}.zip-layout:has(.zc-preview)>.zip-result{position:static;max-height:none;overflow:visible}}

.zc-screen-picker{display:block;margin:15px 0;font-size:12px;font-weight:600;color:#394b34}.zc-screen-picker[hidden]{display:none}.zc-screen-picker select{display:block;width:100%;min-width:0;min-height:44px;margin-top:7px;padding:10px 8px;background:#f2f2e9;color:#394b34;border:1px solid #aebba1;font:500 12px/1.5 Manrope,sans-serif}.zc-group-note{font-size:11px;line-height:1.6;color:#69735f;margin:10px 0}.zc-group-note:empty{display:none}

.zc-stage{height:360px}@media(max-width:600px){.zc-stage{height:300px}}

.zc-slider-label input:focus-visible{outline:2px solid #6e894e;outline-offset:3px}#zip-size-feedback:empty{display:none}

.zc-spec small:empty{display:none}
