/*
Theme Name: Xtreme Exhaust
Theme URI: https://xtremeexhaust.com.au/
Author: Xtreme Exhaust
Description: Sporty, fast WooCommerce theme for an exhaust and muffler shop. Dark carbon look, chrome auto-part illustrations, flames, 3D animations, exhaust system explorer, product tabs, sale badges and countdowns, cart drawer, services, FAQs and contact pages. Edit everything in Appearance → Customize → Xtreme Website. Run Appearance → Xtreme Setup once after activating.
Version: 2.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
WC requires at least: 8.0
WC tested up to: 10.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: xtreme
Tags: e-commerce, custom-logo, custom-menu, custom-colors, featured-images, translation-ready
*/
:root{--red:#E61D1D;--orange:#E6781D;--dark:#161616;--dark-2:#292823;--steel:#434549;--sand:#F1EBE6;--navy:#09263F;--bg:#fff;--soft:#F7F5F3;--line:#E8E2DC;--muted:#5E6066;--head:"Oswald",Impact,sans-serif;--sans:"Karla",system-ui,sans-serif;--r:16px;--r-lg:24px;--shadow:0 30px 60px -36px rgba(0,0,0,.45),0 8px 18px -12px rgba(0,0,0,.18);box-sizing:border-box}
:root{--red:#E61D1D;--orange:#E6781D;--dark:#0E0E10;--dark-2:#17171A;--dark-3:#202024;--steel:#434549;--sand:#F1EBE6;--navy:#09263F;--bg:#0E0E10;--ink:#F2F2F3;--muted:#A3A5AB;--line:rgba(255,255,255,.09);--head:"Saira Condensed",Impact,"Arial Narrow",sans-serif;--sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--r:14px;--r-lg:22px;--cut:18px;--shadow:0 30px 60px -30px rgba(0,0,0,.8);box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--head);font-weight:800;font-style:italic;line-height:1;margin:0;text-transform:uppercase;letter-spacing:.01em}
.wrap{width:min(1260px,100% - 40px);margin-inline:auto}
.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}
.skip-link:focus{clip-path:none;width:auto;height:auto;z-index:100;left:10px;top:10px;padding:10px 16px;background:#fff;color:#000}
.ico{width:1.2em;height:1.2em;flex:none;--a1:var(--red);--a2:var(--orange)}
.center{text-align:center}
.carbon{background-color:#121214;background-image:linear-gradient(45deg,#18181b 25%,transparent 25%,transparent 75%,#18181b 75%),linear-gradient(45deg,#18181b 25%,transparent 25%,transparent 75%,#18181b 75%);background-size:10px 10px;background-position:0 0,5px 5px}

/* Slanted racing buttons */
.btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:0;border-radius:4px;font-family:var(--head);font-weight:800;font-style:italic;font-size:1.08rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transform:skewX(-12deg);transition:transform .2s,background .2s,box-shadow .2s;line-height:1.1}
.btn>span,.btn>*{transform:skewX(12deg);display:inline-flex;align-items:center;gap:10px}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transition:left .6s}
.btn:hover::after{left:130%}
.btn-red,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{background:linear-gradient(180deg,#ff3434,var(--red));color:#fff;box-shadow:0 12px 30px -10px rgba(230,29,29,.85),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-red:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--orange);color:#fff;transform:skewX(-12deg) translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--red);background:rgba(230,29,29,.12)}
.btn-dark{background:#fff;color:#000}
.btn-dark:hover{background:var(--red);color:#fff}
.btn .ico{width:20px;height:20px;--a1:currentColor;--a2:currentColor}
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.18em;font-size:.95rem;color:var(--orange);margin:0 0 12px}
.kicker .ico{color:var(--red)}
.stripe{display:inline-block;width:42px;height:10px;background:repeating-linear-gradient(115deg,var(--red) 0 8px,transparent 8px 12px)}
.head{max-width:780px;margin:0 auto 46px;text-align:center}
.head h2{font-size:clamp(2.2rem,5vw,3.8rem);color:#fff}
.head h2::after{content:"";display:block;width:90px;height:6px;margin:16px auto 0;background:repeating-linear-gradient(115deg,var(--red) 0 14px,var(--orange) 14px 20px,transparent 20px 24px)}
.head.left h2::after{margin-left:0}
.head p{color:var(--muted);margin:16px auto 0;max-width:62ch}
.head.left{text-align:left;margin-inline:0}
section.block{padding-block:clamp(70px,8vw,120px);position:relative}
section.block.tight-top{padding-top:44px}
section.block.tight{padding-block:40px}

/* Top bar */
.topbar{background:#000;color:#fff;font-size:.86rem;letter-spacing:.04em;position:relative;overflow:hidden}
.topbar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:180px;background:repeating-linear-gradient(115deg,var(--red) 0 14px,transparent 14px 24px);opacity:.9;mask:linear-gradient(90deg,#000,transparent);-webkit-mask:linear-gradient(90deg,#000,transparent)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;position:relative}
.topbar p{margin:0;display:flex;align-items:center;gap:8px;text-transform:uppercase;font-weight:600}
.topbar .ico{--a1:var(--red);color:var(--red)}
.tb-right{display:flex;align-items:center;gap:18px}
.tb-right a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.tb-right a:hover{color:var(--orange)}
.tb-social{display:flex;gap:12px}
@media(max-width:700px){.tb-social,.tb-right{display:none}.topbar .wrap{justify-content:center;min-height:32px}.topbar{font-size:.74rem}}

/* Header (light so the logo always shows) */
.site-header{position:sticky;top:0;z-index:50;background:#fff;color:var(--navy);transition:box-shadow .3s}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(90deg,var(--red),var(--orange) 40%,transparent 70%)}
.site-header.scrolled{box-shadow:0 14px 30px -18px rgba(0,0,0,.6)}
.hbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-block:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.logo-img{width:var(--logo-w);height:auto;display:block;transition:width .3s}
.scrolled .logo-img{width:calc(var(--logo-w) * .72)}
.logo .mark{width:46px;height:46px;border-radius:50%;background:#000;display:grid;place-items:center;color:#fff}
.logo .mark .ico{width:30px;height:30px}
.logo-text b{display:block;font-family:var(--head);font-style:italic;font-weight:800;font-size:1.55rem;text-transform:uppercase;line-height:1}
.logo-text small{font-size:.7rem;letter-spacing:.2em;color:var(--red);font-weight:700}
.hsearch{display:flex;max-width:540px;width:100%;justify-self:center;background:#f3f3f4;border-radius:6px;overflow:hidden;border:2px solid transparent;transition:border-color .2s}
.hsearch:focus-within{border-color:var(--red);background:#fff}
.hsearch input{flex:1;border:0;padding:0 18px;min-height:48px;font:inherit;background:transparent;color:#111;outline:none;min-width:0}
.hsearch button{border:0;background:var(--red);color:#fff;width:56px;display:grid;place-items:center;cursor:pointer}
.hsearch button .ico{width:22px;height:22px;--a1:#fff}
.hicons{display:flex;align-items:center;gap:4px}
.hicon{position:relative;width:46px;height:46px;border-radius:8px;display:grid;place-items:center;color:var(--navy);background:transparent;border:0;cursor:pointer;text-decoration:none}
.hicon:hover{background:#f1f1f2;color:var(--red)}
.hicon .ico{width:24px;height:24px}
.cart-count{position:absolute;top:2px;right:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}
.search-toggle,.menu-btn{display:none}
.menu-btn{flex-direction:column;gap:5px;align-items:center;justify-content:center}
.menu-btn span{display:block;width:24px;height:3px;background:var(--navy);transition:transform .3s,opacity .3s;transform:skewX(-20deg)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mainnav{background:#000}
.menu{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:center;gap:2px;flex-wrap:wrap}
.menu>li{position:relative;display:flex;align-items:center}
.menu a{display:block;padding:13px 16px;text-decoration:none;color:#fff;text-transform:uppercase;font-family:var(--head);font-style:italic;font-weight:700;font-size:1.08rem;letter-spacing:.05em;position:relative}
.menu>li>a::before{content:"";position:absolute;inset:6px 4px;background:var(--red);transform:skewX(-14deg) scaleX(0);transform-origin:left;transition:transform .25s;z-index:-1}
.menu>li>a:hover::before,.menu>li>a.on::before{transform:skewX(-14deg) scaleX(1)}
.menu>li>a{z-index:0}
.menu a.book{background:linear-gradient(180deg,#ff3434,var(--red));margin-left:10px;transform:skewX(-12deg)}
.menu a.book::before{display:none}
.sub-toggle{background:none;border:0;color:#fff;cursor:pointer;padding:4px;margin-left:-10px}
.menu .sub{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:250px;background:#111;border-top:3px solid var(--red);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;z-index:5}
.menu li:hover>.sub,.menu li.open>.sub,.menu li:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.menu .sub a{padding:10px 14px;font-size:1rem}
.menu .sub a:hover{background:var(--red)}
@media(max-width:1000px){
 .hbar{grid-template-columns:auto 1fr;gap:10px}
 .logo-img{width:var(--logo-w-m)}
 .hsearch{display:none;grid-column:1/-1;max-width:none}
 .hsearch.open{display:flex}
 .hicons{justify-self:end}
 .search-toggle,.menu-btn{display:grid}
 .mainnav{display:none;max-height:calc(100vh - 130px);overflow:auto}
 .mainnav.open{display:block}
 .menu{flex-direction:column;align-items:stretch;padding:8px 0 16px;gap:0}
 .menu>li{flex-wrap:wrap}
 .menu>li>a{flex:1;border-bottom:1px solid #222}
 .menu>li>a::before{display:none}
 .sub-toggle{margin:0;width:50px;height:50px;font-size:1.1rem}
 .menu .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;width:100%;border:0;background:#161616}
 .menu li.open>.sub{display:block}
 .menu a.book{margin:12px 6px 0;text-align:center}
}
@media(max-width:480px){.hbar{gap:6px}.hicons{gap:0}.hicon{width:40px;height:40px}.hicon .ico{width:22px;height:22px}.logo-text b{font-size:1.15rem}.logo .mark{width:38px;height:38px}.logo-text small{display:none}}
@media(max-width:360px){.hicons a[href*="account"]{display:none}}

/* Cart drawer */
.drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:90;backdrop-filter:blur(3px)}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#111;color:#fff;z-index:91;transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding:20px;overflow:auto;border-left:4px solid var(--red)}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.drawer-head h3{display:flex;gap:10px;align-items:center;font-size:1.6rem}
.drawer-close{background:none;border:0;font-size:1.4rem;cursor:pointer;width:44px;height:44px;color:#fff}
.ship-bar p{margin:0 0 6px;font-size:.9rem}
.ship-bar .bar{height:8px;border-radius:9px;background:#2a2a2e;overflow:hidden;margin-bottom:14px}
.ship-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--red));transition:width .5s}
.drawer .woocommerce-mini-cart{list-style:none;padding:0;margin:0}
.drawer .woocommerce-mini-cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #2a2a2e;position:relative;font-size:.95rem}
.drawer .woocommerce-mini-cart-item a:not(.remove){display:contents;text-decoration:none;font-weight:700}
.drawer .woocommerce-mini-cart-item img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px;grid-row:span 2}
.drawer .woocommerce-mini-cart-item .remove{order:3;color:var(--red)!important;text-decoration:none;font-size:1.3rem}
.drawer .quantity{grid-column:2;color:var(--muted);font-size:.88rem}
.drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;padding:14px 0;font-size:1.1rem}
.drawer .woocommerce-mini-cart__buttons{display:grid;gap:12px}
.drawer .woocommerce-mini-cart__buttons a{width:100%}
.drawer .woocommerce-mini-cart__buttons a:first-child{background:#fff;color:#000;box-shadow:none}
.drawer .woocommerce-mini-cart__empty-message{color:var(--muted)}

/* HERO */
.hero{position:relative;color:#fff;overflow:hidden;isolation:isolate;background:radial-gradient(70% 90% at 75% 45%,rgba(230,29,29,.22),transparent 60%),radial-gradient(50% 60% at 85% 80%,rgba(230,120,29,.15),transparent 60%),#0b0b0d}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,rgba(11,11,13,.97) 35%,rgba(11,11,13,.55)),var(--hero-bg,none) center/cover no-repeat;opacity:1}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;opacity:.35;background-image:linear-gradient(45deg,#18181b 25%,transparent 25%,transparent 75%,#18181b 75%),linear-gradient(45deg,#18181b 25%,transparent 25%,transparent 75%,#18181b 75%);background-size:10px 10px;background-position:0 0,5px 5px;mask:linear-gradient(180deg,#000,transparent 85%);-webkit-mask:linear-gradient(180deg,#000,transparent 85%)}
.bigword{position:absolute;inset:auto 0 6% 0;z-index:-1;display:flex;white-space:nowrap;font-family:var(--head);font-style:italic;font-weight:800;font-size:clamp(8rem,22vw,20rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.06);animation:drift 30s linear infinite;pointer-events:none}
.bigword span{padding-right:.4em}
@keyframes drift{to{transform:translateX(-50%)}}
.hero-fx{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-fx i{position:absolute;height:2px;width:35%;left:-40%;background:linear-gradient(90deg,transparent,var(--red),#fff,transparent);transform:skewX(-30deg);animation:streak 3.6s cubic-bezier(.6,0,.4,1) infinite;opacity:.8}
.hero-fx i:nth-child(1){top:18%}.hero-fx i:nth-child(2){top:40%;animation-delay:-1.2s;background:linear-gradient(90deg,transparent,var(--orange),transparent)}.hero-fx i:nth-child(3){top:63%;animation-delay:-2.3s}.hero-fx i:nth-child(4){top:82%;animation-delay:-.6s;width:22%}.hero-fx i:nth-child(5){top:30%;animation-delay:-3s;width:15%}
@keyframes streak{to{left:120%}}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:center;min-height:min(720px,calc(100svh - 150px));padding-block:60px 100px}
.hero h1{margin:4px 0 22px}
.hero h1 .l1{display:block;font-size:clamp(1.6rem,3.2vw,2.5rem);color:#d8d8d8;font-weight:700}
.hero h1 .l2{position:relative;display:block;font-size:clamp(3.4rem,8.6vw,7.6rem);line-height:.88;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.6)}
.hero h1 .l2::after{content:attr(data-text);position:absolute;left:0;top:0;color:transparent;background:linear-gradient(100deg,transparent 30%,var(--orange) 45%,var(--red) 55%,transparent 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:sheen 5s ease-in-out infinite}
@keyframes sheen{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
.hero .lead{color:#c9c9cc;max-width:48ch;font-size:1.15rem;margin:0 0 30px}
.actions{display:flex;flex-wrap:wrap;gap:16px;padding-left:6px}
.hero-badges{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.hero-badges li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:.86rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.hero-badges .ico{color:var(--red)}
.hero-art{position:relative;height:clamp(360px,42vw,560px);perspective:1100px}
.hero-art-in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--px,0deg)) rotateY(var(--py,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.spot{position:absolute;left:10%;right:5%;bottom:10%;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(230,29,29,.55),transparent);filter:blur(6px);animation:spotp 2.4s ease-in-out infinite}
@keyframes spotp{50%{opacity:.6;transform:scaleX(.9)}}
.hero-ill{position:absolute;inset:0;display:grid;place-items:center;transform:translateZ(40px) scale(var(--hero-scale));animation:hover3d 7s ease-in-out infinite}
.hero-ill .art{width:110%;max-width:none;filter:drop-shadow(0 40px 40px rgba(0,0,0,.7))}
@keyframes hover3d{0%,100%{transform:translateZ(40px) scale(var(--hero-scale)) rotateY(-14deg) rotateZ(-3deg)}50%{transform:translateZ(40px) scale(var(--hero-scale)) rotateY(8deg) rotateZ(1deg) translateY(-14px)}}
.hero-pic{position:absolute;inset:8%;display:grid;place-items:center;transform:scale(var(--hero-scale))}
.hero-pic img{max-height:100%;width:auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.7))}
.tach{position:absolute;left:0;bottom:2%;width:210px;padding:14px 16px 10px;background:rgba(15,15,18,.75);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateZ(90px);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
.tach svg{width:100%;overflow:visible}
.tach path{fill:none;stroke-width:10;stroke-linecap:round}
.t-track{stroke:rgba(255,255,255,.1)}
.t-fill{stroke:url(#tg);stroke-dasharray:252;stroke-dashoffset:252;animation:rev 3s cubic-bezier(.5,0,.3,1) infinite}
.t-tick{stroke:#777;stroke-width:3}.t-tick.red{stroke:var(--red)}
.t-needle{stroke:#fff;stroke-width:4;stroke-linecap:round;transform-origin:100px 110px;transform:rotate(-90deg);animation:needle 3s cubic-bezier(.5,0,.3,1) infinite}
.tach circle{fill:var(--red)}
.t-read{display:flex;align-items:baseline;justify-content:space-between;margin-top:2px}
.t-read b{font-family:var(--head);font-style:italic;font-size:2rem;color:#fff;line-height:1}
.t-read small{font-size:.65rem;letter-spacing:.14em;color:var(--muted)}
@keyframes rev{0%{stroke-dashoffset:252}55%{stroke-dashoffset:20}70%{stroke-dashoffset:60}85%{stroke-dashoffset:28}100%{stroke-dashoffset:252}}
@keyframes needle{0%{transform:rotate(-90deg)}55%{transform:rotate(80deg)}70%{transform:rotate(50deg)}85%{transform:rotate(74deg)}100%{transform:rotate(-90deg)}}
/* 3D chrome tip option */
.tip3d{--s:calc(clamp(220px,26vw,340px) * var(--hero-scale));position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);transform-style:preserve-3d;animation:wobble 9s ease-in-out infinite}
@keyframes wobble{0%,100%{transform:rotateY(-28deg) rotateX(12deg)}50%{transform:rotateY(-12deg) rotateX(4deg) translateY(-10px)}}
.tube{position:absolute;inset:0;transform-style:preserve-3d}
.tube span{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 200deg,#6d6f75,#f4f4f6,#9a9ca2,#2c2d31,#c9cbd0,#585a5f,#f0f0f2,#6d6f75);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%);transform:translateZ(calc(var(--i) * -12px)) scale(calc(1 - var(--i) * .012));filter:brightness(calc(1 - var(--i) * .045))}
.core{position:absolute;inset:16%;border-radius:50%;transform:translateZ(-150px);background:radial-gradient(circle,#ffb347 0,#ff5a1f 18%,#c3110f 38%,#2a0a08 65%,#0b0b0b 72%);box-shadow:0 0 60px 20px rgba(230,80,29,.45);animation:heat 2.4s ease-in-out infinite}
@keyframes heat{50%{filter:brightness(1.35);box-shadow:0 0 90px 30px rgba(230,80,29,.6)}}
.smoke b{position:absolute;left:50%;top:50%;width:44%;height:44%;margin:-22% 0 0 -22%;border-radius:50%;background:radial-gradient(circle,rgba(230,230,230,.5),rgba(200,200,200,.18) 45%,transparent 70%);opacity:0;animation:puff 4.2s ease-out infinite;animation-delay:calc(var(--d) * -.6s)}
@keyframes puff{0%{opacity:0;transform:translate(0,0) scale(.3)}15%{opacity:.75}100%{opacity:0;transform:translate(-60%,-150%) scale(2.6)}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:30px 80px}.hero-art{height:300px;order:-1}.tach{width:150px;padding:10px}.t-read b{font-size:1.4rem}.hero-ill .art{width:100%}}
.speed-lines{position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(115deg,var(--red) 0 40px,var(--orange) 40px 56px,transparent 56px 80px);background-size:200% 100%;animation:lines 4s linear infinite}
@keyframes lines{to{background-position:-160px 0}}

/* Illustration animations */
.art .flame{transform-box:fill-box;transform-origin:0 50%;animation:flame .18s ease-in-out infinite alternate}
.art .flame .f2{animation:flame .12s ease-in-out infinite alternate-reverse;transform-box:fill-box;transform-origin:0 50%}
@keyframes flame{from{transform:scaleX(.75) scaleY(.9);opacity:.85}to{transform:scaleX(1.12) scaleY(1.05);opacity:1}}
.art .flame{animation:flame .16s ease-in-out infinite alternate,burst 4s steps(1) infinite}
@keyframes burst{0%,62%{opacity:1}63%,100%{opacity:1}}
.art .smoke circle{transform-box:fill-box;transform-origin:center;animation:smk 3s ease-out infinite}
.art .smoke circle:nth-child(2){animation-delay:-1s}.art .smoke circle:nth-child(3){animation-delay:-2s}
@keyframes smk{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:.8}100%{opacity:0;transform:translate(14px,-30px) scale(2)}}
.art .heat path{animation:shimmer 1.4s ease-in-out infinite alternate}
@keyframes shimmer{to{transform:translateY(-6px);opacity:.2}}
.art .glowcore rect{animation:heatc 1.8s ease-in-out infinite}
@keyframes heatc{50%{opacity:.6}}
.art .tipg{transform-box:fill-box;animation:tipb 4s ease-in-out infinite;animation-delay:var(--d)}
@keyframes tipb{50%{transform:translateY(-6px)}}
.art .ball{transform-box:fill-box;transform-origin:50% 100%;animation:swing 3s ease-in-out infinite}
@keyframes swing{50%{transform:rotate(6deg)}}

/* Ribbon */
.rb-wrap{position:relative;z-index:3;overflow:hidden;margin-top:-34px;padding:16px 0}
.ribbon{position:relative;background:var(--red);transform:rotate(-2deg) scale(1.04);padding:14px 0;overflow:hidden;box-shadow:0 20px 40px -20px rgba(230,29,29,.8)}
.rb-track{display:flex;align-items:center;gap:28px;width:max-content;animation:mq 30s linear infinite}
.ribbon span{font-family:var(--head);font-style:italic;font-weight:800;font-size:1.5rem;text-transform:uppercase;color:#fff;white-space:nowrap;letter-spacing:.03em}
.ribbon i{width:28px;height:12px;background:repeating-linear-gradient(115deg,#000 0 6px,transparent 6px 10px);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* Highlights (HUD cards) */
.feats{position:relative;z-index:2;padding-top:60px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{position:relative;display:flex;gap:16px;align-items:center;background:linear-gradient(160deg,#1c1c20,#121214);padding:26px 22px;border:1px solid var(--line);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));transition:transform .3s,background .3s;overflow:hidden}
.feat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(.3);transform-origin:top;transition:transform .4s}
.feat:hover{transform:translateY(-6px);background:linear-gradient(160deg,#25191a,#141214)}
.feat:hover::before{transform:scaleY(1)}
.fnum{position:absolute;right:14px;top:6px;font-family:var(--head);font-style:italic;font-weight:800;font-size:2.8rem;color:rgba(255,255,255,.06)}
.feat-ic{width:66px;height:66px;display:grid;place-items:center;background:var(--red);color:#fff;flex:none;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.feat-ic .ico{width:38px;height:38px;--a1:#fff;--a2:#ffd27a}
.feat h3{font-size:1.4rem;color:#fff}
.feat p{margin:4px 0 0;color:var(--muted)}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}

/* Booking strip (checkered) */
.book-strip{padding-block:60px}
.book-strip .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:40px 44px;background:linear-gradient(100deg,#1a1a1d 55%,var(--red) 55.2%);overflow:hidden;clip-path:polygon(24px 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%,0 24px)}
.book-strip .flag{position:absolute;right:0;top:0;bottom:0;width:40%;opacity:.18;background:conic-gradient(#000 25%,#fff 0 50%,#000 0 75%,#fff 0) 0 0/28px 28px;transform:skewX(-14deg);transform-origin:bottom;mask:linear-gradient(90deg,transparent,#000 40%);-webkit-mask:linear-gradient(90deg,transparent,#000 40%)}
.book-strip h2{position:relative;font-size:clamp(1.9rem,4.4vw,3.4rem);color:#fff}
.book-strip mark{background:none;color:var(--orange)}
.book-strip .btn{background:#fff;color:#000;box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}
.book-strip .btn .ico{--a1:#000;--a2:#000}
.book-strip .btn:hover{background:#000;color:#fff}

/* Exhaust explorer */
.anat{background:radial-gradient(60% 70% at 50% 60%,rgba(230,29,29,.14),transparent 70%),#0b0b0d}
.anat-stage{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:1000/300}
.anat-art .art{width:100%;display:block;filter:drop-shadow(0 30px 30px rgba(0,0,0,.6))}
.anat .part{transform-box:fill-box;transform-origin:center;opacity:0;transform:translateY(-40px);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.anat-stage.in .part{opacity:1;transform:none}
.anat-stage.in .p-pipe1{transition-delay:.1s}.anat-stage.in .p-cat{transition-delay:.25s}.anat-stage.in .p-pipe2{transition-delay:.35s}.anat-stage.in .p-res{transition-delay:.5s}.anat-stage.in .p-pipe3{transition-delay:.6s}.anat-stage.in .p-muffler{transition-delay:.75s}.anat-stage.in .p-tips{transition-delay:.9s}
.hot{position:absolute;transform:translate(-50%,-50%);text-decoration:none;z-index:2}
.hot .dot{display:block;width:22px;height:22px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 0 0 0 rgba(230,29,29,.7);animation:ping 2s infinite}
@keyframes ping{70%{box-shadow:0 0 0 16px rgba(230,29,29,0)}100%{box-shadow:0 0 0 0 rgba(230,29,29,0)}}
.hot .lbl{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%) skewX(-10deg) translateY(6px);white-space:nowrap;background:#fff;color:#000;padding:6px 14px;font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;font-size:.95rem;opacity:0;transition:.25s;pointer-events:none}
.hot:hover .lbl,.hot:focus .lbl{opacity:1;transform:translateX(-50%) skewX(-10deg)}
.hot.h0{left:10%;top:44%}.hot.h1{left:34.5%;top:30%}.hot.h2{left:58.5%;top:36%}.hot.h3{left:77.5%;top:26%}.hot.h4{left:93%;top:42%}
.anat-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.anat-list a{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid var(--line);background:#141416;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:.2s;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.anat-list b{font-family:var(--head);font-style:italic;color:var(--red)}
.anat-list a:hover{background:var(--red);border-color:var(--red)}
.anat-list a:hover b{color:#fff}
@media(max-width:700px){.hot .dot{width:16px;height:16px;border-width:2px}}

/* Categories */
.cats{background:#0e0e10}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1400px}
.cat{position:relative;height:var(--cat-h);overflow:hidden;background:linear-gradient(160deg,#1d1d21,#111113);border:1px solid var(--line);color:#fff;text-decoration:none;display:block;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.cat:hover{border-color:rgba(230,29,29,.6)}
.cat::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 40%,rgba(230,29,29,.25),transparent 70%);opacity:0;transition:opacity .4s}
.cat:hover::before{opacity:1}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.cat:hover img{transform:scale(1.08)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.9))}
.cat-art{position:absolute;inset:6% 6% 30%;display:grid;place-items:center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cat-art .art{width:100%;height:100%;filter:drop-shadow(0 20px 20px rgba(0,0,0,.6))}
.cat:hover .cat-art{transform:translateY(-8px) scale(1.06) rotate(-2deg)}
.cat-txt{position:absolute;left:22px;bottom:18px;z-index:1}
.cat-txt b{display:block;font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.8rem;letter-spacing:.01em}
.cat-txt small{color:#bbb}
.cat-go{position:absolute;right:18px;bottom:18px;z-index:1;width:46px;height:46px;background:var(--red);display:grid;place-items:center;font-size:1.3rem;transition:transform .3s;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.cat:hover .cat-go{transform:translateX(5px)}
.cat-ph{position:absolute;inset:0;display:grid;place-items:center}
.cat-ph .ico{width:40%;height:40%;color:#444}
@media(max-width:900px){.cat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}

/* Product tabs + cards */
.prods{background:#121214}
.tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.tabs button{font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;min-height:48px;padding:0 24px;border:0;background:#1f1f23;color:#ccc;cursor:pointer;transform:skewX(-12deg);transition:.2s}
.tabs button[aria-selected="true"],.tabs button:hover{background:var(--red);color:#fff}
.pgrid,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 0 34px!important;padding:0!important;perspective:1600px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0!important;list-style:none}
@media(max-width:1100px){.pgrid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.pgrid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:12px}}
.pcard{height:100%;display:flex;flex-direction:column;background:#19191c;border:1px solid var(--line);overflow:hidden;position:relative;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.pcard:hover{border-color:rgba(230,29,29,.7);box-shadow:0 30px 60px -30px rgba(230,29,29,.6)}
.pcard::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.18),transparent 45%);opacity:var(--gl,0);transition:opacity .3s}
.pimg{display:block;position:relative;aspect-ratio:1;background:radial-gradient(80% 70% at 50% 45%,#fff,#e8e8ea);overflow:hidden}
.pimg img{width:100%!important;height:100%!important;object-fit:contain;padding:12px;margin:0!important;transition:transform .6s}
.pcard:hover .pimg img{transform:scale(1.08) rotate(-2deg)}
.badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:1}
.badge{font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;padding:3px 12px;color:#fff;background:#000;transform:skewX(-12deg)}
.badge.sale{background:var(--red)}
.badge.new{background:var(--orange)}
.badge.out{background:#666}
.pbody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcat{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--orange);font-weight:700}
.ptitle{font-family:var(--sans);font-style:normal;text-transform:none;font-size:1rem;font-weight:600;line-height:1.35;letter-spacing:0;color:#eee}
.ptitle a{text-decoration:none}
.ptitle a:hover{color:var(--red)}
.pprice{font-family:var(--head);font-style:italic;font-weight:800;font-size:1.55rem;color:#fff}
.pprice del{color:#777;font-size:1rem;margin-right:6px}
.pprice ins{text-decoration:none;color:var(--red)}
.countdown{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#fff;background:linear-gradient(90deg,rgba(230,29,29,.35),rgba(230,29,29,.08));padding:6px 10px;border-left:3px solid var(--red)}
.countdown b{font-family:var(--head);font-style:italic;letter-spacing:.06em;color:var(--orange)}
.pbtn{margin-top:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:8px}
.pbtn .button{min-height:42px!important;padding:0 16px!important;font-size:.9rem!important;flex:1}
.pbtn .pview{font-size:.85rem;font-weight:700;text-decoration:none;color:#ccc;text-transform:uppercase;letter-spacing:.05em}
.pbtn .pview:hover{color:#fff}
.pbtn .added_to_cart{font-size:.82rem;font-weight:700;color:var(--orange);text-decoration:none;width:100%}
.woocommerce a.button.loading::after{display:none}
.woocommerce a.button.loading{opacity:.6}
.star-rating{color:var(--orange)}
@media(max-width:560px){.pbody{padding:10px 12px 12px}.pprice{font-size:1.2rem}.pbtn .pview{display:none}}

/* Services */
.svc-sec{background:#0b0b0d}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;perspective:1400px}
.svc{position:relative;display:flex;flex-direction:column;padding:30px 28px;text-decoration:none;color:#fff;background:linear-gradient(160deg,#1c1c20,#121214);border:1px solid var(--line);transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s;overflow:hidden;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.svc::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .5s}
.svc:hover{border-color:rgba(230,29,29,.5)}
.svc:hover::before{transform:scaleX(1)}
.svc .num{position:absolute;right:18px;top:6px;font-family:var(--head);font-style:italic;font-weight:800;font-size:3.4rem;color:rgba(255,255,255,.05)}
.svc-pic{margin:-30px -28px 20px;height:170px;overflow:hidden}
.svc-pic img{width:100%;height:100%;object-fit:cover}
.svc-ic{width:66px;height:66px;background:var(--red);display:grid;place-items:center;margin-bottom:18px;color:#fff;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:transform .4s}
.svc:hover .svc-ic{transform:rotate(-6deg) scale(1.08)}
.svc-ic .ico{width:38px;height:38px;--a1:#fff;--a2:#ffd27a}
.svc h3{font-size:1.55rem}
.svc p{margin:8px 0 14px;color:var(--muted)}
.svc .more,.more{margin-top:auto;font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red)}
@media(max-width:960px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* Brands */
.brands{background:#fff;color:#111;padding-block:70px}
.brands .head h2{color:#111}
.mq{overflow:hidden;mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-track{display:flex;gap:60px;width:max-content;align-items:center;animation:mq 36s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.brand{display:flex;align-items:center;height:60px;font-family:var(--head);font-style:italic;font-weight:800;font-size:1.8rem;text-transform:uppercase;color:#999}
.brand img{height:46px;width:auto;filter:grayscale(1);opacity:.75;transition:.3s}
.brand:hover img{filter:none;opacity:1}

/* Reviews */
.reviews{background:linear-gradient(rgba(11,11,13,.82),rgba(11,11,13,.94)),var(--rv-bg,none) center/cover,#141416;text-align:center}
.rv-slider{max-width:860px;margin:0 auto;display:grid}
.rv{grid-area:1/1;margin:0;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s;pointer-events:none}
.rv.on{opacity:1;transform:none;pointer-events:auto}
.rv>.ico{width:70px;height:70px;color:var(--red)}
.stars{display:flex;justify-content:center;gap:4px;margin:6px 0 18px;color:var(--orange)}
.stars .ico{width:24px;height:24px}
.rv blockquote{margin:0;font-family:var(--head);font-style:italic;font-weight:700;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;text-transform:uppercase;color:#fff}
.rv figcaption{margin-top:18px;color:var(--orange);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rv-dots{grid-row:2;display:flex;justify-content:center;gap:8px;margin-top:24px}
.rv-dots button{width:12px;height:12px;border:0;background:#555;cursor:pointer;padding:0;transform:skewX(-14deg)}
.rv-dots button.on{background:var(--red);width:34px}

/* Blog */
.blog{background:#0e0e10}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;perspective:1400px}
.post-card{display:flex;flex-direction:column;overflow:hidden;background:#17171a;border:1px solid var(--line);text-decoration:none;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s,border-color .3s;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.post-card:hover{border-color:rgba(230,29,29,.6)}
.pc-img{aspect-ratio:3/2;overflow:hidden;position:relative;background:#111}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.post-card:hover .pc-img img{transform:scale(1.06)}
.pc-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.pc-body time{font-size:.8rem;color:var(--orange);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.pc-body h3{font-size:1.4rem;color:#fff}
.pc-body p{margin:0;color:var(--muted)}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}}

/* CTA */
.cta{position:relative;padding-block:clamp(90px,11vw,150px);color:#fff;background:linear-gradient(100deg,rgba(11,11,13,.95) 40%,rgba(11,11,13,.5)),var(--cta-bg,none) center/cover,radial-gradient(60% 80% at 80% 60%,#5a1010,#0b0b0d 70%);overflow:hidden}
.cta .wrap{position:relative;z-index:1}
.cta .kicker{color:var(--orange)}
.cta h2{font-size:clamp(2.8rem,7.4vw,6rem);margin-bottom:34px;max-width:12ch}
.cta h2 span{display:block;font-size:.42em;color:var(--red);margin-top:10px}
.cta-art{position:absolute;right:-4%;top:50%;width:min(620px,55%);transform:translateY(-50%) rotate(-8deg);opacity:.9}
.cta-art .art{width:100%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}
@media(max-width:800px){.cta-art{position:relative;right:auto;top:auto;transform:rotate(-6deg);width:100%;margin:-40px 0 10px}}

/* Footer */
.site-footer{position:relative;background:#060607;color:#b9b9bd;padding:80px 0 26px}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:22px;background:conic-gradient(#fff 25%,#000 0 50%,#fff 0 75%,#000 0) 0 0/22px 22px;opacity:.12}
.site-footer .speed-lines{top:22px;bottom:auto}
.ft-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:50px}
.ft-top h3{font-size:clamp(2rem,4vw,3.2rem);color:#fff}
.ft-top h3 span{display:block;color:var(--red)}
.ft-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:40px}
.site-footer .logo-img{width:var(--flogo-w);margin-bottom:20px;background:#fff;padding:10px;border-radius:8px}
.site-footer .logo{color:#fff}
.ft-btn{display:flex;align-items:center;gap:10px;padding:12px 18px;margin-bottom:10px;border:1px solid #26262a;text-decoration:none;color:#fff;transition:.2s;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.ft-btn:hover{border-color:var(--red);background:rgba(230,29,29,.12)}
.ft-btn .ico{color:var(--red)}
.site-footer h4{color:#fff;font-size:1.4rem;display:flex;gap:8px;align-items:center;margin-bottom:12px}
.site-footer h4 .ico{color:var(--red)}
.site-footer h4.mt{margin-top:26px}
.ft-about{margin-top:0}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #2a2a2e}
.hours b{color:#fff;font-weight:600}
.ft-menu{list-style:none;padding:0;margin:0}
.ft-menu a{display:inline-block;padding:5px 0;text-decoration:none;color:#b9b9bd;transition:color .2s,transform .2s}
.ft-menu a:hover{color:#fff;transform:translateX(5px)}
.ft-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #1d1d20;margin-top:50px;padding-top:22px;font-size:.9rem}
.ft-bottom p{margin:0}
.ft-bottom a{color:#fff}
.ft-social{display:flex;gap:14px}
.ft-social a{text-decoration:none;color:#fff;font-weight:600}
.ft-social a:hover{color:var(--red)}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr}}
.float-call{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--red);color:#fff;display:none;place-items:center;box-shadow:0 12px 30px -10px rgba(230,29,29,.9);animation:ring 3s infinite}
.float-call .ico{width:26px;height:26px;--a1:#fff}
@keyframes ring{0%,80%,100%{transform:none}85%{transform:rotate(-12deg)}90%{transform:rotate(12deg)}95%{transform:rotate(-8deg)}}
@media(max-width:760px){.float-call{display:grid}}
.totop{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:50px;height:50px;background:var(--red);color:#fff;display:grid;place-items:center;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .3s;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.totop.show{opacity:1;pointer-events:auto}

/* Inner pages */
.page-head{position:relative;color:#fff;padding:80px 0 90px;background:linear-gradient(100deg,rgba(11,11,13,.96) 40%,rgba(11,11,13,.6)),var(--ph-bg,none) center/cover,radial-gradient(60% 80% at 85% 50%,rgba(230,29,29,.25),transparent 70%),#0b0b0d;overflow:hidden}
.page-head::after{content:"";position:absolute;right:-5%;top:0;bottom:0;width:40%;background:repeating-linear-gradient(115deg,rgba(230,29,29,.12) 0 30px,transparent 30px 60px)}
.page-head .wrap{position:relative;z-index:1}
.page-head.slim{padding:22px 0}
.page-head.slim::after{display:none}
.page-head h1{font-size:clamp(2.6rem,7vw,5rem)}
.ph-text{color:#c9c9cc;max-width:60ch}
.crumbs,.woocommerce .woocommerce-breadcrumb{font-size:.86rem;color:#999;margin:0 0 10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.crumbs a,.woocommerce .woocommerce-breadcrumb a{color:#fff;text-decoration:none}
.crumbs a:hover{color:var(--red)}
.prose{max-width:820px;color:#d8d8db}
.prose h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:34px 0 12px;color:#fff}
.prose h3{margin:26px 0 10px;color:#fff}
.prose a{color:var(--orange)}
.prose img{border-radius:var(--r)}
.layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.side{position:sticky;top:170px;background:linear-gradient(160deg,#1c1c20,#121214);border:1px solid var(--line);border-top:4px solid var(--red);padding:28px;display:grid;gap:14px}
.side h3{font-size:1.7rem}
.side p{margin:0;color:var(--muted)}
.post-nav{display:flex;justify-content:space-between;gap:12px;margin-top:40px;font-weight:700}
.post-nav a{color:#fff;text-decoration:none}
.faq-grid{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
@media(max-width:960px){.layout,.faq-grid{grid-template-columns:1fr}.side{position:static}}
.faq details,.wp-block-details{border:1px solid var(--line);margin-bottom:12px;background:#17171a;overflow:hidden;transition:border-color .3s}
.faq summary,.wp-block-details summary{cursor:pointer;list-style:none;padding:20px 60px 20px 22px;font-weight:700;font-size:1.1rem;position:relative;color:#fff}
.faq summary::-webkit-details-marker,.wp-block-details summary::-webkit-details-marker{display:none}
.faq summary::after,.wp-block-details summary::after{content:"+";position:absolute;right:20px;top:50%;translate:0 -50%;width:32px;height:32px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:1.3rem;transition:transform .3s;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}
.faq details[open] summary::after,.wp-block-details[open] summary::after{transform:rotate(45deg)}
.faq details>*:not(summary),.wp-block-details>*:not(summary){padding:0 22px;color:var(--muted)}
.faq details[open],.wp-block-details[open]{border-color:var(--red)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.steps li{counter-increment:s;padding:28px;background:linear-gradient(160deg,#1c1c20,#121214);border:1px solid var(--line);position:relative;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;right:18px;top:6px;font-family:var(--head);font-style:italic;font-weight:800;font-size:3rem;color:rgba(230,29,29,.3)}
.steps .ico{width:46px;height:46px;color:#fff;margin-bottom:12px}
.steps b{display:block;font-family:var(--head);font-style:italic;font-weight:800;font-size:1.5rem;text-transform:uppercase}
.steps span{color:var(--muted)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.areas{text-align:center}
.areas h3{display:inline-flex;gap:8px;align-items:center;margin-bottom:16px;font-size:1.8rem}
.areas p{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0}
.areas span{padding:8px 18px;background:#1c1c20;border:1px solid var(--line);font-weight:700;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.about-card{display:grid;gap:14px}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:50px;perspective:1200px}
.info{display:flex;flex-direction:column;gap:6px;padding:26px;background:linear-gradient(160deg,#1c1c20,#121214);border:1px solid var(--line);color:#fff;text-decoration:none;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s,border-color .3s;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.info:hover{border-color:var(--red)}
.info .ico{width:44px;height:44px;color:var(--red);margin-bottom:8px}
.info b{font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;font-size:1.4rem}
.info span{color:var(--muted);word-break:break-word}
@media(max-width:900px){.info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.info-grid{grid-template-columns:1fr}}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.contact-grid h2{margin-bottom:18px;font-size:2.4rem}
.contact-side{display:grid;gap:18px}
.hours-card{background:#17171a;border:1px solid var(--line);border-top:4px solid var(--red);padding:24px}
.hours-card h3{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:1.6rem}
iframe.map{width:100%;min-height:320px;border:0;filter:grayscale(.6) contrast(1.1)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em;color:#ccc}
.form input,.form select,.form textarea{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid #2a2a2e;font:inherit;background:#131315;color:#fff;border-radius:4px}
.form textarea{min-height:140px}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(230,29,29,.18)}
.form .hp{position:absolute;left:-9999px}
.form .sent{padding:14px;background:#103a22;color:#9ff0c0}
.form .sent.err{background:#3a1010;color:#ffb3b3}
.form.plugin-form{display:block}
@media(max-width:600px){.form{grid-template-columns:1fr}}
.pager{margin-top:40px;text-align:center}
.pager .page-numbers,.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:inline-grid;place-items:center;min-width:44px;height:44px;margin:2px;text-decoration:none;background:#17171a;color:#fff;border:1px solid var(--line)!important}
.pager .current,.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--red);color:#fff}
.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border:0}

/* Shop pages */
.chips{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 8px;margin-bottom:22px;scrollbar-width:thin}
.chips a{flex:none;padding:10px 20px;text-decoration:none;font-weight:700;white-space:nowrap;background:#1a1a1d;color:#ddd;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.chips a small{color:#888;font-weight:400}
.chips a.on,.chips a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.chips a.on small{color:#ffd5d5}
.woocommerce .woocommerce-result-count{margin:12px 0 24px;color:var(--muted)}
.woocommerce .woocommerce-ordering select{min-height:46px;padding:0 16px;border:1px solid #2a2a2e;background:#17171a;color:#fff;font:inherit}
.woocommerce span.onsale{display:none}
.single-wrap .product{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images{background:radial-gradient(80% 70% at 50% 45%,#fff,#e6e6e8);padding:16px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.woocommerce div.product .product_title{font-size:clamp(2rem,3.8vw,3.2rem);margin-bottom:12px;color:#fff}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--head);font-style:italic;font-weight:800;font-size:2.4rem;color:#fff}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--red)}
.woocommerce div.product p.price del{color:#777;font-size:1.3rem}
.woocommerce div.product .woocommerce-product-details__short-description{color:#ccc}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce .quantity .qty{width:90px;min-height:52px;text-align:center;background:#17171a;color:#fff;border:1px solid #2a2a2e;font:inherit}
.woocommerce div.product form.cart .button{float:none;min-height:54px;padding:0 38px}
.woocommerce div.product form.cart table.variations td,.woocommerce div.product form.cart table.variations th{color:#fff}
.woocommerce div.product form.cart .variations select{background:#17171a;color:#fff;border:1px solid #2a2a2e;min-height:46px;padding:0 10px}
.single-wrap .woocommerce-tabs,.single-wrap .related,.single-wrap .upsells{grid-column:1/-1}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;border-radius:0!important;background:#1f1f23!important;margin:0!important;padding:0!important;transform:skewX(-12deg)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 22px!important;font-family:var(--head);font-style:italic;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#ccc!important;display:block;transform:skewX(12deg)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--red)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce div.product .woocommerce-tabs .panel{background:#17171a;border:1px solid var(--line);padding:28px;color:#d6d6d9}
.woocommerce div.product .woocommerce-tabs .panel h2{color:#fff;margin-bottom:12px}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:#2a2a2e}
.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond input{background:#131315;color:#fff;border:1px solid #2a2a2e}
.related>h2,.upsells>h2{font-size:2.4rem;margin:44px 0 22px;color:#fff}
.trust{list-style:none;padding:18px;margin:22px 0;display:grid;gap:10px;background:#17171a;border:1px solid var(--line);border-left:4px solid var(--red)}
.trust li{display:flex;gap:10px;align-items:center;font-weight:600;color:#ddd}
.trust .ico{width:24px;height:24px;color:var(--red)}
.trust a{color:#fff}
.product_meta{font-size:.9rem;color:var(--muted)}
.product_meta a{color:var(--orange)}
@media(max-width:860px){.single-wrap .product{grid-template-columns:1fr;gap:24px}}
/* Cart, checkout, account: clean light panel so forms stay easy to use */
.wc-page{background:#fff;color:#1b1b1d;padding:clamp(20px,4vw,44px);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}
.wc-page a{color:var(--red)}
.wc-page h2,.wc-page h3{color:#111}
.wc-page .woocommerce form .form-row input.input-text,.wc-page .woocommerce form .form-row textarea,.wc-page select,.wc-page .woocommerce .quantity .qty{background:#fff;color:#111;border:1.5px solid #ddd;min-height:48px;padding:10px 14px;font:inherit}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--red)!important;background:#17171a!important;color:#fff!important}
.wc-page .woocommerce-message,.wc-page .woocommerce-info{background:#f6f6f7!important;color:#111!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)!important}
.woocommerce-message a.button,.woocommerce-info a.button{transform:none}
.woocommerce table.shop_table{border-collapse:separate;overflow:hidden}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:#f6f6f7;padding:24px}
.wc-block-components-button:not(.is-link){background:var(--red)!important;color:#fff!important;border-radius:4px!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:6px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;background:#f3f3f4;text-decoration:none;font-weight:700;color:#111}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--red);color:#fff}
.search-form{display:flex;gap:8px;margin-top:20px}
.search-form input[type=search]{flex:1;min-height:52px;padding:0 16px;border:1px solid #2a2a2e;background:#131315;color:#fff;font:inherit}
.search-form input[type=submit]{min-height:52px;padding:0 22px;border:0;background:var(--red);color:#fff;font:inherit;font-weight:700;text-transform:uppercase}

/* Rise in */
.rise{opacity:0;transform:translateY(40px) rotateX(10deg);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1)}
.rise.in{opacity:1;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0))}
body.no-anim *,body.no-anim *::before,body.no-anim *::after{animation:none!important;transition:none!important}
body.no-anim .rise,body.no-anim .anat .part{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rise,.anat .part{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
.book-strip,.anat{overflow:hidden}
.hot.h0 .lbl{left:0;transform:skewX(-10deg) translateY(6px)}
.hot.h4 .lbl{left:auto;right:0;transform:skewX(-10deg) translateY(6px)}
.hot.h0:hover .lbl,.hot.h0:focus .lbl,.hot.h4:hover .lbl,.hot.h4:focus .lbl{transform:skewX(-10deg)}

.cats .head h2{font-size:clamp(2rem,4vw,3.1rem)}
.wp-block-details summary{color:inherit}

/* Quote mode */
.quote-box{margin:22px 0;padding:22px;background:#17171a;border:1px solid var(--line);border-left:4px solid var(--red)}
.quote-box p{margin:0 0 16px;color:#ddd}
.quote-btns{display:flex;flex-wrap:wrap;gap:14px;padding-left:6px}
.pbtn .quote-btn{min-height:42px;padding:0 16px;font-size:.9rem;flex:1}
.woocommerce div.product .product_title{color:#fff}
