/* Local catalogue design trial: Lithos navy, amber and approved product media. */
:root{--orange:#ffb344;--catalog-ink:#081240;--catalog-muted:#54627b;--catalog-paper:#f3f5f7;--catalog-border:#d8dee8;--press-ease:cubic-bezier(.23,1,.32,1)}
.framework .shell{width:calc(100% - 2 * clamp(20px,4vw,72px));max-width:1360px}
.framework .utility-strip{background:#f3f5f7;color:var(--catalog-muted);font-size:12px;border-bottom:1px solid var(--catalog-border)}
.utility-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.utility-inner p{font-size:12px}.utility-contact{display:flex;gap:24px}.utility-contact a{display:flex;align-items:center;gap:8px;text-decoration:none;min-height:38px;font-weight:650}.utility-contact svg{width:15px;height:15px}
.framework .header-inner{min-height:88px;gap:24px}.framework .brand img{width:190px}.framework #site-nav{gap:22px}.framework #site-nav a{font-size:13px;font-weight:650;padding-block:14px}
.framework .header-quote{border:0;background:var(--orange);color:var(--navy);border-radius:7px;min-height:46px;padding:12px 18px;font-size:13px;font-weight:800;white-space:nowrap;text-decoration:none}
.framework .button{min-height:50px;padding:13px 20px;border-radius:7px;gap:16px;box-shadow:0 2px 0 #08124012;transition:transform 140ms var(--press-ease),background-color 140ms ease,border-color 140ms ease}
.framework .button svg{width:19px;height:19px}.framework .text-link{font-weight:750;gap:10px}.framework .text-link svg{width:19px;height:19px}
.framework :is(.button,.header-quote,.icon-button):active:not(:disabled){transform:scale(.975)}
.framework :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2464c7;outline-offset:4px}
.framework :is(input,select,textarea){border:1px solid #bdc7d5;border-radius:6px;background:#fff;min-height:48px;padding:11px 13px;font-size:15px;box-shadow:none}
.framework :is(input,select,textarea):focus{border-color:#2464c7}.framework .field label{font-size:13px;font-weight:700;line-height:1.4;display:block;margin-bottom:8px}
.framework .home-stage{background:var(--catalog-paper);border-bottom:1px solid var(--catalog-border);overflow:hidden}
.framework .home-hero{grid-template-columns:1.15fr .85fr .85fr;gap:24px;min-height:520px;align-items:center;padding-block:60px}
.framework .hero-copy h1{font-size:clamp(40px,4.3vw,64px);max-width:10ch;line-height:1.045;letter-spacing:-.055em;margin-bottom:22px}
.framework .hero-copy>p:not(.eyebrow){font-size:16px;max-width:38ch;line-height:1.7}.framework .hero-copy .eyebrow{color:#795019;letter-spacing:.12em;margin-bottom:18px}
.framework .hero-actions{gap:12px;margin-top:26px}.framework .hero-actions>.text-link{background:transparent;border:0;padding:0;font-size:14px;min-height:48px;text-decoration:underline}
.framework .home-hero .hero-media{margin:0;min-width:0;position:relative;border:0;box-shadow:none;background:none;padding:0}
.framework .home-hero .hero-media img{height:auto;width:100%;object-fit:contain;transform:scale(1.25);mix-blend-mode:multiply}
.framework .home-hero .hero-media figcaption{font-size:12px;line-height:1.6;text-align:left;margin-top:16px;color:var(--catalog-muted);border-top:1px solid #08124026;padding-top:14px}
.battery-finder{background:#081240;color:#fff;padding:27px;border-radius:10px;box-shadow:0 12px 30px #08124012;position:relative}
.battery-finder .finder-index{font-size:11px;letter-spacing:.12em;color:#c3cce0;text-transform:uppercase;margin-bottom:12px;font-weight:700}
.battery-finder h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin-bottom:10px}.battery-finder>p{font-size:13px;color:#c3cce0;line-height:1.6;margin:0 0 22px}
.battery-finder .field{margin-block:15px}.battery-finder select{width:100%;color:var(--navy)}.battery-finder .button{width:100%;justify-content:space-between;margin-top:7px}.battery-finder .finder-help{border-top:1px solid #ffffff26;padding-top:16px;margin:18px 0 0;font-size:12px;line-height:1.7}.finder-help a{color:#fff;font-weight:700}.finder-help a:focus-visible{outline-color:#ffb344}
.framework .application-section{padding-block:58px 50px}.framework .application-section .section-heading{margin-bottom:26px;align-items:flex-end}.framework .section-heading h2{font-size:clamp(27px,2.8vw,39px);line-height:1.15;letter-spacing:-.04em}.framework .section-heading p:not(.eyebrow){font-size:15px;color:var(--catalog-muted)}
.framework .primary-applications{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;border-top:1px solid var(--catalog-border);border-bottom:1px solid var(--catalog-border)}
.framework .application-card{position:relative;display:flex;flex-direction:column;gap:10px;border:0;border-radius:0;padding:26px;background:white;min-width:0;text-decoration:none;transition:background-color 150ms ease}.framework .application-card+.application-card{border-left:1px solid var(--catalog-border)}
.application-symbol{width:44px;height:44px;color:var(--navy);margin-bottom:8px;stroke-width:1.4}.framework .application-card-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#755018;font-weight:750;line-height:1.5}.framework .application-card-title{font-size:22px;letter-spacing:-.03em;display:flex;align-items:center;justify-content:space-between;font-weight:750;gap:15px;line-height:1.2}.framework .application-card-title svg{width:22px;height:22px}.framework .application-card-copy{font-size:14px;line-height:1.65;color:var(--catalog-muted);max-width:32ch}
.framework .product-section{padding-block:14px 68px}.framework .product-section .section-heading{margin-bottom:26px}.framework .product-grid{gap:22px}.framework .product-card{border:1px solid var(--catalog-border);border-radius:8px;background:#fff;display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0;box-shadow:none}
.framework .product-image-link{background:#f4f6f8;border:0;padding:12px;overflow:hidden}.framework .product-image-link img{height:238px;object-fit:contain;mix-blend-mode:multiply;transform:scale(1.06);transition:transform 180ms var(--press-ease)}
.framework .product-card-copy{padding:23px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.framework .product-card h2,.framework .product-card h3{font-size:21px;line-height:1.35;margin-bottom:8px;letter-spacing:-.025em}.framework .product-card h2 a,.framework .product-card h3 a{text-decoration:none}.framework .product-card-copy>p{font-size:13px;color:var(--catalog-muted)}.framework .product-card .card-facts{margin-block:18px;align-self:stretch}.framework .card-facts>div{border-top:1px solid #e8ecf1;padding-block:9px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.framework .card-facts dt{font-size:11px;color:var(--catalog-muted)}.framework .card-facts dd{font-size:12px;font-weight:650;text-align:right;margin:0}.framework .product-card .text-link{font-size:13px;margin-top:auto;align-self:stretch;justify-content:space-between;border-top:1px solid var(--catalog-border);padding-top:12px}
.framework .golf-fit-help{background:#081240;color:white;padding-block:50px;border:0}.framework .golf-fit-inner{gap:80px;grid-template-columns:1.1fr 1fr}.framework .golf-fit-help .eyebrow{color:var(--orange)}.framework .golf-fit-help h2{font-size:36px;max-width:19ch}.framework .golf-fit-help p{font-size:15px;color:#c8d0e2;max-width:50ch}.framework .golf-fit-help .text-link{color:var(--orange);margin-top:12px}.framework .golf-fit-points{list-style:none;counter-reset:fit;padding:0;margin:0}.framework .golf-fit-points li{counter-increment:fit;display:flex;gap:18px;align-items:center;border-bottom:1px solid #ffffff26;padding:18px 0;font-size:14px;color:#e1e6f0}.golf-fit-points li:before{content:'0' counter(fit);font-size:11px;color:var(--orange);font-weight:750;letter-spacing:.05em}
.framework .buying-paths{padding-block:60px;gap:32px}.framework .buying-paths>div{border:0;border-top:2px solid var(--catalog-ink);padding:25px 0 0}.framework .buying-paths h2{font-size:24px;line-height:1.25;margin-bottom:14px}.framework .buying-paths p{font-size:14px;color:var(--catalog-muted)}.framework .buying-paths .text-link{font-size:13px;margin-top:18px}.framework .buying-paths .eyebrow{font-size:10px;margin-bottom:12px}
.framework .quote-journey{padding-block:48px;background:#f3f5f7;border-block:1px solid var(--catalog-border)}.framework .journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.framework .journey-steps li{padding:0;border:0}.framework .journey-steps li>span{color:#795019;font-size:12px}.framework .journey-steps strong{font-size:18px}.framework .journey-steps p{font-size:14px;line-height:1.7}.framework .quote-journey h2{font-size:31px;max-width:28ch}
.framework .catalog-tools{border:1px solid var(--catalog-border);border-radius:8px;padding:22px;background:var(--catalog-paper);margin-bottom:14px;gap:20px;align-items:flex-end}.framework .result-count{font-size:12px;color:var(--catalog-muted);margin-bottom:22px}.framework .empty-results{padding:38px;background:var(--catalog-paper);border:1px solid var(--catalog-border);border-radius:8px}.framework .site-footer{padding-block:44px}.framework .footer-grid{gap:36px}.framework .site-footer h2{font-size:13px;color:#fff}.framework .site-footer a{font-size:12px;line-height:1.6}
@media(hover:hover) and (pointer:fine){.framework .application-card:hover{background:#f3f5f7}.framework .product-image-link:hover img{transform:scale(1.1)}.framework .header-quote:hover,.framework .button:hover{background:#ffc56e}.framework .text-link:hover svg{transform:translateX(3px)}}
@media(min-width:1101px) and (max-width:1300px){.framework #site-nav{gap:14px}.framework #site-nav a{font-size:11px}.framework .header-inner{gap:18px}.framework .brand img{width:168px}.framework .home-hero{gap:22px;grid-template-columns:1.1fr .75fr .9fr}.battery-finder{padding:22px}}
@media(max-width:1100px){.framework .header-inner{min-height:76px}.framework #site-nav{background:var(--navy);position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 18px #08124026;border-top:1px solid #ffffff26;padding:16px 5vw;gap:0}.framework #site-nav a{min-height:48px;padding-block:12px;font-size:15px}.framework .home-hero{grid-template-columns:1.2fr 1fr;gap:30px;padding-block:44px}.framework .home-hero .hero-media{grid-row:1;grid-column:2}.battery-finder{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:end;gap:0 24px}.battery-finder .finder-index,.battery-finder h2,.battery-finder>p{grid-column:1}.battery-finder h2{max-width:18ch}.battery-finder>p{margin-bottom:0}.battery-finder form{grid-column:2/-1;grid-row:1/5;display:grid;grid-template-columns:1fr 1fr;gap:14px}.battery-finder form .field{margin:0}.battery-finder .button{grid-column:1/-1;margin:0}.battery-finder .finder-help{grid-column:1;margin-top:16px;padding-top:12px}.framework .product-image-link img{height:200px}.framework .product-card-copy{padding:19px}.framework .product-card h3{font-size:19px}}
@media(max-width:700px){.utility-inner{min-height:34px;justify-content:center}.utility-inner>p{display:none}.utility-contact{gap:25px}.utility-contact a{min-height:34px;font-size:11px}.framework .header-inner{gap:12px;min-height:72px}.framework .brand img{width:148px}.framework .header-quote{font-size:11px;min-height:42px;padding:10px 12px}.framework .header-tools{gap:8px}.framework .icon-button{width:40px;height:44px}.framework .home-hero{grid-template-columns:1fr;padding-block:36px;gap:20px}.framework .hero-copy h1{font-size:46px;max-width:11ch}.framework .hero-copy>p:not(.eyebrow){font-size:15px;max-width:45ch}.framework .home-hero .hero-media{grid-row:auto;grid-column:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px}.framework .home-hero .hero-media img{height:190px;width:100%;transform:scale(1.16)}.framework .home-hero .hero-media figcaption{font-size:11px;margin:0;padding-top:12px}.battery-finder{display:block;padding:24px}.battery-finder h2{font-size:25px;max-width:none}.battery-finder>p{margin-bottom:18px}.battery-finder form{display:block}.battery-finder form .field{margin-block:14px}.battery-finder .button{margin-top:6px}.battery-finder .finder-help{margin-top:18px}.framework .application-section{padding-block:40px 32px}.framework .primary-applications{grid-template-columns:1fr}.framework .application-card{display:grid;grid-template-columns:40px 1fr;padding:22px 0;gap:7px 17px}.framework .application-card+.application-card{border-left:0;border-top:1px solid var(--catalog-border)}.application-symbol{grid-row:1/4;width:34px;height:34px;margin-top:5px}.framework .application-card-title{font-size:21px}.framework .application-card-copy{max-width:none;font-size:13px}.framework .application-card-kicker{font-size:9px}.framework .product-section{padding-block:8px 40px}.framework .section-heading{align-items:flex-start;gap:16px}.framework .section-heading h2{font-size:29px}.framework .product-grid{grid-template-columns:1fr;gap:18px}.framework .product-card{display:grid;grid-template-columns:.85fr 1.15fr;align-items:stretch}.framework .product-image-link{display:flex;align-items:center;padding:5px}.framework .product-image-link img{height:200px;transform:scale(1.1)}.framework .product-card-copy{padding:18px 16px}.framework .product-card h2,.framework .product-card h3{font-size:17px;margin-bottom:7px}.framework .product-card-copy>p{font-size:11px}.framework .product-card .card-facts{margin-block:12px}.framework .card-facts>div{display:block;padding-block:5px}.framework .card-facts dd{font-size:10px;text-align:left;margin-top:3px}.framework .card-facts dt{font-size:10px}.framework .product-card .text-link{font-size:12px;padding-top:9px}.framework .golf-fit-help{padding-block:38px}.framework .golf-fit-inner{grid-template-columns:1fr;gap:20px}.framework .golf-fit-help h2{font-size:30px}.framework .golf-fit-help p{font-size:14px}.framework .golf-fit-points li{font-size:13px;padding-block:15px}.framework .buying-paths{grid-template-columns:1fr;padding-block:38px;gap:28px}.framework .buying-paths>div{padding-top:18px}.framework .journey-steps{grid-template-columns:1fr;gap:22px}.framework .quote-journey{padding-block:38px}.framework .quote-journey h2{font-size:28px}.framework .catalog-tools{padding:18px;grid-template-columns:1fr;gap:16px}.framework .site-footer{padding-block:32px}.framework .footer-grid{gap:26px}.framework .footer-grid .brand img{width:150px}}
@media(max-width:380px){.framework .brand img{width:124px}.framework .header-quote{padding-inline:9px;font-size:10px}.framework .header-tools{gap:4px}.framework .header-inner{gap:8px}.framework .hero-copy h1{font-size:40px}.framework .hero-actions{align-items:flex-start;gap:8px}.framework .hero-actions .button{padding-inline:14px;font-size:13px}.framework .hero-actions>.text-link{font-size:12px}.framework .product-card{grid-template-columns:1fr}.framework .product-image-link img{height:210px;width:100%}.framework .card-facts>div{display:flex}.framework .card-facts dd{margin-top:0;text-align:right}}
@media(prefers-reduced-motion:reduce){.framework *, .framework *:before,.framework *:after{transition:none!important;animation:none!important}.framework :is(.button,.header-quote,.icon-button):active{transform:none!important}html{scroll-behavior:auto}}
html[data-input-mode="keyboard"] .framework *,html[data-input-mode="keyboard"] .framework *:before,html[data-input-mode="keyboard"] .framework *:after{transition:none!important}
/* Reset the earlier narrow-screen card grid before applying this composition. */
@media(max-width:700px){
 .framework .catalog-tools.golf-tools,.framework .catalog-tools:not(:has(#application-filter)){grid-template-columns:minmax(0,1fr);padding:18px;gap:16px}
 .framework .framework-products .product-card,.framework .catalog-section .framework-products .product-card{grid-template-areas:none;grid-template-rows:auto;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch}
 .framework .framework-products .product-card-copy,.framework .catalog-section .framework-products .product-card-copy{display:flex;flex-direction:column;padding:18px 16px;grid-area:auto}
 .framework .framework-products .product-image-link{grid-area:auto;height:100%;min-height:190px}
 .framework .framework-products .product-card .product-image-link img,.framework .catalog-section .framework-products .product-card .product-image-link img{height:200px;transform:scale(1.1)}
 .framework .framework-products .product-card[data-product-card="cs-plus-48-134"] .product-image-link img,.framework .framework-products .product-card .product-image-link img[data-media-kind="dimensions"]{transform:none}
 .framework .framework-products .card-facts{padding:0;margin:12px 0}
 .framework .framework-products .product-card h2,.framework .framework-products .product-card h3{font-size:17px;margin:0 0 7px}
 .framework .framework-products .product-card-copy>p:not(.product-maker){margin:0;font-size:11px}
 .framework .framework-products .product-card-copy>.text-link{margin:0;padding:9px 0 0;font-size:12px}
 .framework .quote-journey .section-heading{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
}
@media(max-width:380px){
 .framework .header-quote:after{content:none}
 .framework .hero-actions{flex-wrap:wrap}
 .framework .hero-actions>.button{font-size:13px;gap:10px;padding-inline:14px;white-space:nowrap}
 .framework .hero-actions>.text-link{font-size:12px;white-space:nowrap;gap:8px}
 .framework .framework-products .product-card,.framework .catalog-section .framework-products .product-card{grid-template-columns:minmax(0,1fr)}
 .framework .framework-products .product-card .product-image-link img,.framework .catalog-section .framework-products .product-card .product-image-link img{height:210px}
}
@media(max-width:700px){.framework .header-quote{min-height:44px}.framework .home-hero{display:grid}.framework .home-stage{background:#fff}.framework .home-hero .hero-media img{mix-blend-mode:normal}.framework .framework-products .product-image-link img{mix-blend-mode:normal}.framework .home-hero .hero-actions>.button,.framework .home-hero .hero-actions>.text-link{flex:none}}

/* Compare selection on catalogue cards. Additive; each card keeps its existing layout. */
.framework .card-compare{width:100%;margin:0 0 12px}
.framework .card-compare label{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:650;color:var(--navy);cursor:pointer}
.framework .card-compare input{flex:none;width:20px;height:20px;min-height:20px;margin:0;padding:0;border:0;border-radius:3px;accent-color:#0a123d}
.framework .card-compare input:focus-visible{outline:3px solid #2464c7;outline-offset:3px}
.framework .card-compare:has(input:checked) label{color:#8a5a06}
@media(max-width:700px){.framework .card-compare{margin:10px 0 0}}


/* Catalogue card rhythm: keep natural text heights and all existing content. */
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card]>.product-image-link{height:180px;min-height:0;padding:8px;display:flex;align-items:center;justify-content:center}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card]>.product-image-link>img{width:100%;height:100%;object-fit:contain;transform:none}


.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy{padding:15px 16px 16px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.product-maker{margin:0 0 4px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>:is(h2,h3){min-height:0;margin:0 0 6px;overflow-wrap:break-word}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>p:not(.product-maker){min-height:0;margin:0 0 8px}


.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts{margin:0 0 10px;padding-top:0;border-top:0}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts>div{padding-block:5px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts dd{overflow-wrap:anywhere}


.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-compare{margin:0 0 6px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-compare label{min-height:44px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.text-link{margin-top:0;padding-top:10px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.text-link.action-pill{min-height:44px;padding:10px 16px}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.text-link+.text-link{margin-top:6px}


@media(max-width:700px){
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card]{display:flex;flex-direction:column;grid-template-columns:none}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card]>.product-image-link{height:196px;padding:10px}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy{padding:16px}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts>div{padding-block:7px}
}

@media(max-width:560px){
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts>div{display:block}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts dt{margin-bottom:3px}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts dd{text-align:left;max-width:none;margin:0}
}


.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.battery-offer{margin:4px 0 8px;padding:0;border:0;align-self:stretch}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy>.card-compare{margin-top:0}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy:not(:has(.card-compare:not([hidden])))>.text-link:first-of-type{margin-top:0}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy::before{content:none}

/* Existing buying guides: clear entry links and a compact package comparison. */
.framework p.shell.guide-entry{margin-block:0 12px;padding-block:4px 12px}
.framework .guide-entry>.text-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding-block:8px;line-height:1.5;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.framework .shell.text-page.buying-guide{padding-top:40px;scroll-margin-top:24px}
.framework .shell.text-page.buying-guide>h2:first-child{margin-top:0}
.framework .buying-guide .guide-package-comparison{width:100%;table-layout:fixed;border-collapse:collapse;margin:24px 0 12px;font:inherit;color:inherit;text-align:left}
.framework .buying-guide .guide-package-comparison caption{text-align:left;font-weight:700;padding-bottom:12px}
.framework .buying-guide .guide-package-comparison :is(th,td){padding:12px 0;border-bottom:1px solid var(--catalog-border);vertical-align:top;text-align:left;overflow-wrap:anywhere;font-size:inherit;line-height:inherit}
.framework .buying-guide .guide-package-comparison thead th{color:var(--catalog-muted);font-weight:600}
.framework .buying-guide .guide-package-comparison :is(th,td):last-child{width:28%;text-align:right;padding-left:16px}
.framework .buying-guide .guide-package-comparison tbody th{font-weight:600}
.framework .buying-guide .guide-package-comparison a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.2em}
.framework .buying-guide .guide-package-note{font-size:inherit;line-height:inherit;margin-bottom:24px}
@media(max-width:700px){
 .framework .shell.text-page.buying-guide{padding-top:28px}
 .framework .buying-guide .guide-package-comparison{display:block;table-layout:auto}
 .framework .buying-guide .guide-package-comparison caption{display:block}
 .framework .buying-guide .guide-package-comparison thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 .framework .buying-guide .guide-package-comparison tbody{display:block}
 .framework .buying-guide .guide-package-comparison tbody tr{display:block;padding:12px 0;border-bottom:1px solid var(--catalog-border)}
 .framework .buying-guide .guide-package-comparison tbody :is(th,td),.framework .buying-guide .guide-package-comparison tbody :is(th,td):last-child{display:block;width:auto;padding:0;border:0;text-align:left}
 .framework .buying-guide .guide-package-comparison tbody td{font-weight:700}
}

/* Cards follow their own content height; related facts/actions stay together. */
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card]{align-self:start;height:auto;min-height:0}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .product-card-copy{flex:0 1 auto}

/* Catalogue and package-table visual review: preserve content and natural heights. */
.framework .buying-guide .guide-package-comparison tbody :is(th,td){vertical-align:middle}
.framework .buying-guide .guide-package-comparison .guide-package-price{font-weight:700}
.framework .buying-guide .guide-package-comparison .guide-package-price-label{display:none}
.framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .battery-offer .offer-current{flex-direction:column;align-items:flex-start;gap:2px}
.framework #catalogue.catalog-section>.catalog-filter-panel>.catalog-tools{border:0;border-radius:inherit;box-shadow:none;margin:0;padding:16px}
.framework #catalogue.catalog-section>.catalog-filter-panel>.catalog-tools .text-button{width:100%;justify-content:flex-start;text-align:left;padding-inline:0;border:0;min-height:44px}
@media(min-width:901px){
 .framework .catalog-section:has(>.catalog-filter-panel){grid-template-columns:240px minmax(0,1fr)}
}
@media(max-width:560px){
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts>div{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;align-items:baseline}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts dt{margin:0}
 .framework .catalog-section .product-grid.framework-products .product-card[data-product-card] .card-facts dd{min-width:0;text-align:right;overflow-wrap:anywhere}
}
@media(max-width:700px){
 .framework .buying-guide .guide-package-comparison caption{padding-bottom:4px}
 .framework .buying-guide .guide-package-comparison tbody tr{padding-block:8px}
 .framework .buying-guide .guide-package-comparison .guide-package-price-label{display:inline;margin-right:8px;font-weight:500}
}

/* Bounded presentation corrections.
   Batch A / Batch B presentation fragment. Additive only: no business copy,
   prices, stock, quantities, images, hrefs, form attributes or script logic is
   declared here. Selectors are limited to the components named in the brief and
   never use a bare table/element reset or !important. */

/* F01 - Policy pages: the heading block sits directly above the reading rail.
   Scoped with an adjacent .shell.text-page so buying guides and other
   .text-page sections are untouched. */
.framework .shell.page-heading:has(+ .shell.text-page){
  max-width:min(900px,75ch);
  margin-inline:auto;
  margin-bottom:0;
  padding-bottom:24px;
}
.framework .shell.page-heading+.shell.text-page{
  margin-top:0;
  padding-top:24px;
}
.framework .shell.page-heading+.shell.text-page>h2:first-child{margin-top:0}
@media(max-width:700px){
  /* Same 24px + 24px rhythm on narrow screens, body kept at 15px/24px. */
  .framework .shell.page-heading:has(+ .shell.text-page){padding-bottom:24px}
  .framework .shell.page-heading+.shell.text-page{padding-top:24px;font-size:15px;line-height:24px}
}

/* F02 - Home product cards keep their own natural height. The copy block does
   not grow, and the direct card action sits in normal flow instead of being
   pushed to the bottom of a stretched card. */
.framework .product-section>.product-grid>.product-card{align-self:start}
.framework .product-section>.product-grid>.product-card>.product-card-copy{flex:0 1 auto}
.framework .product-section>.product-grid>.product-card>.product-card-copy>.text-link{margin-top:12px}

/* F05 - Accessory note under the gallery thumbnails. Left inset stays inside
   the existing .product-photo padding; no negative offsets. */
.framework .product-hero>.product-photo .gallery-accessory-note{
  margin:16px 0 0;
  font-size:14px;
  line-height:1.6;
  max-width:none;
  text-align:left;
}

/* F07 - Starting application heading: actions stack under the heading with a
   readable label and a trailing arrow. Safety copy below is not touched. */
@media(max-width:700px){
  .framework .shell.application-heading:has(a[href*="application=starting"]) .hero-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:20px;
  }
  .framework .shell.application-heading:has(a[href*="application=starting"]) .hero-actions>.button,
  .framework .shell.application-heading:has(a[href*="application=starting"]) .hero-actions>.text-link{
    width:100%;
    margin:0;
    justify-content:center;
    min-height:48px;
    text-align:left;
  }
  .framework main:has(.application-heading a[href*="application=starting"]) .shell.divided-support>h2{font-size:26px;line-height:1.2}
}

/* F08 - Register button block spacing inside the policy rail, and an
   unbreakable telephone link. */
.framework .shell.text-page>a.button,
.framework .shell.text-page>p:has(>a.button){margin-bottom:16px}
.framework .shell.text-page a[href^="tel:"]{white-space:nowrap}

/* F09 - Native cart rows fit the 20px gutter without reducing type size.
   Fixed layout plus zero horizontal cell padding removes the intrinsic
   overhang; only this cart table is addressed. */
@media(max-width:700px){
  #main .lithos-cart-page .wc-block-cart-items{
    width:100%;
    max-width:100%;
    table-layout:fixed;
    border-collapse:collapse;
  }
  #main .lithos-cart-page .wc-block-cart-items :is(th,td){
    min-width:0;
    padding-left:0;
    padding-right:0;
    overflow-wrap:anywhere;
  }
  #main .lithos-cart-page .wc-block-cart-items__header-image,
  #main .lithos-cart-page .wc-block-cart-item__image{width:72px;padding-right:8px}
  #main .lithos-cart-page .wc-block-cart-item__image img{width:64px;height:auto;max-width:100%}
  #main .lithos-cart-page .wc-block-cart-items__header-total,
  #main .lithos-cart-page .wc-block-cart-item__total{width:92px;text-align:right}
  #main .lithos-cart-page .wc-block-cart-item__total,
  #main .lithos-cart-page .wc-block-cart-item__total .price{white-space:normal}
  #main .lithos-cart-page .wc-block-cart-items__row{
    width:100%;grid-template-columns:72px minmax(0,1fr) 92px;column-gap:12px;
  }
  #main .lithos-cart-page .wc-block-cart-item__total{width:auto;margin:0}
}
@media(max-width:360px){
  #main .lithos-cart-page .wc-block-cart-items__row{grid-template-columns:72px minmax(0,1fr);row-gap:12px}
  #main .lithos-cart-page .wc-block-cart-item__image{grid-column:1;grid-row:1 / span 2}
  #main .lithos-cart-page .wc-block-cart-item__product{grid-column:2;grid-row:1}
  #main .lithos-cart-page .wc-block-cart-item__total{grid-column:2;grid-row:2;width:auto}
}

/* F03 - Product jump links share one type scale and a common hit height.
   The narrow layout uses a baseline two-column grid. */
.framework .product-jumps a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  min-height:44px;
}
@media(max-width:700px){
  .framework .product-jumps{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:baseline;
    gap:2px 16px;
  }
  .framework .product-jumps a{min-height:44px}
}
@media(max-width:360px){
  .framework .product-jumps{grid-template-columns:minmax(0,1fr)}
}

/* F04 - Purchase decision area. The existing PayPal helper paragraph is moved
   by the presentation fragment to sit after the primary buy action; this only
   supplies its in-grid presentation. The wholesale quote path is a full-width
   secondary action; the bulk-quote list button stays deliberately tertiary. */
.framework .product-actions>.purchase-actions>.selection-hint{
  margin:0;
  grid-column:1/-1;
}
.framework .product-actions .purchase-paths .wholesale-purchase>a{
  width:100%;
  margin:0;
  font-size:14px;
  font-weight:600;
  justify-content:space-between;
  min-height:44px;
}
.framework .product-actions>.package-quantity{margin:14px 0 4px;font-size:13px;line-height:1.5}
.framework .product-actions>.package-return{margin:12px 0 0}

/* F06 - Specification rows. Only rows annotated by the presentation fragment
   stack; short numeric rows keep their two-column inline treatment. Long prose
   values and dimension values are left aligned across the full row width. */
@media(max-width:700px){
.framework .product-specification .spec-table>div.spec-row-long,
.framework .product-specification .spec-table>div.spec-row-dimension{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  row-gap:6px;
}
.framework .product-specification .spec-table>div.spec-row-long>dd,
.framework .product-specification .spec-table>div.spec-row-dimension>dd{
  max-width:100%;
  text-align:left;
}
.framework .product-specification .spec-table>div.spec-row-dimension>dd{text-wrap:balance}

}

/* Purchase delivery note only: readable mobile size. Other .offer-note
   instances outside the purchase area keep their existing scale. */
@media(max-width:700px){
  .framework .product-hero .product-actions .offer-note{font-size:14px;line-height:1.6}
}

/* F10 - Open menu backdrop. Pointer-catching and painted inside the existing
   header stacking context, so links, the toggle and the outside-click handler
   keep working while the page underneath is covered. */
@media(max-width:1440px){
  .framework .site-header:has(#menu-toggle[aria-expanded="true"]){isolation:isolate}
  .framework .site-header:has(#menu-toggle[aria-expanded="true"])>.menu-backdrop{
    position:fixed;
    inset:0;
    z-index:-1;
    background:#081240;
    pointer-events:auto;
  }
}

.framework .product-hero .product-actions .purchase-actions>.button{font-size:14px}
.framework .product-jumps a:hover{text-decoration:underline}

@media(max-width:1440px){
 body.lithos-menu-open,html:has(body.lithos-menu-open){overflow:hidden}
}

/* RV quantity label and stepper form one compact existing input group. */
.framework .product-hero .product-actions>.package-quantity{margin:8px 0 0}
.framework .product-hero .product-actions>.package-quantity+.product-quantity{margin-top:0}

/* Actual-image review: compact home identity/price groups without invented data. */
.framework .product-section>.product-grid>.product-card>.product-card-copy>h3,
.framework .product-section>.product-grid>.product-card>.product-card-copy>p{min-height:0;width:100%}
.framework .product-section>.product-grid>.product-card>.product-card-copy>p{margin-bottom:0}
.framework .product-section>.product-grid>.product-card .card-facts{border-top:0;padding-top:0;margin-top:16px}
.framework .product-section>.product-grid>.product-card .battery-offer{width:100%;margin-top:8px}
.framework .shell.application-guidance:has(+.shell.divided-support) .application-guide-grid{border-bottom:0}
.framework .product-hero .product-actions .purchase-paths .wholesale-purchase{margin:0;padding:0;width:100%}
.framework .product-hero .product-actions .purchase-paths .wholesale-purchase>a{margin:0;width:100%}
.framework .product-hero .product-actions>.quantity-label{position:static;clip:auto;width:auto;height:auto;overflow:visible;white-space:normal;margin:8px 0 0;font-size:13px;line-height:1.5}
.framework .product-hero .product-actions>.quantity-label+.product-quantity{margin-top:0}
@media(max-width:700px){
 .framework .shell.product-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}
 .framework .product-section>.product-grid>.product-card .card-facts>div.card-dimension-long{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
 .framework .product-section>.product-grid>.product-card .card-facts>div.card-dimension-long>dd{text-align:left;max-width:100%;text-wrap:balance}
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions>.button{width:100%;justify-content:center}
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions>.text-link{width:100%;justify-content:flex-start;min-height:44px;margin:0}
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions>.text-link svg{display:none}
 .framework .shell.application-heading:has(a[href*="application=rv"]){padding-bottom:0}
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry{padding-top:0;min-height:0}
 .framework main:has(.application-heading a[href*="application=rv"]) .shell.divided-support>h2{font-size:26px;line-height:1.2}
}
@media(max-width:360px){
 .framework .shell.product-jumps{grid-template-columns:minmax(0,1fr)}
 #main .lithos-cart-page .wc-block-cart-items__row{row-gap:0}
 #main .lithos-cart-page .wc-block-cart-item__product{padding-bottom:8px}
 #main .lithos-cart-page .wc-block-cart-item__total{padding-top:0;text-align:left;justify-self:start}
 #main .lithos-cart-page .wc-block-cart-item__total-price-and-sale-badge-wrapper{align-items:flex-start}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:10px;padding-block:12px;min-height:0}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-tools,
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-contact-actions{display:contents}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .brand{grid-column:1;grid-row:1}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-cart{grid-column:2;grid-row:1;width:44px}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) #menu-toggle{grid-column:3;grid-row:1;width:44px}
 .framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-quote{grid-column:1/-1;grid-row:2;width:100%;font-size:14px;min-height:44px;text-align:center;justify-content:center}
}

@media(max-width:1440px){.framework .site-header:has(#menu-toggle[aria-expanded="true"]){z-index:1001}}
@media(max-width:360px){.framework .site-header:has(#menu-toggle[aria-expanded="true"]) .header-quote .quote-short{font-size:14px;line-height:1.4}}

@media(max-width:430px){.framework .shell.product-jumps{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
.framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;line-height:1.5}
}

@media(max-width:700px){.framework .product-section>.product-grid>.product-card .card-facts>div.card-qualifier-short>dd{white-space:nowrap;max-width:none;flex-shrink:0}}

/* Final actual-image refinements: preserve complete typographic units and groups. */
.framework .product-section>.product-grid>.product-card h3 .kit-composition{white-space:nowrap}
.framework .product-hero .product-actions .purchase-paths .wholesale-purchase>a{justify-content:center;gap:10px;text-align:center}
.framework .product-hero .product-actions>.battery-package-options{margin-bottom:0}
.framework .product-hero .product-actions>.battery-package-options>p:last-child{margin-bottom:0}
@media(max-width:700px){
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions>.text-link,
 .framework .shell.application-heading:has(a[href*="application=starting"]) .hero-actions>.text-link,
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a{justify-content:center;gap:10px;font-size:14px;font-weight:700;text-align:center}
 .framework .shell.application-heading:has(a[href*="application=rv"]) .hero-actions>.text-link svg{display:block}
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a svg{width:16px;height:16px;flex:none}
 #main .lithos-cart-page .wc-block-components-quantity-selector__button{font-size:20px;font-weight:600}
 #main .lithos-cart-page .wc-block-components-quantity-selector__button:not(:disabled){opacity:1;color:#081240}
}

.framework .shell.product-jumps a{gap:10px}
.framework .shell.product-jumps a svg{width:19px;height:19px;flex:none}

.framework .product-section>.product-grid>.product-card .card-facts .per-battery-unit{white-space:nowrap}

/* RV guide navigation: keep the final word and decorative arrow together. */
@media(max-width:700px){
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a{display:block;padding:10px 0}
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a .application-link-tail{white-space:nowrap}
 .framework .shell.application-heading:has(a[href*="application=rv"])+.guide-entry a svg{display:inline-block;margin-left:6px;vertical-align:-3px}
}

/* Wrapped wholesale action retains its last two words beside the arrow. */
.framework .product-hero .product-actions .purchase-paths .wholesale-purchase>a{display:block}
.framework .product-hero .product-actions .purchase-paths .wholesale-link-tail{white-space:nowrap}
.framework .product-hero .product-actions .purchase-paths .wholesale-link-tail svg{display:inline-block;margin-left:10px;vertical-align:-3px}

/* Preserve the accepted two-row mobile header even with a classic scrollbar. */
@media(max-width:360px){
 .framework .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:10px;padding-block:12px;min-height:0}
 .framework .site-header .header-tools,.framework .site-header .header-contact-actions{display:contents}
 .framework .site-header .brand{grid-column:1;grid-row:1}
 .framework .site-header .header-cart{grid-column:2;grid-row:1;width:44px}
 .framework .site-header #menu-toggle{grid-column:3;grid-row:1;width:44px}
 .framework .site-header .header-quote{grid-column:1/-1;grid-row:2;width:100%;font-size:14px;min-height:44px;text-align:center;justify-content:center}
 .framework .site-header .header-quote .quote-short{font-size:14px;line-height:1.4}
}
