/* DFRNT's visual language, with the shared REEPA/MFP focused quiz layout. */
.quote-wizard{background:var(--paper);color:var(--ink);min-height:100svh;padding-bottom:150px}
.qw-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(24px,5vw,72px);border-bottom:1px solid var(--line)}
.qw-header>a:last-child{font-size:15px;color:var(--muted);text-decoration:none}.qw-header>a:last-child span{color:var(--ink)}
.qw-main{width:min(1040px,calc(100% - 48px));margin:auto;padding:48px 0 36px}
.qw-screen>h1,.qw-screen>h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.03em;line-height:1.18;text-align:center;text-wrap:balance;max-width:28ch;margin:0 auto}
.qw-intro{text-align:center;font-size:16px;color:var(--muted);max-width:65ch;margin:18px auto 32px;line-height:1.6}
.qw-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:820px;margin:0 auto}
.qw-choice{padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);text-align:left;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.qw-choice:hover{border-color:var(--focus);background:var(--mist)}
.qw-choice[aria-selected=true]{border-color:var(--focus);background:var(--mist)}
.qw-choice img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}
.qw-choice-label{display:flex;align-items:flex-start;gap:12px;padding:20px}
.qw-choice strong{display:block;font-size:20px;font-weight:500}.qw-choice small{display:block;font-size:15px;color:var(--muted);line-height:1.5;margin-top:6px}
.qw-radio{width:21px;height:21px;border:1px solid var(--muted);border-radius:50%;flex-shrink:0;margin-top:2px}
[aria-selected=true]>.qw-choice-label>.qw-radio{border:6px solid var(--focus);background:var(--paper)}
.qw-small{font-size:15px;line-height:1.6;color:var(--muted)}
.qw-screen>.qw-small{text-align:center;margin:24px auto 0;max-width:65ch}
.qw-bill-panel{max-width:640px;margin:auto;background:transparent;padding:0;border-radius:0}
.qw-bill-panel .drop-zone{background:var(--mist);min-height:250px;border:1px dashed var(--focus)}
.qw-bill-panel .drop-zone:focus-within{outline:3px solid var(--focus);outline-offset:4px}
.qw-bill-panel .drop-zone strong{overflow-wrap:anywhere}
.qw-bill-panel .fine-print{font-size:12px;margin-top:20px}
.qw-bill-panel .amount-field,.qw-bill-panel select{background:white}
.qw-ranges{border:0;margin:0 0 28px;padding:0}.qw-ranges legend{font-size:16px;margin-bottom:12px}
.qw-range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.qw-range-grid label{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;margin:0!important;font-size:16px!important}
.qw-range-grid label:has(:checked){border-color:var(--focus);background:var(--mist)}
.qw-range-grid input{accent-color:var(--focus);width:18px;height:18px;margin:0;flex-shrink:0}
.qw-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:24px auto}
.qw-fields label{display:block;font-size:16px;font-weight:500}.qw-fields label>span{font-size:15px;font-weight:400;color:var(--muted)}
.qw-fields input{display:block;width:100%;margin-top:10px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font:inherit;font-size:20px;caret-color:var(--focus)}
.qw-fields input:focus{outline:3px solid var(--focus);outline-offset:3px}.qw-fields input[aria-invalid=true]{border-color:#9b2928}
.qw-fields-single{max-width:460px;grid-template-columns:1fr}.qw-wide{grid-column:1/-1}
.qw-notice{max-width:760px;margin:22px auto;padding:16px 20px;background:var(--mist);border-radius:12px;font-size:15px;line-height:1.65;color:var(--ink)}
.qw-help{align-self:end;font-size:15px}.qw-help p{margin-top:12px;line-height:1.6;color:var(--muted)}
.qw-screen>.text-link{display:flex;margin:28px auto 0;justify-content:center;font-size:15px}
.qw-estimate{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:880px;margin:32px auto}
.qw-estimate-summary>strong{display:block;font-size:clamp(32px,4vw,48px);letter-spacing:-.03em;line-height:1.2;margin:14px 0;font-weight:500;font-variant-numeric:tabular-nums}
.qw-estimate-summary>span{display:block;font-size:20px}.qw-estimate-summary .qw-small{margin:16px 0}.qw-estimate-summary .text-link{margin-top:12px;font-size:15px}
.qw-price-lines h3{font-size:20px;margin-bottom:14px}.qw-price-lines dl{margin:0}.qw-price-lines dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.qw-price-lines dd{font-variant-numeric:tabular-nums;margin:0}.qw-price-lines dl>div:last-child{font-weight:500}
.qw-assumptions{max-width:880px;margin:28px auto 0;border-top:1px solid var(--line);padding-top:18px;font-size:15px}.qw-assumptions p{color:var(--muted);line-height:1.65;margin-top:16px;max-width:75ch}
.qw-footer{position:fixed;inset:auto 0 0;background:var(--mist);z-index:20;padding:0 24px 12px;margin:0;border:0}
.qw-footer progress{display:block;position:absolute;inset:0 0 auto;appearance:none;width:100%;height:4px;border:0;background:var(--line);color:var(--focus)}
.qw-footer progress::-webkit-progress-bar{background:var(--line)}.qw-footer progress::-webkit-progress-value{background:var(--focus);transition:none}.qw-footer progress::-moz-progress-bar{background:var(--focus)}
.qw-footer-inner{display:flex;align-items:center;gap:24px;max-width:1180px;margin:auto;padding-top:20px}.qw-footer .text-link{font-size:16px}.qw-footer .text-link svg{transform:rotate(180deg);width:20px}.qw-footer .button{margin-left:auto;min-width:200px;min-height:52px;font-size:16px;padding:14px 24px}
#qw-step-label{font-size:15px;color:var(--muted);margin:0}.qw-preview-note{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 0;line-height:1.5}
.quote-wizard [hidden]{display:none!important}.quote-wizard :focus-visible{outline:3px solid var(--focus);outline-offset:4px}.quote-wizard summary{cursor:pointer}.quote-wizard a{text-underline-offset:4px}.quote-wizard ::selection{background:var(--accent);color:var(--ink)}
@media(max-width:650px){.quote-wizard{padding-bottom:170px}.qw-header{height:72px;padding:14px 24px}.qw-header>a:last-child{font-size:12px;max-width:100px;text-align:right}.qw-header>a:last-child span{display:block}.qw-main{padding-top:30px}.qw-intro{font-size:15px;margin:14px auto 24px}.qw-choices{gap:16px;grid-template-columns:1fr}.qw-choice{display:grid;grid-template-columns:112px 1fr;align-items:stretch}.qw-choice img{height:100%;aspect-ratio:auto;min-height:136px}.qw-choice-label{gap:10px;padding:18px 14px}.qw-choice strong{font-size:16px}.qw-choice small{font-size:12px}.qw-fields{grid-template-columns:1fr;gap:20px}.qw-estimate{grid-template-columns:1fr;gap:28px}.qw-footer-inner{flex-wrap:wrap;gap:12px;padding-top:17px}.qw-footer .button{min-width:0;font-size:15px;flex:1;justify-content:center}.qw-footer .text-link{font-size:15px}#qw-step-label{width:100%;order:-1;font-size:12px}.qw-preview-note{font-size:12px;margin-top:10px}.qw-notice{font-size:12px}.qw-range-grid{gap:10px}.qw-range-grid label{padding:14px 12px;font-size:15px!important}}
@media(prefers-reduced-motion:reduce){.qw-choice,.qw-footer progress::-webkit-progress-value{transition:none}}
/* Single-answer screens keep selection ahead of optional typing. */
.qw-answer-form{max-width:640px;margin:28px auto 0}
.qw-answer-options{border:0;padding:0;margin:0;display:grid;gap:16px}
.qw-answer-options>label{display:flex;align-items:center;gap:16px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;font-size:20px;cursor:pointer}
.qw-answer-options>label:has(:checked){border-color:var(--focus);background:var(--mist)}
.qw-answer-options input{width:21px;height:21px;accent-color:var(--focus);flex-shrink:0;margin:0}
.qw-answer-options strong{display:block;font-size:24px;font-weight:500}.qw-answer-options small{display:block;font-size:15px;color:var(--muted);margin-top:6px}
.qw-single-answer{margin-top:24px}.qw-single-answer>label{display:block;font-size:16px;margin-bottom:12px}.qw-single-answer label>span{color:var(--muted)}
.qw-single-answer>input{display:block;width:100%;padding:16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:20px;background:white;color:var(--ink)}
.qw-single-answer input[aria-invalid=true]{border-color:#9b2928}.qw-custom-choice{background:transparent}.qw-range-grid label{min-height:74px}.qw-ranges{margin-bottom:0}
@media(max-width:650px){.qw-answer-options>label{padding:20px;font-size:16px}.qw-answer-options strong{font-size:24px}.qw-answer-options small{font-size:15px}.qw-range-grid label{min-height:72px}.qw-single-answer>input{font-size:16px}}
/* One choice per screen, using the established DFRNT selection treatment. */
.qw-answer-options>label:hover{border-color:var(--focus);background:var(--mist)}
.qw-answer-options strong{font-size:20px}
.qw-postcode-form{max-width:520px}
.qw-postcode-form .qw-small{margin:14px 0 0}
.qw-location-match{font-size:16px;color:var(--ink);margin:16px 0 0}
.qw-location-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:24px 0 0}
.pac-container{font-family:Onest,sans-serif;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--paper);z-index:1000}
.pac-item{padding:12px 16px;min-height:48px;line-height:1.5;font-size:15px;color:var(--muted);white-space:normal;cursor:pointer;border-top-color:var(--line)}
.pac-item-query{font-size:16px;color:var(--ink)}
.pac-item:hover,.pac-item-selected,.pac-item-selected:hover{background:var(--mist)}
.qw-profile{max-width:760px;margin:32px auto 0}
.qw-profile h3{font-size:24px;font-weight:500;margin:0 0 20px}
.qw-profile dl{margin:0}
.qw-profile dl>div{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.qw-profile dt{color:var(--muted)}.qw-profile dd{margin:0;overflow-wrap:anywhere}
@media(max-width:650px){.qw-answer-options>label{padding:18px 20px}.qw-answer-options strong{font-size:20px}.qw-profile dl>div{grid-template-columns:1fr;gap:6px;font-size:15px;padding:14px 0}.qw-answer-options{gap:12px}}
.quote-wizard .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* The reference quiz is image-led throughout, not only at its opening. */
.qw-image-form{max-width:1040px}
.qw-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.qw-image-grid-2{max-width:720px;margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.qw-image-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.qw-image-grid-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.qw-image-grid>label.qw-image-option{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0!important;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:16px!important}
.qw-image-grid>label.qw-image-option:hover,.qw-image-grid>label.qw-image-option:has(:checked){border-color:var(--focus);background:var(--mist)}
.qw-image-option>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fafafa}
.qw-image-caption{display:flex;gap:12px;align-items:flex-start;padding:20px;flex:1;line-height:1.45}
.qw-image-caption>input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--focus)}
.qw-image-caption>span{display:block;min-width:0}
.qw-image-caption strong{font-size:20px;font-weight:500}
.qw-image-caption small{font-size:15px;line-height:1.5;margin-top:6px}
.qw-image-grid>label.qw-answer-alternative{grid-column:1/-1;justify-self:center;width:auto;min-height:52px;padding:14px 24px;gap:12px;justify-content:center;font-size:15px!important;margin:0!important;border:1px solid var(--line);border-radius:12px}
.qw-image-grid-5 .qw-image-caption{padding:16px 12px;gap:8px}
.qw-bill-panel-images{max-width:1040px}
.qw-bill-panel-images #upload-panel,.qw-bill-panel-images .fine-print,.qw-custom-bill-field{max-width:640px;margin-inline:auto}
@media(max-width:900px){.qw-image-grid-4,.qw-image-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.qw-image-grid-5{max-width:720px;margin-inline:auto}.qw-image-grid-5>label:nth-child(5){grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}}
@media(max-width:650px){.qw-image-grid{grid-template-columns:1fr;gap:16px}.qw-image-grid>label.qw-image-option{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:stretch;min-height:120px}.qw-image-option>img{height:100%;aspect-ratio:auto;min-height:120px;object-fit:contain}.qw-image-caption{padding:18px 14px;gap:10px;align-items:center}.qw-image-caption>input{margin:0;width:18px;height:18px}.qw-image-caption strong{font-size:16px}.qw-image-caption small{font-size:12px}.qw-image-grid-5>label:nth-child(5){grid-column:auto;justify-self:stretch;width:auto}.qw-image-grid>label.qw-answer-alternative{width:100%;min-height:52px}.qw-image-grid-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qw-image-grid-5>label.qw-image-option{display:flex;min-height:0}.qw-image-grid-5 .qw-image-option>img{height:auto;min-height:0;aspect-ratio:4/3}.qw-image-grid-5 .qw-image-caption{padding:12px 10px;font-size:15px}.qw-image-grid-5>label:nth-child(5){grid-column:1/-1;justify-self:center;width:calc(50% - 6px)}}

/* Submission states keep the same controls and prevent duplicate requests. */
.quote-wizard button:disabled{opacity:.65;cursor:wait}
#qw-submit-status:empty{display:none}
