/* ==========================================================
   Pioneer Powersports — design tokens
   ========================================================== */
:root{
  --bg:#f6f3ec; --surface:#ffffff; --surface-2:#efece2; --surface-3:#e6e1d3;
  --ink:#181c22; --ink-soft:#565c6b; --ink-faint:#8890a0;
  --border:#e3ddcd; --border-strong:#d3cbb5;
  --accent:#d8431e; --accent-deep:#b0350f; --accent-ink:#fff6f0;
  --navy:#1b2431; --navy-2:#242f3f; --navy-ink:#f3f1e9;
  --gold:#b9822b; --gold-soft:#f3e6cb;
  --good:#2c7a4b; --good-soft:#e2f0e5;
  --danger:#c0272d; --danger-soft:#fbe4e2;
  --focus:#1c6fd8;
  --shadow: 0 1px 2px rgba(20,16,8,.06), 0 8px 24px -12px rgba(20,16,8,.18);
  --radius: 10px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:15px; line-height:1.5; margin:0;
}
h1,h2,h3,h4{font-family:'Oswald',system-ui,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.02em; margin:0;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace; font-variant-numeric:tabular-nums;}
a{color:inherit;}
button{font-family:inherit;}
img{max-width:100%; height:auto;}
.wrap{max-width:1240px; margin-inline:auto; padding-inline:20px;}
@media (max-width:640px){ .wrap{padding-inline:16px;} }
[hidden]{display:none!important;}
.pp-section{padding-block:52px;}

/* ---------- utility bar ---------- */
.utility{background:var(--navy); color:var(--navy-ink); font-size:12.5px;}
.utility .wrap{display:flex; align-items:center; justify-content:space-between; height:34px; gap:12px;}
.utility a{text-decoration:none; opacity:.9; color:inherit;}
.utility a:hover{opacity:1; text-decoration:underline;}
.utility-left{display:flex; gap:16px; align-items:center;}
.utility-right{display:flex; gap:14px; align-items:center;}
.utility-right a{display:flex;align-items:center;gap:5px;}
.utility-right .fin-link{color:var(--gold); font-weight:700; opacity:1;}
@media (max-width:760px){ .utility-left span:not(:first-child){display:none;} }

/* ---------- header ---------- */
header.site{position:sticky; top:0; z-index:40; background:var(--surface); border-bottom:1px solid var(--border);}
.header-row{display:flex; align-items:center; gap:22px; height:72px;}
.logo{display:flex; align-items:center; gap:12px; text-decoration:none; flex:0 0 auto;}
.logo img{max-height:48px; width:auto; display:block;}
.logo-text{font-family:'Oswald'; font-weight:700; font-size:17px; color:var(--ink);}
.logo-tagline{font-family:'Inter'; font-weight:600; font-size:10px; letter-spacing:.14em; color:var(--ink-faint); text-transform:uppercase; border-left:1px solid var(--border-strong); padding-left:12px; line-height:1.4;}
@media (max-width:760px){ .logo-tagline{display:none;} }

nav.primary ul.primary-menu{display:flex; gap:2px; list-style:none; margin:0; padding:0;}
nav.primary{flex:1;}
nav.primary a{
  display:block; text-decoration:none; color:var(--ink-soft); font-weight:600; font-size:13.5px;
  padding:10px 13px; border-radius:8px; letter-spacing:.01em;
}
nav.primary a:hover{background:var(--surface-2); color:var(--ink);}
nav.primary .current-menu-item > a{color:var(--accent); background:var(--surface-2);}

