/* LaminatLux: framed controls and a quiet material summary. */
.floor-calculator-host{container-type:inline-size;container-name:floor-calc;min-width:0}
.floor-calculator{--fc-ink:var(--ink);--fc-action:var(--action);--fc-line:var(--line);--fc-paper:var(--canvas);padding:26px;border:1px solid var(--fc-line);border-radius:12px;background:var(--surface);color:var(--fc-ink);font-size:14px;line-height:1.5}
.floor-calculator *{box-sizing:border-box}
.floor-calculator .fc-heading h3{margin:0;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.025em}
.floor-calculator .fc-heading p{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.55}
.fc-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:26px}
.floor-calculator .fc-field{min-width:0}
.floor-calculator .fc-field>label,.floor-calculator .fc-reserve legend{display:block;margin:0 0 9px;padding:0;font-size:14px;line-height:1.4;font-weight:500;letter-spacing:0;color:var(--fc-ink)}
.fc-area-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:2px;min-height:54px;padding:4px;border:1px solid transparent;border-radius:8px;background:var(--fc-paper);transition:background-color 200ms ease}
.fc-area-control:has(input:focus-visible){background:var(--surface-hover)}
.floor-calculator .fc-step{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--fc-ink);font:inherit;font-size:25px;line-height:1;transition:background-color 220ms ease,color 220ms ease,transform 260ms ease}
.floor-calculator .fc-step:disabled{opacity:.35}
.fc-area-value{display:flex;align-items:baseline;justify-content:center;gap:8px;min-width:0}
.floor-calculator .fc-area-value input{width:100%;min-width:0;max-width:132px;margin:0;padding:5px 0;border:0;border-radius:0;background:transparent;color:var(--fc-ink);font:inherit;font-size:23px;font-weight:500;line-height:1.3;text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;box-shadow:none}
.floor-calculator .fc-area-value input::-webkit-inner-spin-button,.floor-calculator .fc-area-value input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.floor-calculator .fc-area-value input:focus-visible{outline:0}
.fc-area-value>span{flex-shrink:0;font-size:14px;color:var(--muted)}
.floor-calculator .fc-reserve{margin:0;padding:0;min-width:0;border:0}
.fc-reserve-options{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:4px;padding:4px;border:1px solid transparent;border-radius:8px;background:var(--fc-paper)}
.fc-reserve-options label{position:relative;min-width:0;cursor:pointer}
.fc-reserve-options input{position:absolute;left:0;top:0;width:1px;height:1px;margin:0;opacity:0}
.fc-reserve-options span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 4px;border:1px solid transparent;border-radius:5px;color:var(--muted);font-size:15px;line-height:1.25;transition:background-color 240ms ease,color 240ms ease,border-color 240ms ease,box-shadow 240ms ease}
.fc-reserve-options input:checked+span{border-color:var(--fc-action);background:var(--fc-action);color:var(--on-action)}
.fc-reserve-options input:focus-visible+span{outline:2px solid var(--fc-ink);outline-offset:3px}
.floor-calculator .fc-step:focus-visible,.floor-calculator .fc-copy:focus-visible{outline:2px solid var(--fc-ink);outline-offset:3px}
.floor-calculator .fc-error{margin:12px 0 0;color:var(--error);font-size:13px;line-height:1.55}
.fc-summary{margin-top:24px;padding:24px;border-radius:8px;background:var(--surface-soft);color:var(--fc-ink);font-variant-numeric:tabular-nums}
.fc-totals{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:baseline;gap:16px}
.fc-pack-total,.fc-cost-total{min-width:0}
.fc-totals strong{display:block;margin:0;line-height:1.1;letter-spacing:-.035em;font-weight:500}
.fc-pack-total strong{font-size:32px}
.fc-cost-total strong{font-size:35px;white-space:normal;overflow-wrap:anywhere}
.fc-totals span{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--muted)}
.fc-cost-total{text-align:right}
.fc-breakdown{display:grid;gap:9px;margin:22px 0 0;padding-top:19px;border-top:1px solid var(--fc-line)}
.fc-breakdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.fc-breakdown dt,.fc-breakdown dd{margin:0;font-size:13px;line-height:1.45}
.fc-breakdown dt{color:var(--muted)}
.fc-breakdown dd{color:var(--fc-ink);font-weight:500;text-align:right}
.floor-calculator .fc-unit-info{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px 15px;margin:17px 0 0;padding-top:15px;border-top:1px solid var(--fc-line);color:var(--muted);font-size:12px;line-height:1.5}
.floor-calculator .fc-note{margin:17px 0;color:var(--muted);font-size:13px;line-height:1.6}
.floor-calculator .fc-copy{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin:0;padding:11px 15px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--fc-ink);font:inherit;font-size:14px;line-height:1.4;font-weight:500;text-decoration:none;transition:background-color 240ms ease,border-color 240ms ease,transform 280ms ease}
.floor-calculator .fc-copy svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}
.fc-summary-unavailable .fc-totals strong{color:var(--fc-ink)}
@media(hover:hover){.floor-calculator .fc-step:not(:disabled):hover{background:var(--surface-hover);transform:translateY(-1px)}.floor-calculator .fc-copy:not(:disabled):hover{background:var(--fc-paper);border-color:var(--fc-action);transform:translateY(-2px)}.fc-reserve-options label:hover input:not(:checked)+span{background:var(--surface-hover);color:var(--fc-ink)}}
@container floor-calc (min-width:520px){.fc-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}}
@container floor-calc (max-width:400px){.floor-calculator{padding:20px 16px}.floor-calculator .fc-heading h3{font-size:22px}.floor-calculator .fc-heading p{font-size:13px}.fc-controls{margin-top:22px;gap:18px}.fc-summary{padding:20px 16px}.fc-pack-total strong{font-size:29px}.fc-cost-total strong{font-size:33px}.fc-totals{gap:19px;grid-template-columns:minmax(0,1fr)}.fc-cost-total{text-align:left}.fc-pack-total{display:flex;align-items:baseline;gap:8px}.fc-pack-total span{margin-top:0}.fc-totals span{font-size:12px}.fc-breakdown dt,.fc-breakdown dd{font-size:12px}.floor-calculator .fc-unit-info{font-size:12px;display:block}.fc-unit-info span{display:block}.fc-unit-info span+span{margin-top:5px}}
@container floor-calc (max-width:290px){.floor-calculator{padding:18px 13px}.fc-summary{padding:18px 13px}.fc-totals{grid-template-columns:minmax(0,1fr);gap:18px}.fc-cost-total{text-align:left}.fc-cost-total strong{font-size:31px}.fc-reserve-options{gap:1px}.floor-calculator .fc-field>label,.floor-calculator .fc-reserve legend{font-size:13px}}
@media(prefers-reduced-motion:reduce){.floor-calculator *{transition:none!important}.floor-calculator .fc-step:hover,.floor-calculator .fc-copy:hover{transform:none}}
