/* Deck planner only: existing shop, checkout and project gallery remain unchanged. */
.deck-planner{background:#efece3;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none;padding-top:76px;padding-bottom:76px;scroll-margin-top:28px}
.deck-planner .deck-planner-heading,.deck-planner .deck-planner-layout{max-width:1440px;margin-left:auto;margin-right:auto}
.deck-planner .deck-planner-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:end;margin-bottom:34px}
.deck-planner .deck-planner-heading .eyebrow{margin-bottom:15px}
.deck-planner h2{font-size:clamp(36px,4.3vw,62px);margin:0;max-width:670px}
.deck-planner .deck-planner-heading>p{max-width:490px;margin:0 0 3px;line-height:1.7}
.deck-planner .deck-planner-layout{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(330px,.88fr);gap:24px;align-items:start}
.deck-planner .deck-plan-card,.deck-planner .deck-options-card{background:#fcfbf7;border:1px solid #ded7cb;border-radius:12px;padding:28px;min-width:0}
.deck-planner .deck-step-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.deck-planner .deck-step-heading h3{font-size:27px;letter-spacing:-.025em;flex:1}
.deck-planner .deck-step-number{display:inline-grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #c5b9a7;border-radius:50%;color:#6b472e;font-size:11px;letter-spacing:.06em}
.deck-planner .deck-unit-tag{font-size:11px;color:#71685e;letter-spacing:.02em}
.deck-planner .deck-shape-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:22px}
.deck-planner .deck-shape-options button{background:#f7f4ed;border:1px solid #d9d1c5;display:flex;justify-content:center;align-items:center;gap:9px;padding:13px 6px;border-radius:6px;min-height:54px;line-height:1.25;font-size:13px}
.deck-planner .deck-shape-options svg{fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}
.deck-planner .deck-shape-options button[aria-pressed=true]{background:#6b472e;color:#fff;border-color:#6b472e}
.deck-planner .deck-shape-options button:hover:not([aria-pressed=true]){background:#eee6d9;border-color:#ae947e}
.deck-planner label{display:block;margin:0;font-size:13px;font-weight:600;color:#43372c}
.deck-planner label>span:not(.deck-package-copy):not(.deck-package-price){font-weight:400}
.deck-planner input[type=text],.deck-planner select{display:block;min-width:0;width:100%;min-height:46px;margin:7px 0 0;padding:10px 12px;background:#fff;color:#382e25;border:1px solid #cfc6b9;border-radius:4px;line-height:1.4;font-size:16px;box-shadow:none}
.deck-planner input:disabled{background:#efede7;color:#83796b}
.deck-planner input[aria-invalid=true]{border-color:#a33c26;background:#fff8f3}
.deck-planner input:focus-visible,.deck-planner select:focus-visible,.deck-planner #deck-grid:focus-visible{outline:2px solid #6b472e;outline-offset:3px}
.deck-planner .deck-dimension-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.deck-planner #deck-notch-fields{padding-top:14px}
.deck-planner [hidden]{display:none!important}
.deck-planner .deck-help{color:#71685e;font-size:12px;line-height:1.6;margin:10px 0}
.deck-planner .deck-dimension-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px}
.deck-planner .deck-dimension-footer .deck-help{max-width:240px;margin:0}
.deck-planner .deck-small-button{background:transparent;border:1px solid #cfc3b2;border-radius:4px;padding:10px 13px;font-size:12px;min-height:44px;line-height:1.3;white-space:normal}
.deck-planner .deck-small-button:hover:not(:disabled){background:#efe8dc;border-color:#a48a74}
.deck-planner .deck-dimension-footer button{flex-shrink:0}
.deck-planner .deck-field-message{color:#88442c;font-size:13px;line-height:1.55;margin:12px 0 0;overflow-wrap:anywhere}
.deck-planner .deck-field-message:empty{display:none}
.deck-planner .deck-drawing-board{margin-top:22px;border:1px solid #d7cebf;background:#f5f1e8;border-radius:7px;overflow:hidden}
.deck-planner .deck-board-header,.deck-planner .deck-board-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-size:12px;line-height:1.4}
.deck-planner .deck-board-header{border-bottom:1px solid #e2dacc;color:#66594b}
.deck-planner #deck-grid-scale{font-size:11px;text-align:right}
.deck-planner #deck-grid{width:100%;height:auto;display:block;aspect-ratio:10/7;background:#f9f7f0;touch-action:none;user-select:none;-webkit-user-select:none}
.deck-planner .deck-board-footer{border-top:1px solid #e2dacc;background:#f2ede2}
.deck-planner #deck-outline-summary{color:#736455;font-size:11px;overflow-wrap:anywhere;max-width:72%}
.deck-planner .deck-area-readout{white-space:nowrap;color:#6b472e;font-size:11px}
.deck-planner #deck-area{font-size:22px;font-weight:500;letter-spacing:-.04em}
.deck-planner .deck-grid-line{stroke:#e0d8cb;stroke-width:1;vector-effect:non-scaling-stroke}
.deck-planner .deck-outline{fill:#d7b691;fill-opacity:.58;stroke:#795235;stroke-width:2.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.deck-planner polyline.deck-outline{fill:none}
.deck-planner .deck-current-node{fill:none;stroke:#a77d55;stroke-width:1.5;vector-effect:non-scaling-stroke}
.deck-planner .deck-node{fill:#fffaf1;stroke:#795235;stroke-width:2;vector-effect:non-scaling-stroke}
.deck-planner .deck-edge-label{fill:#60452f;paint-order:stroke;stroke:#f9f7f0;stroke-width:5;stroke-linejoin:round;font:13px Arial,Helvetica,sans-serif;text-anchor:middle;dominant-baseline:middle}
.deck-planner .deck-preview{fill:none;stroke:#9f795a;stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.deck-planner .deck-area-label{fill:#60452f;text-anchor:middle;font:500 24px Georgia,serif;paint-order:stroke;stroke:#f4e8d5;stroke-width:5;stroke-linejoin:round}
.deck-planner .deck-draw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.deck-planner .deck-close-button{margin-left:auto;background:#eee5d6;color:#60452f}
.deck-planner .deck-precise-controls{margin-top:15px;padding-top:8px;border-top:1px solid #e2dacc}
.deck-planner .deck-segment-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.deck-planner .deck-segment-fields button{margin-bottom:0}
.deck-planner .deck-coordinate-list{font-size:12px;color:#75685a;line-height:1.6;overflow-wrap:anywhere;margin-top:10px}
.deck-planner .deck-footprint-note{font-size:11px;line-height:1.7;color:#827567;margin:17px 0 0;border-top:1px solid #e8e1d5;padding-top:14px}
.deck-planner fieldset{border:0;padding:0;margin:0;min-width:0}
.deck-planner legend{font-size:12px;color:#71685e;padding:0;margin-bottom:12px}
.deck-planner .deck-package-option{display:flex;align-items:center;gap:11px;padding:15px 13px;border:1px solid #d9d1c5;border-radius:6px;margin-bottom:10px;cursor:pointer;min-height:78px;font-weight:400}
.deck-planner .deck-package-option:has(input:checked){border-color:#806148;background:#f2ebdf;box-shadow:inset 0 0 0 1px #806148}
.deck-planner input[type=radio],.deck-planner input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;padding:0;margin:0;flex-shrink:0;accent-color:#6b472e;cursor:pointer}
.deck-planner .deck-package-copy{display:block;flex:1;min-width:0}
.deck-planner .deck-package-copy strong{display:block;font-size:13px;line-height:1.35;margin-bottom:4px;font-weight:600}
.deck-planner .deck-package-copy>span{display:block;color:#7a6a58;font-size:11px;line-height:1.45}
.deck-planner .deck-package-price{font-size:22px;letter-spacing:-.045em;line-height:1.1;color:#6b472e;font-weight:400;flex-shrink:0;text-align:right}
.deck-planner .deck-package-price small{display:block;font-size:10px;letter-spacing:0;color:#7a6a58;margin-top:5px}
.deck-planner .deck-height-check{margin-top:23px;border-top:1px solid #e3dbcf;padding-top:20px}
.deck-planner #deck-height-help{margin:4px 0 10px}
.deck-planner #deck-height{max-width:180px}
.deck-planner .deck-check-label{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:5px;font-size:12px;cursor:pointer;width:fit-content}
.deck-planner .deck-height-rule{font-size:12px;line-height:1.65;background:#f4f0e7;border-left:2px solid #b29476;padding:10px 12px;margin:8px 0 20px;color:#796854}
.deck-planner .deck-height-rule strong{color:#5b4633;font-weight:600}
.deck-planner .deck-estimate-card{background:#eae2d3;border:1px solid #d8cbb9;padding:22px 20px;border-radius:6px;margin-top:16px}
.deck-planner .deck-estimate-label{font-size:10px;letter-spacing:.15em;color:#766451;margin:0 0 9px}
.deck-planner #deck-estimate-total{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3vw,43px);line-height:1.12;letter-spacing:-.04em;color:#523a27;margin:0 0 10px;overflow-wrap:anywhere}
.deck-planner #deck-estimate-detail{font-size:12px;line-height:1.6;color:#766451;margin:0}
.deck-planner .deck-estimate-cta{width:100%;justify-content:space-between;font-size:13px;line-height:1.45;padding:15px 18px;margin-top:15px;border-radius:4px;min-height:52px}
.deck-planner .deck-estimate-cta span{font-size:20px;flex-shrink:0}
.deck-planner .deck-estimate-disclaimer{font-size:11px;line-height:1.7;color:#796a5a;margin:12px 0 0}
.deck-planner .deck-material-note{font-size:10px;border-top:1px solid #e3dbcf;margin:14px 0 0;padding-top:12px;color:#8b7d6b}
.deck-planner .deck-noscript{background:#fff4da;padding:20px;margin-bottom:0}
.deck-planner .deck-noscript a{text-decoration:underline}
@media(max-width:1050px){.deck-planner .deck-planner-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.9fr);gap:18px}.deck-planner .deck-plan-card,.deck-planner .deck-options-card{padding:21px}.deck-planner .deck-unit-tag{display:none}.deck-planner .deck-shape-options button{flex-direction:column;gap:5px}.deck-planner .deck-dimension-footer{flex-wrap:wrap}.deck-planner .deck-dimension-footer .deck-help{max-width:none;flex:1}.deck-planner .deck-segment-fields{grid-template-columns:1fr 1fr}.deck-planner #deck-add-segment{grid-column:1/-1}.deck-planner .deck-package-option{padding:13px 10px;gap:9px}}
@media(max-width:800px){.deck-planner{padding-top:46px;padding-bottom:46px}.deck-planner .deck-planner-heading{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.deck-planner .deck-planner-heading>p{max-width:620px;font-size:14px}.deck-planner .deck-planner-layout{grid-template-columns:1fr;gap:18px}.deck-planner h2{font-size:43px;max-width:550px}.deck-planner .deck-shape-options button{flex-direction:row;min-height:58px}.deck-planner .deck-unit-tag{display:inline}.deck-planner .deck-package-option{padding:16px}.deck-planner .deck-package-copy strong{font-size:14px}.deck-planner .deck-package-copy>span{font-size:12px}.deck-planner .deck-segment-fields{grid-template-columns:1fr 1fr auto}.deck-planner #deck-add-segment{grid-column:auto}.deck-planner .deck-estimate-card{padding:23px}.deck-planner #deck-estimate-total{font-size:38px}}
@media(max-width:440px){.deck-planner{padding-left:4%;padding-right:4%}.deck-planner h2{font-size:37px}.deck-planner .deck-plan-card,.deck-planner .deck-options-card{padding:18px 15px;border-radius:8px}.deck-planner .deck-step-heading h3{font-size:25px}.deck-planner .deck-unit-tag{display:none}.deck-planner .deck-shape-options{gap:6px}.deck-planner .deck-shape-options button{flex-direction:column;font-size:11px;min-height:72px;padding:9px 4px;gap:5px}.deck-planner .deck-dimension-fields{gap:10px}.deck-planner .deck-dimension-footer{display:block}.deck-planner .deck-dimension-footer .deck-help{margin:0 0 9px}.deck-planner .deck-dimension-footer button{width:100%;min-height:44px}.deck-planner .deck-board-header,.deck-planner .deck-board-footer{padding:12px 10px}.deck-planner .deck-segment-fields{grid-template-columns:1fr 1fr}.deck-planner #deck-add-segment{grid-column:1/-1}.deck-planner .deck-draw-actions{gap:7px}.deck-planner .deck-draw-actions button{padding:10px;font-size:11px}.deck-planner .deck-package-option{padding:14px 11px}.deck-planner .deck-package-copy strong{font-size:13px}.deck-planner .deck-package-copy>span{font-size:11px}.deck-planner .deck-package-price{font-size:23px}.deck-planner .deck-estimate-cta{font-size:12px;padding:14px}.deck-planner .deck-planner-heading .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.deck-planner *{scroll-behavior:auto}}

.deck-planner .deck-outline-open{fill:none}.deck-planner .deck-current-node{fill:none;stroke:#795235;stroke-width:2;stroke-dasharray:3 3}.deck-planner button:focus-visible,.deck-planner a:focus-visible{outline:2px solid #6b472e;outline-offset:3px}
@media(max-width:440px){.deck-planner .deck-edge-label{font-size:21px}}