.header-actions{display:flex; align-items:center; gap:8px;}
.icon-btn{
  background:none;border:1px solid transparent; cursor:pointer; color:var(--ink); text-decoration:none;
  width:38px;height:38px;border-radius:8px; display:flex;align-items:center;justify-content:center; position:relative;
}
.icon-btn:hover{background:var(--surface-2);}
.cart-count{
  position:absolute; top:-4px; right:-4px; background:var(--accent); color:var(--accent-ink);
  font-size:10.5px; font-weight:700; border-radius:999px; min-width:17px; height:17px; display:flex;align-items:center;justify-content:center; padding:0 3px;
}
.search-wrap{position:relative; flex:0 1 260px;}
.search-box{display:flex; align-items:center; gap:8px; background:var(--surface-2); border:1px solid var(--border); border-radius:999px; padding:7px 14px;}
.search-box input{background:none;border:none;outline:none;color:var(--ink);font-size:13.5px;width:100%;}
.search-box input::placeholder{color:var(--ink-faint);}
.search-dropdown{position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); max-height:70vh; overflow-y:auto; z-index:55; padding:6px;}
.search-item{display:flex; align-items:center; gap:10px; padding:7px; border-radius:8px; cursor:pointer; background:none; border:none; width:100%; text-align:left; font:inherit; color:inherit; text-decoration:none;}
.search-item:hover, .search-item:focus{background:var(--surface-2); outline:none;}
.search-item .thumb{width:42px;height:34px;border-radius:7px; flex:0 0 auto; display:flex;align-items:center;justify-content:center; overflow:hidden;}
.search-item .thumb svg{width:60%; color:#fff;}
.search-item .thumb img{width:100%;height:100%;object-fit:cover;}
.search-item .info{flex:1; min-width:0;}
.search-item .info b{display:block; font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.search-item .info span{font-size:11px; color:var(--ink-faint);}
.search-item .price{font-family:'IBM Plex Mono'; font-size:12px; font-weight:600; flex:0 0 auto; white-space:nowrap;}
.search-footer{border-top:1px solid var(--border); margin-top:4px; padding-top:4px;}
.search-footer button{width:100%; background:none;border:none;color:var(--accent);font-weight:700;font-size:12.5px;padding:9px 7px;cursor:pointer;text-align:left; border-radius:8px;}
.search-footer button:hover{background:var(--surface-2);}
.search-empty{padding:20px 10px; text-align:center; color:var(--ink-faint); font-size:12.5px;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:8px; border:1px solid transparent; font-weight:700; font-size:13.5px;
  padding:11px 20px; cursor:pointer; letter-spacing:.02em; text-decoration:none;
}
.btn-accent{background:var(--accent); color:var(--accent-ink);}
.btn-accent:hover{background:var(--accent-deep); color:var(--accent-ink);}
.btn-ghost{background:var(--surface); color:var(--ink); border-color:var(--border-strong);}
.btn-ghost:hover{background:var(--surface-2);}
.btn-dark{background:var(--navy); color:var(--navy-ink);}
.btn-dark:hover{background:var(--navy-2); color:var(--navy-ink);}
.btn-gold{background:var(--gold); color:#211603;}
.btn-gold:hover{background:#a3761f; color:#211603;}
.btn-sm{padding:8px 14px; font-size:12.5px;}
.btn-block{width:100%;}
.btn:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible{outline:2px solid var(--focus); outline-offset:2px;}
.header-fin-btn{display:inline-flex;}
@media (max-width:560px){ .header-fin-btn{display:none;} }
.hamburger{display:none;}
@media (max-width:980px){
  nav.primary{display:none;}
  .search-wrap{display:none;}
  .hamburger{display:flex;}
}

/* ---------- mobile drawer ---------- */
.drawer-backdrop{position:fixed;inset:0;background:rgba(10,10,10,.45);z-index:60;}
.drawer{position:fixed; top:0; left:0; bottom:0; width:min(320px,86vw); background:var(--surface); z-index:61; padding:20px; overflow-y:auto;}
.drawer h3{font-size:13px; color:var(--ink-faint); margin-bottom:10px; margin-top:22px;}
.drawer-nav-list{list-style:none; margin:0; padding:0;}
.drawer-nav-list li{border-bottom:1px solid var(--border);}
.drawer-nav-list a, .drawer a.nav-item{display:block; text-decoration:none; color:var(--ink); font-family:'Oswald'; font-size:17px; text-transform:uppercase; padding:12px 2px;}
.drawer a.nav-item{font-size:14px; border-bottom:1px solid var(--border);}

/* ---------- trust strip ---------- */
.trust-strip{background:var(--navy); color:var(--navy-ink);}
.trust-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding-block:14px;}
.trust-item{display:flex; align-items:center; gap:10px; font-size:12.5px; font-weight:600; border-left:1px solid rgba(255,255,255,.12); padding-left:16px; text-decoration:none; color:inherit;}
.trust-item:first-child{border-left:none; padding-left:0;}
.trust-item svg{flex:0 0 auto; color:var(--accent);}
.trust-item span small{display:block; font-weight:400; color:var(--ink-faint); text-transform:none; letter-spacing:0; font-size:11px;}
@media (max-width:900px){ .trust-strip .wrap{grid-template-columns:repeat(2,1fr); row-gap:12px;} .trust-item:nth-child(3){border-left:none;} }
@media (max-width:560px){ .trust-strip .wrap{grid-template-columns:1fr;} .trust-item{border-left:none; border-top:1px solid rgba(255,255,255,.12); padding-top:10px; padding-left:0;} .trust-item:first-child{border-top:none;padding-top:0;} }

/* ---------- hero ---------- */
.hero{background:linear-gradient(180deg,var(--surface-2),var(--bg)); border-bottom:1px solid var(--border);}
.hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding-block:52px;}
.eyebrow{display:inline-flex; align-items:center; gap:7px; background:var(--gold-soft); color:var(--gold); font-weight:700; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin-bottom:16px;}
.hero h1{font-size:clamp(32px,4.4vw,52px); line-height:1.03; margin-bottom:16px;}
.hero h1 em{font-style:normal; color:var(--accent);}
.hero p.lead{color:var(--ink-soft); font-size:16px; max-width:46ch; margin-bottom:26px;}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px;}
.hero-stats{display:flex; gap:28px; flex-wrap:wrap;}
.hero-stats div b{display:block; font-family:'Oswald'; font-size:22px;}
.hero-stats div span{color:var(--ink-faint); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em;}
.hero-visual{position:relative; aspect-ratio:5/4; border-radius:18px; overflow:hidden; background:
   radial-gradient(120% 100% at 20% 15%, #3a3226 0%, transparent 55%),
   linear-gradient(150deg,var(--navy),#3c2416 60%, var(--accent-deep));
   display:flex;align-items:center;justify-content:center; box-shadow:var(--shadow);}
.hero-visual svg{width:62%; color:#fff; opacity:.94; filter:drop-shadow(0 14px 18px rgba(0,0,0,.35));}
.hero-badge{position:absolute; top:16px; left:16px; background:var(--accent); color:var(--accent-ink); font-weight:700; font-size:12px; padding:7px 12px; border-radius:8px;}
.hero-badge-2{position:absolute; bottom:16px; right:16px; background:rgba(255,255,255,.14); backdrop-filter:blur(6px); color:#fff; font-size:12px; padding:8px 12px; border-radius:8px; font-weight:600; border:1px solid rgba(255,255,255,.25);}
@media (max-width:860px){ .hero .wrap{grid-template-columns:1fr; padding-block:34px;} }

/* ---------- section head / category grid ---------- */
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap;}
.section-head h2{font-size:26px;}
.section-head p{color:var(--ink-faint); font-size:13px; margin-top:4px;}
.link-more{font-weight:700; font-size:12.5px; text-decoration:none; color:var(--accent); white-space:nowrap;}
.link-more:hover{text-decoration:underline;}

.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
@media (max-width:900px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
.cat-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:18px; display:flex; flex-direction:column; gap:10px; cursor:pointer; text-align:left; width:100%;
  transition:transform .12s ease, border-color .12s ease; text-decoration:none;
}
.cat-card:hover{border-color:var(--accent); transform:translateY(-2px);}
.cat-icon{width:48px;height:48px;border-radius:10px; display:flex;align-items:center;justify-content:center; color:#fff; flex:0 0 auto;}
.cat-card b{font-family:'Oswald'; font-size:14.5px; letter-spacing:.02em; color:var(--ink);}
.cat-card span{color:var(--ink-faint); font-size:12px;}

/* ---------- product grid / card ---------- */
.prod-grid, ul.products{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; list-style:none; margin:0 0 24px; padding:0;}
@media (max-width:980px){ .prod-grid, ul.products{grid-template-columns:repeat(3,1fr);} }
@media (max-width:720px){ .prod-grid, ul.products{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .prod-grid, ul.products{grid-template-columns:1fr;} }
ul.products li.product{list-style:none;}

.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; position:relative;}
.card-media{aspect-ratio:4/3; position:relative;}
.card-badges{position:absolute; top:9px; left:9px; display:flex; flex-direction:column; gap:5px; align-items:flex-start; z-index:2;}
.badge{font-size:10.5px; font-weight:700; padding:4px 8px; border-radius:5px; letter-spacing:.02em; text-transform:uppercase;}
.badge-sale{background:var(--accent); color:var(--accent-ink);}
.badge-store{background:rgba(0,0,0,.55); color:#fff; backdrop-filter:blur(3px);}
.badge-out{background:var(--danger); color:#fff;}
.card-body{padding:13px 14px 15px; display:flex; flex-direction:column; gap:6px; flex:1;}
.card-cat{font-size:10.5px; font-weight:700; letter-spacing:.08em; color:var(--ink-faint); text-transform:uppercase;}
.card-title{font-size:13.5px; font-weight:600; line-height:1.35; text-decoration:none; color:var(--ink);}
.card-title:hover{color:var(--accent);}
.card-price{margin-top:auto; padding-top:6px; font-family:'IBM Plex Mono'; font-weight:600; font-size:16px;}
.card-price del{font-size:12px; color:var(--ink-faint); font-weight:400; margin-right:6px;}
.card-price ins{text-decoration:none;}
.est-pay{font-size:12px; color:var(--ink-soft); margin-top:2px;}
.est-pay a{color:var(--accent);font-weight:700;text-decoration:underline;}
.card-add{margin-top:9px; width:100%; padding:9px; font-size:12px; text-align:center;}

/* ---------- financing band / callouts ---------- */
.fin-band{background:linear-gradient(120deg,var(--navy),#33231a); color:var(--navy-ink); border-radius:16px; padding:34px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.fin-band h3{font-size:24px; margin-bottom:8px; color:#fff;}
.fin-band p{color:#c9cdd6; max-width:52ch; font-size:14px;}
.fin-figures{display:flex; gap:22px;}
.fin-figures div{text-align:center;}
.fin-figures b{display:block; font-family:'Oswald'; font-size:26px; color:var(--gold);}
.fin-figures span{font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:#a9adb8;}
.fin-callout{background:var(--gold-soft); border:1px solid var(--gold); border-radius:12px; padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;}
.fin-context{display:inline-flex; align-items:center; gap:8px; background:var(--gold-soft); border:1px solid var(--gold); color:var(--ink); font-size:12.5px; font-weight:600; padding:8px 14px; border-radius:8px; margin-bottom:22px;}
.float-fin{position:fixed; right:18px; bottom:22px; z-index:50; display:flex; align-items:center; gap:8px; background:var(--gold); color:#211603; border:none; padding:13px 18px; border-radius:999px; font-weight:700; font-size:13px; cursor:pointer; box-shadow:var(--shadow); text-decoration:none;}
@media (max-width:640px){ .float-fin{bottom:16px; right:16px; padding:11px 15px; font-size:12.5px;} }

.brand-strip{display:flex; gap:34px; overflow-x:auto; padding-block:6px;}
.brand-strip a{font-family:'Oswald'; font-weight:600; font-size:15px; color:var(--ink-faint); white-space:nowrap; text-decoration:none;}
.brand-strip a:hover{color:var(--ink);}

/* ---------- financing page ---------- */
.lender-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px; margin-bottom:18px; display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap;}
.lender-icon{width:52px;height:52px;border-radius:12px;background:var(--navy); display:flex;align-items:center;justify-content:center; flex:0 0 auto; color:var(--gold);}
.lender-body{flex:1; min-width:240px;}
.lender-body h3{font-size:19px; text-transform:none; margin-bottom:8px;}
.lender-body > p{color:var(--ink-soft); font-size:13.5px; line-height:1.7; margin-bottom:14px; max-width:64ch;}
.lender-list{list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:6px;}
.lender-list li{font-size:13px; color:var(--ink-soft); padding-left:20px; position:relative;}
.lender-list li::before{content:"✓"; position:absolute; left:0; color:var(--good); font-weight:700;}
.lender-fine{font-size:10.5px; color:var(--ink-faint); line-height:1.6; margin-top:14px; max-width:70ch;}
.lender-actions{display:flex; gap:10px; flex-wrap:wrap;}
.fin-perks{display:flex; gap:14px; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); flex-wrap:wrap;}
.fin-perks div{display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--ink-soft);}
.fin-perks svg{color:var(--good); flex:0 0 auto;}
.lead-panel{background:var(--navy); color:var(--navy-ink); border-radius:16px; padding:32px; margin-top:36px;}
.lead-panel h2{color:#fff; font-size:22px; margin-bottom:8px;}
.lead-panel p{color:#b9bec9; font-size:13.5px; margin-bottom:22px; max-width:60ch;}
.lead-panel .field label{color:#c9cdd6;}
.lead-panel .field input, .lead-panel .field select, .lead-panel .field textarea{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); color:#fff;}
.lead-panel .field input::placeholder, .lead-panel .field textarea::placeholder{color:#7c8494;}

/* ---------- breadcrumb ---------- */
.crumb, nav.woocommerce-breadcrumb{font-size:12px; color:var(--ink-faint); padding-block:14px; display:block;}
.crumb a, nav.woocommerce-breadcrumb a{color:var(--ink-faint); text-decoration:none;}
.crumb a:hover, nav.woocommerce-breadcrumb a:hover{color:var(--accent);}

/* ---------- shop layout / filters ---------- */
.shop-layout{display:grid; grid-template-columns:240px 1fr; gap:28px; align-items:start;}
@media (max-width:860px){ .shop-layout{grid-template-columns:1fr;} }
.filters{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:18px; position:sticky; top:88px;}
@media (max-width:860px){ .filters{position:static;} }
.filters h4{font-size:11.5px; letter-spacing:.08em; color:var(--ink-faint); margin-bottom:10px; margin-top:18px; text-transform:uppercase;}
.filters h4:first-child{margin-top:0;}
.filter-row{display:flex; align-items:center; gap:9px; font-size:13.5px; padding:5px 0; cursor:pointer;}
.filter-row input{accent-color:var(--accent); width:15px;height:15px;}
.filter-row .count{margin-left:auto; color:var(--ink-faint); font-size:11.5px;}
.range-row{display:flex; align-items:center; gap:8px;}
input[type=range]{width:100%; accent-color:var(--accent);}
.clear-filters{font-size:12px; color:var(--accent); background:none;border:none;cursor:pointer; font-weight:600; padding:0; text-decoration:none;}

.shop-toolbar{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap;}
.shop-toolbar .count, .woocommerce-result-count{color:var(--ink-faint); font-size:13px; margin:0;}
select, .woocommerce-ordering select{background:var(--surface); color:var(--ink); border:1px solid var(--border-strong); border-radius:8px; padding:9px 12px; font-size:12.5px; font-weight:600;}
.empty-state, .woocommerce-info{padding:60px 20px; text-align:center; color:var(--ink-faint); border:1px dashed var(--border-strong); border-radius:var(--radius); list-style:none;}

/* ---------- product detail (real WooCommerce markup) ---------- */
.woocommerce div.product{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;}
@media (max-width:900px){ .woocommerce div.product{grid-template-columns:1fr;} }
.woocommerce div.product div.images{margin:0;}
.woocommerce div.product div.images img{border-radius:14px;}
.woocommerce div.product .summary{padding:0;}
.woocommerce div.product .product_title{font-size:26px; text-transform:none; margin-block:8px 12px;}
.woocommerce div.product p.price, .woocommerce div.product span.price{font-family:'IBM Plex Mono'; font-size:26px; font-weight:600; color:var(--ink);}
.woocommerce div.product p.price del, .woocommerce div.product span.price del{font-size:15px; color:var(--ink-faint); opacity:1;}
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins{text-decoration:none;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--ink-soft); font-size:14px; line-height:1.7; margin-block:14px;}
.woocommerce div.product form.cart{margin-block:20px 10px; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.woocommerce div.product form.cart .quantity{margin:0;}
.woocommerce div.product form.cart input.qty{width:64px; padding:10px; border:1px solid var(--border-strong); border-radius:8px; font-family:'IBM Plex Mono';}
.woocommerce div.product form.cart button.single_add_to_cart_button{background:var(--accent); color:var(--accent-ink); border:none; border-radius:8px; font-weight:700; font-size:13.5px; padding:13px 26px; cursor:pointer; letter-spacing:.02em;}
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--accent-deep);}
.woocommerce div.product .product_meta{font-size:12px; color:var(--ink-faint); border-top:1px solid var(--border); padding-top:14px; margin-top:18px;}
.woocommerce div.product .product_meta a{color:var(--ink-soft);}
.pp-est-pay{background:var(--surface-2); border:1px solid var(--border); border-radius:10px; padding:12px 16px; font-size:13px; color:var(--ink-soft); margin-block:14px;}
.pp-est-pay strong{color:var(--gold); font-family:'IBM Plex Mono';}
.pp-est-pay a{color:var(--accent); font-weight:700;}
.pd-trust{display:flex; flex-direction:column; gap:9px; margin-top:20px; padding-top:18px; border-top:1px solid var(--border);}
.pd-trust div{display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--ink-soft);}
.pd-trust svg{flex:0 0 auto; color:var(--good); margin-top:1px;}
.pd-trust a{color:var(--accent); font-weight:700;}

.woocommerce-tabs{margin-top:44px;}
.woocommerce-tabs ul.tabs{display:flex; gap:22px; border-bottom:1px solid var(--border); margin:0 0 20px; padding:0; list-style:none;}
.woocommerce-tabs ul.tabs li{margin:0;}
.woocommerce-tabs ul.tabs li a{font-family:'Oswald'; font-size:13.5px; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-faint); text-decoration:none; display:block; padding:12px 0; border-bottom:2px solid transparent;}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink); border-color:var(--accent);}
.woocommerce-tabs .panel{color:var(--ink-soft); font-size:14px; line-height:1.7; max-width:70ch;}
.woocommerce-tabs table.shop_attributes{width:100%; max-width:520px; border-collapse:collapse; font-size:13px;}
.woocommerce-tabs table.shop_attributes tr{border-bottom:1px solid var(--border);}
.woocommerce-tabs table.shop_attributes th, .woocommerce-tabs table.shop_attributes td{padding:9px 4px; font-weight:400;}
.woocommerce-tabs table.shop_attributes th{color:var(--ink-faint); width:40%; text-align:left;}

.related.products, .upsells.products{margin-top:44px;}
.related.products > h2, .upsells.products > h2{font-family:'Oswald'; font-size:20px; margin-bottom:20px;}

.sticky-buy{position:fixed; bottom:0; left:0; right:0; background:var(--surface); border-top:1px solid var(--border); padding:10px 16px; display:none; align-items:center; justify-content:space-between; gap:12px; z-index:45; box-shadow:0 -6px 18px rgba(0,0,0,.08);}
@media (max-width:640px){ .sticky-buy.show{display:flex;} }
.sticky-buy strong{font-family:'IBM Plex Mono'; font-size:16px;}

/* ---------- cart page (real WooCommerce markup) ---------- */
.woocommerce-cart .cart-collaterals, .woocommerce-cart form.woocommerce-cart-form{margin-bottom:20px;}
table.shop_table{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;}
table.shop_table th{background:var(--surface-2); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); text-align:left; padding:12px;}
table.shop_table td{padding:14px 12px; border-top:1px solid var(--border); font-size:13.5px;}
table.shop_table td.product-thumbnail img{width:64px; border-radius:8px;}
table.shop_table td.product-remove a{color:var(--ink-faint); font-size:18px; text-decoration:none;}
table.shop_table .quantity input.qty{width:56px; padding:8px; border:1px solid var(--border-strong); border-radius:6px;}
.cart_totals{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-top:20px; max-width:420px; margin-left:auto;}
.cart_totals h2{font-size:15px; margin-bottom:14px;}
.cart_totals table{width:100%; border-collapse:collapse;}
.cart_totals table th, .cart_totals table td{padding:9px 0; border-top:1px solid var(--border); font-size:13px;}
.cart_totals .order-total td, .cart_totals .order-total th{font-weight:700; font-size:15px;}
.wc-proceed-to-checkout a.checkout-button{display:block; text-align:center; background:var(--accent); color:var(--accent-ink); border-radius:8px; font-weight:700; padding:13px; text-decoration:none; margin-top:14px;}
.wc-proceed-to-checkout a.checkout-button:hover{background:var(--accent-deep);}
.woocommerce-cart-form .coupon{display:flex; gap:8px; align-items:center;}
.woocommerce-cart-form .coupon input#coupon_code{border:1px solid var(--border-strong); border-radius:8px; padding:10px 12px;}
.woocommerce-cart-form .coupon button{background:var(--surface); border:1px solid var(--border-strong); border-radius:8px; padding:10px 16px; cursor:pointer; font-weight:600;}
button[name="update_cart"]{background:var(--navy); color:#fff; border:none; border-radius:8px; padding:10px 18px; font-weight:600; cursor:pointer;}
.pp-fin-cart-cta{display:block; text-align:center; background:var(--gold); color:#211603; border-radius:8px; font-weight:700; padding:12px; text-decoration:none; margin-top:10px;}

/* ---------- checkout ---------- */
.woocommerce-checkout #customer_details{max-width:640px;}
.woocommerce-checkout .form-row{margin-bottom:14px;}
.woocommerce-checkout .form-row label{display:block; font-size:12px; font-weight:700; margin-bottom:6px; color:var(--ink-soft);}
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea{width:100%; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); border-radius:8px; padding:11px 12px; font-size:13.5px;}
#order_review{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-top:24px;}
#order_review table.shop_table{border:none;}
.wc_payment_methods{list-style:none; margin:0; padding:0;}
.wc_payment_methods li{border:1px solid var(--border-strong); border-radius:10px; padding:14px; margin-bottom:10px;}
#place_order{background:var(--accent); color:var(--accent-ink); border:none; border-radius:8px; font-weight:700; font-size:14px; padding:15px 24px; cursor:pointer; width:100%;}
#place_order:hover{background:var(--accent-deep);}

/* ---------- forms (generic — contact / financing / track order) ---------- */
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:520px){ .field-row{grid-template-columns:1fr;} }
.field{margin-bottom:14px;}
.field label{display:block; font-size:12px; font-weight:700; margin-bottom:6px; color:var(--ink-soft);}
.field input, .field select, .field textarea{width:100%; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); border-radius:8px; padding:11px 12px; font-size:13.5px; font-family:inherit;}
.wpcf7-form .wpcf7-form-control-wrap{display:block; margin-bottom:14px;}
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form textarea{width:100%; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); border-radius:8px; padding:11px 12px; font-size:13.5px;}
.wpcf7-form input[type=submit]{background:var(--accent); color:var(--accent-ink); border:none; border-radius:8px; font-weight:700; padding:11px 20px; cursor:pointer;}

/* ---------- track order ---------- */
.track-form{display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:28px;}
.track-form .field{flex:1; min-width:200px; margin-bottom:0;}
.track-steps{display:flex; margin:28px 0 6px;}
.track-step{flex:1; text-align:center; position:relative;}
.track-step .dot{width:16px;height:16px;border-radius:999px;background:var(--surface-2);border:2px solid var(--border-strong); margin:0 auto 8px; position:relative; z-index:1;}
.track-step.done .dot{background:var(--good); border-color:var(--good);}
.track-step.active .dot{background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 4px var(--gold-soft);}
.track-step .line{position:absolute; top:7px; left:-50%; width:100%; height:2px; background:var(--border-strong); z-index:0;}
.track-step:first-child .line{display:none;}
.track-step.done .line{background:var(--good);}
.track-step span{font-size:11px; font-weight:600; color:var(--ink-faint);}
.track-step.done span, .track-step.active span{color:var(--ink);}
.track-result{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px;}
.track-hint{font-size:12px; color:var(--ink-faint); margin-top:-16px; margin-bottom:28px;}
.order-summary{background:var(--surface-2); border:1px solid var(--border); border-radius:10px; padding:14px 16px; margin-bottom:18px; font-size:13px;}
.order-summary .row{display:flex; justify-content:space-between; padding:5px 0;}
.order-summary .row.total{border-top:1px solid var(--border-strong); margin-top:6px; padding-top:10px; font-weight:700; font-size:15px;}

/* ---------- about / contact ---------- */
.page-hero{background:var(--navy); color:var(--navy-ink); padding-block:44px;}
.page-hero h1{color:#fff; font-size:34px;}
.page-hero p{color:#b9bec9; max-width:60ch; margin-top:10px;}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-block:0 40px;}
@media (max-width:760px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }
.stat-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px; text-align:center;}
.stat-card b{display:block; font-family:'Oswald'; font-size:28px; color:var(--accent);}
.stat-card span{font-size:11.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em;}
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:760px){ .svc-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .svc-grid{grid-template-columns:1fr;} }
.svc-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:20px;}
.svc-card .cat-icon{margin-bottom:12px;}
.svc-card h4{font-size:14.5px; margin-bottom:6px;}
.svc-card p{color:var(--ink-soft); font-size:13px; line-height:1.55;}

.contact-layout{display:grid; grid-template-columns:.8fr 1.2fr; gap:36px; align-items:start;}
@media (max-width:860px){ .contact-layout{grid-template-columns:1fr;} }
.info-card{display:flex; gap:12px; padding:16px 0; border-bottom:1px solid var(--border);}
.info-card svg{color:var(--accent); flex:0 0 auto; margin-top:2px;}
.info-card b{display:block; font-size:13px; margin-bottom:3px;}
.info-card span{color:var(--ink-soft); font-size:13px;}
.map-box{aspect-ratio:16/9; border-radius:var(--radius); background:var(--surface-2); border:1px solid var(--border); overflow:hidden; margin-top:20px;}

/* ---------- toast ---------- */
.toast{position:fixed; bottom:22px; left:50%; transform:translateX(-50%); background:var(--navy); color:#fff; padding:13px 20px; border-radius:10px; font-size:13.5px; font-weight:600; box-shadow:var(--shadow); z-index:80; display:flex; align-items:center; gap:10px; opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(-6px);}
.toast svg{color:var(--good);}

/* ---------- footer ---------- */
footer{background:var(--navy); color:var(--navy-ink); margin-top:20px;}
footer .wrap{padding-block:44px 28px; display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:32px;}
@media (max-width:820px){ footer .wrap{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ footer .wrap{grid-template-columns:1fr;} }
footer h4{font-size:12px; color:#8b94a3; margin-bottom:14px; letter-spacing:.08em;}
footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px;}
footer a{text-decoration:none; color:#d7dae1; font-size:13px;}
footer a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1); padding-block:16px; font-size:12px; color:#8b94a3;}
.foot-bottom .wrap{display:flex; justify-content:space-between; width:100%; flex-wrap:wrap; gap:8px; padding-block:0;}

@media (prefers-reduced-motion:reduce){ *{transition:none!important; animation:none!important;} }
