.quote-form { max-width:100%; }
.quote-options { display:flex; flex-wrap:wrap; gap:12px; border:0; margin-bottom:24px; }
.quote-form legend { width:100%; font-family:var(--font-heading); font-size:20px; margin-bottom:14px; }
.quote-choice { display:flex; gap:10px; align-items:center; border:1px solid var(--color-border); border-radius:var(--radius-md); padding:16px 20px; cursor:pointer; background:var(--color-bg); }
.quote-choice:has(input:checked) { border-color:var(--color-primary); background:var(--color-primary-soft); color:var(--color-primary); box-shadow:0 0 0 1px var(--color-primary); }
.quote-choice input { width:18px; height:18px; accent-color:var(--color-primary); }
.quote-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.quote-form fieldset[data-quote-section] { border:0; margin:12px 0; padding:0; }
.quote-form [hidden] { display:none !important; }
.quote-help { color:var(--color-text-light); font-size:13px; margin-bottom:22px; }
.quote-form input[type=file] { max-width:100%; }
@media(max-width:650px){.quote-grid{grid-template-columns:1fr;}.quote-choice{flex:1 1 45%;padding:14px 12px;}.quote-form{padding:22px;}}
.quote-choice input[type=radio] { appearance:none; -webkit-appearance:none; display:grid; place-content:center; width:20px; height:20px; flex:0 0 20px; border:1.5px solid var(--color-primary); border-radius:5px; background:white; cursor:pointer; }
.quote-choice input[type=radio]:checked { background:var(--color-primary); }
.quote-choice input[type=radio]:checked::before { content:'✓'; color:white; font-size:15px; line-height:18px; font-weight:700; }
.quote-choice input[type=radio]:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.contact--details-only { grid-template-columns:1fr; }
.contact--details-only .contact__info { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
@media(max-width:650px){.contact--details-only .contact__info{grid-template-columns:1fr;}}
