/* ==============================================
   SprayersParts — Site CSS
   Design: Inter font, Bootstrap 5.3 compatible
   ============================================== */

:root{
  --primary:#1d4ed8;
  --primary-dark:#1e3a8a;
  --primary-light:#eff6ff;
  --teal:#0d9488;
  --teal-dark:#0f766e;
  --teal-light:#f0fdfa;
  --orange:#ea580c;
  --gold:#d97706;
  --red:#dc2626;
  --green:#16a34a;
  --ink:#0f172a;
  --ink2:#1e293b;
  --muted:#64748b;
  --subtle:#94a3b8;
  --border:#e2e8f0;
  --surface:#f8fafc;
  --surface2:#f1f5f9;
  /* Slider shorthand aliases */
  --blue:#1d4ed8;
  --blue-h:#1e3a8a;
  --teal-d:#0f766e;
  --g50:#f8fafc;
  --g100:#f1f5f9;
  --g200:#e2e8f0;
  --g400:#94a3b8;
  --g500:#64748b;
  --g600:#475569;
  --g800:#1e293b;
}

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* ── UTILITIES ── */
.text-primary-custom{color:var(--primary)!important}
.text-teal{color:var(--teal)!important}
.text-muted-custom{color:var(--muted)!important}
.bg-ink{background-color:var(--ink)!important}
.bg-ink2{background-color:var(--ink2)!important}
.bg-surface{background-color:var(--surface)!important}
.border-custom{border:1.5px solid var(--border)!important}
.rounded-14{border-radius:14px!important}
.rounded-10{border-radius:10px!important}
.rounded-pill-custom{border-radius:50px!important}

