/* aa-form v2.2 (17 Oct 2026, package 18: one column of cards under 260px)
   aa-form v2.1 (16 Oct 2026: no colour transitions, flatter card on phones, roomier product cards at 360-400 px)
   aa-form v2 (15 Oct 2026): the five-step quote form, drawn by /assets/js/aa-form.js inside .quote-card.aqf.
   Linked in <body> just before the form, so it never blocks the first screen. The card itself keeps the page's own
   .quote-card look; everything inside is styled here. Only transform/opacity animate. */
.aqf{--aqf-t:var(--text,#1d1d1f);--aqf-m:var(--text-muted,#6e6e73);--aqf-line:#d2d2d7;--aqf-p:var(--primary,#3e6ae1);--aqf-red:#c4001a;text-align:left;color:var(--aqf-t)}
.aqf [hidden]{display:none!important}
.aqf .aqf-vh,.aqf .aqf-hp{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.aqf .aqf-hp{left:-10000px}
.aqf-noscript{margin:0;font-size:15px;line-height:1.55}
.aqf-noscript a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.aqf-form{margin:0}

/* Progress, step number, heading */
.aqf-progress{display:flex;gap:6px;margin:0 0 26px}
.aqf-progress i{flex:1;height:4px;border-radius:2px;background:#e8e8ed}
.aqf-progress i.on{background:var(--aqf-t)}
.aqf-num{margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.3;color:var(--aqf-m);letter-spacing:0;text-transform:none}
.aqf-title{margin:0 0 6px;font-family:var(--font-display,inherit);font-size:clamp(21px,2.3vw,26px);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-transform:none;color:var(--aqf-t)}
.aqf-title:focus{outline:none}
.aqf-sub{margin:0 0 20px;font-size:14px;line-height:1.55;color:var(--aqf-m)}
.aqf-title+.aqf-fs,.aqf-title+.aqf-f,.aqf-title+.aqf-picked,.aqf-picked[hidden]+.aqf-f{margin-top:18px}

/* Choices: cards (one tap picks; real radios) and chips */
.aqf-fs{min-width:0;margin:0 0 18px;padding:0;border:0}
.aqf-q{display:block;margin:0 0 10px;padding:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--aqf-t)}
.aqf-q+.aqf-hint{margin-top:-6px}
.aqf-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aqf-card,.aqf-chip{position:relative;box-sizing:border-box;border:1px solid var(--border,#e8e8ed);background:#fff;color:var(--aqf-t);cursor:pointer;-webkit-tap-highlight-color:transparent}
.aqf-card{display:flex;align-items:center;gap:12px;min-height:56px;padding:11px 38px 11px 16px;border-radius:12px;font-size:14px;line-height:1.3}
.aqf-card input,.aqf-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.aqf-card-t b{display:block;font-weight:500}
.aqf-card-t span{display:block;margin-top:2px;font-size:12.5px;line-height:1.35;color:var(--aqf-m)}
.aqf-wide{grid-column:1/-1}
.aqf-chips{display:flex;flex-wrap:wrap;gap:8px}
.aqf-chip{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;font-size:14px;line-height:1.25}
.aqf-chip.is-on{padding-right:36px}
.aqf-card:hover,.aqf-chip:hover{border-color:var(--aqf-t)}
.aqf-card.is-on,.aqf-chip.is-on{border-color:var(--aqf-t);background:var(--aqf-t);color:#fff}
.aqf-card.is-on .aqf-card-t span{color:#ffffffd0}
.aqf-card.is-on::after,.aqf-chip.is-on::after{content:"";position:absolute;right:14px;top:50%;width:14px;height:14px;margin-top:-7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat}
.aqf-card:focus-within,.aqf-chip:focus-within{outline:2px solid var(--aqf-p);outline-offset:2px}
@supports selector(:has(*)){.aqf-card:focus-within,.aqf-chip:focus-within{outline:0}.aqf-card:has(input:focus-visible),.aqf-chip:has(input:focus-visible){outline:2px solid var(--aqf-p);outline-offset:2px}}
@media(forced-colors:active){.aqf-card.is-on,.aqf-chip.is-on{outline:3px solid Highlight;outline-offset:-3px}}

/* Size pictures: a top-down outline beside a car, for scale */
.aqf-sizecard{flex-direction:column;align-items:flex-start;gap:8px;padding-top:14px;padding-bottom:12px}
.aqf-size-pic{display:block;width:72px;height:48px;color:var(--aqf-m)}
.aqf-card.is-on .aqf-size-pic{color:#fff}
.aqf-area{fill:currentColor;fill-opacity:.12;stroke:currentColor;stroke-width:1.5}
.aqf-car{fill:currentColor;opacity:.4}

/* Fields */
.aqf-f{margin:0 0 16px}
.aqf-label{display:block;margin:0 0 6px;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--aqf-t)}
.aqf-hint{margin:-2px 0 8px;font-size:13px;line-height:1.45;color:var(--aqf-m)}
.aqf-input{display:block;width:100%;box-sizing:border-box;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--aqf-line);border-radius:12px;background:#fff;font:inherit;font-size:16px;line-height:1.3;color:var(--aqf-t);-webkit-appearance:none;appearance:none}
.aqf-input:focus{outline:none;border-color:var(--aqf-t);box-shadow:0 0 0 3px #3e6ae133}
.aqf-input[aria-invalid=true],.aqf-input[aria-invalid=true]:focus{border-color:var(--aqf-red)}
.aqf-textarea{min-height:96px;resize:vertical}
.aqf-err{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--aqf-red)}
.aqf-err:empty{margin:0}
.aqf-cover{min-height:1.45em;margin:6px 0 -4px;font-size:13px;line-height:1.45;color:var(--aqf-m)}
.aqf-echo{margin:6px 0 0}
.aqf-echo:empty{margin:0}
.aqf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aqf-grid .aqf-f{margin:0}
.aqf-measure{margin:-4px 0 14px}
.aqf-measure>.aqf-hint{margin:8px 0 0}
.aqf-picked{margin:14px 0 4px;font-size:14px;line-height:1.4;color:var(--aqf-t)}
.aqf-link{min-height:44px;padding:0 2px;background:none;border:0;font:inherit;color:var(--aqf-p);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#aqf-contact-e{margin:-8px 0 14px}
#aqf-contact-e:empty{margin:0}

/* Buttons and links */
.aqf-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.aqf-back{min-height:44px;min-width:44px;padding:8px 4px;background:none;border:0;font:inherit;font-size:14px;font-weight:500;color:var(--aqf-m);cursor:pointer}
.aqf-back:hover{color:var(--aqf-t)}
.aqf .aqf-back[hidden]{display:inline-block!important;visibility:hidden}
.aqf .aqf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:150px;padding:12px 22px;text-align:center;text-decoration:none}
.aqf .aqf-btn svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aqf .aqf-btn svg path{fill:currentColor;stroke:none}
.aqf .aqf-btn[disabled],.aqf .aqf-btn[aria-disabled=true]{opacity:.65;cursor:progress}
/* WhatsApp buttons keep their icon on the glass pages (aa-glass.css hides button icons and adds an arrow) */
.aqf .aqf-btn[data-aa-wa] svg{display:block}.aqf .aqf-btn[data-aa-wa]::after{display:none}
.aqf .aqf-btn.btn-secondary{background:#fff;color:var(--aqf-t);border:1px solid #1d1d1f40}
.aqf-wa{margin:14px 0 0;font-size:13.5px;line-height:1.3}
.aqf-wa a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--aqf-m);text-decoration:underline;text-underline-offset:2px}
.aqf-wa a:hover{color:var(--aqf-t)}
.aqf-wa svg{width:16px;height:16px;flex:none;fill:#1a8f4a}
.aqf-fine{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--aqf-m)}
.aqf-fine a,.aqf-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* Links inside a sentence: a 44 px tall tap area without moving the text */
.aqf-fine a,.aqf-status p>a{display:inline-block;padding:14px 0;margin:-14px 0}

/* What happens next (step 5) */
.aqf-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:18px 0 0;padding:0;list-style:none;font-size:13px;line-height:1.35;color:var(--aqf-m)}
.aqf-next b{color:var(--aqf-t);font-weight:600;white-space:nowrap}
@media(min-width:901px){.aqf-next--narrow{display:none}}

/* Sending, failures */
.aqf-status:empty{display:none}
.aqf-status{margin:18px 0 0;padding:14px 16px;border-radius:12px;background:#f5f5f7;font-size:14px;line-height:1.5;color:var(--aqf-t)}
.aqf-status p{margin:0}
.aqf-status p+p{margin-top:8px}
.aqf-warn{background:#fff6e5}
.aqf-acts{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0}
.aqf-status .aqf-acts{margin-top:12px}

/* Thank-you */
.aqf-done{padding:8px 0 4px;text-align:center}
.aqf-done .aqf-title{margin:0 auto 12px;max-width:22ch}
.aqf-done p{margin:0 auto 10px;max-width:46ch;font-size:15px;line-height:1.55}
.aqf-done .aqf-fine{font-size:13px}
.aqf-done-acts{justify-content:center;margin:18px 0 14px!important}
.aqf-done .aqf-done-acts{max-width:none}
.aqf-tick{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 0 16px;border-radius:50%;background:var(--aqf-t)}
.aqf-tick svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.aqf-ref{white-space:nowrap;letter-spacing:.02em}
.aqf-done p b{white-space:nowrap}
.aqf-qr{margin:18px auto 6px}
.aqf-qr svg{display:block;margin:0 auto 8px;border-radius:8px}

@media(prefers-reduced-motion:no-preference){.aqf-step,.aqf-done{animation:aqf-in .3s ease}}
@keyframes aqf-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:640px){
  .aqf-card{min-height:60px;padding:10px 32px 10px 14px}
  .aqf-card.is-on::after,.aqf-chip.is-on::after{right:12px}
  .aqf-chip.is-on{padding-right:32px}
  .aqf-nav .aqf-btn{min-width:140px}
  .aqf-done-acts .aqf-btn,.aqf-status .aqf-acts .aqf-btn{width:100%}
  .aqf-status .aqf-acts .aqf-btn{padding:12px 14px}
  /* Inside the glass quote section the outer panel is the one card: the form drops its own frame and gains the width */
  .quote-inner>.quote-card.aqf{padding:4px 0 0;border:0;background:none;border-radius:0}
}
@media(max-width:400px){
  .aqf-card{gap:8px;padding:10px 26px 10px 12px}
  .aqf-card.is-on::after{right:9px;width:12px;height:12px;margin-top:-6px}
}
/* Under 260px (a phone at 200% zoom): one column of cards; the card may be narrower than its longest word (a glass
   section's grid would otherwise grow past the screen); a button takes the rest of its row or a row of its own and its
   label wraps; a long word breaks rather than running out of its card. Nothing is cut off at the right (package 18) */
@media(max-width:259px){.aqf-cards{grid-template-columns:minmax(0,1fr)}.aqf{min-width:0;overflow-wrap:break-word;hyphens:auto}.aqf-nav{flex-wrap:wrap}.aqf .aqf-btn{min-width:0;flex:1 1 auto;white-space:normal}}
@media print{.aqf-wa,.aqf-nav{display:none}}
