/* Shared design rhythm and accessible controls. */
:root{--jsj-space:24px;--jsj-section:56px;--jsj-card:24px;--jsj-red:#c9001b;--jsj-green:#087e36}
#view-car>section:not(.car-image-space),#view-inv>section,.wrap>section{margin-top:var(--jsj-section);margin-bottom:var(--jsj-section)}
#view-inv>.visualrail,#inverter-brands{margin-top:40px!important;margin-bottom:40px!important}
.card,.cc,.claimstep,.support-points article,.faq details{border-radius:var(--jsj-card)!important;box-shadow:none!important}
.rail{gap:16px}.support-points{gap:16px}.support-detail{padding:28px}.support-points article{padding:20px}.hero{padding-top:24px}.insurancehero{margin:32px 0!important}
a.btn,button.btn{min-height:44px}a.btn.buy,.insurancehero .btn,#find,.pc .btn{background:var(--jsj-red)!important;color:#fff!important;border-color:var(--jsj-red)!important}
.btn.wa,#locate,.expert{background:var(--jsj-green)!important;color:white!important}
.read-link{display:inline!important;background:none!important;color:#a90018!important;padding:0!important;border:0!important;font-weight:600}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #135cd8!important;outline-offset:4px!important}
button,input,select,summary{scroll-margin-top:170px}button{cursor:pointer}button:disabled{cursor:not-allowed}.intent-copy small{color:#555!important}.smallnote,.meta{color:#625b58}
.finder .smallnote,.inv .smallnote{color:#fff}.skip-link{position:fixed;left:16px;top:-80px;z-index:99999;background:white;color:#a90018;padding:12px 18px;border:2px solid #a90018;border-radius:8px}.skip-link:focus{top:12px}
.analytics-controls{font-size:12px;color:#555;padding:16px 24px;max-width:1100px;margin:auto}.analytics-controls button{border:1px solid #aaa;background:white;color:#333;border-radius:8px;padding:10px 12px;margin-left:8px}.analytics-controls button[aria-pressed=true]{border-color:#087e36;color:#087e36}
@media(max-width:600px){:root{--jsj-section:40px}.support-detail{padding:22px}.insurancehero{margin:28px 0!important}#view-inv>.visualrail,#inverter-brands{margin-top:32px!important;margin-bottom:32px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.strip{background:#087e36!important}.card,.cc,.support-points article{padding:24px!important;border-width:1px!important;border-style:solid!important}.card .ico,.card .icon{margin-bottom:12px}
@media(max-width:600px){.card,.cc,.support-points article{padding:20px!important}}

/* Round13: finder contrast and clearer intent options. */
#finder #find{background:#fff!important;color:#a90018!important;border:2px solid #fff!important;box-shadow:0 3px 0 #820016;min-height:48px;font-weight:800}
#finder #find[hidden],#search-again[hidden]{display:none!important}.search-again{background:#fff;color:#a90018;border:2px solid white;border-radius:12px;padding:12px 18px;font-weight:700;margin-bottom:18px;min-height:48px}
.intent-grid button{border:1.5px solid #bc9b91!important;border-radius:18px!important;padding:17px!important;display:flex!important;flex-direction:column;align-items:flex-start;gap:10px;position:relative}
.intent-grid .intent-icon{margin:0}.intent-grid .intent-copy{font-weight:750;line-height:1.35;font-size:16px}
.intent-time{display:flex;flex-direction:column;gap:3px;margin-top:auto}.intent-time b{display:inline-block;align-self:flex-start;border:1px solid #c7a498;border-radius:99px;padding:4px 10px;color:#70241c;background:transparent;font-size:12px}.intent-time small{font-size:11px;color:#62524d}

/* Keep the book close to the reviews and FAQs. */
.wrap>section.book{margin-top:24px!important;margin-bottom:24px!important;gap:14px}.book h2{margin:0!important}.book img{display:block;height:auto!important;aspect-ratio:380/550;object-fit:contain}.book+*{margin-top:24px!important}#car-faq>section{margin-top:24px!important}

.book-link{display:grid;gap:14px;align-items:center;color:inherit;text-decoration:none}.book-link:hover h2{text-decoration:underline}.book-link img{height:auto!important}@media(min-width:760px){.book-link{grid-template-columns:1fr 1fr}.book{display:block!important}}

/* QA: fluid cards and usable hit areas, preserving approved colours. */
.claimstep{min-width:0}.claimpath{min-width:0}
.inv .ctr button{width:44px;height:44px;min-width:44px;min-height:44px}.inv .ctr{gap:6px}
.inv input[data-w]{min-height:44px;min-width:60px;font-size:14px;box-sizing:border-box}
footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;box-sizing:border-box}footer .foot-links{gap:8px}
a.read-link{display:inline-flex!important;align-items:center;min-height:44px;padding:0 4px!important}
a[href*="reviews"],a[href*="g.page"]{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){.claimpath{grid-template-columns:repeat(2,minmax(0,1fr))!important}.claimstep{width:100%;min-height:172px!important;aspect-ratio:auto;align-self:stretch}.inv .row{gap:8px;align-items:center}.inv .appliance-name{min-width:0;flex:1}.inv .appliance-name>div{min-width:0}.inv .row small{line-height:1.5}.inv .appliance-pic{width:24px;height:24px;margin-right:5px}.inv .ctr{gap:4px}.inv .ctr b{min-width:12px}}

.review-source,.reviews>a,a[href*="maps.app.goo.gl"],a[href*="google.com/maps"],header nav a{display:inline-flex;align-items:center;min-height:44px}header nav{display:flex;flex-wrap:wrap;gap:8px}

.inv .consent a{display:inline-flex;align-items:center;min-height:44px;background:transparent;color:#fff;padding:0 4px;margin:0;text-decoration:underline;border-radius:0;font-weight:600}
.article>a:first-child,.review-source a{display:inline-flex;align-items:center;min-height:44px}

/* Desktop layout, Option B: two-column desktop. Applies at >=1024px only; mobile is unchanged. */
@media (min-width:1024px){
#view-car,#view-inv{display:grid;grid-template-columns:1.15fr 1fr;column-gap:44px;align-items:center}
#view-car>.hero,#view-inv>.hero{grid-column:1;grid-row:1}
#view-car>.car-image-space,#view-inv>.car-image-space{grid-column:2;grid-row:1;margin:0}
#view-car>.scroll-finder,#view-car>.finder,#view-car>section:not(.car-image-space),#view-inv>.scroll-finder,#view-inv>.finder,#view-inv>section:not(.car-image-space){grid-column:1/-1}
.finder{max-width:none}
.inv{max-width:none}
.hero-proof{max-width:none}
.insurancehero{display:grid;grid-template-columns:1.05fr 1fr;column-gap:44px;align-items:center}
.insurancehero>.claim-badge,.insurancehero>.h1,.insurancehero>.btn,.insurancehero>.smallnote{grid-column:1}
.insurancehero>.claim-badge,.insurancehero>.btn{justify-self:start}
.insurancehero>.journey-image{grid-column:2;grid-row:1/span 4;width:100%;max-width:none;height:auto;margin:0}
.insurancehero>.claimpath{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;max-width:none!important;margin:24px 0!important}
main:has(.article){max-width:840px}
}

/* User fixes 21 Oct (desktop only): claim-step cards fit content height (drop forced square); inverter brand logos in one line; review quote cards fit content instead of stretching to the tallest in the row. */
@media (min-width:1024px){
.claimstep{aspect-ratio:auto!important}
#inverter-brands{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:30px!important;max-width:none!important}
#inverter-brands .brand-group{display:contents!important}
#inverter-brands img{grid-column:auto!important;width:110px!important;max-width:110px!important;height:52px!important;margin:0!important}
.q{align-self:flex-start;min-height:0}
}

/* User fix 21 Oct (desktop only): tighten vertical space around the inverter brand logo strip. */
@media (min-width:1024px){
#inverter-brands{margin:8px 0!important}
section:has(> #inverter-brands){margin:16px 0!important}
section:has(> #inverter-brands) + section{margin-top:24px!important}
}

/* User fix 21 Oct (desktop only): inverter brand logos ~15% larger, still one line. */
@media (min-width:1024px){
#inverter-brands img{width:126px!important;max-width:126px!important;height:60px!important;max-height:60px!important}
}

/* Footer: vertical list of all pages */
.foot nav.pages{flex-direction:column;gap:8px;align-items:center}
