/* Calculator interface styles for the v3 tool pages (13 Oct 2026), taken in order from base.css and editorial.css
   (only the calculator selectors). The page around the calculator uses page.css. */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:100px;text-decoration:none;padding:14px 22px;font-size:14px;font-weight:600;border:1px solid var(--line);background:transparent;color:var(--ink)}
.tool-grid{display:grid;grid-template-columns:340px 1fr;gap:32px;margin-bottom:40px}
.controls{background:white;border:1px solid var(--line);border-radius:20px;padding:25px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field label{font-size:12px;display:block;min-height:34px;line-height:1.4}
.field input,.unit{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:12px;font-size:17px}
.controls h3{margin-top:25px}
.canvas-box{background:#e9eee7;border-radius:22px;padding:25px;min-width:0}
.canvas-box svg{width:100%;height:340px;display:block}
.results{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-top:20px;border-top:1px solid #ccd4c9}
.results strong{font-size:25px;letter-spacing:-.03em;display:block}
.results span{font-size:11px;color:var(--muted)}
.status{padding:14px 18px;background:#fff;border-radius:12px;font-size:14px;margin:12px 0}
.status.bad{background:#ffe1d5}
.error{color:#a63218;font-size:13px}
@media(max-width:800px){.tool-grid{grid-template-columns:1fr}.canvas-box svg{height:290px}}
.tool-page main.shell{max-width:1140px;padding:0 28px}
.tool-page .tool-title{margin:0 0 25px;max-width:750px}
.tool-page .tool-title h1{font-size:36px;line-height:1.2;margin:0 0 12px}
.tool-page .tool-title .eyebrow{font-size:10px;margin-bottom:10px;color:#9b4d23}
.tool-page .lede{font-size:16px;line-height:1.65;margin-bottom:0;max-width:700px}
.tool-page .tool-grid{grid-template-columns:340px minmax(0,1fr);gap:22px;background:#f6f7f4;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:32px}
.tool-page .controls{border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 2px 5px #00000004}
.panel-heading{display:flex;gap:10px;align-items:flex-start;margin-bottom:20px}
.panel-heading h2{font-size:17px;line-height:1.3;margin:0 0 5px}
.panel-heading p{font-size:11px;color:#707970;line-height:1.5;margin:0}
.step-chip{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:7px;background:#ffe5d2;font-size:12px;font-weight:700;color:#8f4521}
.tool-page .unit{font-size:13px;padding:10px;margin:5px 0 21px;background:#fff}
.tool-page .controls>.eyebrow{font-size:10px;letter-spacing:.07em;margin:0}
.tool-page .fields{gap:15px 13px}
.tool-page .field label{font-size:11px;min-height:28px}
.tool-page .field input{font-size:15px;padding:10px;border-radius:7px;background:white}
.tool-page .controls .pill{border-radius:7px;font-size:12px;padding:9px 14px}
.tool-page .caption{font-size:11px;line-height:1.6}
.tool-page .canvas-box{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px;display:flex;flex-direction:column}
.live-badge{margin-left:auto;background:#edf3eb;color:#526648;border-radius:4px;padding:4px 6px;font-size:9px;letter-spacing:.08em}
.tool-page .canvas-box svg{height:270px;background:#fafbf8;border:1px solid #e9eee5;border-radius:9px;order:0}
.tool-page .status{background:#edf5e8;color:#35492d;border:1px solid #d3e4c8;font-size:12px;line-height:1.6;margin:0 0 16px;padding:11px 13px;border-radius:7px}
.tool-page .status.bad{background:#fff0e4;color:#924520;border-color:#f5d2b8}
.tool-page .results{gap:12px;border-top:0;padding:0;margin-top:16px}
.tool-page .results>div{border:1px solid #ecd9c6;border-radius:8px;background:#fff8f1;padding:12px}
.tool-page .results strong{font-size:23px;color:#a15129;margin-bottom:4px}
.tool-page .results span{font-size:10px;line-height:1.5;display:block}
.tool-page .tool-notes{max-width:780px;margin:42px 0;font-size:16px;line-height:1.8}
.tool-page .tool-notes h2{font-size:26px;border-top:1px solid var(--line);padding-top:26px}
.how-steps{padding:0;list-style:none;counter-reset:steps;display:grid;gap:12px}
.how-steps li{position:relative;padding-left:37px;font-size:15px}
.how-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:3px;width:23px;height:23px;border-radius:6px;background:#ffe3ce;color:#8e4724;font-size:12px;text-align:center;line-height:23px;font-weight:600}
.tool-page .tool-notes details{border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:16px 0;background:#fafaf7;font-size:15px}
.tool-page .end-cta{border:1px solid #f0d6c2;background:#fff4e9;border-radius:12px;padding:28px;text-align:left;margin:30px 0}
.tool-page .end-cta h2{font-size:25px}
.tool-page .end-cta p{font-size:15px}
.v3 .error{font-size:12px}
@media(max-width:760px){.tool-page main.shell{padding:0 20px}.tool-page .tool-title h1{font-size:29px}.tool-page .tool-grid{grid-template-columns:1fr;padding:12px;gap:14px}.tool-page .controls,.tool-page .canvas-box{padding:16px}.tool-page .canvas-box svg{height:250px}.tool-page .results{gap:7px}.tool-page .results>div{padding:9px}.tool-page .results strong{font-size:19px}.tool-page .tool-notes h2{font-size:24px}.tool-page .end-cta{padding:22px}}
@media(max-width:760px){.tool-page .field input,.tool-page .unit{font-size:16px}}
.field input[aria-invalid=true]{border-color:#ad3b23}
@media(max-width:760px){.tool-page .tool-grid{padding:10px}.tool-page .results strong{font-size:18px}}
.print-only{display:none}
.mode-switch{display:flex;gap:5px;border:1px solid var(--line);background:#f3f5f1;padding:5px;border-radius:10px;max-width:510px;margin-bottom:18px}
.mode-switch button{flex:1;border:1px solid transparent;background:transparent;color:#526158;padding:12px 14px;border-radius:7px;font-size:13px;font-weight:600;min-height:44px}
.mode-switch button[aria-pressed=true]{background:#fff;border-color:#d8ded4;color:#17221e;box-shadow:0 1px 3px #14231f0b}
.mode-switch button:active,.plan-actions button:active{transform:scale(.98)}
.result-column{min-width:0}
.result-column .canvas-box{position:sticky;top:20px}
.tool-page .tool-grid{grid-template-columns:350px minmax(0,1fr);align-items:start}
.tool-page .control-label{display:block;font-size:12px;font-weight:600;margin:19px 0 6px}
.tool-page .controls h3{font-size:15px;margin:24px 0 12px}
.tool-page .controls .unit{margin-bottom:12px}
.tool-page .controls input,.tool-page .controls select{font-size:16px;min-height:44px}
.control-details{font-size:13px;margin:12px 0;padding:12px 0}
.control-details p{font-size:11px;line-height:1.65;color:var(--muted);margin-top:10px}
.control-details .fields{margin-top:14px}
.tool-page .canvas-box #plan{height:auto;aspect-ratio:660/480;margin-top:20px}
.tool-page .results{margin:0 0 4px}
.tool-page .results strong{font-size:22px;font-variant-numeric:tabular-nums}
.gap-results{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 6px}
.gap-results>div{border-top:2px solid #a6b99c;padding:10px 0}
.gap-results>div.below{border-color:#bb6240}
.gap-results span,.gap-results small{display:block;font-size:11px;color:#637069;line-height:1.6}
.gap-results strong{display:block;font-size:15px;font-variant-numeric:tabular-nums;margin:4px 0}
.plan-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;margin:10px 0}
.plan-legend span{display:flex;align-items:center;gap:6px}
.plan-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}
.cabinet-key{background:#c5d2c1}
.island-key{background:#ffbd99}
.plan-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
.tool-page .plan-actions .pill,.tool-page #use-maximum{font-size:12px;padding:10px 12px;border-radius:7px;min-height:42px}
.tool-page #use-maximum{margin-top:10px;align-self:flex-start}
.tool-page #share-url{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px;font-size:13px}
.tool-page button:disabled{opacity:.5;cursor:not-allowed}
.formula-box{padding:20px 24px;border:1px solid var(--line);background:#f6f7f3;border-radius:10px;font-size:14px}
.formula-box p:last-child{margin-bottom:0}
.example-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.example-buttons .pill{font-size:12px;padding:10px 13px;border-radius:8px}
.tool-page #calculator{scroll-margin-top:20px}
.tool-page .notice{padding:16px;background:#fff3e9;border-radius:8px}
@media(max-width:1000px){.tool-page .tool-grid{grid-template-columns:310px minmax(0,1fr);padding:12px;gap:12px}.tool-page .results strong{font-size:18px}.gap-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.tool-page .tool-grid{grid-template-columns:1fr}.result-column .canvas-box{position:static}.mode-switch button{font-size:12px;padding:10px 8px}.tool-page .controls,.tool-page .canvas-box{padding:16px}.gap-results{grid-template-columns:repeat(2,1fr)}.tool-page .results strong{font-size:18px}}
@media print{.controls,.mode-switch,.plan-actions,#plan-message{display:none!important}.tool-page main.shell{padding:0;max-width:none}.tool-page .tool-grid{display:block;border:0;background:white;padding:0}.result-column .canvas-box{position:static;border:0;padding:0;break-inside:avoid}.tool-page .canvas-box #plan{max-height:115mm;aspect-ratio:auto;border:0}.print-only{display:block;font-size:10pt;line-height:1.5}.gap-results{grid-template-columns:repeat(4,1fr)}.live-badge{display:none}.tool-page .results strong{font-size:18pt}}
@media(max-width:760px){.tool-page #plan text{font-size:24px}}
/* Countertop planner: a focused section editor and transparent area totals. */
.ct-intro{display:flex;gap:24px;flex-wrap:wrap;color:#65766c;font-size:12px;padding:0 0 18px}
.countertop-page .tool-grid{grid-template-columns:340px minmax(0,1fr)}
.countertop-page .tool-title{max-width:820px}
.countertop-page .ct-section-heading,.ct-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.countertop-page .ct-section-heading h3{margin:12px 0}
.ct-section-heading>span{font-size:11px;color:#67776d}
.ct-sections{display:grid;gap:6px;margin:0 0 12px}
.ct-sections button{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;min-height:46px;width:100%;border:1px solid #dee3da;background:#fff;border-radius:8px;padding:11px 12px;color:#273b2e;font-family:inherit;font-weight:500;font-size:13px}
.ct-sections button>span:last-child{font-size:11px;color:#687a6b;white-space:nowrap}
.ct-sections button[aria-pressed=true]{background:#f1f5eb;border-color:#9fb695;box-shadow:inset 3px 0 0 #7b9570}
.countertop-page .pill{min-height:44px}
.countertop-page #ct-add{width:100%;font-size:12px;padding:10px;border-radius:8px}
.countertop-page .ct-edit-heading{border-top:1px solid #e3e6df;margin-top:22px;padding-top:18px}
.countertop-page .ct-edit-heading h3{margin:0;font-size:15px}
.countertop-page .ct-remove{background:none;border:0;color:#935036;text-decoration:underline;font:inherit;font-size:12px;min-height:44px;padding:8px 3px}
.countertop-page .controls .caption{font-size:12px;line-height:1.65;margin:0 0 16px}
.countertop-page .field label{font-size:12px;line-height:1.5}
.countertop-page .field label>span{color:#6d7c70;font-weight:400}
.countertop-page .fields{row-gap:14px}
.countertop-page .control-details{border-top:1px solid #e3e6df;margin-top:22px}
.countertop-page .control-details summary{font-weight:500;cursor:pointer;padding:6px 0}
.ct-cutout{border-top:1px solid #e3e6df;padding:6px 0 18px}
.ct-cutout strong{font-size:12px}
.ct-total{border:1px solid #dce5d3;background:#f3f6ee;border-radius:12px;padding:22px 24px;display:flex;flex-direction:column;gap:7px}
.ct-total>span{font-size:12px;color:#5f7359}
.ct-total strong{font-size:40px;line-height:1.15;letter-spacing:-.045em;color:#223920;font-weight:600;font-variant-numeric:tabular-nums}
.ct-total>span:last-child{font-size:14px}
.ct-scope{font-size:12px;line-height:1.65;color:#68766b;margin:12px 2px 20px}
.ct-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ct-plan-heading h3{font-size:13px;margin:0}
.ct-plan-heading>span{font-size:11px;color:#6e7c70}
.countertop-page #ct-plan svg{display:block;width:100%;height:auto;aspect-ratio:620/420;margin-top:10px}
.ct-diagram-note{font-size:11px;line-height:1.7;margin:8px 0 18px}
.ct-empty{padding:70px 24px;background:#f7f8f4;border-radius:12px;text-align:center;font-size:14px;color:#74806c}
.ct-breakdown>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e4e7df;padding:12px 0;font-size:12px}
.ct-breakdown small{display:block;font-size:10px;line-height:1.6;color:#6f8066;margin-top:4px}
.ct-breakdown strong{white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}
.ct-breakdown .ct-breakdown-head{font-size:11px;color:#6c796f;padding:10px 0}
.ct-net{background:#faf5ef;border:1px solid #edddce;border-radius:9px;padding:16px;margin:14px 0}
.ct-net>div{display:flex;justify-content:space-between;font-size:12px;padding:4px 0}
.ct-net>div strong{font-size:14px;font-variant-numeric:tabular-nums}
.ct-net>p{font-size:11px;line-height:1.65;color:#806b58;margin:10px 0 0}
.countertop-page #ct-share-output{margin-top:16px}
.countertop-page #ct-share-output label{font-size:12px}
.countertop-page #ct-share-url{width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid #d9e0d4;border-radius:7px;font-size:16px}
.countertop-page #ct-message{min-height:1.6em;margin-bottom:0}
.countertop-page .error{font-size:12px;line-height:1.7}
.countertop-page .table-wrap{overflow:auto}
.countertop-page .tool-notes table{min-width:580px}
.countertop-page :focus-visible{outline:2px solid #8b5734;outline-offset:3px}
.countertop-page .tool-notes summary{font-weight:600;cursor:pointer}
.countertop-page .tool-notes details p{line-height:1.75}
.countertop-page .tool-notes>p{line-height:1.8}
@media(max-width:1000px){.countertop-page .tool-grid{grid-template-columns:300px minmax(0,1fr)}.ct-total strong{font-size:34px}.ct-total{padding:18px}.ct-plan-heading{flex-wrap:wrap}}
@media(max-width:760px){.countertop-page .tool-grid{grid-template-columns:1fr}.ct-intro{font-size:10px;gap:8px;justify-content:space-between}.countertop-page .canvas-box{padding:16px}.countertop-page .ct-total strong{font-size:34px}.countertop-page .ct-plan-heading{gap:4px}.countertop-page #ct-plan svg{width:calc(100% + 24px);max-width:none;margin-left:-12px}.ct-breakdown small{font-size:11px}.ct-diagram-note{font-size:12px}.countertop-page .plan-actions .pill{flex:1 1 calc(50% - 8px);min-height:44px}.ct-net>p{font-size:12px}}
@media print{.ct-intro,.ct-plan-heading,#ct-plan,.ct-diagram-note,#ct-share-output,#ct-message,.ct-breakdown,.countertop-page .ct-net{display:none!important}.countertop-page .canvas-box{break-inside:auto}.ct-print-section{break-inside:avoid;border-top:1px solid #bbb;margin-top:16px;padding-top:12px}.countertop-page .ct-print-section svg{height:70mm;width:110mm;max-width:100%}.countertop-page .ct-total strong{font-size:28pt}.countertop-page .ct-scope{font-size:10pt}}
.countertop-page .ct-mobile-total{display:none}
#ct-output{scroll-margin-top:20px}
@media(max-width:900px){.countertop-page .tool-grid{grid-template-columns:1fr}.countertop-page .result-column .canvas-box{position:static}}
@media(max-width:760px){.countertop-page .tool-grid{padding:0;border:0;background:transparent;gap:20px}.countertop-page .ct-mobile-total{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f1f5eb;border:1px solid #dbe4d4;border-radius:8px;padding:12px;margin-top:16px;text-decoration:none;font-size:11px;color:#556d4d;min-height:60px}.ct-mobile-total strong{display:block;font-size:20px;line-height:1.5;color:#223920}.countertop-page #ct-plan .ct-dimension{font-size:28px;paint-order:stroke;stroke:#fbfcf9;stroke-width:7px;stroke-linejoin:round}.countertop-page #ct-plan text:not(.ct-dimension){font-size:21px}}
.countertop-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#calculator .caption{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 0}
