.app-layout:has(.quote-results) { grid-template-columns:minmax(0,1fr); max-width:1240px; }
.app-layout:has(.quote-results) > .sidebar,
.app-layout:has(.quote-results) .mobile-progress { display:none; }
.has-quote-results > .comparison-progress { justify-content:space-between; align-items:flex-start; gap:20px; }
.comparison-live { display:inline-flex; align-items:center; gap:9px; flex-shrink:0; color:var(--muted); font-size:14px; white-space:nowrap; }
.comparison-live .comparison-spinner { width:18px; height:18px; border-width:2px; }
.quote-results { color:var(--ink); font-size:16px; line-height:1.5; margin-top:24px; overflow-anchor:none; }
.qr-search-progress { display:flex; align-items:flex-start; gap:12px; padding:14px 18px; border:1px solid #aabfb2; border-radius:7px; background:var(--pale); color:var(--ink); }
.qr-search-progress strong { display:block; font-size:15px; font-weight:650; }
.qr-search-progress p { margin:3px 0 0; font-size:14px; line-height:1.5; }
.qr-search-progress .comparison-spinner { width:20px; height:20px; border-width:2px; margin-top:2px; }
.qr-search-sticky { position:sticky; top:12px; z-index:10; margin-top:21px; box-shadow:0 3px 10px #143f3410; }
.qr-search-sticky.is-complete { position:static; box-shadow:none; }
.quote-results .qr-search-bottom { margin-top:20px; padding:24px; border-color:var(--line); }
.quote-results .qr-search-bottom p { margin-top:5px; }
.quote-results .qr-group-help { margin-bottom:18px; }
.quote-results :is(h2,h3,h4,p,dl,dd) { margin:0; }
.quote-results h2 { font-size:clamp(26px,3vw,34px); line-height:1.2; }
.quote-results h3,.quote-results h4 { font-size:20px; line-height:1.4; font-weight:600; }
.quote-results h3 span,.quote-results h4 span { font-weight:400; }
.quote-results p { line-height:1.55; }
.quote-results .qr-muted { color:var(--muted); font-size:14px; }
.quote-results .qr-button { min-height:44px; padding:10px 16px; background:var(--white); color:var(--green); border:1px solid var(--line); border-radius:7px; font:inherit; font-weight:600; transition:background-color .15s; }
.quote-results .qr-button:hover:not(:disabled) { background:var(--pale); border-color:var(--green); }
.quote-results .qr-primary { background:var(--green); color:var(--white); border-color:var(--green); }
.quote-results .qr-primary:hover:not(:disabled) { background:var(--green-hover); }
.quote-results :is(button,input,select):focus-visible { outline:3px solid var(--green-hover); outline-offset:4px; }
.quote-results .qr-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); background:var(--white); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.quote-results .qr-feature-story { padding:32px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.quote-results .qr-tag { display:inline-block; background:var(--lime); color:var(--green); border-radius:5px; padding:5px 10px; font-size:14px; font-weight:650; }
.quote-results .qr-feature-story > .qr-muted { margin-top:-12px; }
.quote-results .qr-feature-receipt { padding:30px; background:var(--pale); border-left:1px solid var(--line); display:flex; flex-direction:column; align-items:stretch; gap:10px; scroll-margin-top:20px; }
.quote-results .qr-saving-label { font-weight:500; }
.quote-results .qr-saving-amount { font-size:44px; line-height:1.1; font-weight:650; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.quote-results .qr-row-saving { display:block; font-size:24px; color:var(--green); font-variant-numeric:tabular-nums; }
.quote-results .qr-total-label { font-size:14px; color:var(--muted); margin-top:12px; }
.quote-results .qr-price-pair { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; font-variant-numeric:tabular-nums; }
.quote-results .qr-price-pair s { color:var(--muted); font-size:18px; text-decoration-thickness:1.5px; }
.quote-results .qr-price-pair strong,.quote-results .qr-plain-price { font-size:28px; font-weight:650; }
.quote-results .qr-receipt { width:100%; border-top:1px solid var(--line); margin-top:12px; padding-top:10px; font-size:14px; }
.quote-results .qr-receipt > div,.quote-results .qr-benefits > div { display:flex; justify-content:space-between; gap:16px; padding:5px 0; }
.quote-results .qr-receipt dd { white-space:nowrap; font-variant-numeric:tabular-nums; }
.quote-results .qr-feature-receipt > .qr-button { margin-top:10px; }
.quote-results .qr-facts { display:flex; flex-wrap:wrap; gap:16px 28px; margin:16px 0; }
.quote-results .qr-facts dt { color:var(--muted); font-size:14px; }
.quote-results .qr-facts dd { font-size:15px; font-weight:600; }
.quote-results .qr-facts dd span { display:block; }
.quote-results .qr-stars { letter-spacing:2px; color:var(--green); }
.quote-results .qr-reason { font-size:14px; color:var(--muted); border-top:1px solid var(--line); padding-top:16px; }
.quote-results .qr-warning { padding:12px 14px; border-left:3px solid #805114; color:#70450e; background:#fcf3e5; font-size:14px; }
.quote-results .qr-browser { display:grid; grid-template-columns:264px minmax(0,1fr); gap:28px; align-items:start; margin-top:32px; }
.quote-results .qr-filters { border-top:2px solid var(--green); padding-top:18px; }
.quote-results .qr-filter-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:20px; }
.quote-results .qr-filter-heading h3 { font-size:18px; }
.quote-results .qr-filter-heading button { padding:8px; border-color:transparent; font-size:14px; }
.quote-results .qr-range-group { padding-bottom:20px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.quote-results .qr-range-label { display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; align-items:baseline; }
.quote-results .qr-range-label label { font-size:15px; font-weight:600; }
.quote-results output { font-size:14px; background:var(--pale); padding:3px 8px; border-radius:4px; }
.quote-results .qr-range { width:100%; height:44px; margin:6px 0 0; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; appearance:none; -webkit-appearance:none; }
.quote-results .qr-range::-webkit-slider-runnable-track { height:6px; border-radius:5px; background:linear-gradient(to right,var(--green) 0 var(--qr-fill),var(--line) var(--qr-fill) 100%); }
.quote-results .qr-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--white); border:3px solid var(--green); margin-top:-9px; box-shadow:0 1px 4px #203c3426; }
.quote-results .qr-range::-moz-range-track { height:6px; border-radius:5px; background:var(--line); }
.quote-results .qr-range::-moz-range-progress { height:6px; border-radius:5px; background:var(--green); }
.quote-results .qr-range::-moz-range-thumb { width:20px; height:20px; border-radius:50%; border:3px solid var(--green); background:var(--white); }
.quote-results .qr-ticks { display:flex; justify-content:space-between; font-size:14px; color:var(--muted); margin-bottom:8px; }
.quote-results .qr-check { display:flex; align-items:center; gap:10px; min-height:44px; font-size:15px; cursor:pointer; }
.quote-results .qr-check input { width:20px; height:20px; accent-color:var(--green); flex:0 0 auto; }
.quote-results .qr-filters > p { margin-top:14px; }
.quote-results .qr-list-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.quote-results .qr-sort { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:14px; }
.quote-results .qr-sort select { min-height:44px; max-width:100%; font-size:16px; padding:8px 28px 8px 10px; border:1px solid var(--line); border-radius:6px; background:var(--white); color:var(--ink); }
.quote-results .qr-offer { border:1px solid var(--line); border-radius:9px; margin-bottom:16px; background:var(--white); overflow:hidden; }
.quote-results .qr-selected { border-color:var(--green); }
.quote-results .qr-offer-strip { background:var(--pale); padding:8px 20px; font-size:14px; font-weight:600; }
.quote-results .qr-offer-main { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:20px; padding:22px; }
.quote-results .qr-offer h4 { font-size:18px; }
.quote-results .qr-row-price { padding-left:20px; border-left:1px solid var(--line); }
.quote-results .qr-row-price .qr-saving-label { font-size:14px; }
.quote-results .qr-row-price .qr-price-pair { gap:8px; }
.quote-results .qr-row-price .qr-price-pair strong { font-size:24px; }
.quote-results .qr-row-price .qr-button { margin-top:14px; width:100%; }
.quote-results .qr-empty { background:var(--white); padding:28px; border:1px solid var(--line); border-radius:9px; }
.quote-results .qr-empty p { margin-top:12px; }
.quote-results .qr-disclaimer { font-size:14px; color:var(--muted); margin-top:28px; }
.quote-results .qr-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.quote-results .qr-dialog { width:min(700px,calc(100vw - 32px)); max-width:700px; max-height:calc(100dvh - 32px); margin:auto; padding:28px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--white); box-shadow:0 16px 60px #143f3433; overscroll-behavior:contain; }
.quote-results .qr-dialog::backdrop { background:#102b2366; }
.quote-results .qr-dialog-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.quote-results .qr-dialog h2 { font-size:26px; margin:6px 0; }
.quote-results .qr-dialog-saving { padding:22px; background:var(--pale); border-radius:8px; margin-top:22px; }
.quote-results .qr-dialog-saving .qr-saving-amount { display:block; margin:6px 0; }
.quote-results .qr-dialog .qr-benefits { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; margin:16px 0; font-size:15px; }
.quote-results .qr-dialog .qr-benefits dd { text-align:right; }
.quote-results .qr-dialog p { margin-top:10px; }
.quote-results .qr-dialog-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; margin-top:22px; }
.quote-results [data-dialog-message] { color:var(--error); }
.quote-results :is([data-hero],[data-count],[data-savings],button,input,select) { scroll-margin-top:170px; }
@media(max-width:1000px) {
  .quote-results .qr-browser { grid-template-columns:225px minmax(0,1fr); gap:20px; }
  .quote-results .qr-offer-main { grid-template-columns:minmax(0,1fr); }
  .quote-results .qr-row-price { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
  .quote-results .qr-feature-story,.quote-results .qr-feature-receipt { padding:24px; }
}
@media(max-width:700px) {
  .has-quote-results > .comparison-progress { flex-wrap:wrap; gap:12px; }
  .app-layout:has(.quote-results) { padding:0 16px; margin-top:24px; }
  .quote-results .qr-feature,.quote-results .qr-browser { grid-template-columns:minmax(0,1fr); }
  .quote-results .qr-feature-receipt { border-left:0; border-top:1px solid var(--line); }
  .quote-results .qr-feature-story,.quote-results .qr-feature-receipt { padding:22px; }
  .quote-results .qr-filters { padding:16px; border:1px solid var(--line); border-radius:9px; background:var(--white); }
  .quote-results .qr-list-heading { align-items:flex-start; flex-direction:column; }
  .quote-results .qr-sort { width:100%; }
  .quote-results .qr-sort select { flex:1; min-width:0; }
  .quote-results .qr-offer-main { padding:18px; }
  .quote-results .qr-dialog { padding:18px; }
  .quote-results .qr-dialog-head { gap:10px; }
  .quote-results .qr-dialog h2 { font-size:22px; }
  .quote-results .qr-dialog-head button { padding:8px 10px; }
  .quote-results .qr-dialog-actions .qr-button { width:100%; }
  .qr-search-sticky { top:8px; padding:12px 14px; }
  .quote-results .qr-search-bottom { padding:20px 18px; }
}
@media(prefers-reduced-motion:reduce) { .quote-results * { scroll-behavior:auto!important; transition:none!important; } .qr-search-progress .comparison-spinner { animation:none; } }

.quote-results.qr-has-selection { padding-bottom:calc(var(--qr-bottom-space, 240px) + 24px); }
.quote-results .qr-finalise-bar { position:fixed; inset:auto 0 0; z-index:25; background:var(--white, #fff); border-top:1px solid #aec5b9; box-shadow:0 -6px 24px #143f3412; padding:12px 24px max(12px, env(safe-area-inset-bottom)); }
.quote-results .qr-finalise-bar[hidden] { display:none; }
.quote-results .qr-bar-inner { max-width:930px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:5px 36px; }
.quote-results .qr-link-time { grid-column:1/-1; margin:0 0 3px; color:#365e50; font-size:13px; }
.quote-results .is-expired .qr-link-time { color:#80521c; }
.quote-results .qr-bar-choice { display:flex; gap:16px; align-items:center; justify-content:space-between; min-width:0; }
.quote-results .qr-bar-choice span { min-width:0; overflow-wrap:anywhere; }
.quote-results .qr-bar-choice span:last-child { text-align:right; flex-shrink:0; }
.quote-results .qr-bar-choice strong { display:block; font-size:19px; }
.quote-results .qr-bar-choice small { display:block; font-size:12px; color:var(--muted); }
.quote-results .qr-bar-actions { display:flex; gap:10px; align-items:center; }
.quote-results .qr-bar-actions button:first-child { flex:1; }
.quote-results .qr-bar-actions button { min-height:46px; padding:10px 15px; }
.quote-results .qr-bar-note,.quote-results .qr-bar-warning { grid-column:1/-1; font-size:13px; margin:3px 0 0; text-align:right; color:var(--muted); }
.quote-results .qr-bar-warning { color:#80521c; }
.quote-results .qr-finalise-sheet { max-width:570px; }
.quote-results .qr-chosen-summary { background:var(--pale); border:1px solid var(--line); border-radius:8px; padding:17px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0; }
.quote-results .qr-chosen-summary div { min-width:0; }
.quote-results .qr-chosen-summary div>strong { display:block; font-size:20px; }
.quote-results .qr-chosen-summary div span { display:block; font-size:13px; color:var(--muted); }
.quote-results .qr-chosen-summary>strong { font-size:25px; }
.quote-results .qr-handover-notice { padding:16px; border:1px solid #abc2b7; border-radius:7px; background:#f4f8f5; }
.quote-results .qr-handover-notice.is-expired { background:#fff7e9; border-color:#d3b47b; }
.quote-results .qr-handover-notice p { margin:7px 0 0; font-size:14px; }
.quote-results .qr-quote-validity { font-size:13px; color:var(--muted); }
.quote-results .qr-quote-validity:empty,.quote-results [data-recovery-unavailable]:empty { display:none; }
.quote-results .qr-wait-note { border-left:3px solid #91b4a1; padding:1px 0 1px 12px; margin:18px 0; font-size:14px; }
.quote-results .qr-finalise-sheet .qr-dialog-actions { flex-direction:column; }
.quote-results .qr-finalise-sheet .qr-dialog-actions button { min-height:48px; width:100%; }
.quote-results [data-release-link] { box-sizing:border-box; min-height:48px; width:100%; text-align:center; text-decoration:none; display:flex; align-items:center; justify-content:center; }
.quote-results [data-release-link][hidden] { display:none; }
.quote-results [data-review-checks] { margin:20px 0; }
.quote-results [data-review-checks] li { margin:9px 0; line-height:1.5; }
.quote-results .qr-review-ack { min-height:48px; align-items:flex-start; padding:12px 0; line-height:1.5; }
.quote-results .qr-review-ack input { flex-shrink:0; margin-top:4px; }
@media(max-width:700px) {
  .quote-results .qr-finalise-bar { padding:11px 16px max(12px, env(safe-area-inset-bottom)); }
  .quote-results .qr-bar-inner { display:block; }
  .quote-results .qr-link-time { margin-bottom:8px; font-size:12px; }
  .quote-results .qr-bar-choice { margin-bottom:10px; }
  .quote-results .qr-bar-actions { gap:8px; }
  .quote-results .qr-bar-actions button { font-size:14px; padding:10px 11px; }
  .quote-results .qr-bar-note,.quote-results .qr-bar-warning { text-align:center; font-size:12px; margin-top:9px; }
  .quote-results .qr-finalise-sheet { box-sizing:border-box; width:100%; max-width:100%; max-height:calc(100dvh - 24px); margin:auto 0 0; padding:24px 20px max(24px, env(safe-area-inset-bottom)); border-radius:17px 17px 0 0; border:1px solid #b5c6ba; }
  .quote-results .qr-finalise-sheet h2 { font-size:27px; line-height:1.2; }
  .quote-results .qr-finalise-sheet .qr-dialog-head button { min-height:44px; }
  .quote-results .qr-finalise-sheet p { line-height:1.5; }
  .quote-results.qr-has-selection .qr-feature-story h2 { font-size:27px; }
}