/* ── ANNOUNCE BAR ── */
.announce-bar{background:var(--ink);color:rgba(255,255,255,.7);font-size:13px;padding:9px 0;line-height:1.4}
.announce-bar strong{color:#34d399}
.announce-bar a{color:#34d399;font-weight:600}
.announce-bar .sep{color:rgba(255,255,255,.25);margin:0 12px}

/* ── NAVBAR ── */
.site-nav{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(0,0,0,.06);position:sticky;top:0;z-index:1030}
.site-nav .container{min-height:72px}
.site-nav .navbar-brand{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.03em;display:flex;align-items:center;gap:10px;padding:6px 0;flex-shrink:0}
.site-nav-logo{height:54px;width:auto;max-width:220px;object-fit:contain;object-position:left center;display:block;flex-shrink:0}
@media(max-width:991.98px){.site-nav-logo{height:40px;max-width:160px}}
.brand-icon{width:36px;height:36px;background:var(--primary);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;flex-shrink:0}
.nav-utility{background:var(--ink2);padding:5px 0;font-size:12px;color:rgba(255,255,255,.5)}
.nav-utility a{color:rgba(255,255,255,.5);transition:color .15s}
.nav-utility a:hover{color:#34d399}
.nav-utility .sep{color:rgba(255,255,255,.2);margin:0 10px}
.site-nav .nav-link{font-size:13px;font-weight:600;color:var(--muted)!important;padding:6px 9px!important;border-radius:6px;transition:all .15s;white-space:nowrap}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:var(--primary)!important;background:var(--primary-light)}
.site-nav .navbar-nav{flex-wrap:nowrap}
/* ── SEARCH ── */
.search-wrap{position:relative;display:flex;align-items:center}
.search-wrap input{height:38px;border:1.5px solid var(--border);border-radius:40px;padding:0 38px 0 14px;font-size:13px;background:var(--surface);color:var(--ink);width:170px;max-width:300px;outline:none;transition:width .3s ease,border-color .15s,box-shadow .15s;font-family:'Inter',sans-serif}
.search-wrap input:focus,.search-wrap input.expanded{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(29,78,216,.08);width:260px}
.search-wrap input::placeholder{color:var(--subtle);font-size:12.5px}
.search-ico{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--subtle);cursor:pointer;font-size:14px;pointer-events:auto}
.search-wrap:focus-within .search-ico{color:var(--primary)}
.search-ico-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:6px 8px;color:var(--subtle);font-size:14px;display:flex;align-items:center;transition:color .15s}
.search-ico-btn:hover{color:var(--primary)}
.search-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1.5px solid var(--border);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:9999;max-height:320px;overflow-y:auto}
.search-suggestion-item{padding:10px 16px;font-size:13.5px;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}
.search-suggestion-item:last-child{border-bottom:none}
.search-suggestion-item:hover,.search-suggestion-item.active{background:var(--primary-light);color:var(--primary)}
.search-suggestion-item img{width:36px;height:36px;object-fit:contain;border-radius:6px;background:var(--surface);flex-shrink:0}
.search-suggestion-item .ssi-name{flex:1;font-weight:500}
.search-suggestion-item .ssi-price{font-weight:700;color:var(--primary);white-space:nowrap}
/* Mobile: collapse search to icon, expand on tap */
@media(max-width:991.98px){
  .search-wrap{flex:0 0 auto}
  .search-wrap input{width:0;padding:0;border-color:transparent;background:transparent;pointer-events:none;opacity:0}
  .search-wrap input.expanded{width:180px;padding:0 44px 0 14px;border-color:var(--primary);background:#fff;pointer-events:auto;opacity:1;box-shadow:0 0 0 3px rgba(29,78,216,.08)}
  .search-ico-btn{position:relative;top:auto;right:auto;transform:none;background:var(--surface);border:1.5px solid var(--border);border-radius:50%;width:38px;height:38px;justify-content:center;color:var(--ink)}
  .search-wrap.open .search-ico-btn{border-color:var(--primary);color:var(--primary)}
}
.cart-bubble{position:relative;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink);transition:all .15s;cursor:pointer}
.cart-bubble:hover{background:var(--surface2)}
.cart-count{position:absolute;top:-2px;right:-2px;width:17px;height:17px;background:var(--red);color:#fff;font-size:9px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.btn-nav-outline{display:inline-flex;align-items:center;height:40px;padding:0 16px;font-size:13px;font-weight:600;border-radius:40px;border:1.5px solid var(--border);background:transparent;color:var(--muted);transition:all .15s;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap}
.btn-nav-outline:hover{border-color:var(--primary);color:var(--primary)}
.btn-nav-primary{display:inline-flex;align-items:center;height:40px;padding:0 16px;font-size:13px;font-weight:600;border-radius:40px;background:var(--primary);color:#fff;border:none;transition:background .15s;cursor:pointer;font-family:'Inter',sans-serif;white-space:nowrap;line-height:1}
.btn-nav-primary:hover{background:var(--primary-dark);color:#fff}
.btn-nav-primary i{font-size:12px}

/* ── SECTION LABELS ── */
.section-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)}
.section-label-light{color:#34d399}

/* ── HERO ── */
.hero-section{background:var(--ink);padding:72px 0 64px;position:relative;overflow:hidden}
.hero-section::before{content:'';position:absolute;top:-120px;right:-80px;width:480px;height:480px;background:radial-gradient(circle,rgba(29,78,216,.18) 0%,transparent 70%);pointer-events:none}
.hero-section::after{content:'';position:absolute;bottom:-80px;left:10%;width:320px;height:320px;background:radial-gradient(circle,rgba(13,148,136,.12) 0%,transparent 70%);pointer-events:none}
.hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.22);border-radius:40px;padding:5px 14px;font-size:12.5px;font-weight:600;color:#34d399;margin-bottom:20px}
.hero-tag .dot{width:7px;height:7px;background:#34d399;border-radius:50%;flex-shrink:0}
.hero-h1{font-size:clamp(30px,4vw,50px);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px}
.hero-h1 em{font-style:normal;color:#34d399}
.hero-sub{font-size:16px;color:rgba(255,255,255,.55);line-height:1.75;margin-bottom:30px}
.btn-teal{background:var(--teal);color:#fff;padding:13px 26px;border-radius:40px;font-size:15px;font-weight:700;border:none;display:inline-flex;align-items:center;gap:8px;transition:all .18s}
.btn-teal:hover{background:var(--teal-dark);color:#fff;transform:translateY(-1px)}
.btn-outline-wh{background:transparent;color:rgba(255,255,255,.8);padding:13px 26px;border-radius:40px;font-size:15px;font-weight:600;border:1.5px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;gap:8px;transition:all .18s}
.btn-outline-wh:hover{border-color:rgba(255,255,255,.5);color:#fff}
.hero-stats{display:flex;gap:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.hs-num{font-size:22px;font-weight:800;color:#fff;line-height:1}
.hs-lbl{font-size:11.5px;color:rgba(255,255,255,.4);margin-top:3px}

/* Hero product card */
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;position:relative;overflow:hidden}
.hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),#34d399)}
.hero-prod-img{width:96px;height:96px;background:rgba(255,255,255,.06);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:42px;flex-shrink:0}
.hero-prod-tag{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#34d399;margin-bottom:5px}
.hero-prod-name{font-size:17px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:4px}
.hero-prod-sku{font-size:12px;color:rgba(255,255,255,.3);margin-bottom:10px}
.hero-prod-price{font-size:26px;font-weight:800;color:#fff}
.hero-prod-was{font-size:13px;color:rgba(255,255,255,.3);text-decoration:line-through;margin-left:6px}
.btn-add-hero{width:100%;padding:11px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;transition:background .15s;cursor:pointer}
.btn-add-hero:hover{background:var(--primary-dark)}
.hero-quick-link{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .15s}
.hero-quick-link:hover{background:rgba(255,255,255,.09);border-color:rgba(52,211,153,.3)}
.hero-quick-icon{font-size:20px;margin-bottom:5px;display:block}
.hero-quick-lbl{font-size:11px;color:rgba(255,255,255,.45);font-weight:600}

/* ── TRUST STRIP ── */
.trust-strip{background:var(--ink2);border-top:1px solid rgba(255,255,255,.05)}
.trust-item{padding:16px 12px;border-right:1px solid rgba(255,255,255,.05);text-align:center}
.trust-item:last-child{border-right:none}
.trust-icon{font-size:18px;margin-bottom:5px;color:#34d399}
.trust-title{font-size:13px;font-weight:700;color:rgba(255,255,255,.82);line-height:1.3;margin-bottom:2px}
.trust-sub{font-size:11px;color:rgba(255,255,255,.35)}

/* ── SECTION STANDARD ── */
.section-pad{padding:72px 0}
.section-pad-sm{padding:52px 0}
.section-head{text-align:center;margin-bottom:44px}
.section-head h2{font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}
.section-head p{font-size:15px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.7}

/* ── CATEGORY CARDS ── */
.cat-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:24px 16px 20px;text-align:center;transition:all .18s;cursor:pointer;display:block;height:100%;position:relative;overflow:hidden}
.cat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--teal));transform:scaleX(0);transition:transform .2s;transform-origin:left}
.cat-card:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(29,78,216,.1);transform:translateY(-3px)}
.cat-card:hover::after{transform:scaleX(1)}
.cat-icon-wrap{width:56px;height:56px;margin:0 auto 14px;background:var(--primary-light);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--primary);transition:all .18s}
.cat-card:hover .cat-icon-wrap{background:var(--primary);color:#fff}
.cat-name{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:4px}
.cat-count{font-size:12px;color:var(--subtle)}

/* ── MACHINE CARDS ── */
.machine-card{border-radius:14px;overflow:hidden;position:relative;min-height:188px;cursor:pointer;display:flex;align-items:flex-end;transition:all .2s}
.machine-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.mc-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:62px}
.mc-1{background:linear-gradient(135deg,#0f172a,#1a3360)}
.mc-2{background:linear-gradient(135deg,#0f172a,#1c2d4a)}
.mc-3{background:linear-gradient(135deg,#1a0e2e,#2d1562)}
.mc-4{background:linear-gradient(135deg,#1a0a0a,#3b1010)}
.mc-5{background:linear-gradient(135deg,#091a09,#102e10)}
.mc-6{background:linear-gradient(135deg,#1a1200,#332600)}
.mc-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 65%)}
.mc-content{position:relative;padding:18px;z-index:2;width:100%}
.mc-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.mc-tag-blue{background:rgba(29,78,216,.85);color:#fff}
.mc-tag-purple{background:rgba(109,40,217,.85);color:#fff}
.mc-tag-red{background:rgba(220,38,38,.75);color:#fff}
.mc-tag-teal{background:rgba(13,148,136,.85);color:#fff}
.mc-name{font-size:16px;font-weight:700;color:#fff;margin-bottom:2px;line-height:1.3}
.mc-sub{font-size:11.5px;color:rgba(255,255,255,.5)}
.mc-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#34d399;margin-top:9px}

/* ── PROBLEM CARDS ── */
.prob-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:20px;cursor:pointer;transition:all .18s;height:100%}
.prob-card:hover{border-color:var(--primary);box-shadow:0 6px 20px rgba(29,78,216,.1);transform:translateY(-2px)}
.prob-icon-box{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:12px;flex-shrink:0}
.pi-red{background:#fef2f2;color:var(--red)}
.pi-orange{background:#fff7ed;color:var(--orange)}
.pi-yellow{background:#fefce8;color:var(--gold)}
.pi-blue{background:var(--primary-light);color:var(--primary)}
.pi-teal{background:var(--teal-light);color:var(--teal)}
.pi-purple{background:#faf5ff;color:#7c3aed}
.pi-green{background:#f0fdf4;color:var(--green)}
.pi-slate{background:var(--surface2);color:var(--muted)}
.prob-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:5px;line-height:1.3}
.prob-desc{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:10px}
.prob-fix{font-size:12px;font-weight:600;color:var(--primary)}

/* ── PROMO BLOCKS ── */
.promo-card{border-radius:18px;padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}
.promo-blue{background:var(--primary)}
.promo-dark{background:var(--ink2)}
.promo-teal{background:var(--teal)}
.promo-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:13px;align-self:flex-start}
.pb-orange{background:var(--orange);color:#fff}
.pb-ghost{background:rgba(255,255,255,.15);color:#fff}
.promo-card h3{color:#fff;font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.3}
.promo-card p{color:rgba(255,255,255,.6);font-size:13.5px;margin-bottom:20px;flex:1;line-height:1.65}
.btn-promo-w{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:40px;font-size:13px;font-weight:700;background:#fff;color:var(--ink);border:none;cursor:pointer;transition:all .15s;align-self:flex-start;font-family:'Inter',sans-serif}
.btn-promo-w:hover{background:var(--surface2)}
.btn-promo-ol{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:40px;font-size:13px;font-weight:700;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all .15s;align-self:flex-start;font-family:'Inter',sans-serif}
.btn-promo-ol:hover{background:rgba(255,255,255,.1)}

/* ── FILTER BUTTONS ── */
.filter-btn{height:36px;padding:0 18px;border-radius:40px;font-size:13px;font-weight:600;border:1.5px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif}
.filter-btn.active,.filter-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}

/* ── PRODUCT CARDS ── */
.prod-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;transition:all .2s;cursor:pointer;display:flex;flex-direction:column;height:100%}
.prod-card:hover{box-shadow:0 8px 28px rgba(0,0,0,.1);border-color:transparent;transform:translateY(-2px)}
.prod-img-area{background:var(--surface);height:170px;display:flex;align-items:center;justify-content:center;font-size:54px;position:relative;transition:background .18s;overflow:hidden}
.prod-img-area img{width:100%;height:100%;object-fit:cover}
.prod-card:hover .prod-img-area{background:var(--surface2)}
.prod-badge{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.badge-hot{background:#34d399;color:#064e3b}
.badge-sale{background:var(--red);color:#fff}
.badge-new{background:var(--gold);color:#fff}
.badge-oem{background:var(--primary);color:#fff}
.prod-wish{position:absolute;top:10px;right:10px;width:30px;height:30px;background:#fff;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--subtle);opacity:0;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer}
.prod-wish:hover{color:var(--red);transform:scale(1.1)}
.prod-card:hover .prod-wish{opacity:1}
.prod-body{padding:14px 14px 0;flex:1;display:flex;flex-direction:column}
.prod-brand{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:4px}
.prod-name{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:8px;flex:1}
.prod-meta{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;padding:8px 10px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}
.prod-meta-row{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.prod-meta-row strong{color:var(--ink);font-weight:600}
.prod-meta-row .badge-oem-eq{font-size:10px;font-weight:700;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:4px;letter-spacing:.03em}
.prod-fit{font-size:11.5px;color:var(--subtle);margin-bottom:7px}
.prod-stars{color:var(--gold);font-size:11px;margin-bottom:10px}
.prod-stars .review-count{color:var(--subtle);margin-left:3px;font-size:11px}
.prod-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}
.prod-price{font-size:20px;font-weight:800;color:var(--ink)}
.prod-was{font-size:12px;color:var(--subtle);text-decoration:line-through}
.prod-save{font-size:10.5px;font-weight:700;color:var(--green);background:#f0fdf4;padding:2px 7px;border-radius:4px}
.prod-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;padding:12px 14px 14px;align-items:center}
.prod-actions .wl-heart-btn{width:36px;height:36px;border-radius:9px;border:1.5px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:16px;padding:0;background:#fff;flex-shrink:0}
.prod-actions .wl-heart-btn:hover{border-color:#ef4444;background:#fff1f2}
.btn-cart{height:36px;background:var(--primary);color:#fff;border:none;border-radius:9px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:all .18s;width:100%}
.btn-cart:hover{background:var(--primary-dark);transform:translateY(-1px)}
.btn-buynow{height:36px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-size:12.5px;font-weight:700;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:all .18s;width:100%}
.btn-buynow:hover{background:var(--teal-dark);transform:translateY(-1px)}
.btn-view-all{display:inline-flex;align-items:center;gap:7px;padding:12px 28px;border-radius:40px;font-size:14px;font-weight:700;border:2px solid var(--primary);color:var(--primary);background:transparent;cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif}
.btn-view-all:hover{background:var(--primary);color:#fff}

/* ── CART DRAWER ── */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1049;opacity:0;pointer-events:none;transition:opacity .25s}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:95vw;background:#fff;z-index:1050;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 40px rgba(0,0,0,.12)}
.cart-drawer.open{transform:translateX(0)}
.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.cart-drawer-title{font-size:16px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:9px}
.cart-drawer-title .cart-item-ct{background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.cart-drawer-close{width:32px;height:32px;border-radius:50%;background:var(--surface);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;transition:background .15s}
.cart-drawer-close:hover{background:var(--surface2)}
.cart-drawer-body{flex:1;overflow-y:auto;padding:0}
.cart-item{display:flex;gap:13px;padding:16px 20px;border-bottom:1px solid var(--border);position:relative}
.cart-item-img{width:64px;height:64px;background:var(--surface);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;border:1px solid var(--border)}
.cart-item-info{flex:1;min-width:0}
.cart-item-brand{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--primary);margin-bottom:3px}
.cart-item-name{font-size:13px;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-sku{font-size:11px;color:var(--subtle);margin-bottom:7px}
.cart-item-bottom{display:flex;align-items:center;justify-content:space-between}
.cart-qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.cq-btn{width:28px;height:28px;border:none;background:var(--surface);cursor:pointer;font-size:14px;color:var(--ink);transition:background .13s;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center}
.cq-btn:hover{background:var(--surface2)}
.cq-val{width:32px;text-align:center;font-size:13px;font-weight:700;color:var(--ink);background:transparent;border:none;outline:none}
.cart-item-price{font-size:15px;font-weight:800;color:var(--ink)}
.cart-item-remove{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--subtle);font-size:13px;cursor:pointer;padding:2px;transition:color .13s}
.cart-item-remove:hover{color:var(--red)}
.cart-drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--subtle);padding:40px}
.cart-drawer-empty i{font-size:48px;color:var(--surface2)}
.cart-drawer-empty p{font-size:15px;color:var(--subtle);text-align:center;margin:0}
.cart-drawer-footer{border-top:1px solid var(--border);padding:18px 20px;flex-shrink:0;background:#fff}
.cart-subtotal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cart-subtotal-lbl{font-size:14px;color:var(--muted)}
.cart-subtotal-val{font-size:20px;font-weight:800;color:var(--ink)}
.cart-free-ship{font-size:12px;color:var(--green);margin-bottom:14px;display:flex;align-items:center;gap:5px}
.btn-view-cart{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;border-radius:10px;font-size:14px;font-weight:700;background:var(--surface);color:var(--ink);border:1.5px solid var(--border);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;margin-bottom:9px;text-decoration:none}
.btn-view-cart:hover{background:var(--surface2);color:var(--ink)}
.btn-checkout{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px;border-radius:10px;font-size:15px;font-weight:700;background:var(--primary);color:#fff;border:none;cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif}
.btn-checkout:hover{background:var(--primary-dark)}
.cart-trust{display:flex;justify-content:center;gap:20px;margin-top:12px}
.cart-trust-item{font-size:11px;color:var(--subtle);display:flex;align-items:center;gap:4px}

/* ── BRAND MARQUEE ── */
.brands-section{padding:44px 0;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}
.brands-lbl{text-align:center;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-bottom:22px}
.marquee-viewport{overflow:hidden}
.marquee-row{display:flex}
.marquee-set{display:flex;animation:marqueeRoll 30s linear infinite;flex-shrink:0}
@keyframes marqueeRoll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.brand-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border:1.5px solid var(--border);border-radius:40px;margin:0 7px;background:#fff;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;cursor:pointer;transition:all .15s}
.brand-chip:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 2px 10px rgba(29,78,216,.1)}
.brand-chip i{font-size:14px}

/* ── WHY US ── */
.why-feat{display:flex;gap:16px;padding:18px;border-radius:14px;transition:background .15s}
.why-feat:hover{background:rgba(255,255,255,.04)}
.wf-icon-box{width:46px;height:46px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#34d399;flex-shrink:0}
.wf-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px}
.wf-desc{font-size:13.5px;color:rgba(255,255,255,.45);line-height:1.65}
.stat-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px 20px;transition:all .18s}
.stat-box:hover{background:rgba(255,255,255,.08)}
.stat-num{font-size:36px;font-weight:800;color:#34d399;line-height:1;margin-bottom:5px}
.stat-lbl{font-size:12px;color:rgba(255,255,255,.4)}
.stat-wide{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.2)!important;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:22px 24px}
.stat-wide .stat-num{font-size:28px}
.btn-stat-cta{display:inline-flex;align-items:center;gap:6px;background:#34d399;color:var(--ink);padding:10px 18px;border-radius:40px;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif}
.btn-stat-cta:hover{background:#6ee7b7}

/* ── REVIEWS ── */
.rating-overview{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:24px 28px}
.overall-score{font-size:52px;font-weight:800;color:var(--ink);line-height:1}
.overall-stars{color:var(--gold);font-size:17px}
.rating-bar-track{background:var(--surface2);height:7px;border-radius:4px;overflow:hidden;flex:1}
.rating-bar-fill{height:100%;background:var(--gold);border-radius:4px}
.review-attr-lbl{font-size:12px;color:var(--muted)}
.review-attr-val{font-size:16px;font-weight:800;color:var(--ink)}
.rev-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:24px;transition:all .2s;height:100%}
.rev-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.09);border-color:transparent}
.rev-avatar{width:42px;height:42px;border-radius:50%;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.av-blue{background:#dbeafe;color:#1d4ed8}
.av-green{background:#d1fae5;color:#065f46}
.av-amber{background:#fef3c7;color:#92400e}
.av-purple{background:#ede9fe;color:#5b21b6}
.av-pink{background:#fce7f3;color:#9d174d}
.av-cyan{background:#cffafe;color:#155e75}
.rev-name{font-size:14px;font-weight:700;color:var(--ink)}
.rev-role{font-size:11.5px;color:var(--subtle)}
.rev-stars{color:var(--gold);font-size:12.5px}
.rev-text{font-size:13.5px;color:var(--muted);line-height:1.72}
.rev-verified{font-size:11px;font-weight:700;color:var(--teal)}

/* ── COVERAGE ── */
.cov-check-item{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:rgba(255,255,255,.65);margin-bottom:10px}
.cov-check-icon{color:#34d399;flex-shrink:0;margin-top:2px}
.model-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:13px 10px;text-align:center;cursor:pointer;transition:all .15s}
.model-box:hover{background:rgba(29,78,216,.2);border-color:rgba(29,78,216,.5)}
.model-box-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:2px}
.model-box-series{font-size:11px;color:rgba(255,255,255,.35)}
.model-box-count{font-size:11px;color:#34d399;margin-top:4px;font-weight:600}
.btn-teal-solid{display:inline-flex;align-items:center;gap:7px;background:var(--teal);color:#fff;padding:13px 26px;border-radius:40px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif}
.btn-teal-solid:hover{background:var(--teal-dark);transform:translateY(-1px)}

/* ── TAXONOMY ── */
.tax-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;transition:all .2s;height:100%}
.tax-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.09);border-color:transparent}
.tax-head{padding:18px 18px 14px}
.tax-icon{font-size:22px;margin-bottom:8px;color:var(--primary)}
.tax-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:3px}
.tax-desc{font-size:12px;color:var(--subtle)}
.tax-links-list{border-top:1px solid var(--border)}
.tax-link-item{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted);cursor:pointer;transition:all .13s}
.tax-link-item:last-child{border-bottom:none}
.tax-link-item:hover{background:var(--surface);color:var(--primary)}
.tax-cnt{font-size:11px;color:var(--subtle);background:var(--surface2);padding:2px 7px;border-radius:10px;font-weight:600}

/* ── EMAIL SECTION ── */
.email-box{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:24px;padding:56px 60px;position:relative;overflow:hidden}
.email-box::after{content:'';position:absolute;right:-70px;top:-70px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 70%);pointer-events:none}
.email-perk{font-size:13px;color:rgba(255,255,255,.65);display:inline-flex;align-items:center;gap:6px}
.email-perk strong{color:#34d399}
.email-input-group{display:flex;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);border-radius:50px;overflow:hidden;max-width:400px}
.email-input-group input{flex:1;background:transparent;border:none;padding:13px 18px;font-size:14px;font-family:'Inter',sans-serif;color:#fff;outline:none;min-width:0}
.email-input-group input::placeholder{color:rgba(255,255,255,.38)}
.email-input-group button{background:#34d399;border:none;padding:10px 20px;border-radius:50px;margin:4px;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;transition:background .15s;white-space:nowrap}
.email-input-group button:hover{background:#6ee7b7}

/* ── FOOTER ── */
.site-footer{background:var(--ink);padding:64px 0 32px}
.footer-brand-logo{font-size:19px;font-weight:800;color:#fff;letter-spacing:-.03em;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.footer-brand-logo .brand-icon{background:var(--primary);font-size:16px}
.footer-desc{font-size:13.5px;color:rgba(255,255,255,.38);line-height:1.75;margin-bottom:18px}
.footer-contact-item{font-size:13px;color:rgba(255,255,255,.4);margin-bottom:7px}
.footer-contact-item strong{color:rgba(255,255,255,.7);font-weight:600}
.fsoc-btn{width:32px;height:32px;background:rgba(255,255,255,.07);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;color:rgba(255,255,255,.45);transition:background .15s}
.fsoc-btn:hover{background:var(--teal);color:#fff}
.footer-col h5{font-size:13px;font-weight:700;color:#fff;margin-bottom:16px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:8px}
.footer-col a{font-size:13px;color:rgba(255,255,255,.38);transition:color .13s}
.footer-col a:hover{color:#34d399}
.footer-divider{border-top:1px solid rgba(255,255,255,.07);margin:40px 0 24px}
.footer-bottom-txt{font-size:12px;color:rgba(255,255,255,.24)}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.24);transition:color .13s}
.footer-legal a:hover{color:rgba(255,255,255,.6)}
.pay-bdg{padding:3px 9px;background:rgba(255,255,255,.08);border-radius:5px;font-size:11px;font-weight:700;color:rgba(255,255,255,.45)}
.trust-seal{font-size:12px;color:rgba(255,255,255,.32);display:flex;align-items:center;gap:5px}

/* ── MODAL ── */
.modal-content{border-radius:20px;border:none}
.modal-product-img{background:var(--surface);border-radius:14px;height:220px;display:flex;align-items:center;justify-content:center;font-size:72px}
.modal-brand{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:5px}
.modal-prod-name{font-size:20px;font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:6px}
.modal-prod-fit{font-size:12px;color:var(--subtle);margin-bottom:10px}
.modal-prod-stars{color:var(--gold);font-size:13px;margin-bottom:12px}
.modal-price{font-size:30px;font-weight:800;color:var(--ink);margin-bottom:16px}
.qty-control{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:9px;width:fit-content;overflow:hidden}
.qty-btn{width:36px;height:36px;background:var(--surface);border:none;font-size:17px;color:var(--ink);cursor:pointer;transition:background .13s;font-family:'Inter',sans-serif}
.qty-btn:hover{background:var(--surface2)}
.qty-val{width:42px;text-align:center;font-weight:700;font-size:15px;border:none;background:transparent;outline:none}
.btn-modal-add{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}
.btn-modal-add:hover{background:var(--teal)}
.modal-note{font-size:11.5px;color:var(--subtle);text-align:center;margin-top:9px}

/* ══════════════════════════════════════
   PRODUCT SLIDER — OWL CAROUSEL
══════════════════════════════════════ */
.slider-section{padding:72px 0;background:#fff;position:relative;overflow:hidden}
.slider-section::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--teal),var(--blue));background-size:200% 100%;animation:shimmer 3s linear infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.slider-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.slider-tabs{display:flex;gap:6px;flex-wrap:wrap}
.s-tab{height:36px;padding:0 18px;border-radius:40px;font-size:13px;font-weight:600;border:1.5px solid var(--g200);background:#fff;color:var(--g500);cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif;white-space:nowrap}
.s-tab.on,.s-tab:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.slider-nav{display:flex;gap:8px;flex-shrink:0}
.s-nav-btn{width:40px;height:40px;border-radius:50%;background:var(--g50);border:1.5px solid var(--g200);color:var(--g600);font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}
.s-nav-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.owl-carousel .owl-stage-outer{border-radius:0;overflow:hidden}
.owl-carousel .owl-item{padding:8px 6px}
.owl-dots{margin-top:20px!important;text-align:center}
.owl-dot span{background:var(--g200)!important;width:8px!important;height:8px!important;border-radius:50%!important;transition:all .2s!important;margin:0 4px!important}
.owl-dot.active span,.owl-dot:hover span{background:var(--blue)!important;width:24px!important;border-radius:4px!important}
.sp-card{background:#fff;border:1.5px solid var(--g200);border-radius:14px;overflow:hidden;transition:all .22s;cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative}
.sp-card:hover{box-shadow:0 12px 36px rgba(29,78,216,.13);border-color:transparent;transform:translateY(-4px)}
.sp-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--teal));opacity:0;transition:opacity .22s}
.sp-card:hover::after{opacity:1}
.sp-img{height:185px;display:flex;align-items:center;justify-content:center;font-size:62px;position:relative;overflow:hidden;transition:background .22s}
.sp-img img{width:100%;height:100%;object-fit:cover}
.sp-img-new{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}
.sp-img-sale{background:linear-gradient(135deg,#fff1f2,#ffe4e6)}
.sp-img-hot{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}
.sp-img-default{background:linear-gradient(135deg,var(--g50),var(--g100))}
.sp-card:hover .sp-img{filter:brightness(.97)}
.sp-badge{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.spb-sale{background:var(--red);color:#fff}
.spb-hot{background:#34d399;color:#064e3b}
.spb-new{background:var(--gold);color:#fff}
.spb-oem{background:var(--blue);color:#fff}
.spb-deal{background:var(--orange);color:#fff}
.sp-wish{position:absolute;top:10px;right:10px;width:30px;height:30px;background:rgba(255,255,255,.9);border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--g400);opacity:0;transition:all .18s;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer}
.sp-card:hover .sp-wish{opacity:1}
.sp-wish:hover{color:var(--red);transform:scale(1.1)}
.sp-body{padding:14px 14px 0;flex:1;display:flex;flex-direction:column}
.sp-brand{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.sp-name{font-size:13.5px;font-weight:700;color:var(--g800);line-height:1.35;margin-bottom:8px;flex:1}
.sp-meta{background:var(--g50);border:1px solid var(--g200);border-radius:8px;padding:8px 10px;margin-bottom:8px}
.sp-meta-row{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--g500);line-height:1.5}
.sp-meta-row strong{color:var(--g800);font-weight:600}
.oem-tag{font-size:10px;font-weight:700;background:#fef3c7;color:#92400e;padding:1px 6px;border-radius:4px}
.sp-compat{font-size:11.5px;color:var(--g400);margin-bottom:7px}
.sp-stars{color:var(--gold);font-size:11px;margin-bottom:9px}
.sp-stars .rc{color:var(--g400);margin-left:3px;font-size:11px}
.sp-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.sp-price{font-size:19px;font-weight:800;color:var(--g800)}
.sp-was{font-size:12px;color:var(--g400);text-decoration:line-through}
.sp-save{font-size:10.5px;font-weight:700;color:var(--green);background:#f0fdf4;padding:2px 7px;border-radius:4px}
.sp-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 14px 14px}
.btn-sp-cart{height:36px;background:var(--blue);color:#fff;border:none;border-radius:9px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:all .18s}
.btn-sp-cart:hover{background:var(--blue-h);transform:translateY(-1px)}
.btn-sp-buy{height:36px;background:var(--teal);color:#fff;border:none;border-radius:9px;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:all .18s}
.btn-sp-buy:hover{background:var(--teal-d);transform:translateY(-1px)}
.slider-progress{height:3px;background:var(--g100);border-radius:2px;margin-top:16px;overflow:hidden}
.slider-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:2px;width:33%;transition:width .4s ease}
.slider-view-all{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px}
.btn-slider-all{display:inline-flex;align-items:center;gap:8px;padding:12px 30px;border-radius:40px;font-size:14px;font-weight:700;border:2px solid var(--blue);color:var(--blue);background:transparent;cursor:pointer;transition:all .18s;font-family:'Inter',sans-serif}
.btn-slider-all:hover{background:var(--blue);color:#fff}

/* ── RESPONSIVE ── */
@media(max-width:991.98px){
  .hero-quick-cols{display:none}
  .trust-strip .row{flex-wrap:wrap}
  .trust-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}
  .email-box{padding:40px 32px}
  .email-box .text-end{text-align:left!important;margin-top:24px}
  .footer-col{margin-bottom:28px}
}
@media(max-width:767.98px){
  .section-pad{padding:52px 0}
  .hero-section{padding:52px 0 44px}
  .hero-h1{font-size:28px}
  .email-box{padding:32px 22px}
  .email-input-group{max-width:100%}
  .hero-visual-col{display:none}
}
@media(max-width:575.98px){
  .hero-stats{gap:18px}
  .announce-bar .d-none-xs{display:none}
}

/* ===== Inner page banner (Terms, About, Contact, 404, etc.) ===== */
.inner-banner{background:linear-gradient(135deg,var(--ink) 0%,var(--ink2) 60%,var(--primary-dark) 100%);color:#fff;padding:64px 0 52px;text-align:center}
.inner-banner h1{font-family:'Inter',sans-serif;font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em;margin:0 0 8px;color:#fff}
.inner-banner p{font-family:'Inter',sans-serif;color:rgba(255,255,255,.65);font-size:14.5px;margin:0;max-width:560px;margin-left:auto;margin-right:auto}

/* ===== Long-form legal/info content wrapper ===== */
.legal-content{max-width:840px;margin:0 auto;padding:56px 24px 64px}
.legal-content h1,.legal-content h2,.legal-content h3{font-family:'Inter',sans-serif!important;font-weight:700!important;color:var(--ink)!important;letter-spacing:-.01em;margin-top:30px;margin-bottom:14px}
.legal-content h1:first-child,.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content span,.legal-content li,.legal-content div,.legal-content strong,.legal-content b{font-family:'Inter',sans-serif!important;color:var(--ink2)!important;font-size:15px!important;line-height:1.75}
.legal-content a{color:var(--primary)!important;text-decoration:underline}
.legal-content ul,.legal-content ol{padding-left:22px}

/* ===== Contact page info cards ===== */
.contact-info-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:26px 24px;height:100%;transition:all .2s}
.contact-info-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.07);border-color:transparent}
.contact-info-card .cic-icon{width:44px;height:44px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:14px}
.contact-info-card .cic-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}
.contact-info-card .cic-value{font-size:16px;font-weight:600;color:var(--ink);font-family:'Inter',sans-serif}
.contact-info-card .cic-value a{color:var(--ink);text-decoration:none}
.contact-info-card .cic-value a:hover{color:var(--primary)}

/* ===== Order success / failed status pages ===== */
.status-page{max-width:640px;margin:0 auto;padding:64px 24px 72px;text-align:center}
.status-icon-circle{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:38px}
.status-icon-circle.is-success{background:var(--teal-light);color:var(--teal)}
.status-icon-circle.is-error{background:#fef2f2;color:var(--red)}
.status-page h1{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(26px,4vw,34px);color:var(--ink);letter-spacing:-.02em;margin-bottom:10px}
.status-page .status-sub{font-family:'Inter',sans-serif;font-size:15.5px;color:var(--muted);margin-bottom:8px;line-height:1.7}
.status-page .status-order-id{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 18px;font-weight:700;color:var(--ink);font-family:monospace;margin:14px 0 22px}
.status-page .status-actions{margin-top:26px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ===== 404 page ===== */
.nf-section{max-width:640px;margin:0 auto;padding:60px 24px 72px;text-align:center}
.nf-section .nf-code{font-family:'Inter',sans-serif;font-weight:800;font-size:72px;color:var(--primary-light);line-height:1;margin-bottom:6px}
.nf-section h1{font-family:'Inter',sans-serif;font-weight:800;font-size:clamp(24px,3.4vw,30px);color:var(--ink);margin-bottom:10px}
.nf-section p{font-family:'Inter',sans-serif;color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:6px}
.nf-actions{margin-top:26px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ===== Sitemap page ===== */
.sitemap-wrap{max-width:980px;margin:0 auto;padding:56px 24px 64px}
.sitemap-wrap h2{font-family:'Inter',sans-serif;font-weight:800;color:var(--ink);font-size:clamp(22px,3vw,28px);letter-spacing:-.02em;margin-bottom:14px;text-align:left!important}
.sitemap-wrap p{font-family:'Inter',sans-serif;color:var(--muted);font-size:15px;line-height:1.7}
.sitemap-wrap p a{color:var(--primary)}
#siteMapMainContent ul{padding-left:18px}
#siteMapMainContent a{color:var(--primary);font-family:'Inter',sans-serif;font-size:14.5px}

/* ===== Category page ===== */
.cat-page-banner{background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 55%,#1d4ed8 100%);color:#fff;padding:52px 0 44px;position:relative;overflow:hidden}
.cat-page-banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.cat-page-banner h1{font-family:'Inter',sans-serif;font-size:clamp(22px,3.5vw,36px);font-weight:800;letter-spacing:-.03em;margin:0 0 10px;line-height:1.2}
.cat-page-banner p{font-family:'Inter',sans-serif;color:rgba(255,255,255,.6);font-size:15px;margin:0;max-width:640px;line-height:1.6}
.cat-page-banner-text{padding:0}
.cat-page-banner-text.has-prev{padding-left:60px}
.cat-page-banner-text.has-next{padding-right:60px}
.cat-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .15s,transform .15s}
.cat-nav-arrow:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.08)}
.cat-nav-prev{left:0}
.cat-nav-next{right:0}
.cat-page-section{background:#f1f5f9;padding:36px 0 64px}

/* ─── Subcategory grid ─── */
.cat-subgrid-wrap{margin-bottom:8px}
.cat-subgrid{list-style:none;margin:0;padding:0}

.cat-sub-card{
  display:flex;flex-direction:column;text-decoration:none!important;
  background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid #e2e8f0;
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,border-color .2s;
  position:relative;
}
.cat-sub-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(29,78,216,.13),0 4px 12px rgba(0,0,0,.07);
  border-color:#bfdbfe;
  text-decoration:none!important;
}
.cat-sub-card .cat-sub-img{
  width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#f8faff 0%,#eef2ff 100%);
  overflow:hidden;display:flex;align-items:center;justify-content:center;
  padding:20px;position:relative;
}
.cat-sub-card .cat-sub-img img{
  width:100%;height:100%;object-fit:contain;
  transition:transform .3s ease;
}
.cat-sub-card:hover .cat-sub-img img{transform:scale(1.06)}

.cat-sub-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px 14px;border-top:1px solid #f1f5f9;gap:8px;
}
.cat-sub-name{
  font-family:'Inter',sans-serif;font-size:13.5px;font-weight:700;
  color:#1e293b;line-height:1.35;flex:1;
}
.cat-sub-arrow{
  width:28px;height:28px;border-radius:50%;background:#eff6ff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  color:#2563eb;font-size:11px;transition:background .18s,transform .18s;
}
.cat-sub-card:hover .cat-sub-arrow{background:#2563eb;color:#fff;transform:translateX(2px)}

/* Category banner image (no hotspots) */
.cat-banner-img-wrap{margin-bottom:24px;border-radius:16px;overflow:hidden;background:#f8faff;border:1px solid var(--border);text-align:center;max-height:420px;display:flex;align-items:center;justify-content:center}
.cat-banner-img{width:100%;max-height:420px;object-fit:contain;display:block}

/* Diagram + hotspot viewer */
.cat-diagram-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:24px}
.cat-diagram-hint{display:flex;align-items:center;gap:8px;font-family:'Inter',sans-serif;font-size:13px;color:var(--muted);background:var(--primary-light);border-radius:8px;padding:9px 14px;margin-bottom:14px}
.cat-diagram-hint i{color:var(--primary)}
.cat-diagram-viewport{overflow:hidden;border-radius:10px;background:var(--surface);width:100%}
.notes-and-images{position:relative;display:block;transform-origin:top left;line-height:0}
.notes-and-images img{display:block;width:100%;height:auto;max-width:none}
.uu-hotspot{position:absolute;width:26px;height:26px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:0 0 0 3px rgba(29,78,216,.25),0 2px 6px rgba(0,0,0,.25);cursor:pointer;transition:transform .15s;animation:cat-hotspot-pulse 2s infinite}
.uu-hotspot:hover{transform:scale(1.15);animation-play-state:paused}
@keyframes cat-hotspot-pulse{0%,100%{box-shadow:0 0 0 3px rgba(29,78,216,.25),0 2px 6px rgba(0,0,0,.25)}50%{box-shadow:0 0 0 7px rgba(29,78,216,.12),0 2px 6px rgba(0,0,0,.25)}}
.custom-alert-box{font-family:'Inter',sans-serif;border-radius:12px!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important;border:1px solid var(--border)!important;max-width:calc(100vw - 24px)}
.custom-alert-box .close-btn{display:flex!important;align-items:center;justify-content:center;position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--surface);color:var(--ink2);font-size:13px;cursor:pointer;z-index:2}

.cat-page-content{font-family:'Inter',sans-serif;color:var(--ink2);font-size:14.5px;line-height:1.75;margin-top:24px}
.cat-page-content h1,.cat-page-content h2{font-family:'Inter',sans-serif;font-weight:700;color:var(--ink)}

@media(max-width:767.98px){
  .cat-page-banner{padding:36px 0 28px}
  .cat-diagram-card{padding:10px}
  .cat-nav-arrow{width:34px;height:34px;font-size:13px}
  .cat-page-banner-text.has-prev{padding-left:46px}
  .cat-page-banner-text.has-next{padding-right:46px}
  .cat-sub-footer{padding:12px 14px}
  .cat-sub-name{font-size:13px}
}
@media(max-width:420px){
  .cat-page-banner h1{font-size:20px}
  .cat-sub-card .cat-sub-img{padding:14px}
}

/* Hotspot click-popup: centered modal + backdrop (never off-screen on mobile),
   compacting the existing product-card markup (Create_Category_Products_HTML
   output) so it fits a small card instead of its normal full-width listing size. */
.cat-popup-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:2000}
.custom-alert-box{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#fff;width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);
  overflow-y:auto;border-radius:14px!important;z-index:2001;padding:0;display:none;
}
.custom-alert-box .hide-in-custom{display:none!important}
.custom-alert-box .close-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink2);cursor:pointer;z-index:1}

.custom-alert-box .product-item-box{width:100%;padding:0}
.custom-alert-box .product-wrap{min-height:unset!important;margin-top:0!important;box-shadow:none!important;border:none!important}
.custom-alert-box .product-image{
  height:220px!important;background:var(--surface);border-radius:14px 14px 0 0;
  display:flex!important;align-items:center;justify-content:center;overflow:hidden;
}
.custom-alert-box .product-image img{width:100%;height:100%;object-fit:contain;padding:18px}
.custom-alert-box .product_note{padding:16px 18px 18px}
.custom-alert-box .list-product-name,.custom-alert-box .uk-price{min-height:unset!important}
.custom-alert-box .product-name{font-family:'Inter',sans-serif;font-weight:700;font-size:16px;color:var(--ink);margin:0 0 8px;line-height:1.35}
.custom-alert-box .product-name a{color:inherit;text-decoration:none}
.custom-alert-box .part_number_box{font-family:'Inter',sans-serif;font-size:12.5px;color:var(--muted);text-align:left;margin:0 0 4px}
.custom-alert-box .part_number_box:nth-of-type(2){display:none} /* "BP Part" duplicates the OEM part # shown above */
.custom-alert-box .product_short_description{font-family:'Inter',sans-serif;font-size:12.5px;color:var(--muted);text-align:left;margin:0 0 6px}
.custom-alert-box .uk-price{font-family:'Inter',sans-serif;font-weight:800;font-size:22px;color:var(--ink);margin:10px 0 14px;padding-top:12px;border-top:1px solid var(--border)}
/* product-qty-wrapper and add-to-cart-btn are sibling divs (not nested). Stacked as
   two clean full-width rows (qty selector, then a 2-button row) instead of trying to
   force them onto one shared inline row — far more reliable across font sizes and
   screen widths than fighting inline-wrap behavior. */
.custom-alert-box .product-qty-wrapper{display:flex!important;width:max-content!important;float:none!important;align-items:center;gap:0;margin:0 0 10px!important;text-align:left!important}
.custom-alert-box .qty_box_label{display:none}
.custom-alert-box .add-minus-wrapper{position:relative!important;width:110px!important;display:flex!important;align-items:center;border:1.5px solid var(--border);border-radius:8px;height:38px}
.custom-alert-box .inline_qty_input{border:none!important;background:transparent}
.custom-alert-box .inline_decrease_qty,.custom-alert-box .inline_encrease_qty{top:50%!important;transform:translateY(-50%);color:var(--ink2)!important}
.custom-alert-box .add-to-cart-btn{display:flex!important;width:100%!important;float:none!important;text-align:left!important;gap:8px;margin:0!important}
.custom-alert-box .add-to-cart-btn .btn,.custom-alert-box .add-to-cart-btn button,.custom-alert-box .add-to-cart-btn a{flex:1!important;width:auto!important;font-family:'Inter',sans-serif!important;font-size:13px!important;font-weight:700;white-space:nowrap;height:40px;display:flex!important;align-items:center;justify-content:center;margin:0!important;border-radius:8px;border:none!important}
.custom-alert-box .buy-now-btn{background:var(--teal)!important;color:#fff!important}
.custom-alert-box .add_to_cart{background:var(--primary)!important;color:#fff!important}
@media(max-width:480px){
  .custom-alert-box{width:calc(100vw - 32px)}
  .custom-alert-box .product-image{height:180px!important}
}

/* ===== Blog list page ===== */
.blog-list-section{background:var(--surface);padding:36px 0 56px}

/* ===== Pagination (used by blog list, category listings, etc.) — had zero CSS
   in the file actually loaded; was relying on a different unloaded legacy
   stylesheet with red borders. ===== */
.fme_pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:36px 0 8px;font-family:'Inter',sans-serif}
.fme_pagination a,.fme_pagination span{min-width:38px;height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink2);text-decoration:none;background:#fff;transition:all .15s}
.fme_pagination a:hover{border-color:var(--primary);color:var(--primary)}
.fme_pagination span.current{background:var(--primary);border-color:var(--primary);color:#fff}
.fme_pagination span.disabled{color:var(--subtle);cursor:not-allowed;background:var(--surface)}
.fme_pagination span.elipses{border:none;background:none;color:var(--subtle)}
.fme_pagination_totals{text-align:center;font-family:'Inter',sans-serif;font-size:12.5px;color:var(--subtle);margin-bottom:24px}

/* ══════════════════════════════════════════════════
   MOBILE RESPONSIVE — comprehensive overrides
   Breakpoints: 991 (tablet), 767 (large phone), 575 (small phone)
══════════════════════════════════════════════════ */

/* ── Navbar mobile ── */
@media(max-width:991.98px){
  .site-nav .container{min-height:58px;padding-left:16px;padding-right:16px}
  .site-nav-logo{height:36px;max-width:140px}
  .navbar-collapse{background:#fff;border-top:1px solid var(--border);padding:12px 0 16px;margin:0 -16px;padding-left:16px;padding-right:16px}
  .site-nav .nav-link{padding:10px 12px!important;border-bottom:1px solid var(--surface2)}
  .site-nav .navbar-nav{flex-direction:column}
  .nav-utility{display:none}
}

/* ── Hero ── */
@media(max-width:767.98px){
  .hero-section{padding:36px 0 32px}
  .hero-h1{font-size:24px;line-height:1.2}
  .hero-sub{font-size:14px;margin-bottom:20px}
  .hero-stats{gap:14px;padding-top:20px}
  .hero-stats .hs-num{font-size:18px}
  .btn-teal,.btn-outline-wh{padding:11px 18px;font-size:13px}
  .hero-visual-col{display:none!important}
}

/* ── Product grid — force 2 col on tablet, 1 col on small phones ── */
@media(max-width:991.98px){
  /* Bootstrap row cols override */
  .row-cols-lg-4>.col,.row-cols-lg-4>[class*="col-"]{flex:0 0 50%;max-width:50%}
  .row-cols-md-3>.col,.row-cols-md-3>[class*="col-"]{flex:0 0 50%;max-width:50%}
}
@media(max-width:575.98px){
  .row-cols-lg-4>.col,.row-cols-lg-4>[class*="col-"],
  .row-cols-md-3>.col,.row-cols-md-3>[class*="col-"],
  .row-cols-sm-2>.col,.row-cols-sm-2>[class*="col-"]{flex:0 0 100%;max-width:100%}
}

/* ── SAP product card grid ── */
@media(max-width:575.98px){
  /* sap-card grids rendered with Bootstrap col classes */
  .col-6.col-md-4.col-lg-3,.col-6.col-md-3{flex:0 0 50%;max-width:50%}
  .sap-img-wrap{height:140px}
  .sap-price{font-size:17px}
  .sap-btn-cart,.sap-btn-buy{font-size:11px;padding:8px 4px}
  .sap-name{font-size:12.5px}
}
@media(max-width:360px){
  .col-6.col-md-4.col-lg-3,.col-6.col-md-3{flex:0 0 100%;max-width:100%}
}

/* ── Category cards ── */
@media(max-width:767.98px){
  .cat-card{padding:18px 12px 16px}
  .cat-icon-wrap{width:46px;height:46px;font-size:18px}
  .cat-name{font-size:12.5px}
}

/* ── Trust strip ── */
@media(max-width:767.98px){
  .trust-strip .row{flex-wrap:wrap}
  .trust-strip .col,.trust-strip .col-6,.trust-strip .col-md-3{flex:0 0 50%;max-width:50%}
  .trust-item{padding:12px 8px;border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}
  .trust-title{font-size:12px}
  .trust-sub{font-size:10px}
}
@media(max-width:400px){
  .trust-strip .col,.trust-strip .col-6{flex:0 0 100%;max-width:100%}
}

/* ── Section spacing ── */
@media(max-width:767.98px){
  .section-pad{padding:40px 0}
  .section-pad-sm{padding:32px 0}
  .section-head{margin-bottom:28px}
  .section-head h2{font-size:22px}
  .section-head p{font-size:13.5px}
}

/* ── Slider / tabs ── */
@media(max-width:767.98px){
  .slider-section{padding:40px 0}
  .slider-header{flex-direction:column;align-items:flex-start;margin-bottom:20px;gap:12px}
  .slider-tabs{gap:4px}
  .s-tab{height:32px;padding:0 12px;font-size:12px}
  .slider-nav{display:none}
}

/* ── Promo cards ── */
@media(max-width:767.98px){
  .promo-card{padding:20px 18px}
  .promo-card h3{font-size:16px}
  .promo-card p{font-size:13px}
}

/* ── Why us / stat boxes ── */
@media(max-width:767.98px){
  .stat-box{padding:16px 14px}
  .stat-num{font-size:28px}
  .why-feat{padding:14px 12px}
}

/* ── Email box ── */
@media(max-width:767.98px){
  .email-box{padding:28px 20px;border-radius:16px}
  .email-input-group{max-width:100%;flex-direction:column;border-radius:12px;overflow:hidden}
  .email-input-group input{padding:13px 16px;border-radius:0}
  .email-input-group button{border-radius:0 0 10px 10px;margin:0;padding:13px}
}

/* ── Product page ── */
@media(max-width:767.98px){
  .ii-product-gallery{margin-bottom:24px}
  .ii-meta-row{font-size:13px}
  .ii-price{font-size:28px!important}
  .ii-atc-bar{flex-wrap:wrap;gap:8px}
  .ii-atc-bar .ii-qty-box{width:100%}
  .ii-tabs .nav-link{font-size:13px;padding:10px 12px}
}

/* ── Shop / category listing ── */
@media(max-width:767.98px){
  .cat-page-banner{padding:28px 0 22px}
  .cat-page-banner h1{font-size:20px}
  .cat-page-banner p{font-size:13px}
  /* filter sidebar stacks above products */
  .shop-filter-col{margin-bottom:20px}
}

/* ── View order / checkout pages ── */
@media(max-width:767.98px){
  .card{margin-bottom:16px}
  .order-hero{padding:24px 16px!important}
}

/* ── Wishlist grid ── */
@media(max-width:575.98px){
  .wl-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:380px){
  .wl-grid{grid-template-columns:1fr!important}
}

/* ── Footer (our custom sap-footer) ── */
@media(max-width:1024px){
  .sap-footer-top{grid-template-columns:1fr 1fr 1fr!important;gap:28px}
  .sap-footer-top>div:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .sap-footer-top{grid-template-columns:1fr 1fr!important;padding:28px 16px 20px!important;gap:20px}
  .sap-footer-top>div:first-child{grid-column:1/-1}
  .sap-footer-bottom{padding:14px 16px!important;flex-direction:column;text-align:center;gap:8px}
  .sap-footer-bottom-links{justify-content:center}
}
@media(max-width:400px){
  .sap-footer-top{grid-template-columns:1fr!important}
}

/* ── General container padding on mobile ── */
@media(max-width:575.98px){
  .container,.container-fluid{padding-left:14px;padding-right:14px}
}

/* ── Announce bar ── */
@media(max-width:575.98px){
  .announce-bar{font-size:11.5px;text-align:center}
  .announce-bar .sep{display:none}
  .announce-bar span:not(:first-child){display:none}
}
