/* Shared storefront refinement. Keep the approved marine imagery and real product data. */
:root { --store-ink:#102d48; --store-muted:#566b7e; --store-line:#e1e8ef; --store-paper:#f5f8fb; }
body { color:var(--store-ink); -webkit-font-smoothing:antialiased; }
:where(button,input,select,textarea) { font-family:inherit; }
:where(a,button,summary) { -webkit-tap-highlight-color:transparent; }
.site-shell { width:min(1240px,calc(100% - 64px)); }
.site-header .site-shell { min-height:72px; padding-block:0; }
.site-header .brand { display:flex; flex:0 0 132px; align-items:center; width:132px; height:44px; overflow:hidden; }
.site-header .brand img { display:block; width:132px; height:44px; object-fit:cover; object-position:center; }
.site-header .site-nav { gap:30px; align-items:center; }
.site-header .site-nav a { color:#fff; font-size:14px; font-weight:500; }
.site-header .site-nav a:hover { color:#c9ddff; }
.site-header .site-nav :is(a,button):focus-visible { outline-color:#fff; }
.catalogue-mobile-menu { display:none; }
.home .precision-nav-inner { width:min(1240px,calc(100% - 64px)); grid-template-columns:180px 1fr 180px; }
.home .precision-brand { width:132px; }
.home .precision-nav nav a { font-weight:500; }
.home .precision-nav-actions .precision-contact { min-height:44px; display:inline-flex; align-items:center; padding:8px 18px; background:transparent; border:1px solid #ffffff70; color:#fff; border-radius:5px; }
.home .precision-nav-actions .precision-contact:hover { background:#fff; color:#062c60; }
.home .hero-primary-search button { border-radius:5px; background:#123b5d; }
.home .immersive-copy > span { border:0; padding-top:0; font-weight:600; letter-spacing:.11em; }
.home .immersive-copy > span::before { display:none; }
.home .hero-benefits { margin-top:28px; }
.home :is(.product-universe,.home-live-products,.precision-faq) { padding-block:56px; }
.home :is(.section-heading h2,.finder-experience-copy h2,.about-precision h2,.faq-intro h2,.precision-contact-panel h2),.home-catalogue-heading h2 { font-size:clamp(28px,2.7vw,38px); line-height:1.17; letter-spacing:-.03em; font-weight:600; }
.home .section-kicker { font-size:11px; letter-spacing:.1em; color:#385973; }
.home .section-heading > p { font-size:15px; line-height:1.75; }
.home .product-bento { gap:20px; }
.home .product-story { border-radius:8px; box-shadow:none; }
.home .product-story-copy { padding:20px; }
.home .product-story-copy h3 { font-size:21px; line-height:1.3; }
.home .product-story-copy > span { font-size:11px; }
.home .product-story-copy p { font-size:14px; line-height:1.7; }
.home .product-story-copy b { font-size:13px; }
.home .product-story:hover { transform:translateY(-2px); box-shadow:0 8px 24px #102d4808; }
.home .home-live-products { border-block:1px solid #e8eef4; background:#fff; }
.home-catalogue-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:28px; }
.home-catalogue-heading h2 { margin:8px 0 12px; color:var(--store-ink); }
.home-catalogue-heading p { margin:0; color:var(--store-muted); font-size:14px; }
.home-catalogue-heading .section-kicker { margin:0; }
.home-catalogue-heading .xspeed-all-products { flex-shrink:0; border-bottom:1px solid #a8bdce; min-height:40px; font-size:13px; }
.home .finder-experience-copy { background:transparent; border-radius:0; padding-left:0; }
.home .finder-device,.home .brand-finder { border-radius:8px; box-shadow:none; }
.home .finder-steps b { background:transparent; border:0; border-radius:0; width:24px; }
.home .catalog-link { background:transparent; color:#173c5e; border:1px solid #8ca7bf; border-radius:5px; font-weight:600; }
.home .catalog-link:hover { background:#173c5e; color:#fff; }
.home .about-precision-copy p { font-size:15px; line-height:1.8; }
.home .faq-list summary { min-height:64px; font-size:15px; line-height:1.6; }
.home .precision-contact-panel h2 { font-size:clamp(27px,2.4vw,34px); }
.home .precision-contact-actions > .contact-card { border-radius:8px; min-height:140px; box-shadow:none; padding:18px 10px; }
.home .contact-card-icon { width:34px; height:34px; flex-basis:34px; background:transparent; margin-bottom:2px; }
.home .precision-footer .precision-wrap { min-height:96px; padding-block:24px; }
/* Compact catalogue controls put actual products higher on the page. */
body.woocommerce .content-area { padding-top:24px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom:24px; }
body.woocommerce .xspeed-catalogue-heading { padding:8px 0 28px; gap:30px; }
body.woocommerce .xspeed-catalogue-heading h1 { font-size:clamp(28px,2.7vw,38px); line-height:1.18; margin-bottom:14px; font-weight:600; }
.xspeed-catalogue-heading .category-kicker { font-size:11px; letter-spacing:.1em; margin-bottom:10px; }
.xspeed-catalogue-heading p { font-size:14px; line-height:1.8; max-width:690px; }
.xspeed-category-nav { padding-bottom:20px; gap:8px; }
.xspeed-category-nav a { min-height:44px; padding:10px 14px; border-radius:5px; }
.xspeed-catalogue-controls { padding:20px 0 12px; }
.xspeed-product-search { min-height:48px; background:#fcfdfe; }
.xspeed-product-search input { font-size:14px; }
.xspeed-loop-toolbar { padding-bottom:20px; }
.xspeed-loop-toolbar select { min-height:44px; }
.woocommerce ul.products { gap:22px; }
.woocommerce ul.products li.product { border-color:var(--store-line); border-radius:7px; }
.woocommerce ul.products li.product:hover { transform:translateY(-2px); box-shadow:0 8px 20px #102d4808; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:15px; min-height:76px; font-weight:600; }
.xspeed-card-sku { font-size:11px; letter-spacing:.025em; }
.xspeed-card-reference { font-size:11px; line-height:1.6; }
.xspeed-card-configuration { align-self:flex-start; font-size:11px; padding:4px 7px; }
.woocommerce ul.products li.product > a.button { min-height:44px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:500; }
/* Detail pages remain in normal flow: never reintroduce the old sticky-summary overlap. */
body.single-product .content-area > div.product { column-gap:56px; }
.woocommerce div.product .product_title { font-weight:600; line-height:1.25; }
.xspeed-product-eyebrow { font-size:11px; letter-spacing:.09em; }
.xspeed-key-specs dt { font-size:11px; }
.xspeed-key-specs dd { font-size:14px; }
.woocommerce .xspeed-quote-actions a.button { font-size:14px; min-height:48px; border-radius:5px; font-weight:500; }
.xspeed-product-support a { font-size:13px; }
.woocommerce div.product .woocommerce-tabs .panel { font-size:14px; }
.woocommerce div.product .woocommerce-tabs table { max-width:none; font-size:14px; }
.woocommerce div.product .woocommerce-tabs video { display:block; width:100%; max-width:900px; aspect-ratio:16/9; object-fit:contain; background:#101820; }
.woocommerce div.product .woocommerce-tabs h2 { font-size:23px; }
.contact-strip { padding:42px 0; background:var(--store-paper); border-top:1px solid var(--store-line); }
.contact-strip h2 { margin:0 0 8px; font-size:28px; font-weight:600; letter-spacing:-.025em; }
.contact-strip p { margin:0; color:var(--store-muted); font-size:14px; }
.contact-links { gap:16px 28px; font-size:14px; }
.contact-links a { color:#173c5e; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; border-bottom:1px solid #b8c9d6; }
.contact-links a:hover { border-color:#173c5e; }
.site-footer { padding:24px 0; background:#fff; border-top:1px solid var(--store-line); color:var(--store-muted); }
.site-footer .site-shell { align-items:center; }
.footer-wordmark { display:flex; width:132px; height:44px; overflow:hidden; }
.footer-wordmark img { width:132px; height:44px; object-fit:cover; filter:brightness(0) saturate(100%) invert(15%) sepia(40%) saturate(1200%) hue-rotate(176deg); }
.site-footer a { color:#173c5e; }
@media(max-width:1000px){
 .home .precision-nav-inner { grid-template-columns:1fr auto; }
 .site-header .site-nav { gap:20px; }
}
@media(max-width:800px){
 .site-shell { width:calc(100% - 32px); }
 .site-header .site-shell { flex-direction:row; align-items:center; justify-content:space-between; min-height:72px; gap:16px; padding:0; }
 .site-header .site-nav { display:none; }
 .catalogue-mobile-menu { display:block; }
 .catalogue-mobile-menu summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; list-style:none; color:#fff; }
 .catalogue-mobile-menu summary::-webkit-details-marker { display:none; }
 .catalogue-mobile-menu summary svg { width:22px; height:22px; }
 .catalogue-mobile-menu nav { position:absolute; z-index:101; inset:72px 0 auto; display:grid; padding:16px 24px 24px; background:#062c60; border-top:1px solid #ffffff20; box-shadow:0 16px 30px #102d481a; }
 .catalogue-mobile-menu nav a { display:block; min-height:48px; padding:12px 0; color:#fff; text-decoration:none; font-size:15px; border-bottom:1px solid #ffffff25; }
 .catalogue-mobile-menu nav ul { margin:0; padding:0; list-style:none; }
 .catalogue-mobile-menu :focus-visible { outline-color:#fff; }
 .site-header { position:relative; }
 .home .precision-nav-inner { width:calc(100% - 32px); }
 .home .precision-brand { width:120px; }
 .home .precision-nav-actions .precision-contact { padding-inline:14px; font-size:13px; }
 .home :is(.product-universe,.home-live-products,.precision-faq) { padding-block:36px; }
 .home .precision-wrap { width:calc(100% - 32px); }
 .home .immersive-hero-stage { padding-top:24px; }
 .home .immersive-copy { border-radius:12px; padding:22px 16px; }
 .home .immersive-copy h1 { font-size:34px; margin-block:20px; line-height:1.12; }
 .home .immersive-copy p { font-size:15px; line-height:1.7; }
 .home .hero-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:24px; }
 .home .hero-benefits li { flex-direction:column; gap:5px; text-align:center; }
 .home .hero-benefits svg { width:23px; height:23px; }
 .home .hero-benefits b { font-size:11px; white-space:nowrap; }
 .home .hero-benefits small { font-size:10px; line-height:1.5; }
 .home .motor-toolbar { background:#062c60; border-radius:6px; padding:12px 14px; }
 .home .motor-toolbar p { flex:1 1 150px; }
 .home .motor-toolbar p > span { color:#fff; }
 .home .motor-toolbar small { color:#dce7f4; }
 .home .product-bento { gap:12px; }
 .home .product-story-copy { padding:16px; }
 .home-catalogue-heading { display:block; margin-bottom:24px; }
 .home-catalogue-heading h2 { font-size:29px; }
 .home-catalogue-heading .xspeed-all-products { margin-top:12px; }
 .home .finder-experience { padding-inline:16px; }
 .home .finder-experience-copy { padding-right:0; }
 .home .about-precision-copy p { font-size:14px; }
 .home .precision-contact-panel { width:calc(100% - 32px); }
 body.woocommerce .content-area { padding-top:18px; }
 .woocommerce .woocommerce-breadcrumb { margin-bottom:18px; }
 body.woocommerce .xspeed-catalogue-heading { padding:4px 0 20px; }
 body.woocommerce .xspeed-catalogue-heading h1 { font-size:28px; margin-bottom:12px; }
 .xspeed-catalogue-heading > div > p { font-size:14px; line-height:1.7; }
 .xspeed-finder-link { margin-top:12px; font-size:12px; }
 .xspeed-category-nav { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding:0 0 14px; }
 .xspeed-category-nav a { flex-shrink:0; white-space:nowrap; min-height:44px; font-size:12px; padding:10px 13px; }
 .xspeed-catalogue-controls { padding:16px 0 10px; }
 .xspeed-catalogue-controls > p { display:none; }
 .xspeed-loop-toolbar { align-items:center; gap:12px; padding-bottom:18px; }
 .xspeed-loop-toolbar .woocommerce-result-count { font-size:11px; }
 .xspeed-loop-toolbar select { width:164px; font-size:12px; }
 .woocommerce ul.products { gap:12px; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; min-height:70px; }
 .xspeed-card-sku { font-size:10px; }
 .woocommerce ul.products li.product > a.button { font-size:12px; padding:10px 8px; }
 .xspeed-key-specs dd { font-size:13px; }
 .woocommerce .xspeed-quote-actions a.button { font-size:13px; }
 .woocommerce div.product .woocommerce-tabs table { font-size:13px; }
 .contact-strip { padding:32px 0; }
 .contact-strip h2 { font-size:25px; }
 .site-footer .site-shell { display:grid; grid-template-columns:1fr auto; gap:14px 18px; }
 .site-footer .site-shell > span { grid-row:2; grid-column:1/-1; font-size:12px; }
}
@media(prefers-reduced-motion:reduce){
 .home .product-story,.woocommerce ul.products li.product { transition:none; }
 .home .product-story:hover,.woocommerce ul.products li.product:hover { transform:none; }
}

/* Wide-screen catalogue: use the available canvas without zooming or cropping.
   Shared header/footer follow the content shell. The independent home hero,
   tablet/mobile rules, product data and link behaviour are deliberately unchanged. */
@media(min-width:1200px){
 body .site-shell { width:min(1760px,calc(100% - 96px)); }
 body.single-product .site-shell { width:min(1600px,calc(100% - 96px)); }
 .site-header .site-nav a { font-size:16px; }
 body.woocommerce .xspeed-catalogue-heading h1 { font-size:clamp(40px,3vw,46px); }
 body.woocommerce .xspeed-catalogue-heading > div { max-width:820px; }
 body.woocommerce .xspeed-catalogue-heading p { max-width:780px; font-size:16px; }
 body.woocommerce .xspeed-category-nav a { font-size:14px; }
 body.woocommerce .xspeed-product-search { width:min(100%,540px); }
 body.woocommerce .xspeed-product-search input { font-size:15px; }
 body.woocommerce .xspeed-catalogue-controls > p,
 body.woocommerce .xspeed-loop-toolbar .woocommerce-result-count,
 body.woocommerce .xspeed-loop-toolbar .woocommerce-ordering { font-size:13px; }
 /* Higher specificity than the later category-navigation inline stylesheet. */
 body.woocommerce .xspeed-catalogue-layout { grid-template-columns:248px minmax(0,1fr); gap:32px; }
 body.woocommerce .xspeed-catalogue-sidebar { font-size:14px; }
 body.woocommerce .xspeed-catalogue-sidebar h2 { font-size:17px; }
 body.woocommerce .xspeed-catalogue-sidebar small { font-size:11px; }
 body.woocommerce .xspeed-category-group summary { font-size:14px; }
 body.woocommerce .xspeed-category-help { font-size:12px; }
 body.woocommerce .xspeed-catalogue-results ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 body.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:17px; min-height:85px; }
 body.woocommerce .xspeed-card-sku,
 body.woocommerce .xspeed-card-reference { font-size:12px; }
 body.woocommerce ul.products li.product > a.button { font-size:14px; min-height:46px; }
 body.woocommerce ul.products li.product a img { object-fit:contain; }
 body.single-product .content-area > div.product { column-gap:64px; }
 body.single-product div.product .product_title { font-size:clamp(32px,2.3vw,38px); }
 body.single-product .xspeed-product-eyebrow { font-size:12px; }
 body.single-product div.product .woocommerce-product-details__short-description,
 body.single-product div.product .woocommerce-tabs .panel,
 body.single-product div.product .woocommerce-tabs table { font-size:16px; }
 body.single-product .xspeed-key-specs dt { font-size:12px; }
 body.single-product .xspeed-key-specs dd { font-size:15px; }
 body.single-product .xspeed-quote-panel > p,
 body.single-product .xspeed-product-support a { font-size:14px; }
 body.single-product .xspeed-fitment-note { font-size:12px; }
}
