/* Hubbard Impala Parts — redesign. Plain CSS, WooCommerce-style class names. */
:root{
  --ink:#0a1d4a; --ink-deep:#061236; --blue:#1c4477; --sky:#4f7fbf; --blue-d:#14335c; --red:#d60a09; --red-d:#a80707;
  --accent:#f2b81c; --accent-d:#d99f0a; --chrome:#e3e8f2; --line:#d3daea; --bg:#f0f2f8; --paper:#fff; --steel:#55647f;
  --wrap:1200px; --r:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:.95rem;line-height:1.65;color:var(--ink);background:var(--bg)}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.1;font-weight:800;font-stretch:118%;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h2{font-size:clamp(1.35rem,2.2vw,1.8rem)}
h3{font-size:1.1rem}
p{margin:0 0 1em}
ul{margin:0;padding:0}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--accent);color:#fff;padding:.6rem 1rem;z-index:100;border-radius:4px}
.skip-link:focus{top:1rem}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border:2px solid var(--accent);border-radius:4px;background:var(--accent);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s,color .15s}
.button:hover{background:var(--accent-d);border-color:var(--accent-d)}
.button.alt{background:transparent;color:var(--ink);border-color:var(--ink)}
.button.alt:hover{background:var(--ink);color:#fff}
.button.light{background:#fff;border-color:#fff;color:var(--ink)}
.button.light:hover{background:var(--chrome);border-color:var(--chrome)}
.button.outline-light{background:transparent;border-color:#fff;color:#fff}
.button.outline-light:hover{background:#fff;color:var(--ink)}

/* Utility bar + header */
.topbar{background:var(--ink-deep);color:#cdd9e1;font-size:.875rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;flex-wrap:wrap}
.topbar a{text-decoration:none}
.topbar a:hover{color:#fff;text-decoration:underline}
.topbar ul{list-style:none;display:flex;gap:1.25rem}
.topbar .phone{font-weight:700;color:#fff}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-main{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem 2rem;align-items:center;padding-block:1rem}
.logo{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.logo svg{width:54px;height:auto;flex:none}
.logo strong{display:block;font-size:1.3rem;font-weight:800;font-stretch:125%;line-height:1;letter-spacing:-.01em}
.logo small{display:block;font-size:.8rem;color:var(--steel);margin-top:.3rem}
.search-form{display:flex;max-width:560px;width:100%;justify-self:center}
.search-form select,.search-form input{font:inherit;color:var(--ink);padding:.65rem .8rem;border:1px solid var(--line);background:#fff;min-width:0}
.search-form select{border-radius:4px 0 0 4px;border-right:0;background:var(--bg);max-width:9.5rem}
.search-form input{flex:1;border-radius:0}
.search-form button{border-radius:0 4px 4px 0;padding-inline:1rem}
.header-actions{display:flex;align-items:center;gap:1.25rem;font-weight:600}
.header-actions a{text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.header-actions a:hover{color:var(--blue)}
.cart-count{background:var(--accent);color:#fff;border-radius:99px;min-width:1.4rem;height:1.4rem;padding:0 .35rem;display:inline-grid;place-items:center;font-size:.8rem;font-weight:700}
.nav-toggle{display:none}
.main-nav{border-top:1px solid var(--line)}
.main-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.75rem}
.main-nav a{display:block;padding:.85rem 0;font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.main-nav a:hover{border-color:var(--chrome)}
.main-nav a[aria-current="page"]{border-color:var(--accent)}

/* Hero */
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding-block:4rem 5rem}
.hero h1{margin-bottom:.4em}
.hero p.lead{font-size:1.2rem;color:#c6d4de;max-width:34rem}
.finder{margin-top:2rem;background:#fff;color:var(--ink);padding:1.1rem;border-radius:8px;display:grid;grid-template-columns:1fr 1.4fr auto;gap:.75rem;align-items:end;max-width:40rem}
.finder label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}
.finder select{width:100%;font:inherit;padding:.65rem .6rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.hero-art svg{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.lamp-lit{opacity:0;animation:lamp-on .5s ease-out forwards}
.lamp-lit.l2{animation-delay:.35s}.lamp-lit.l3{animation-delay:.7s}
.lamp-lit.r1{animation-delay:1.05s}.lamp-lit.r2{animation-delay:1.4s}.lamp-lit.r3{animation-delay:1.75s}
@keyframes lamp-on{from{opacity:0}to{opacity:1}}

/* Trust strip */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding-block:1.4rem}
.trust strong{display:block;font-stretch:112%;font-weight:800}
.trust span{font-size:.9rem;color:var(--steel)}

/* Sections */
.section{padding-block:4rem}
.section.tight{padding-block:2.5rem}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.section-head h2{margin:0}
.section-head a{font-weight:700;color:var(--blue)}

/* Category tiles (paint-chip swatches) */
.cat-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
.product-category a{display:flex;flex-direction:column;gap:2rem;height:100%;padding:1rem 1.1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:700;font-stretch:108%;transition:border-color .15s}
.product-category a:hover{border-color:var(--blue)}
.product-category .chip{width:34px;height:20px;border-radius:3px;background:var(--chip,var(--blue));box-shadow:inset 0 0 0 1px rgba(0,0,0,.18),0 0 0 3px var(--chrome)}
.product-category small{display:block;font-weight:400;font-stretch:100%;color:var(--steel);font-size:.875rem;margin-top:.15rem}
.cat-grid.large .product-category a{padding:1.4rem;gap:3.5rem;font-size:1.15rem}
.c0{--chip:#1d4ed8}.c1{--chip:#ffc21a}.c2{--chip:#0c2152}.c3{--chip:#fff0b3}.c4{--chip:#8fb8ff}.c5{--chip:#2f63e0}

/* Products (WooCommerce loop) */
ul.products{list-style:none;display:grid;gap:1.25rem;grid-template-columns:repeat(4,1fr)}
ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
li.product{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .15s}
li.product:hover{border-color:var(--blue)}
li.product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none}
.ph{position:relative;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;padding:.9rem 1rem;background:linear-gradient(135deg,#eef3fc 0%,#d3def2 55%,#e9effb 100%);color:var(--blue);overflow:hidden}
.ph-year{font-size:2.3rem;font-weight:800;font-stretch:125%;line-height:1;letter-spacing:-.02em}
.ph-cat{font-size:.8rem;font-weight:600;color:var(--steel);margin-top:.35rem}
.ph::after{content:"";position:absolute;right:-18px;top:-18px;width:90px;height:90px;border-radius:50%;border:10px solid rgba(255,255,255,.7)}
.woocommerce-loop-product__title{font-size:1rem;font-weight:700;font-stretch:100%;line-height:1.3;letter-spacing:0;margin:0;padding:.9rem 1rem .3rem}
.price{display:block;padding:0 1rem 1rem;font-weight:800;font-stretch:108%}
.price del{font-weight:400;color:var(--steel);margin-right:.4rem;font-size:.9rem}
.price ins{text-decoration:none}
li.product .button{margin:0 1rem 1rem;padding:.6rem 1rem}
.onsale{position:absolute;z-index:2;left:.75rem;top:.75rem;background:var(--blue-d);color:#fff;font-size:.8rem;font-weight:700;padding:.2rem .6rem;border-radius:3px}

/* Banner */
.cta-band{background:var(--blue);color:#fff}
.cta-band .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;padding-block:3.5rem}
.cta-band p{color:#d5e5ee;max-width:36rem;margin:0}
.cta-band .actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.testimonial{margin:0;padding-left:1.25rem;border-left:4px solid var(--sky)}
.testimonial .stars{color:var(--accent);letter-spacing:.15em;font-size:1rem}
.testimonial blockquote{margin:.5rem 0 1rem;font-size:1.1rem;line-height:1.55}
.testimonial figcaption strong{display:block}
.testimonial figcaption span{font-size:.9rem;color:var(--steel)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:3.5rem;align-items:start}
.faq-aside p{color:var(--steel);max-width:22rem}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.15rem 0;font-weight:700;font-stretch:108%;font-size:1.05rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:var(--chrome);font-weight:700}
.faq-list details[open] summary::after{content:"\2212";background:var(--ink);color:#fff}
.faq-list .answer{padding:0 2.6rem 1.25rem 0;color:#2b3a5c;max-width:44rem}

/* Footer */
.site-footer{background:var(--ink-deep);color:#b9c8d3;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-block:3.5rem}
.site-footer h3{color:#fff;font-size:1rem;font-stretch:112%;margin-bottom:.8rem}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:.4rem}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer address{font-style:normal}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);font-size:.875rem}
.footer-bottom .wrap{padding-block:1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* Shop / archive */
.page-hero{background:#fff;border-bottom:1px solid var(--line)}
.page-hero .wrap{padding-block:2rem 2.2rem}
.woocommerce-breadcrumb{font-size:.9rem;color:var(--steel);margin-bottom:.8rem}
.woocommerce-breadcrumb a{text-decoration:none}
.woocommerce-breadcrumb a:hover{text-decoration:underline;color:var(--ink)}
.woocommerce-breadcrumb .sep{margin:0 .4rem}
.page-title{margin:0}
.term-description{max-width:46rem;color:#2b3a5c;margin:.6rem 0 0}
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;padding-block:2.5rem 4rem;align-items:start}
.widget{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;margin-bottom:1.1rem}
.widget-title{font-size:1rem;font-stretch:112%;margin-bottom:.7rem}
.widget ul{list-style:none}
.widget li a{display:flex;justify-content:space-between;padding:.28rem 0;text-decoration:none}
.widget li a:hover,.widget li.current-cat a{color:var(--blue);font-weight:700}
.widget label{display:flex;gap:.55rem;align-items:center;padding:.2rem 0;cursor:pointer}
.widget input[type=checkbox]{accent-color:var(--blue);width:1rem;height:1rem}
.price-filter input[type=range]{width:100%;accent-color:var(--blue)}
.price-filter .range-label{display:flex;justify-content:space-between;font-size:.9rem;color:var(--steel);margin-bottom:.8rem}
.filters-toggle{display:none}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.woocommerce-result-count{margin:0;color:var(--steel);font-size:.95rem}
.woocommerce-ordering select{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}
.subcats{margin-bottom:2rem}
.subcats .cat-grid{grid-template-columns:repeat(3,1fr)}
.woocommerce-pagination{margin-top:2.5rem}
.woocommerce-pagination ul{list-style:none;display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:2.5rem;height:2.5rem;padding:0 .7rem;border:1px solid var(--line);border-radius:4px;background:#fff;text-decoration:none;font-weight:600}
.woocommerce-pagination a:hover{border-color:var(--blue)}
.woocommerce-pagination .current{background:var(--ink);border-color:var(--ink);color:#fff}

/* Single product */
.single-product-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;padding-block:2.5rem 3rem;align-items:start}
.gallery .ph{aspect-ratio:1/1;border-radius:var(--r);border:1px solid var(--line);padding:1.5rem}
.gallery .ph-year{font-size:clamp(3rem,7vw,5.5rem)}
.gallery .ph-cat{font-size:1rem}
.gallery .thumbs{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.7rem}
.gallery .thumbs li{aspect-ratio:1/1;border:1px solid var(--line);border-radius:4px;background:linear-gradient(135deg,#eef3fc,#d3def2)}
.gallery .thumbs li.on{border:2px solid var(--blue)}
.summary h1{font-size:clamp(1.8rem,3vw,2.4rem)}
.summary .price{padding:0;font-size:1.6rem;margin:.4rem 0 1rem}
.summary .price del{font-size:1.1rem}
.summary .save{display:inline-block;margin-left:.6rem;font-size:.9rem;font-weight:700;color:var(--blue-d)}
.in-stock{color:var(--blue-d);font-weight:700}
.cart-row{display:flex;gap:.8rem;margin:1.4rem 0;flex-wrap:wrap}
.quantity{display:inline-flex;border:1px solid var(--line);border-radius:4px;background:#fff;overflow:hidden}
.quantity button{width:2.6rem;border:0;background:var(--bg);font:inherit;font-size:1.2rem;cursor:pointer}
.quantity button:hover{background:var(--chrome)}
.quantity input{width:3.2rem;border:0;text-align:center;font:inherit;font-weight:700;-moz-appearance:textfield}
.product_meta{border-top:1px solid var(--line);padding-top:1rem;font-size:.95rem;color:#2b3a5c}
.product_meta div{margin-bottom:.3rem}
.product_meta strong{color:var(--ink)}
.call-box{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;padding:.9rem 1rem;margin-top:1.4rem;font-size:.95rem}
.wc-tabs{padding-bottom:3rem}
.tab-list{display:flex;gap:.3rem;border-bottom:2px solid var(--line);margin-bottom:1.5rem;flex-wrap:wrap}
.tab-list button{font:inherit;font-weight:700;padding:.8rem 1.2rem;border:0;background:none;cursor:pointer;color:var(--steel);border-bottom:3px solid transparent;margin-bottom:-2px}
.tab-list button[aria-selected="true"]{color:var(--ink);border-color:var(--accent)}
.tab-panel{max-width:46rem}
.tab-panel[hidden]{display:none}
.shop_attributes{border-collapse:collapse;width:100%;max-width:34rem}
.shop_attributes th,.shop_attributes td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line)}
.shop_attributes th{width:40%;font-weight:700}
.related{padding-bottom:4rem}

/* Toast (add to cart) */
.cart-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;background:var(--ink);color:#fff;padding:1rem 1.25rem;border-radius:8px;max-width:20rem;transform:translateY(150%);transition:transform .25s ease;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.cart-toast.show{transform:none}
.cart-toast a{color:#fff;font-weight:700}

/* Responsive */
@media (max-width:1080px){
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  ul.products,ul.products.columns-3{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;padding-block:2.5rem 3.5rem}
  .hero-art{order:-1;max-width:420px}
  .header-main{grid-template-columns:1fr auto;grid-template-areas:"logo actions" "search search"}
  .logo{grid-area:logo}.header-actions{grid-area:actions}.search-form{grid-area:search;max-width:none}
  .nav-toggle{display:inline-flex;margin:0 0 .8rem;font:inherit;font-weight:700;background:var(--ink);color:#fff;border:0;border-radius:4px;padding:.6rem 1rem;cursor:pointer}
  .main-nav{border-top:0}
  .main-nav ul{display:none;flex-direction:column;gap:0;padding-bottom:.8rem}
  .main-nav.open ul{display:flex}
  .main-nav a{padding:.65rem 0;border-bottom:1px solid var(--line)}
  .trust ul{grid-template-columns:1fr 1fr}
  .testimonials{grid-template-columns:1fr;gap:1.6rem}
  .faq-layout{grid-template-columns:1fr;gap:1.5rem}
  .cta-band .wrap{grid-template-columns:1fr}
  .cta-band .actions{justify-content:flex-start}
  .shop-layout{grid-template-columns:1fr}
  .filters-toggle{display:block}
  .shop-sidebar .widgets{display:none}
  .shop-sidebar.open .widgets{display:block}
  .single-product-wrap{grid-template-columns:1fr;gap:1.8rem}
  .subcats .cat-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .topbar ul{display:none}
  .finder{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .header-actions .label{display:none}
  .search-form select{display:none}
  .search-form input{border-radius:4px 0 0 4px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lamp-lit{animation:none;opacity:1}
  .cart-toast{transition:none}
}

/* Image hero (replaces text hero) */
.hero-banner{position:relative;background:var(--ink)}
.hero-media img{display:block;width:100%;height:clamp(300px,42vw,580px);object-fit:cover}
.hero-fallback{display:grid;place-items:center;height:clamp(300px,42vw,580px);padding:2rem}
.hero-fallback svg{width:min(640px,100%);height:auto}
.hero-panel-wrap{position:absolute;inset:auto 0 0 0;pointer-events:none}
.hero-panel{pointer-events:auto;max-width:34rem;margin-bottom:1.75rem;background:var(--ink);color:#fff;padding:1.4rem 1.5rem 1.5rem;border-radius:8px}
.hero-panel h1{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:.9rem}
.hero-panel .finder{margin-top:0;max-width:none;padding:.8rem}
.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#fff}
.ph:has(>img)::after,.ph:has(>img)>span{display:none}
.cat-thumb{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
@media (max-width:900px){
  .hero-panel-wrap{position:static}
  .hero-panel{max-width:none;margin:0 -1.25rem;border-radius:0;padding:1.2rem 1.25rem 1.4rem}
}

/* ===== Inner pages: forms, cart, checkout, account, text ===== */
.page-body{padding-block:2.5rem 4rem}
.hint{color:var(--steel);font-size:.92rem}
.note{color:var(--steel);font-size:.9rem;margin-top:1rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.form-grid .span2{grid-column:1/-1}
.form-grid.narrow{max-width:34rem}
.form-row{margin:0 0 1rem}
.form-row label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.3rem}
.form-row abbr{color:var(--accent);text-decoration:none}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],textarea,.form-row select{width:100%;font:inherit;color:var(--ink);padding:.7rem .8rem;border:1px solid #b3bfd8;border-radius:4px;background:#fff}
textarea{resize:vertical;min-height:7rem}
.form-row.check label,.form-row.check{font-weight:400}
.form-row.check label{display:flex;gap:.55rem;align-items:flex-start}
input[type=checkbox],input[type=radio]{accent-color:var(--blue);margin-top:.3rem}
.woocommerce-message,.woocommerce-info{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue-d);border-radius:4px;padding:.85rem 1.1rem;margin-bottom:1.5rem}
.woocommerce-info{border-left-color:var(--blue)}
.button.small{padding:.4rem .8rem;font-size:.9rem}
.lost{margin-left:.8rem;font-size:.95rem}

/* tables */
table.shop_table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.shop_table th,.shop_table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.shop_table thead th{background:var(--chrome);font-size:.92rem}
.shop_table tfoot th,.shop_table.totals th{font-weight:700}
.shop_table .order-total td,.shop_table .order-total th{font-size:1.15rem}

/* cart */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}
.product-remove a{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--chrome);text-decoration:none;font-size:1.2rem;line-height:1}
.product-remove a:hover{background:var(--accent);color:#fff}
.product-thumbnail{width:90px}
.ph-sm{aspect-ratio:1/1;width:72px;padding:.4rem;border-radius:4px;justify-content:center}
.ph-sm .ph-year{font-size:.9rem;letter-spacing:0}
.ph-sm::after{display:none}
.product-name a{font-weight:700;text-decoration:none}
.product-name a:hover{color:var(--blue);text-decoration:underline}
.product-name small{display:block;color:var(--steel)}
.cart-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.coupon{display:flex;gap:.5rem}
.coupon input{width:11rem}
.cart_totals{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.cart_totals h2{font-size:1.2rem}
.cart_totals .shop_table{border:0}
.cart_totals .shop_table th,.cart_totals .shop_table td{padding-inline:0}
.checkout-button,.place-order{width:100%;margin-top:1rem;padding:.9rem}

/* checkout */
.checkout-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:start}
.checkout-layout h2{font-size:1.3rem;margin-top:.5rem}
.order-review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;position:sticky;top:1rem}
.order-review .shop_table{border:0;margin-bottom:1rem}
.order-review .shop_table th,.order-review .shop_table td{padding-inline:0}
.payment_methods{border:0;padding:0;margin:0 0 1rem}
.pm{display:flex;gap:.7rem;padding:.8rem;border:1px solid var(--line);border-radius:4px;margin-bottom:.5rem;cursor:pointer}
.pm small{display:block;color:var(--steel)}
.payment_box{background:var(--bg);border-radius:4px;padding:.8rem;font-size:.9rem;color:var(--steel);margin-bottom:.5rem}

/* account */
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.auth-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem}
.auth-box h2{font-size:1.4rem}
.account-layout{display:grid;grid-template-columns:230px 1fr;gap:2.5rem;align-items:start}
.account-nav ul{list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.account-nav a{display:block;padding:.8rem 1rem;text-decoration:none;font-weight:600;border-left:4px solid transparent;border-bottom:1px solid var(--line)}
.account-nav li:last-child a{border-bottom:0}
.account-nav a:hover{background:var(--bg)}
.account-nav .is-active a{border-left-color:var(--accent);background:var(--bg)}
.account-content h2{font-size:1.35rem;margin-top:2rem}
.address-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.address-cols address{font-style:normal;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem}

/* text pages */
.prose-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}
.entry-content{max-width:46rem;line-height:1.7}
.entry-content .lead{font-size:1.3rem;line-height:1.5;color:var(--ink)}
.entry-content h2{font-size:1.5rem;margin:2.2rem 0 .7rem;scroll-margin-top:1rem}
.entry-content h3{margin-top:1.6rem}
.entry-content li{margin-bottom:.45rem}
.entry-content ul,.entry-content ol{padding-left:1.3rem;margin:0 0 1em}
.entry-content a{color:var(--blue)}
.entry-content blockquote{margin:1.5rem 0;padding:.4rem 1.2rem;border-left:4px solid var(--sky);font-size:1.15rem}
.entry-content address{font-style:normal;background:#fff;border-left:4px solid var(--blue);padding:.8rem 1rem;margin:0 0 1em}
.check-list{list-style:none;padding-left:0!important}
.check-list li{padding-left:1.6rem;position:relative}
.check-list li::before{content:"";position:absolute;left:0;top:.55em;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent)}
.side-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:var(--r);padding:1.3rem;position:sticky;top:1rem}
.side-card h2{font-size:1.15rem}
.side-card address{font-style:normal;margin-bottom:1rem}
.side-card p{margin-bottom:.9rem}
.side-card ul{list-style:none}
.side-card li{padding:.3rem 0}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}
.contact-grid h2{font-size:1.5rem}
.about-img{display:block;width:100%;max-height:420px;object-fit:cover}

@media (max-width:900px){
  .cart-layout,.checkout-layout,.account-grid,.account-layout,.prose-layout,.contact-grid{grid-template-columns:1fr}
  .order-review,.side-card{position:static}
  .account-nav ul{display:flex;flex-wrap:wrap}
  .account-nav a{border-bottom:0;border-left:0;border-bottom:3px solid transparent}
  .account-nav .is-active a{border-bottom-color:var(--accent)}
  .shop_table.cart thead,.shop_table.orders thead{display:none}
  .shop_table.cart tr,.shop_table.orders tr{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;padding:.9rem;border-bottom:1px solid var(--line)}
  .shop_table.cart td,.shop_table.orders td{border:0;padding:.15rem 0}
  .shop_table.cart td[data-title]::before,.shop_table.orders td[data-title]::before{content:attr(data-title) ": ";font-weight:700}
  .shop_table.cart .product-thumbnail{grid-row:span 3}
  .shop_table.cart .product-remove{grid-column:1/-1;justify-self:end}
}
@media (max-width:620px){
  .form-grid{grid-template-columns:1fr}
  .address-cols{grid-template-columns:1fr}
}

/* ===== Home text areas ===== */
.text-area .two-col{display:grid;grid-template-columns:.8fr 1.4fr;gap:3.5rem;align-items:start}
.text-area.alt{background:var(--bg)}
.text-area.alt .two-col{grid-template-columns:1.4fr .8fr}
.text-area h2{max-width:20rem}
.text-area.alt h2{max-width:none}
.text-area .entry-content{max-width:44rem}

/* ===== Blog ===== */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.post-grid.two{grid-template-columns:repeat(2,1fr);margin-top:2rem}
.post-card{display:flex;flex-direction:column}
.post-media{display:block;text-decoration:none;margin-bottom:.9rem}
.ph-wide{aspect-ratio:16/9;border-radius:var(--r);border:1px solid var(--line)}
.ph-wide .ph-year{font-size:1.5rem}
.ph-hero{aspect-ratio:21/9;margin-bottom:1.2rem}
.ph-hero .ph-year{font-size:clamp(1.6rem,4vw,2.6rem)}
.ph-wide::after{display:none}
.post-meta{display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.875rem;color:var(--steel);margin-bottom:.4rem}
.post-cat{font-weight:700;color:var(--blue-d)}
.post-card h3{font-size:1.2rem;font-stretch:108%;line-height:1.25;margin-bottom:.5rem}
.post-card h3 a,.featured h2 a{text-decoration:none}
.post-card h3 a:hover,.featured h2 a:hover{color:var(--blue);text-decoration:underline}
.post-card p{color:#2b3a5c;margin-bottom:.7rem}
.read-more{margin-top:auto;font-weight:700;color:var(--blue)}
.post-card.featured{display:grid;grid-template-columns:1.1fr 1fr;gap:1.8rem;align-items:center}
.featured .post-media{margin:0}
.featured h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.blog-sidebar .widget{margin-bottom:1.1rem}
.blog-search{max-width:none}
.blog-search input{border-radius:4px 0 0 4px}
.cat-list a{display:flex;justify-content:space-between}
.cat-list span{color:var(--steel)}
.recent-list li{margin-bottom:.7rem}
.recent-list a{display:block;font-weight:600;line-height:1.3}
.recent-list a[aria-current]{color:var(--blue)}
.recent-list small{display:block;font-weight:400;color:var(--steel)}
.call-widget{border-top:4px solid var(--accent)}
.single-post .entry-content{max-width:none;font-size:1.075rem}
.single-post .entry-content p:first-child{font-size:1.25rem;line-height:1.55}
.post-share{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center;padding:1.1rem 0;margin-top:2rem;border-block:1px solid var(--line)}
.post-share a{font-weight:600;color:var(--blue)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 3rem}
.post-nav a{display:block;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:700;line-height:1.3}
.post-nav a:hover{border-color:var(--blue)}
.post-nav small{display:block;font-weight:400;color:var(--steel);margin-bottom:.2rem}
.post-nav .next{text-align:right}
.post-related h2{font-size:1.5rem;margin-bottom:1.2rem}
.post-related .post-grid{grid-template-columns:repeat(3,1fr)}

@media (max-width:1080px){
  .post-grid,.post-related .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .text-area .two-col,.text-area.alt .two-col,.blog-layout,.post-card.featured{grid-template-columns:1fr}
  .text-area .two-col{gap:1.2rem}
  .text-area h2{max-width:none}
}
@media (max-width:620px){
  .post-grid,.post-grid.two,.post-related .post-grid,.post-nav{grid-template-columns:1fr}
  .post-nav .next{text-align:left}
}

/* =====================================================================
   DESIGN UPGRADE: section rhythm, elevated cards, dark nav + page banners
   (overrides earlier rules; keep this block last)
   ===================================================================== */
:root{--bg:#eef2fa;--rad:12px;--sh-1:0 1px 2px rgba(12,33,82,.06),0 2px 8px rgba(12,33,82,.05);--sh-2:0 2px 4px rgba(12,33,82,.06),0 14px 32px rgba(12,33,82,.12)}
body{background:var(--bg)}
.button{border-radius:8px;padding:.8rem 1.4rem;box-shadow:0 4px 12px rgba(255,194,26,.28)}
.button.alt,.button.light,.button.outline-light{box-shadow:none}
.link-btn{display:inline-flex;align-items:center;padding:.55rem 1.15rem;border:2px solid var(--ink);border-radius:99px;font-weight:700;text-decoration:none;color:var(--ink);background:transparent;transition:background .15s,color .15s}
.link-btn:hover{background:var(--ink);color:#fff}
.section-head .link-btn{color:var(--ink)}
.section-head .link-btn:hover{color:#fff}
.sec-dark .link-btn{color:#fff;border-color:#fff}

/* ----- Header: white masthead + dark nav bar ----- */
.site-header{border-bottom:0;box-shadow:0 2px 14px rgba(12,33,82,.10);position:relative;z-index:20}
.header-main{padding-block:1.15rem}
.search-form select,.search-form input{border-color:#b3bfd8}
.nav-bar{background:var(--ink);border-bottom:4px solid var(--sky)}
.main-nav{border-top:0}
.main-nav ul{gap:0}
.main-nav a{color:#e6eef3;padding:1rem 1.15rem;border-bottom:0;font-weight:600;transition:background .15s}
.main-nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.main-nav a[aria-current="page"]{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 -4px 0 var(--accent)}

/* ----- Hero + floating trust card ----- */
.hero-panel{background:#fff;color:var(--ink);border-top:5px solid var(--accent);border-radius:var(--rad);box-shadow:var(--sh-2);margin-bottom:5rem}
.hero-panel .finder{background:var(--bg);box-shadow:none}
.trust-wrap{position:relative;z-index:3;margin-top:-2.6rem}
.trust-card{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh-2)}
.trust-card li{display:flex;gap:.9rem;align-items:center;padding:1.3rem 1.4rem;border-right:1px solid var(--line)}
.trust-card li:last-child{border-right:0}
.t-ico{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--chrome);color:var(--blue)}
.trust-card strong{display:block;font-stretch:108%;line-height:1.2}
.trust-card li span:not(.t-ico){font-size:.88rem;color:var(--steel)}

/* ----- Sections: alternating bands ----- */
.section{padding-block:5rem}
.sec-white{background:#fff}
.sec-tint{background:var(--bg)}
.sec-dark{background:var(--ink);color:#fff}
.sec-white{border-block:1px solid var(--line)}
.sec-white+.sec-white{border-top:0}
.trust-wrap+.sec-white{margin-top:-2.6rem;padding-top:7.6rem}
.section-head{align-items:flex-end;margin-bottom:2.4rem}
.section-head h2::before,.text-area h2::before{content:"";display:block;width:60px;height:5px;margin-bottom:1rem;border-radius:3px;background:linear-gradient(90deg,var(--accent) 0 33.3%,var(--sky) 33.3% 66.6%,var(--blue) 66.6%)}
.section-head h2{margin:0}
.section-sub{color:var(--steel);margin:.5rem 0 0;max-width:34rem}
.sec-dark .section-sub{color:#b4c6d3}

/* ----- Text areas ----- */
.text-area.alt{background:#fff}
.text-area .entry-content{max-width:46rem}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.2rem}
.stat{background:var(--bg);border-radius:var(--rad);padding:1.2rem 1.3rem;border-left:5px solid var(--blue)}
.stat:nth-child(2){border-left-color:var(--sky)}
.stat:nth-child(3){border-left-color:var(--accent)}
.stat strong{display:block;font-size:1.7rem;font-stretch:125%;font-weight:800;line-height:1.15}
.stat span{color:var(--steel);font-size:.92rem}
.check-list.panel{background:var(--bg);border-radius:var(--rad);padding:1.2rem 1.4rem 1.2rem 1.4rem!important;margin-top:1.2rem}
.check-list.panel li{padding:.55rem 0 .55rem 1.6rem;border-bottom:1px solid var(--line);margin:0}
.check-list.panel li:last-child{border-bottom:0}
.check-list.panel li::before{top:1.05em}

/* ----- Category tiles ----- */
.cat-grid{gap:1rem}
.product-category a{flex-direction:row;align-items:center;gap:1rem;height:auto;padding:1rem 1.1rem;border-radius:var(--rad);box-shadow:var(--sh-1);transition:box-shadow .2s,transform .2s,border-color .2s}
.product-category .chip{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;flex:none;font-weight:800;font-stretch:125%;font-size:1.35rem;color:#fff;background:var(--chip);box-shadow:none}
.c1 .chip,.c3 .chip,.c4 .chip{color:var(--ink)}
.c3 .chip{box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.product-category a::after{content:"";margin-left:auto;flex:none;width:.55rem;height:.55rem;border-right:2px solid var(--steel);border-top:2px solid var(--steel);transform:rotate(45deg);transition:transform .2s,border-color .2s}
.product-category a:hover{border-color:transparent;box-shadow:var(--sh-2);transform:translateY(-3px)}
.product-category a:hover::after{border-color:var(--accent);transform:translateX(4px) rotate(45deg)}
.cat-grid.large .product-category a{padding:1.4rem;gap:1.2rem;font-size:1.1rem}
.cat-grid.large .chip{width:64px;height:64px;font-size:1.6rem}
.cat-thumb{width:64px;height:64px;aspect-ratio:1;border-radius:12px}

/* ----- Product cards ----- */
ul.products{gap:1.4rem}
li.product{border-radius:var(--rad);box-shadow:var(--sh-1);transition:transform .2s,box-shadow .2s}
li.product:hover{transform:translateY(-5px);box-shadow:var(--sh-2);border-color:var(--line)}
li.product .ph{border-bottom:1px solid var(--line)}
.ph>img{object-fit:contain;padding:.8rem;transition:transform .4s}
li.product:hover .ph>img{transform:scale(1.05)}
.loop-cat{display:block;padding:1rem 1.1rem 0;font-size:.8rem;font-weight:700;color:var(--blue-d)}
.woocommerce-loop-product__title{padding:.25rem 1.1rem .55rem;font-size:1.02rem}
.price{padding:0 1.1rem 1rem;font-size:1.2rem}
li.product .button{margin:0 1.1rem 1.1rem}
.onsale{border-radius:99px;padding:.25rem .8rem;box-shadow:0 2px 6px rgba(0,0,0,.2)}

/* ----- CTA band ----- */
.cta-band{background:var(--blue);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-90px;top:50%;width:380px;height:380px;margin-top:-190px;border-radius:50%;border:44px solid rgba(255,255,255,.07);pointer-events:none}
.cta-band .wrap{position:relative;z-index:1;padding-block:4rem}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,3vw,2.5rem)}

/* ----- Testimonials (on dark band) ----- */
.testimonials{gap:1.5rem}
.testimonial{display:flex;flex-direction:column;background:#fff;color:var(--ink);border:0;border-radius:var(--rad);padding:1.8rem;position:relative;box-shadow:var(--sh-2)}
.testimonial::before{content:"\201C";position:absolute;right:1.3rem;top:.5rem;font-size:5rem;line-height:1;font-weight:800;color:var(--chrome)}
.testimonial blockquote{flex:1;margin:.6rem 0 1.3rem}
.testimonial figcaption{display:flex;gap:.8rem;align-items:center;border-top:1px solid var(--line);padding-top:1rem}
.testimonial figcaption .avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:800;font-size:.95rem}

/* ----- Blog cards ----- */
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh-1);overflow:hidden;transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.post-card .post-media{margin:0}
.post-card .ph-wide{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.post-card>:not(.post-media){margin-inline:1.3rem}
.post-card .post-meta{margin-top:1.1rem}
.post-card p{margin-bottom:1rem}
.post-card .read-more{margin-bottom:1.3rem}
.post-card.featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;align-items:stretch}
.post-card.featured>*{margin-inline:0}
.post-card.featured .post-media .ph-wide{height:100%;aspect-ratio:auto;min-height:280px;border-bottom:0}
.featured-text{padding:2rem;display:flex;flex-direction:column;justify-content:center}
.featured-text .post-meta{margin-top:0}
.single-post{background:#fff;border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh-1);padding:1.5rem 2rem 2rem}
.single-post .ph-hero{border-radius:var(--rad)}
.post-related .post-card{box-shadow:var(--sh-1)}

/* ----- FAQ cards ----- */
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:var(--rad);margin-bottom:.8rem;padding:0 1.4rem;box-shadow:var(--sh-1)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list details[open]{border-color:var(--blue)}
.faq-list .answer{padding-right:2.6rem}
.faq-aside{background:var(--ink);color:#fff;border-radius:var(--rad);padding:2.2rem;position:sticky;top:1rem}
.faq-aside p{color:#b4c6d3}

/* ----- Inner page banner + content surfaces ----- */
.page-hero{background:var(--ink);border-bottom:4px solid var(--sky);color:#fff}
.page-hero .wrap{padding-block:2.6rem 2.8rem}
.page-hero .woocommerce-breadcrumb{color:#9fb4c3}
.page-hero .woocommerce-breadcrumb a:hover{color:#fff}
.page-title{color:#fff}
.page-hero .term-description{color:#c6d4de}
.widget{border-radius:var(--rad);box-shadow:var(--sh-1);padding:1.3rem 1.4rem}
.widget-title{padding-bottom:.7rem;border-bottom:2px solid var(--chrome);margin-bottom:.9rem}
.shop-toolbar{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:.7rem 1rem;box-shadow:var(--sh-1)}
.woocommerce-pagination a,.woocommerce-pagination span{border-radius:8px}
.auth-box,.cart_totals,.order-review,.side-card,.address-cols address{border-radius:var(--rad);box-shadow:var(--sh-1)}
.customer-details,.account-content,.contact-grid>div:first-child,.prose-layout .entry-content{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:2rem 2.2rem;box-shadow:var(--sh-1)}
.prose-layout .entry-content{max-width:none}
.single-product-wrap,.wc-tabs{background:#fff;border:1px solid var(--line);border-radius:var(--rad);box-shadow:var(--sh-1);padding:2rem}
.single-product-wrap{margin-top:2rem}
.wc-tabs{margin-top:1.5rem;padding-bottom:2rem}
.related{padding-top:1rem}
table.shop_table{border-radius:var(--rad);overflow:hidden;border-collapse:separate;border-spacing:0;box-shadow:var(--sh-1)}
.cart_totals .shop_table,.order-review .shop_table{box-shadow:none}
.shop_table tr:last-child>td,.shop_table tr:last-child>th{border-bottom:0}
.woocommerce-message,.woocommerce-info{border-radius:var(--rad);box-shadow:var(--sh-1)}
.page-body{padding-block:3rem 4.5rem}

/* ----- Footer ----- */
.footer-cta{background:var(--blue);color:#fff}
.footer-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;padding-block:1.8rem}
.footer-cta strong{display:block;font-size:1.35rem;font-stretch:118%;font-weight:800;line-height:1.2}
.footer-cta span{color:#cfe0ea}
.site-footer{border-top:0}
.footer-grid{padding-block:4rem}

/* ----- Responsive additions ----- */
@media (max-width:1080px){.trust-card{grid-template-columns:1fr 1fr}.trust-card li:nth-child(2){border-right:0}.trust-card li:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:900px){
  .hero-panel{margin-bottom:0;border-radius:0;box-shadow:none}
  .trust-wrap{margin-top:1.5rem}
  .trust-wrap+.sec-white{margin-top:0;padding-top:3.5rem}
  .section{padding-block:3.5rem}
  .nav-toggle{margin:.7rem 0;background:rgba(255,255,255,.12)}
  .main-nav ul{padding-bottom:.6rem}
  .main-nav a{border-bottom:1px solid rgba(255,255,255,.1)}
  .main-nav a[aria-current="page"]{box-shadow:inset 4px 0 0 var(--accent)}
  .post-card.featured{grid-template-columns:1fr}
  .post-card.featured .post-media .ph-wide{min-height:0;aspect-ratio:16/9}
  .faq-aside{position:static}
  .stat-row{grid-template-columns:1fr}
  .customer-details,.account-content,.contact-grid>div:first-child,.prose-layout .entry-content,.single-product-wrap,.wc-tabs{padding:1.4rem}
  .single-post{padding:1rem 1.2rem 1.5rem}
}
@media (max-width:620px){.trust-card{grid-template-columns:1fr}.trust-card li{border-right:0;border-bottom:1px solid var(--line)}.trust-card li:last-child{border-bottom:0}}
@media (prefers-reduced-motion:reduce){li.product,.post-card,.product-category a{transition:none}li.product:hover,.post-card:hover,.product-category a:hover{transform:none}.ph>img{transition:none}}

/* =====================================================================
   HERO v2 + model-year grid + back-to-top
   ===================================================================== */
.text-area.alt.sec-tint{background:var(--bg)}
.hero2{position:relative;isolation:isolate;overflow:hidden;background:var(--ink-deep);color:#fff}
.hero2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;z-index:2;background:linear-gradient(90deg,var(--accent) 0 33.3%,var(--sky) 33.3% 66.6%,var(--blue) 66.6%)}
.hero2-bg{position:absolute;inset:0;z-index:-1}
.hero2-bg>img{width:100%;height:100%;object-fit:cover}
.hero2-bg:has(>img)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,56,.94) 0%,rgba(7,21,56,.8) 42%,rgba(7,21,56,.15) 100%)}
.hero2-art{position:absolute;right:-5%;top:48%;width:min(800px,63%);transform:translateY(-50%)}
.hero2-art::before{content:"";position:absolute;inset:-26% -9%;border-radius:50%;border:60px solid rgba(95,160,255,.09)}
.hero2-art::after{content:"";position:absolute;inset:-6% 4%;border-radius:50%;border:22px solid rgba(255,255,255,.04)}
.hero2-art svg{position:relative;z-index:1;width:100%;height:auto;filter:drop-shadow(0 34px 44px rgba(0,0,0,.55))}
.hero2-inner{display:grid;grid-template-columns:minmax(0,600px);align-items:center;min-height:clamp(540px,56vw,680px);padding-block:4.5rem 8rem}
.hero2 h1{font-size:clamp(2.7rem,5.4vw,4.6rem);line-height:1;font-stretch:125%;margin-bottom:.45em;color:#fff}
.hero2 .lead{font-size:1.2rem;color:#c9d7e1;max-width:34rem;margin-bottom:0}
.hero2 .finder{max-width:none;margin-top:2rem;padding:1.1rem;border-radius:var(--rad);box-shadow:0 18px 40px rgba(0,0,0,.35);grid-template-columns:1fr 1.3fr auto}
.hero2 .finder .button{padding:.78rem 1.5rem}
.hero-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem;align-items:center}
.hero-chips .chips-label{color:#9fb4c3;font-size:.92rem;margin-right:.2rem}
.hero-chips a{display:block;padding:.35rem .9rem;border:1px solid rgba(255,255,255,.28);border-radius:99px;color:#fff;text-decoration:none;font-size:.92rem;transition:background .15s,color .15s}
.hero-chips a:hover{background:#fff;color:var(--ink)}
.hero-models{margin:1.3rem 0 0;color:#9fb4c3;font-size:.92rem}

/* model-year grid */
.year-grid{list-style:none;display:grid;grid-template-columns:repeat(10,1fr);gap:.7rem}
.year-grid a{display:flex;flex-direction:column;align-items:center;padding:.9rem .4rem;background:#fff;border:1px solid var(--line);border-radius:var(--rad);text-decoration:none;box-shadow:var(--sh-1);transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.year-grid strong{font-size:1.25rem;font-stretch:125%;font-weight:800;line-height:1.1}
.year-grid span{font-size:.72rem;color:var(--steel);margin-top:.15rem}
.year-grid a:hover{background:var(--ink);color:#fff;transform:translateY(-3px);box-shadow:var(--sh-2)}
.year-grid a:hover span{color:#b4c6d3}

/* back to top */
.to-top{position:fixed;left:1.25rem;bottom:1.25rem;z-index:55;width:46px;height:46px;border:0;border-radius:50%;background:var(--ink);color:#fff;box-shadow:var(--sh-2);cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--accent)}

@media (max-width:1080px){.year-grid{grid-template-columns:repeat(7,1fr)}}
@media (max-width:900px){
  .hero2-inner{min-height:0;padding-block:3rem 5rem}
  .hero2-art{top:auto;bottom:-1rem;right:-25%;width:100%;transform:none;opacity:.3}
  .hero2-bg:has(>img)::after{background:rgba(7,21,56,.82)}
  .hero2 .finder{grid-template-columns:1fr}
  .year-grid{grid-template-columns:repeat(5,1fr)}
}
@media (max-width:620px){.year-grid{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){.year-grid a,.to-top{transition:none}.year-grid a:hover{transform:none}}


/* =====================================================================
   COLOR SCHEME: yellow + blue  (change the tokens in :root to retheme)
   ===================================================================== */
:root{--on-accent:#0a1d4a;--star:#e3a92e}
.button{color:var(--on-accent);font-weight:800}
.cart-count{color:var(--on-accent)}
.skip-link{color:var(--on-accent)}
.product-remove a:hover{color:var(--on-accent)}
.to-top:hover{background:var(--accent);color:var(--on-accent)}
.testimonial .stars{color:var(--star)}
.form-row abbr,.widget abbr{color:#c62828}
.product-category a:hover::after{border-color:var(--blue)}
.hero2 .finder .button,.hero2 h1{text-shadow:none}


/* =====================================================================
   LOGO THEME: navy / gold / red, racing stripes + checkered flag
   Brand colors are sampled from the logo (see :root). Keep this block last.
   ===================================================================== */
:root{
  --flag:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/22px 22px;
  --stripes:linear-gradient(90deg,var(--blue) 0 25%,var(--accent) 0 50%,#dfe5f1 0 75%,var(--red) 0);
  --sh-1:0 1px 2px rgba(10,29,74,.07),0 2px 8px rgba(10,29,74,.06);
  --sh-2:0 2px 4px rgba(10,29,74,.08),0 14px 32px rgba(10,29,74,.16);
}
::selection{background:var(--accent);color:var(--ink)}
body{background:var(--bg)}

.woocommerce-loop-product__title,.faq-list summary{font-style:normal}
.woocommerce-loop-product__title{font-weight:700}
.hero2 h1,.page-title,.section-head h2,.text-area h2,.cta-band h2,.footer-cta strong{text-transform:uppercase;letter-spacing:-.005em}
.section-head h2,.text-area h2{font-size:clamp(1.5rem,2.5vw,2.05rem)}

/* racing-stripe accent above headings (blue, gold, white, red like the logo's flag poles) */
.section-head h2::before,.text-area h2::before{
  width:84px;height:8px;border-radius:0;margin-bottom:1rem;transform:skewX(-24deg);transform-origin:left;
  background:var(--stripes);box-shadow:inset 0 0 0 1px rgba(10,29,74,.18)}

/* buttons */
.button{text-transform:uppercase;letter-spacing:.035em;font-weight:900;border-radius:6px;
  box-shadow:0 4px 0 var(--accent-d);border-color:var(--accent);transition:transform .12s,box-shadow .12s,background .15s}
.button:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--accent-d)}
.button:active{transform:translateY(4px);box-shadow:none}
.button.alt,.button.light,.button.outline-light{box-shadow:none}
.button.light{background:#fff;border-color:#fff;color:var(--ink);box-shadow:0 4px 0 rgba(10,29,74,.35)}
.button.light:hover{box-shadow:0 2px 0 rgba(10,29,74,.35)}
.link-btn{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;font-weight:800}

/* ----- top bar + header with the real logo ----- */
.topbar{background:var(--ink-deep);border-bottom:3px solid var(--accent)}
.topbar .phone{color:var(--accent)}
.site-header{box-shadow:0 2px 14px rgba(10,29,74,.12)}
.header-main{padding-block:.7rem;gap:1rem 2rem}
.logo{display:block;line-height:0}
.logo img{display:block;height:104px;width:auto;max-width:none}
.logo svg,.logo span{display:none}
.nav-bar{background:var(--ink);border-bottom:0;position:relative}
.nav-bar::after{content:"";display:block;height:6px;background:var(--flag);background-size:12px 12px;
  background-image:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0);opacity:.95}
.main-nav a{font-weight:700;text-transform:uppercase;font-size:.84rem;letter-spacing:.02em;padding-inline:.95rem}
.main-nav a[aria-current="page"]{background:rgba(255,255,255,.1);box-shadow:inset 0 -4px 0 var(--accent)}
.cart-count{background:var(--red);color:#fff}

/* ----- hero: navy track with the sticker logo and speed lines ----- */
.hero2{background:radial-gradient(120% 90% at 78% 40%,#16356f 0%,var(--ink) 48%,var(--ink-deep) 100%)}
.hero2::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.035) 46px 52px,transparent 52px 118px,rgba(242,184,28,.07) 118px 126px)}
.hero2::after{height:22px;background:var(--flag);background-image:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0);background-size:22px 22px;border-top:4px solid var(--accent)}
.hero2-art{right:1.5%;top:47%;width:min(610px,49%)}
.hero2-art::before{inset:-14% -6%;border-radius:50%;border:0;background:radial-gradient(closest-side,rgba(242,184,28,.22),transparent 72%)}
.hero2-art::after{display:none}
.hero2-art img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 28px 36px rgba(0,0,0,.55));transform:rotate(-2deg)}
.eyebrow{display:inline-block;margin:0 0 1rem;padding:.3rem .9rem .3rem .8rem;background:var(--accent);color:var(--ink);
  font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;
  clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.hero2 h1{font-weight:900;font-stretch:118%;line-height:.98;text-shadow:0 3px 0 rgba(0,0,0,.25)}
.hero2 .finder{border-top:5px solid var(--accent);border-radius:10px}
.hero-chips a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}

/* ----- trust card ----- */
.t-ico{background:var(--ink);color:var(--accent);border-radius:10px;transform:skewX(-8deg)}
.t-ico svg{transform:skewX(8deg)}
.trust-card{border-top:4px solid var(--red)}

/* ----- stats ----- */
.stat{border-left:0;border-top:5px solid var(--blue);border-radius:var(--rad)}
.stat:nth-child(2){border-top-color:var(--accent)}
.stat:nth-child(3){border-top-color:var(--red)}
.stat strong{font-weight:900;color:var(--ink)}

/* ----- category tiles ----- */
.c0{--chip:#0a1d4a}.c1{--chip:#f2b81c}.c2{--chip:#1c4477}.c3{--chip:#d60a09}.c4{--chip:#ffe08a}.c5{--chip:#2c5fa3}
.product-category .chip{border-radius:10px;transform:skewX(-8deg)}
.c1 .chip,.c4 .chip{color:var(--ink)}
.c3 .chip{color:#fff;box-shadow:none}
.product-category a:hover{border-color:var(--accent)}
.product-category a:hover::after{border-color:var(--red)}

/* ----- product cards + placeholders ----- */
.ph{background:linear-gradient(135deg,var(--ink) 0%,#16356f 100%);color:var(--accent)}
.ph::after{border:0;right:0;top:0;width:56px;height:28px;background:conic-gradient(#fff 25%,var(--ink) 0 50%,#fff 0 75%,var(--ink) 0) 0 0/14px 14px;border-bottom-left-radius:0;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent)}
.ph-year{font-weight:900;color:var(--accent);text-shadow:0 2px 0 rgba(0,0,0,.3)}
.ph-cat{color:#c8d4ea}
.ph-sm .ph-year{font-size:.85rem}
.ph-wide .ph-year{color:var(--accent)}
.ph>img{background:#fff}
li.product:hover{border-color:var(--accent)}
.loop-cat{color:var(--red);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}
.onsale{background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;clip-path:none}
.price ins{color:var(--ink)}
.summary .save{color:var(--red)}
.in-stock{color:#0d6b3a}
.post-cat{color:var(--red);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}

/* ----- CTA band + footer CTA ----- */
.cta-band{background:linear-gradient(100deg,var(--blue) 0%,var(--ink) 100%);border-block:4px solid var(--accent)}
.cta-band::after{border:0;width:520px;height:520px;margin-top:-260px;right:-60px;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 16px,transparent 16px 40px);border-radius:0;transform:skewX(-14deg)}
.cta-band p{color:#d8e2f2}
.footer-cta{background:var(--accent);color:var(--ink)}
.footer-cta span{color:#3b3410;font-weight:600}
.footer-cta .button.light{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 4px 0 #000}
.footer-cta .button.light:hover{background:var(--ink-deep)}

/* ----- page banners ----- */
.page-hero{position:relative;overflow:hidden;border-bottom:0;background:linear-gradient(100deg,var(--ink-deep),var(--ink) 60%,#16356f)}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.035) 46px 52px,transparent 52px 118px,rgba(242,184,28,.07) 118px 126px)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/12px 12px;border-top:4px solid var(--accent)}
.page-hero .wrap{position:relative;z-index:1;padding-block:2.4rem 3rem}
.page-hero .woocommerce-breadcrumb{color:#b4c3df}
.page-hero .woocommerce-breadcrumb [aria-current]{color:var(--accent)}

/* ----- widgets, tabs, accents ----- */
.widget-title{text-transform:uppercase;font-size:.92rem;letter-spacing:.04em;border-bottom:3px solid var(--accent)}
.call-widget,.call-box{border-top-color:var(--red);border-left-color:var(--red)}
.side-card{border-top-color:var(--accent)}
.tab-list button[aria-selected="true"]{border-color:var(--red)}
.woocommerce-pagination .current{background:var(--ink);border-color:var(--ink);color:var(--accent)}
.testimonial::before{color:var(--accent);opacity:.5}
.testimonial figcaption .avatar{background:var(--ink);color:var(--accent)}
.faq-list details[open]{border-color:var(--accent)}
.faq-list details[open] summary::after{background:var(--accent);color:var(--ink)}
.faq-aside{border-top:5px solid var(--accent)}
.year-grid a:hover{background:var(--ink);border-color:var(--ink)}
.year-grid a:hover strong{color:var(--accent)}
.to-top{background:var(--ink);color:var(--accent);border:2px solid var(--accent)}
.to-top:hover{background:var(--accent);color:var(--ink)}
.account-nav .is-active a{border-left-color:var(--red)}
.check-list li::before{background:var(--red);transform:skewX(-20deg);border-radius:1px}

/* ----- footer ----- */
.flag-strip{height:18px;background:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/18px 18px;border-block:3px solid var(--accent)}
.site-footer{background:var(--ink-deep)}
.footer-logo{display:block;width:min(230px,100%);margin-bottom:1rem;line-height:0}
.footer-logo img{width:100%;height:auto}
.site-footer h3{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:.95rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14)}

/* ----- responsive ----- */
@media (max-width:900px){
  .logo img{height:74px}
  .hero2-art{opacity:.22;right:-20%}
  .hero2::after{height:16px;background-size:16px 16px}
}
@media (max-width:620px){
  .logo img{height:60px}
  .header-main{padding-block:.55rem}
}
@media (prefers-reduced-motion:reduce){.button{transition:none}.button:hover,.button:active{transform:none}}

/* mobile: category tiles must not force horizontal scroll */
.cat-grid>li{min-width:0}
@media (max-width:620px){
  .cat-grid,.subcats .cat-grid{grid-template-columns:1fr}
  .product-category a{padding:.8rem 1rem}
}
.ph::after{border-radius:0!important}
.gallery .thumbs li{background:linear-gradient(135deg,var(--ink),#16356f);border-color:var(--ink)}
.gallery .thumbs li.on{border:3px solid var(--accent)}

/* =====================================================================
   COMPACT HEADER: logo | menu | login + cart icons (no search bar)
   ===================================================================== */
.header-main{grid-template-columns:auto minmax(0,1fr) auto;gap:1rem 1.5rem;padding-block:.5rem;align-items:center}
.logo img{height:84px}
.site-header::after{content:"";display:block;height:8px;border-bottom:3px solid var(--accent);
  background:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/8px 8px}
.site-header .main-nav{border:0;justify-self:center}
.site-header .main-nav>ul{list-style:none;display:flex;flex-wrap:nowrap;align-items:center;gap:.15rem}
.site-header .main-nav a,.more-toggle{display:block;padding:.55rem .75rem;border:0;border-radius:6px;background:none;color:var(--ink);
  font:inherit;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:none}
.site-header .main-nav a:hover,.more-toggle:hover{background:var(--bg);color:var(--ink)}
.site-header .main-nav a[aria-current="page"]{background:var(--ink);color:var(--accent);box-shadow:none}
.more-toggle{display:inline-flex;align-items:center;gap:.35rem}
.more-toggle svg{transition:transform .15s}
.more-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.main-nav .more{position:relative}
.main-nav .more-list{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:12.5rem;z-index:30;list-style:none;padding:.4rem;
  background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;box-shadow:var(--sh-2)}
.main-nav .more.open .more-list{display:block}
.more-list a{padding:.6rem .8rem!important}

.header-actions{gap:.35rem}
.icon-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--ink);text-decoration:none;transition:background .15s,color .15s}
.icon-btn:hover{background:var(--ink);color:var(--accent)}
.icon-btn .cart-count{position:absolute;top:1px;right:0;min-width:1.2rem;height:1.2rem;font-size:.7rem;padding:0 .25rem;border:2px solid #fff}
.header-actions .nav-toggle{display:none}

@media (max-width:1080px){.site-header .main-nav a,.more-toggle{padding-inline:.55rem;font-size:.78rem}}
@media (max-width:900px){
  .header-main{grid-template-columns:1fr auto;grid-template-areas:"logo actions" "nav nav";gap:.3rem 1rem}
  .logo{grid-area:logo}.header-actions{grid-area:actions}.site-header .main-nav{grid-area:nav;justify-self:stretch}
  .header-actions .nav-toggle{display:grid;place-items:center;width:46px;height:46px;margin:0;padding:0;border-radius:50%;background:var(--ink);color:var(--accent)}
  .site-header .main-nav>ul{display:none;flex-direction:column;align-items:stretch;gap:0;padding:.3rem 0 .8rem}
  .site-header .main-nav.open>ul{display:flex}
  .site-header .main-nav a{padding:.8rem .5rem;border-bottom:1px solid var(--line);border-radius:0;font-size:.9rem}
  .site-header .main-nav a[aria-current="page"]{border-radius:6px}
  .more-toggle{display:none}
  .main-nav .more{position:static}
  .site-header .main-nav .more-list,.site-header .main-nav .more.open .more-list{display:block;position:static;min-width:0;padding:0;border:0;box-shadow:none;border-radius:0;background:none}
  .more-list a{padding:.8rem .5rem!important}
}
@media (max-width:620px){.logo img{height:62px}.icon-btn,.header-actions .nav-toggle{width:42px;height:42px}}

/* =====================================================================
   HERO INSIDE THE CONTAINER: copy + logo are two columns of the same .wrap
   ===================================================================== */
.hero2-inner{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3rem;align-items:center;min-height:0;padding-block:4rem 5.5rem}
.hero2-copy{min-width:0}
.hero2-art{position:relative;right:auto;top:auto;bottom:auto;width:100%;max-width:520px;justify-self:center;transform:none;opacity:1}
.hero2-art::before{inset:-10% -8%}
.hero2-art img{width:100%}
.hero2 .finder{max-width:100%}
@media (max-width:900px){
  .hero2-inner{grid-template-columns:1fr;gap:1.8rem;padding-block:2.2rem 4rem}
  .hero2-art{order:-1;max-width:250px;justify-self:start;opacity:1;right:auto;bottom:auto}
}

/* ---------- lock page scroll when a panel is open ---------- */
html.no-scroll,html.no-scroll body{overflow:hidden}

/* ---------- FULL-SCREEN SEARCH ---------- */
.search-overlay{position:fixed;inset:0;z-index:200;display:grid;align-items:center;overflow-y:auto;color:#fff;
  background:radial-gradient(120% 90% at 80% 10%,#16356f 0%,var(--ink) 50%,var(--ink-deep) 100%);
  opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .22s,transform .22s,visibility 0s .22s}
.search-overlay::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.035) 46px 52px,transparent 52px 118px,rgba(242,184,28,.07) 118px 126px)}
.search-overlay::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;border-top:4px solid var(--accent);
  background:conic-gradient(var(--ink) 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0/18px 18px}
.search-overlay.open{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.so-inner{position:relative;z-index:1;max-width:900px;padding-block:5rem}
.so-close{position:absolute;z-index:2;top:1.2rem;right:1.4rem;width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.so-close:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.so-field{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:4px solid var(--accent);color:var(--accent)}
.so-field input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;font-weight:800;font-stretch:112%;font-size:clamp(1.25rem,3.3vw,2.4rem);padding:.3rem 0;outline:0;border-radius:0}
.so-field input::placeholder{color:rgba(255,255,255,.5)}
.so-field input::-webkit-search-cancel-button{display:none}
.so-field .button{flex:none;padding:.9rem 1.7rem}
.so-filters{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.so-filters select{font:inherit;font-weight:600;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:.7rem 1rem;min-width:11rem}
.so-filters select option{color:var(--ink)}
.so-popular{margin-top:1.8rem}
.so-popular .chips-label{color:#b4c3df}

/* ---------- CART DRAWER ---------- */
.drawer-backdrop{position:fixed;inset:0;z-index:150;background:rgba(6,18,54,.6);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.drawer-backdrop.open{opacity:1;visibility:visible;transition:opacity .25s}
.cart-drawer{position:fixed;z-index:160;top:0;right:0;bottom:0;width:min(440px,100%);display:flex;flex-direction:column;background:#fff;color:var(--ink);
  border-left:5px solid var(--accent);box-shadow:-18px 0 50px rgba(6,18,54,.35);transform:translateX(105%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
.cart-drawer.open{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.cd-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;background:var(--ink);color:#fff;border-bottom:4px solid var(--accent)}
.cd-head h2{margin:0;font-size:1.25rem;text-transform:uppercase}
.cd-count{color:var(--accent)}
.cd-close{width:42px;height:42px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.cd-close:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.cd-body{flex:1;overflow-y:auto;padding:.4rem 1.3rem}
.cd-items{list-style:none}
.cd-item{position:relative;display:grid;grid-template-columns:72px 1fr;gap:.9rem;padding:1.1rem 1.7rem 1.1rem 0;border-bottom:1px solid var(--line)}
.cd-thumb{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ink),#16356f);color:var(--accent);font-weight:900;font-size:.9rem;text-align:center;padding:.2rem}
.cd-info{min-width:0}
.cd-info a{display:block;font-weight:700;line-height:1.3;text-decoration:none}
.cd-info a:hover{text-decoration:underline}
.cd-sku{display:block;font-size:.8rem;color:var(--steel);margin:.15rem 0 .5rem}
.cd-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.cd-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.cd-qty button{width:2rem;height:2rem;border:0;background:var(--bg);font:inherit;font-size:1.1rem;cursor:pointer}
.cd-qty button:hover{background:var(--accent)}
.cd-qty span{min-width:2rem;text-align:center;font-weight:700}
.cd-remove{position:absolute;top:.85rem;right:0;width:1.7rem;height:1.7rem;border:0;border-radius:50%;background:var(--chrome);color:var(--ink);font-size:1.15rem;line-height:1;cursor:pointer}
.cd-remove:hover{background:var(--red);color:#fff}
.cd-empty{display:none;text-align:center;padding:3rem 1rem}
.cd-empty .button{margin-top:.6rem}
.cart-drawer.is-empty .cd-empty{display:block}
.cart-drawer.is-empty .cd-foot{display:none}
.cd-foot{padding:1.1rem 1.3rem 1.3rem;border-top:1px solid var(--line);background:var(--bg);display:grid;gap:.7rem}
.cd-sub{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}
.cd-sub strong{font-size:1.5rem;font-stretch:112%;font-weight:900}
.cd-note{margin:0;font-size:.85rem;color:var(--steel)}
.cd-foot .button{width:100%}

@media (max-width:620px){
  .so-inner{padding-block:5.5rem 4rem}
  .so-field .button{display:none}
  .so-field svg{width:26px;height:26px}
  .so-filters select{flex:1;min-width:0}
}
@media (prefers-reduced-motion:reduce){.search-overlay,.cart-drawer,.drawer-backdrop{transition:none}}

/* ---------- PRODUCT LISTS ---------- */
ul.products{align-items:stretch;gap:1.25rem}
li.product{min-width:0;border:1px solid #d9dfeb;border-radius:10px;background:#fff}
li.product>a.woocommerce-LoopProduct-link{min-width:0}
li.product .ph{aspect-ratio:1.12/1;justify-content:flex-end;isolation:isolate;
  background:radial-gradient(ellipse at 72% 25%,#244985 0,transparent 54%),linear-gradient(145deg,#0a1d4a,#102957 68%,#09183b)}
li.product .ph::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(135deg,transparent 0 32px,rgba(255,255,255,.04) 32px 34px,transparent 34px 66px)}
li.product .ph>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:contain;padding:1.25rem;
  background:transparent;transition:transform .35s ease}
li.product:hover .ph>img{transform:scale(1.045)}
li.product .ph-year{position:relative;z-index:1;align-self:flex-start;max-width:calc(100% - 1rem);
  padding:.35rem .65rem;border-left:3px solid var(--accent);border-radius:3px;
  background:rgba(6,18,54,.88);color:var(--accent);font-size:1rem;line-height:1.1;letter-spacing:.04em}
li.product .ph::after{z-index:1;right:0;top:0}
li.product .loop-cat{padding:.95rem 1.1rem .15rem}
li.product .woocommerce-loop-product__title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  min-height:3.9em;padding:.25rem 1.1rem .6rem;font-size:1rem;line-height:1.3}
li.product .price{margin-top:auto;padding:.35rem 1.1rem 1rem;font-size:1.15rem}
li.product .price del{font-size:.82rem}
li.product>.button{align-self:stretch;justify-content:center;margin:0 1.1rem 1.1rem}
li.product .onsale{top:.7rem;left:.7rem;padding:.35rem .65rem;border-radius:4px;font-size:.7rem}
.gallery .ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:1.25rem}
.gallery .ph-year,.gallery .ph-cat{position:relative;z-index:1}
.shop-toolbar{gap:.75rem 1rem}
.woocommerce-ordering select{max-width:100%}

@media (max-width:620px){
  ul.products,ul.products.columns-3{gap:.8rem}
  li.product .ph{aspect-ratio:1/1}
  li.product .loop-cat{padding:.75rem .8rem .1rem;font-size:.66rem}
  li.product .woocommerce-loop-product__title{min-height:3.7em;padding:.2rem .8rem .5rem;font-size:.9rem}
  li.product .price{padding:.2rem .8rem .75rem;font-size:1rem}
  li.product .price del{display:block;margin:0;font-size:.75rem}
  li.product>.button{margin:0 .8rem .8rem;padding:.55rem .5rem;font-size:.78rem}
  li.product .onsale{top:.5rem;left:.5rem;padding:.25rem .45rem;font-size:.62rem}
}

/* Keep the racing accents, with a lighter and more readable Poppins type scale. */
body{font-size:.94rem}
h1,h2,h3,h4{font-family:"Poppins",system-ui,sans-serif;font-stretch:normal;font-style:normal;font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(1.8rem,3.2vw,2.6rem)}
h2{font-size:clamp(1.3rem,2vw,1.7rem)}
h3{font-size:1.08rem}
.hero2 h1{font-size:clamp(2.25rem,4.2vw,3.5rem);font-style:normal;font-weight:700;line-height:1.08;letter-spacing:-.04em}
.page-title{font-size:clamp(1.8rem,3.2vw,2.6rem);font-style:normal;font-weight:700}
.section-head h2,.text-area h2,.cta-band h2{font-size:clamp(1.3rem,2.1vw,1.75rem);font-style:normal;font-weight:700;letter-spacing:-.025em}
.woocommerce-loop-product__title{font-size:.98rem;font-weight:600;letter-spacing:-.015em}
.button{font-family:"Poppins",system-ui,sans-serif;font-size:.82rem;font-style:normal;font-weight:700;letter-spacing:.02em}
.topbar,.product_meta,.woocommerce-result-count{font-size:.84rem}
body,body *{font-style:normal!important}


/* =====================================================================
   WORDPRESS, WOOCOMMERCE & ELEMENTOR THEME INTEGRATION
   ===================================================================== */

/* WordPress Admin Bar offset for fixed overlays/drawers */
body.admin-bar .search-overlay,
body.admin-bar .cart-drawer,
body.admin-bar .drawer-backdrop {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .search-overlay,
  body.admin-bar .cart-drawer,
  body.admin-bar .drawer-backdrop {
    top: 46px;
  }
}

/* WordPress Navigation Active & Submenu States */
.site-header .main-nav .current-menu-item > a,
.site-header .main-nav .current_page_item > a,
.site-header .main-nav .current-menu-ancestor > a {
  background: var(--ink);
  color: var(--accent);
  box-shadow: none;
}
.main-nav .menu-item-has-children {
  position: relative;
}
.main-nav .menu-item-has-children > .sub-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 12.5rem;
  z-index: 30;
  list-style: none;
  padding: .4rem;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--accent);
  border-radius: 8px;
  box-shadow: var(--sh-2);
}
.main-nav .menu-item-has-children:hover > .sub-menu,
.main-nav .menu-item-has-children:focus-within > .sub-menu,
.main-nav .menu-item-has-children.open > .sub-menu {
  display: block;
}
.main-nav .sub-menu a {
  padding: .6rem .8rem !important;
}
@media (max-width: 900px) {
  .main-nav .menu-item-has-children {
    position: static;
  }
  .site-header .main-nav .menu-item-has-children > .sub-menu {
    display: block;
    position: static;
    min-width: 0;
    padding: 0 0 0 1rem;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    background: none;
  }
}

/* Custom Logo compatibility */
.custom-logo-link {
  display: block;
  line-height: 0;
}
.custom-logo-link img.custom-logo {
  display: block;
  height: 84px;
  width: auto;
  max-width: none;
}
@media (max-width: 900px) {
  .custom-logo-link img.custom-logo { height: 74px; }
}
@media (max-width: 620px) {
  .custom-logo-link img.custom-logo { height: 62px; }
}

/* WooCommerce Notices (Success, Info, Error) */
.woocommerce-notices-wrapper:empty {
  display: none;
}
.woocommerce-error {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  border-radius: var(--rad);
  box-shadow: var(--sh-1);
  padding: .85rem 1.1rem;
  margin: 0 0 1.5rem;
  list-style: none;
}
.woocommerce-error li {
  margin-bottom: .3rem;
}
.woocommerce-error li:last-child {
  margin-bottom: 0;
}
.woocommerce-message,
.woocommerce-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.woocommerce-message .button,
.woocommerce-info .button {
  padding: .45rem .9rem;
  font-size: .8rem;
  order: 2;
}

/* WooCommerce Loop & Add to Cart States */
li.product .added_to_cart.wc-forward {
  display: none;
}
.add_to_cart_button.loading,
.single_add_to_cart_button.loading {
  opacity: .65;
  pointer-events: none;
}
.price ins,
.price > .woocommerce-Price-amount {
  color: var(--ink);
  text-decoration: none;
}
.price del,
.price del .woocommerce-Price-amount {
  color: var(--steel);
}

/* Single Product Gallery Thumbs & Variations */
.gallery .thumbs li {
  cursor: pointer;
  overflow: hidden;
  position: relative;
}
.gallery .thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  padding: .3rem;
  display: block;
}
.ph-sm {
  position: relative;
  overflow: hidden;
}
.ph-sm > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: .2rem;
  background: #fff;
}
.cd-thumb {
  position: relative;
  overflow: hidden;
}
.cd-thumb > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: .25rem;
  background: #fff;
}
.post-media .ph-wide > img,
.single-post .ph-hero > img {
  object-fit: cover;
  padding: 0;
}
table.variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
table.variations th.label,
table.variations td.value {
  padding: .4rem 0;
  text-align: left;
  display: block;
}
table.variations th.label label {
  font-weight: 700;
  font-size: .92rem;
}
table.variations select {
  width: 100%;
  font: inherit;
  color: var(--ink);
  padding: .65rem .8rem;
  border: 1px solid #b3bfd8;
  border-radius: 4px;
  background: #fff;
}
.reset_variations {
  display: inline-block;
  margin-top: .35rem;
  font-size: .85rem;
  color: var(--steel);
}
.single_variation_wrap .woocommerce-variation-price {
  margin-bottom: .8rem;
}

/* WooCommerce Checkout Fields Grid Integration */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1rem;
}
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-additional-fields__field-wrapper .form-row-wide,
.woocommerce-address-fields__field-wrapper .form-row-wide,
.form-row.form-row-wide,
.form-row.notes {
  grid-column: 1 / -1;
}
.woocommerce-input-wrapper {
  display: block;
  width: 100%;
}
.select2-container .select2-selection--single {
  height: 44px !important;
  border: 1px solid #b3bfd8 !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ink) !important;
  line-height: 42px !important;
  padding-left: .8rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px !important;
}
@media (max-width: 620px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper,
  .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
}

/* WooCommerce Payment Methods List in Checkout */
ul.wc_payment_methods {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
}
li.wc_payment_method {
  margin-bottom: .5rem;
}
li.wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem;
  border: 1px solid var(--line);
  border-radius: 4px;
  cursor: pointer;
  font-weight: 700;
  background: #fff;
}
li.wc_payment_method > input[type="radio"] {
  margin: 0 .5rem 0 0;
}
li.wc_payment_method .payment_box {
  background: var(--bg);
  border-radius: 4px;
  padding: .85rem 1rem;
  font-size: .9rem;
  color: var(--steel);
  margin: .4rem 0 .6rem;
}
li.wc_payment_method .payment_box p:last-child {
  margin-bottom: 0;
}

/* WooCommerce Order Received / Thank You Page */
.woocommerce-order {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--rad);
  box-shadow: var(--sh-1);
  padding: 2rem 2.2rem;
}
ul.woocommerce-order-overview {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
  padding: 1.2rem;
  background: var(--bg);
  border-radius: var(--rad);
}
ul.woocommerce-order-overview li {
  font-size: .85rem;
  color: var(--steel);
}
ul.woocommerce-order-overview li strong {
  display: block;
  font-size: 1.05rem;
  color: var(--ink);
  margin-top: .2rem;
}
.woocommerce-customer-details {
  margin-top: 2rem;
}
.woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 620px) {
  .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
}

/* WordPress Alignment & Caption Helpers */
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .85rem; color: var(--steel); margin-top: .4rem; }

/* Elementor & Elementor Pro Full Compatibility */
.elementor-template-full-width #main,
.elementor-page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) #main.elementor-full-width {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Elementor Pro Form Widget Styling (matches `contact.html` & `checkout.html` forms) */
.elementor-form .elementor-field-group {
  margin-bottom: 1rem;
}
.elementor-form .elementor-field-label {
  font-family: "Poppins", system-ui, sans-serif;
  font-weight: 700;
  font-size: .88rem;
  color: var(--ink);
  margin-bottom: .35rem;
}
.elementor-form .elementor-field-textual,
.elementor-form select.elementor-field,
.elementor-form textarea.elementor-field {
  font-family: "Poppins", system-ui, sans-serif;
  font-size: .94rem;
  color: var(--ink);
  background-color: #fff;
  border: 1px solid #b3bfd8;
  border-radius: 4px;
  padding: .68rem .85rem;
  transition: border-color .15s, box-shadow .15s;
}
.elementor-form .elementor-field-textual:focus,
.elementor-form select.elementor-field:focus,
.elementor-form textarea.elementor-field:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(29, 78, 216, .15);
  outline: none;
}
.elementor-form .elementor-button {
  font-family: "Poppins", system-ui, sans-serif;
  font-weight: 700;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  background-color: var(--accent);
  color: var(--ink);
  border-radius: 4px;
  padding: .85rem 1.6rem;
  border: 2px solid var(--accent);
  transition: background-color .15s, color .15s, border-color .15s;
}
.elementor-form .elementor-button:hover,
.elementor-form .elementor-button:focus {
  background-color: var(--ink);
  border-color: var(--ink);
  color: var(--accent);
}

/* Elementor Pro WooCommerce & Loop Grid Compatibility */
.elementor-widget-wc-archive-products ul.products,
.elementor-widget-woocommerce-products ul.products,
.elementor-widget-hip_products ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
}
.elementor-location-header,
.elementor-location-footer {
  position: relative;
  z-index: 40;
}
.hip-part-finder-wrap .finder {
  margin-top: 0;
}
