.joinery-tools {max-width:1100px;margin-inline:auto;background:#fff;}
.joinery-tools h1 {font-size:clamp(2rem,4vw,3.6rem);overflow-wrap:anywhere;}
.joinery-tools form {margin-block:2rem;background:#fff;}
.joinery-tools label {display:grid;gap:.45rem;font-weight:600;font-size:1rem;}
.joinery-tools input,.joinery-tools select {width:100%;min-width:0;min-height:48px;padding:.7rem;border:1px solid #8d9995;border-radius:8px;background:#fff;color:#172d26;font:inherit;}
.joinery-tools input[aria-invalid="true"] {border-color:#a02222;}
.joinery-tools input:focus-visible,.joinery-tools select:focus-visible,.joinery-table-wrap:focus-visible {outline:3px solid var(--primary,#23584f);outline-offset:3px;}
.joinery-project {display:grid;grid-template-columns:2fr 1fr;gap:1rem;}
.joinery-quotes {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem;}
.joinery-quote {display:grid;gap:1rem;min-width:0;margin:0;padding:1.25rem;border:1px solid #c9d2ce;border-radius:12px;}
.joinery-quote legend {padding-inline:.4rem;font-weight:700;font-size:1.2rem;}
.joinery-quote p {margin:0;}
.joinery-total {font-weight:700;font-size:1.15rem;}
#joinery-summary {padding:1rem;border:1px solid #c9d2ce;border-radius:10px;line-height:1.6;}
.joinery-tools-actions {display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-block:1.5rem;}
.joinery-tools-teaser {background:#fff;}
.joinery-table-wrap {max-width:100%;overflow-x:auto;margin-block:1.5rem;}
.joinery-price-table {border-collapse:collapse;width:100%;font-size:1rem;line-height:1.6;}
.joinery-price-table th,.joinery-price-table td {padding:1rem;text-align:left;vertical-align:top;border:1px solid #d5ddd9;}
.joinery-price-table a {overflow-wrap:anywhere;}
@media(max-width:800px) {.joinery-quotes,.joinery-project {grid-template-columns:1fr;}.joinery-tools .btn {white-space:normal;}.joinery-price-table {min-width:640px;}}

/* Budget: keep existing site geometry and native controls. */
#joinery-budget details{margin:1.5rem 0}#joinery-budget summary{cursor:pointer;font-weight:700}#joinery-budget [hidden]{display:none}#budget-total{font-size:clamp(1.5rem,4vw,2.5rem);overflow-wrap:anywhere}#joinery-budget .joinery-project{margin-top:1rem}#joinery-budget input,#joinery-budget select{max-width:100%;min-width:0}#joinery-budget label{min-width:0}

/* Two-column budget breakdown must remain readable without scrolling on mobile. */
#budget-result .joinery-price-table{min-width:0;table-layout:fixed}#budget-result .joinery-price-table th{width:55%}#budget-result .joinery-price-table td,#budget-result .joinery-price-table th{overflow-wrap:anywhere;padding:.75rem}
