/* Tariq Mat House — design system
   Barlow family (drawn from highway signage), tyre-rubber charcoal,
   road-lane yellow, cool chalk. Chamfered corners echo a floor mat's cut. */
:root{
  --rubber:#1C1F22; --asphalt:#2B3036; --asphalt-2:#363C43;
  --chalk:#F3F4F1; --paper:#FFFFFF; --line:#DDE0DB; --steel:#5F6770; --steel-2:#8D949B;
  --lane:#FFC21A; --lane-deep:#E2A600; --lane-soft:#FFF4D1;
  --wa:#1FAF5A; --wa-deep:#168A46;
  --ink:var(--rubber);
  --f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --cham:14px; /* chamfer size */
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--chalk);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--lane);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.02;letter-spacing:-.005em;margin:0 0 .4em}
h1{font-size:clamp(44px,7.2vw,92px);font-weight:800}
h2{font-size:clamp(34px,4.6vw,58px)}
h3{font-size:clamp(24px,2.4vw,30px);font-weight:700}
p{margin:0 0 1em;max-width:68ch}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--lane);padding:10px 16px;z-index:200;font-weight:600}
.skip:focus{left:8px}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--steel);line-height:1.55}
.on-dark .lead,.on-dark p{color:#C9CDD1}

/* ---------- buttons ---------- */
.btn{--bg:var(--lane);--fg:var(--rubber);display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font:700 17px/1 var(--f-display);letter-spacing:.02em;text-decoration:none;cursor:pointer;border:0;
  padding:16px 24px 15px;background:var(--bg);color:var(--fg);
  clip-path:polygon(0 0,calc(100% - var(--cham)) 0,100% var(--cham),100% 100%,0 100%);
  transition:transform .25s var(--ease),background .25s,color .25s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{transform:translateY(-2px);background:var(--lane-deep)}
.btn:active{transform:translateY(0)}
.btn--wa{--bg:var(--wa);--fg:#fff}.btn--wa:hover{background:var(--wa-deep)}
.btn--dark{--bg:var(--rubber);--fg:#fff}.btn--dark:hover{background:var(--asphalt-2)}
.btn--ghost{--bg:transparent;--fg:currentColor;box-shadow:inset 0 0 0 2px currentColor;clip-path:none;border-radius:2px}
.btn--ghost:hover{background:rgba(255,255,255,.08)}
.btn--light.btn--ghost:hover{background:rgba(28,31,34,.06)}
.btn--sm{font-size:15px;padding:12px 16px 11px;--cham:10px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- logo ---------- */
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.logo__mark{width:46px;height:46px;flex:none}
.logo__word{display:flex;flex-direction:column;line-height:.9;font-family:var(--f-display)}
.logo__word b{font-weight:800;font-size:27px;letter-spacing:.01em}
.logo__word span{font-weight:600;font-size:13.5px;letter-spacing:.18em;margin-top:3px;opacity:.75}

/* ---------- header ---------- */
.topbar{background:var(--rubber);color:#C9CDD1;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:8px;padding-bottom:8px}
.topbar a{text-decoration:none}.topbar a:hover{color:var(--lane)}
.topbar__l,.topbar__r{display:flex;gap:22px;align-items:center}
.topbar svg{width:15px;height:15px;display:inline-block;vertical-align:-2px;margin-right:6px;color:var(--lane)}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.hdr.is-stuck{box-shadow:0 8px 28px -18px rgba(28,31,34,.45)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:78px;transition:height .3s var(--ease)}
.hdr.is-stuck .wrap{height:66px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{position:relative;font:600 18px/1 var(--f-display);letter-spacing:.02em;text-decoration:none;padding:10px 12px;color:var(--asphalt)}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:3px;background:var(--lane);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.hdr__cta{display:flex;gap:10px}
.burger{display:none;margin-left:auto;width:46px;height:46px;border:0;background:var(--rubber);color:#fff;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.burger span{display:block;width:20px;height:2px;background:currentColor;margin:5px auto;transition:transform .3s,opacity .3s}
.drawer{position:fixed;inset:0;z-index:90;pointer-events:none}
.drawer__bg{position:absolute;inset:0;background:rgba(28,31,34,.55);opacity:0;transition:opacity .35s}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(86vw,380px);background:var(--rubber);color:#fff;padding:22px 24px 28px;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s var(--ease)}
.drawer.is-open{pointer-events:auto}.drawer.is-open .drawer__bg{opacity:1}.drawer.is-open .drawer__panel{transform:none}
.drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}
.drawer__close{width:44px;height:44px;border:0;background:var(--asphalt-2);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.drawer nav a{display:flex;justify-content:space-between;font:700 30px/1 var(--f-display);text-decoration:none;padding:15px 0;border-bottom:1px solid var(--asphalt-2);opacity:0;transform:translateX(24px);transition:opacity .4s,transform .4s var(--ease),color .2s}
.drawer nav a:hover{color:var(--lane)}
.drawer.is-open nav a{opacity:1;transform:none}
.drawer.is-open nav a:nth-child(2){transition-delay:.04s}.drawer.is-open nav a:nth-child(3){transition-delay:.08s}.drawer.is-open nav a:nth-child(4){transition-delay:.12s}.drawer.is-open nav a:nth-child(5){transition-delay:.16s}.drawer.is-open nav a:nth-child(6){transition-delay:.2s}
.drawer__foot{margin-top:auto;display:grid;gap:10px}
.drawer__foot .btn{width:100%}
.drawer__meta{color:var(--steel-2);font-size:14px;margin-top:10px}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--rubber);color:#fff;overflow:hidden;isolation:isolate}
.tread{position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 10px,rgba(255,255,255,.035) 10px 12px),
    repeating-linear-gradient(-45deg,transparent 0 10px,rgba(255,255,255,.035) 10px 12px);
  -webkit-mask-image:linear-gradient(100deg,transparent 15%,#000 70%);mask-image:linear-gradient(100deg,transparent 15%,#000 70%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(80px,10vw,128px)}
.hero h1{max-width:11ch;margin-bottom:.32em}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;transform:translateY(105%);animation:rise .9s var(--ease) forwards}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
.hero h1 .ln:nth-child(3)>span{animation-delay:.24s;color:var(--lane)}
.hero .lead{max-width:52ch;opacity:0;animation:fade .8s .5s forwards}
.hero .btn-row{margin-top:30px;opacity:0;animation:fade .8s .65s forwards}
.hero__facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:36px;padding-top:24px;border-top:1px solid var(--asphalt-2);color:#C9CDD1;font-size:15px;opacity:0;animation:fade .8s .8s forwards}
.hero__facts b{color:#fff;font-family:var(--f-display);font-size:22px;font-weight:700;display:block;line-height:1.1}
.road{position:absolute;left:0;right:0;bottom:0;height:46px;background:var(--asphalt);z-index:-1}
.road::before{content:"";position:absolute;left:0;right:0;top:50%;height:5px;margin-top:-2.5px;
  background:repeating-linear-gradient(90deg,var(--lane) 0 56px,transparent 56px 112px);animation:lane 1.6s linear infinite}
@keyframes lane{to{background-position:-112px 0}}
@keyframes rise{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* mat set illustration */
.matset{position:relative;aspect-ratio:1/1;max-width:540px;margin-left:auto;width:100%}
.matset svg{width:100%;height:100%;overflow:visible}
.matset .mat{transform-box:fill-box;transform-origin:center;opacity:0;animation:lay .9s var(--ease) forwards}
.matset .mat--1{--fx:-60px;--fy:-80px;--r:-14deg;animation-delay:.35s}
.matset .mat--2{--fx:60px;--fy:-80px;--r:14deg;animation-delay:.5s}
.matset .mat--3{--fx:-60px;--fy:80px;--r:10deg;animation-delay:.65s}
.matset .mat--4{--fx:60px;--fy:80px;--r:-10deg;animation-delay:.8s}
@keyframes lay{from{opacity:0;transform:translate(var(--fx),var(--fy)) rotate(var(--r)) scale(.9)}to{opacity:1;transform:none}}
.matset .outline{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.8s .1s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.matset__tag{position:absolute;background:var(--paper);color:var(--rubber);font:700 15px/1.15 var(--f-display);padding:10px 14px;box-shadow:0 16px 30px -16px rgba(0,0,0,.6);opacity:0;animation:fade .7s forwards;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.matset__tag small{display:block;font:500 13px/1.2 var(--f-body);color:var(--steel)}
.matset__tag--a{left:-4%;top:14%;animation-delay:1.3s}
.matset__tag--b{right:-2%;bottom:16%;animation-delay:1.5s}

/* ---------- sign ticker ---------- */
.ticker{background:var(--lane);color:var(--rubber);overflow:hidden;border-block:3px solid var(--rubber)}
.ticker__track{display:flex;width:max-content;animation:tick 38s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker span{font:800 22px/1 var(--f-display);letter-spacing:.02em;padding:16px 26px;display:flex;align-items:center;gap:26px;white-space:nowrap}
.ticker span::after{content:"";width:10px;height:10px;background:var(--rubber);transform:rotate(45deg)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding:clamp(64px,9vw,120px) 0}
.sec--white{background:var(--paper)}
.sec--dark{background:var(--rubber);color:#fff}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sec-head h2{margin:0;max-width:16ch}
.sec-head p{margin:0;max-width:46ch;color:var(--steel)}
.on-dark .sec-head p{color:#C9CDD1}

/* category tiles */
.cats{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}
.cat{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:262px;padding:128px 26px 26px;text-decoration:none;
  background:var(--paper);border:1px solid var(--line);overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),border-color .35s;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.cat::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .4s;
  background-image:repeating-linear-gradient(45deg,transparent 0 9px,rgba(28,31,34,.05) 9px 11px),repeating-linear-gradient(-45deg,transparent 0 9px,rgba(28,31,34,.05) 9px 11px)}
.cat:hover{transform:translateY(-4px);border-color:var(--rubber)}
.cat:hover::before{opacity:1}
.cat__ico{position:absolute;top:22px;right:24px;width:84px;height:84px;color:var(--steel-2);transition:transform .5s var(--ease),color .3s}
.cat:hover .cat__ico{transform:rotate(-6deg) scale(1.08);color:var(--rubber)}
.cat h3{margin-bottom:6px}
.cat p{margin:0;color:var(--steel);font-size:15.5px;max-width:34ch}
.cat__go{margin-top:16px;font:700 16px/1 var(--f-display);display:inline-flex;align-items:center;gap:8px}
.cat__go svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.cat:hover .cat__go svg{transform:translateX(5px)}
.cat--feature{grid-row:span 2;background:var(--lane);border-color:var(--lane);min-height:540px}
.cat--feature p{color:var(--asphalt)}
.cat--feature .cat__ico{width:58%;height:auto;top:8%;right:8%;color:var(--rubber)}
.cat--feature h3{font-size:clamp(34px,3.6vw,48px)}

/* products */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{font:600 16px/1 var(--f-display);letter-spacing:.02em;padding:11px 16px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;color:var(--asphalt);transition:all .2s}
.tab:hover{border-color:var(--rubber)}
.tab[aria-pressed="true"]{background:var(--rubber);border-color:var(--rubber);color:#fff}
.sort{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--steel)}
.sort select{font:500 15px var(--f-body);padding:10px 12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-5px);box-shadow:0 22px 40px -26px rgba(28,31,34,.55);border-color:#C5C9C3}
.card.is-hidden{display:none}
.card__media{position:relative;aspect-ratio:1/1;display:grid;place-items:center;background:var(--chalk);overflow:hidden;text-decoration:none}
.card__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--lane);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card:hover .card__media::after{transform:scaleX(1)}
.card__media svg.ico{width:46%;height:46%;color:var(--asphalt);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s var(--ease)}
.card:hover .card__media svg.ico{transform:scale(1.1) rotate(-4deg)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card__media img{transform:scale(1.05)}
.card__badge{position:absolute;top:12px;left:12px;font:600 12.5px/1 var(--f-body);background:var(--paper);padding:6px 9px;color:var(--steel);border:1px solid var(--line)}
.card__body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.card__cat{font-size:13.5px;color:var(--steel);margin-bottom:4px}
.card__name{font:700 23px/1.05 var(--f-display);margin:0 0 8px}
.card__name a{text-decoration:none}
.card__name a:hover{color:var(--lane-deep)}
.card__price{font-weight:600;color:var(--asphalt);font-size:15.5px;margin-bottom:14px}
.card__actions{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:8px}
.card__actions .btn{font-size:15px;padding:12px 10px 11px;--cham:9px;white-space:normal;text-align:center;line-height:1.1}
.card__more{display:grid;place-items:center;width:44px;border:1.5px solid var(--line);text-decoration:none;transition:all .2s}
.card__more:hover{background:var(--rubber);color:#fff;border-color:var(--rubber)}
.card__more svg{width:18px;height:18px}

/* split retail/wholesale */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0}
.split__half{padding:clamp(40px,5vw,64px);position:relative}
.split__half--r{background:var(--paper);border:1px solid var(--line)}
.split__half--w{background:var(--asphalt);color:#fff;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.split__half--w p{color:#C9CDD1}
.split h3{font-size:clamp(32px,3.4vw,44px)}
.split .btn-row{margin-top:24px}
.split__k{font:600 15px/1 var(--f-body);color:var(--steel);margin-bottom:14px;display:block}
.split__half--w .split__k{color:var(--lane)}

/* why */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--rubber)}
.why__item{padding:28px 24px 8px 0;border-right:1px solid var(--line);margin-right:24px}
.why__item:last-child{border-right:0;margin-right:0}
.why__ico{width:42px;height:42px;color:var(--rubber);margin-bottom:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.why__item h3{font-size:25px}
.why__item p{font-size:16px;color:var(--steel)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.step{position:relative;padding:30px 26px;background:var(--asphalt);border-left:5px solid var(--lane)}
.step::before{counter-increment:s;content:counter(s);font:800 64px/1 var(--f-display);color:var(--lane);display:block;margin-bottom:14px}
.step h3{font-size:25px;color:#fff}
.step p{color:#C9CDD1;font-size:16px;margin:0}

/* visit */
.visit{display:grid;grid-template-columns:1fr 1.1fr;gap:0;background:var(--paper);border:1px solid var(--line)}
.visit__info{padding:clamp(32px,4vw,52px)}
.visit__map{position:relative;min-height:420px;background:var(--line)}
.visit__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.dl{display:grid;gap:18px;margin:26px 0 30px}
.dl div{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.dl svg{width:22px;height:22px;color:var(--lane-deep);margin-top:3px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dl b{display:block;font:700 19px/1.2 var(--f-display);margin-bottom:2px;color:var(--ink)}
.dl span,.dl a{color:var(--steel);text-decoration:none}
.dl a:hover{color:var(--ink)}
.hours{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:4px}
.hours td{padding:4px 0;color:var(--steel)}.hours td:last-child{white-space:nowrap;padding-left:12px;text-align:right;color:var(--ink);font-weight:500}
.hours tr.is-today td{color:var(--ink);font-weight:700}

/* faq */
.faq{max-width:900px;border-top:2px solid var(--rubber)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:700 clamp(21px,2vw,25px)/1.2 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--line);transition:transform .35s var(--ease),background .25s}
.faq summary i::before{content:"+";font:600 24px/1 var(--f-body);font-style:normal}
.faq details[open] summary i{transform:rotate(45deg);background:var(--lane);border-color:var(--lane)}
.faq .ans{overflow:hidden;color:var(--steel);padding:0 60px 22px 0}
.faq .ans p{margin:0}

/* page hero (inner) */
.phero{background:var(--rubber);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.phero .wrap{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(56px,7vw,92px)}
.phero h1{font-size:clamp(40px,6vw,76px);max-width:16ch}
.phero .lead{max-width:60ch}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--steel-2);margin-bottom:18px;flex-wrap:wrap}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--lane)}
.crumbs span[aria-hidden]{opacity:.5}

/* product detail */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.pd__media{position:sticky;top:96px;aspect-ratio:1/1;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.pd__media svg.ico{width:52%;height:52%;color:var(--asphalt);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:pop .8s var(--ease)}
@keyframes pop{from{transform:scale(.85) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}
.pd__note{position:absolute;left:16px;bottom:14px;font-size:13px;color:var(--steel)}
.pd h1{font-size:clamp(40px,5vw,64px);margin-bottom:10px}
.pd__price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:16px 0;margin:10px 0 22px;border-block:1px solid var(--line)}
.pd__price b{font:800 28px/1 var(--f-display)}
.pd__price span{color:var(--steel);font-size:15px}
.pd ul.feat{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.pd ul.feat li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.pd ul.feat li::before{content:"";width:12px;height:12px;background:var(--lane);margin-top:7px;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%)}
.pd .btn-row .btn{flex:1 1 220px}
.pd__meta{margin-top:24px;font-size:15px;color:var(--steel)}
.pd__meta a{color:var(--ink)}

/* contact form */
.form{display:grid;gap:14px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:6px;font-weight:600;font-size:15px}
.form input,.form select,.form textarea{font:400 16px var(--f-body);padding:14px 14px;border:1.5px solid var(--line);background:var(--chalk);color:var(--ink);border-radius:0;transition:border-color .2s,background .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--rubber);background:#fff}
.form textarea{min-height:130px;resize:vertical}
.form__note{font-size:14px;color:var(--steel)}
.notice{padding:14px 16px;background:var(--lane-soft);border-left:4px solid var(--lane);font-size:15px}

/* about */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:start}
.yr{font:800 clamp(120px,16vw,220px)/.8 var(--f-display);color:var(--lane);-webkit-text-stroke:0;letter-spacing:-.03em}
.yr-cap{font:600 20px/1.2 var(--f-display);margin-top:14px;color:var(--asphalt)}
.team{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.team li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.team b{font:700 21px/1.2 var(--f-display)}
.team span{color:var(--steel);font-size:15px}

/* cta band */
.band{background:var(--lane);position:relative;overflow:hidden}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:56px;padding-bottom:56px;flex-wrap:wrap}
.band h2{margin:0;max-width:18ch}
.band p{margin:.5em 0 0;color:var(--asphalt)}

/* footer */
.ftr{background:var(--rubber);color:#C9CDD1;padding-top:72px;font-size:15.5px}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:40px}
.ftr .logo{color:#fff;margin-bottom:18px}
.ftr h4{color:#fff;font-size:21px;margin-bottom:16px}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.ftr a{text-decoration:none}.ftr a:hover{color:var(--lane)}
.ftr__bottom{margin-top:56px;border-top:1px solid var(--asphalt-2);padding:22px 0 96px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--steel-2)}

/* floating actions */
.fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.fab a{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff;box-shadow:0 12px 26px -10px rgba(0,0,0,.5);transition:transform .25s var(--ease)}
.fab a:hover{transform:scale(1.08)}
.fab svg{width:30px;height:30px}
.fab__wa{background:var(--wa);position:relative}
.fab__wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ping 2.4s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.8}80%,100%{transform:scale(1.55);opacity:0}}
.fab__call{background:var(--rubber);width:50px!important;height:50px!important}
.fab__call svg{width:22px;height:22px}
.mbar{display:none}

/* reveal (grid stagger only) */
.rv{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.armed{opacity:0;transform:translateY(22px)}
.rv.armed.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav,.hdr__cta{display:none}.burger{display:block}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .topbar__l .hide-m{display:none}
  .hero .wrap{grid-template-columns:1fr}
  .matset{max-width:420px;margin:10px auto 0}
  .cats{grid-template-columns:1fr 1fr}
  .cat--feature{grid-column:span 2;grid-row:auto;min-height:360px}
  .cat--feature{padding-top:210px}
  .cat--feature .cat__ico{width:170px;top:24px}
  .split,.visit,.pd,.about{grid-template-columns:1fr}
  .split__half--w{clip-path:none}
  .why{grid-template-columns:1fr 1fr}
  .why__item:nth-child(2){border-right:0;margin-right:0}
  .steps{grid-template-columns:1fr}
  .pd__media{position:relative;top:0}
  .visit__map{min-height:320px}
}
@media (max-width:640px){
  body{font-size:16px}
  .topbar{display:none}
  .hdr .wrap{height:66px}
  .logo__mark{width:40px;height:40px}.logo__word b{font-size:23px}.logo__word span{font-size:12px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card__body{padding:12px}
  .card__name{font-size:20px}
  .card__actions{grid-template-columns:1fr}
  .card__more{display:none}
  .card__actions .btn{font-size:14px;padding:11px 8px 10px}
  .cats{grid-template-columns:1fr}
  .cat--feature{grid-column:auto}
  .cat{min-height:0;padding-top:96px}
  .cat__ico{width:60px;height:60px;top:20px;left:26px;right:auto}
  .cat--feature{padding-top:170px}
  .cat--feature .cat__ico{width:130px;left:26px;right:auto}
  .why{grid-template-columns:1fr}
  .why__item{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-bottom:16px}
  .form .row2{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:1fr}
  .hero .btn-row .btn{flex:1 1 100%}
  .matset__tag{font-size:13px;padding:8px 10px}
  .fab{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -8px 24px -12px rgba(0,0,0,.4)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 calc(16px + env(safe-area-inset-bottom));font:700 18px/1 var(--f-display);text-decoration:none;color:#fff}
  .mbar svg{width:20px;height:20px}
  .mbar__wa{background:var(--wa)}.mbar__call{background:var(--rubber)}
  .tabs{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 4px;scrollbar-width:none}
  .tab{white-space:nowrap}
  .faq .ans{padding-right:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv.armed{opacity:1;transform:none}
  .ticker__track{animation:none}
}

.mapcard{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:28px;text-decoration:none;color:#fff;background:var(--asphalt);overflow:hidden;isolation:isolate}
.mapcard::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.6;background:
 linear-gradient(90deg,transparent 47%,var(--lane) 47% 49%,transparent 49%),
 linear-gradient(0deg,transparent 62%,#4A5159 62% 66%,transparent 66%),
 linear-gradient(28deg,transparent 30%,#4A5159 30% 33%,transparent 33%),
 repeating-linear-gradient(0deg,transparent 0 38px,rgba(255,255,255,.04) 38px 40px),
 repeating-linear-gradient(90deg,transparent 0 38px,rgba(255,255,255,.04) 38px 40px)}
.mapcard__pin{position:absolute;left:48%;top:64%;width:44px;height:44px;margin:-44px 0 0 -22px;color:var(--lane);animation:drop .9s var(--ease) both}
.mapcard__pin svg{width:100%;height:100%;fill:var(--rubber)}
@keyframes drop{from{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}
.mapcard b{font:700 24px/1.1 var(--f-display)}
.wa-ready{margin-top:14px}

/* ---------- photo hero ---------- */
.hero--photo .hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--asphalt)}
.hero--photo .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.12);animation:kb 9s var(--ease) forwards}
.hero--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(28,31,34,.96) 0%,rgba(28,31,34,.86) 38%,rgba(28,31,34,.45) 70%,rgba(28,31,34,.25) 100%),linear-gradient(0deg,rgba(28,31,34,.7),transparent 40%)}
@keyframes kb{to{transform:scale(1)}}
.hero--photo .wrap{min-height:min(78vh,720px);padding-bottom:clamp(96px,11vw,140px)}
.hcards{display:grid;gap:12px;justify-self:end;align-self:end;width:min(100%,340px)}
.hcard{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:10px 16px 10px 10px;text-decoration:none;color:#fff;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;animation:slidein .8s var(--ease) forwards;transition:background .25s,transform .25s var(--ease)}
.hcard:nth-child(1){animation-delay:.9s}.hcard:nth-child(2){animation-delay:1.05s}.hcard:nth-child(3){animation-delay:1.2s}
.hcard:hover{background:rgba(255,255,255,.16);transform:translateX(-4px)}
.hcard img{width:64px;height:64px;object-fit:cover;background:var(--asphalt-2)}
.hcard b{display:block;font:700 20px/1.1 var(--f-display)}
.hcard small{color:var(--lane);font-size:14px;font-weight:600}
.hcard svg{width:20px;height:20px;color:var(--lane)}
@keyframes slidein{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
/* photo category tiles */
.cat--photo{color:#fff;border:0;background:var(--asphalt)}
.cat--photo .cat__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.cat--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(28,31,34,.92) 0%,rgba(28,31,34,.55) 45%,rgba(28,31,34,.1) 100%)}
.cat--photo::before{display:none}
.cat--photo:hover .cat__img{transform:scale(1.07)}
.cat--photo p{color:#D5D8DB}
.cat--photo .cat__go{color:var(--lane)}
.cat--photo.cat--feature{background:var(--asphalt)}
.cat--photo.cat--feature h3{color:#fff}
.cat--photo.cat--feature p{color:#D5D8DB}
@media (max-width:900px){.hero--photo .wrap{min-height:0}.hcards{justify-self:stretch;width:100%}.cat--photo.cat--feature{padding-top:200px}}
@media (max-width:640px){.cat--photo{padding-top:150px}.hero--photo .hero__bg img{object-position:70% 50%}}

.pd__note--photo{background:rgba(255,255,255,.88);padding:4px 8px;color:var(--steel)}

.card__price s,.pd__price s{color:var(--steel-2);font-weight:500;margin-left:6px}
.pd__price b s{font:500 20px/1 var(--f-body)}
.card__sale{position:absolute;top:12px;right:12px;background:#B3261E;color:#fff;font:700 13px/1 var(--f-body);padding:6px 8px}
.hcard small s{color:#9AA0A6;font-weight:500;margin-left:4px}
.card__media img{background:#fff}

.card__price s{white-space:nowrap}
@media (max-width:640px){.card__price s{display:block;margin:2px 0 0;font-size:13px}}

/* ================= 3D HERO ================= */
.hero3d{background:var(--rubber)}
.hero3d .wrap{min-height:min(84vh,760px);padding-bottom:clamp(64px,8vw,110px)}
.h3d-sky{position:absolute;inset:0;z-index:-3;background:radial-gradient(120% 80% at 75% 35%,#343a42 0%,#22262b 45%,var(--rubber) 75%)}
.h3d-glow{position:absolute;left:50%;top:44%;width:1100px;height:360px;margin-left:-550px;z-index:-2;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,194,26,.30),rgba(255,194,26,.08) 55%,transparent);filter:blur(10px);animation:glow 5s ease-in-out infinite alternate}
@keyframes glow{to{opacity:.6;transform:scaleX(1.12)}}
.h3d-road{position:absolute;left:-60%;right:-60%;bottom:-2%;height:62%;z-index:-1;transform-origin:50% 100%;transform:perspective(520px) rotateX(64deg);
  background:
    repeating-linear-gradient(0deg,var(--lane) 0 46px,transparent 46px 90px) 50% 0/10px 100% no-repeat,
    linear-gradient(90deg,transparent calc(50% - 360px),rgba(255,255,255,.55) calc(50% - 360px) calc(50% - 354px),transparent calc(50% - 354px) calc(50% + 354px),rgba(255,255,255,.55) calc(50% + 354px) calc(50% + 360px),transparent calc(50% + 360px)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 90px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 90px),
    linear-gradient(0deg,#2b3036,#1f2327);
  -webkit-mask-image:linear-gradient(0deg,#000 25%,transparent 92%);mask-image:linear-gradient(0deg,#000 25%,transparent 92%);
  animation:drive 1.1s linear infinite}
@keyframes drive{from{background-position:50% 0,0 0,0 0,0 0,0 0}to{background-position:50% 90px,0 0,0 0,0 90px,0 0}}
.stage3d{position:relative;height:480px;perspective:1100px;display:grid;place-items:center;opacity:0;animation:stagein 1.4s .3s var(--ease) forwards}
@keyframes stagein{from{opacity:0;transform:translateY(40px) scale(.85)}to{opacity:1;transform:none}}
.stage3d__floor{position:absolute;left:10%;right:10%;bottom:34px;height:70px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent);filter:blur(4px)}
.ring3d{--R:280px;transform-style:preserve-3d;transform:rotateX(calc(-10deg + var(--rx,0deg))) rotateY(var(--ry,0deg));transition:transform .5s var(--ease)}
.ring3d__spin{position:relative;width:176px;height:262px;transform-style:preserve-3d;animation:spin3d 30s linear infinite}
.stage3d:hover .ring3d__spin{animation-play-state:paused}
@keyframes spin3d{to{transform:rotateY(-1turn)}}
.r3card{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;padding:10px 10px 12px;background:#fff;color:var(--rubber);text-decoration:none;border-radius:14px;
  transform:rotateY(calc(var(--i) * 1turn / var(--n))) translateZ(var(--R));backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:0 30px 50px -20px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08);transition:box-shadow .3s}
.r3card:hover{box-shadow:0 30px 50px -20px rgba(0,0,0,.7),0 0 0 3px var(--lane)}
.r3card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;background:#f3f4f1}
.r3card b{font:700 16px/1.15 var(--f-display);min-height:2.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r3card > span:last-child{margin-top:auto;align-self:flex-start;background:var(--lane);font:700 13.5px/1 var(--f-body);padding:5px 8px;border-radius:5px}
.hero3d .hero__facts{border-top-color:rgba(255,255,255,.12)}
@media (max-width:900px){.hero3d .wrap{min-height:0}.stage3d{height:380px}.ring3d{--R:220px}.ring3d__spin{width:140px;height:222px}.r3card b{font-size:14px}}
@media (max-width:640px){.stage3d{height:330px;margin-top:-10px}.ring3d{--R:180px}.ring3d__spin{width:120px;height:196px}.r3card{padding:7px;border-radius:10px}.r3card > span:last-child{font-size:12px}.h3d-road{height:45%}}
@media (prefers-reduced-motion:reduce){.ring3d__spin,.h3d-road,.h3d-glow{animation:none}}

/* ================= CATEGORY CARDS ================= */
.catsec{background:linear-gradient(180deg,var(--chalk),#E9EBE6)}
.catgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ccard{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:22px;background:var(--paper);text-decoration:none;color:var(--ink);
  border-radius:18px;box-shadow:0 1px 0 rgba(28,31,34,.06),0 12px 30px -22px rgba(28,31,34,.5);overflow:hidden;isolation:isolate;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.ccard::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--lane-soft);z-index:-1;transition:transform .6s var(--ease),background .4s}
.ccard:hover{transform:translateY(-8px);box-shadow:0 1px 0 rgba(28,31,34,.06),0 28px 50px -24px rgba(28,31,34,.55)}
.ccard:hover::before{transform:scale(1.9);background:var(--lane)}
.ccard__plate{width:118px;height:118px;border-radius:50%;padding:6px;background:conic-gradient(from 200deg,var(--lane),#FFE38A,var(--lane));
  box-shadow:0 14px 26px -14px rgba(28,31,34,.6);transition:transform .6s var(--ease)}
.ccard__plate img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff;border:3px solid #fff}
.ccard:hover .ccard__plate{transform:rotate(-8deg) scale(1.08)}
.ccard__body b{display:block;font:700 23px/1.08 var(--f-display);margin-bottom:6px}
.ccard__body small{font-size:14px;color:var(--steel)}
.ccard:hover .ccard__body small{color:var(--asphalt)}
.ccard__go{position:absolute;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rubber);color:#fff;transition:transform .4s var(--ease)}
.ccard__go svg{width:18px;height:18px}
.ccard:hover .ccard__go{transform:rotate(-45deg)}
.ccard__body{padding-right:44px}
@media (max-width:1080px){.catgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.catgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ccard{padding:16px;gap:12px;border-radius:14px}.ccard__plate{width:84px;height:84px;padding:4px}.ccard__body b{font-size:19px}.ccard__body{padding-right:0}.ccard__go{width:34px;height:34px;right:12px;top:12px;bottom:auto}}
/* product photos: show the whole product on white, never cropped */
.card__media{background:#F1F2EE}
.card__media img{object-fit:contain;padding:6%;background:#fff}
.pd__media{background:#fff}
.pd__media img{object-fit:contain;padding:5%;background:#fff}

/* icon artwork as product image */
.card__media svg.ico{width:50%;height:50%;color:var(--rubber);stroke-width:2.4}
.card__media::before{content:"";position:absolute;inset:0;margin:auto;width:58%;height:58%;border-radius:50%;background:var(--lane-soft);transition:transform .5s var(--ease),background .4s}
.card:hover .card__media::before{transform:scale(1.12);background:#FFE9A8}
.card__media svg.ico{position:relative}
.pd__media svg.ico{color:var(--rubber)}
.r3card__media{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:9px;background:radial-gradient(circle at 50% 50%,var(--lane-soft) 0 45%,#F3F4F1 46%);overflow:hidden}
.r3card__media img{width:100%;height:100%;object-fit:cover}
.r3card__media svg.ico{width:62%;height:62%;fill:none;stroke:var(--rubber);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ccard__plate{display:grid;place-items:center}
.ccard__plate svg.ico{width:100%;height:100%;padding:17%;background:#fff;border-radius:50%;border:3px solid #fff;fill:none;stroke:var(--rubber);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* hero headline: "Car Accessories" on one line */
.hero3d h1{max-width:none;font-size:clamp(40px,5.4vw,78px)}
.hero3d h1 .ln:first-child{white-space:nowrap}
.hero3d .wrap{grid-template-columns:1.1fr .9fr}
@media (max-width:900px){.hero3d .wrap{grid-template-columns:1fr}}
@media (max-width:380px){.hero3d h1{font-size:36px}}
/* Elementor wrappers around theme sections */
.elementor-widget-shortcode .elementor-widget-container,.elementor-shortcode{margin:0;padding:0}
.elementor-section.elementor-section-full_width>.elementor-container{max-width:none}

/* ---------- WordPress / WooCommerce ---------- */
.entry{max-width:860px}
.entry > *+*{margin-top:1em}
.entry img{height:auto}
.alignwide{max-width:var(--wrap)}
.woocommerce-notices-wrapper{margin-bottom:16px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 16px;background:var(--lane-soft);border-left:4px solid var(--lane);list-style:none;margin:0 0 16px}
.pd form.cart{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pd form.cart .qty{width:80px;padding:14px;border:1.5px solid var(--line);font:500 16px var(--f-body)}
.pd form.cart button{font:700 17px/1 var(--f-display);padding:16px 22px;background:var(--rubber);color:#fff;border:0;cursor:pointer}
.pd__price .woocommerce-Price-amount{font:800 28px/1 var(--f-display)}
.pd__thumbs{display:flex;gap:8px;margin-top:10px}
.pd__thumbs img{width:72px;height:72px;object-fit:cover;border:1px solid var(--line);cursor:pointer}
.pd__media img{width:100%;height:100%;object-fit:cover}
.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin-top:30px}
.woocommerce-pagination a,.woocommerce-pagination span{display:block;padding:10px 14px;border:1.5px solid var(--line);text-decoration:none}
.woocommerce-cart .entry,.woocommerce-checkout .entry,.woocommerce-account .entry{max-width:none}
.posts{display:grid;gap:28px;max-width:860px}
.posts article{padding-bottom:24px;border-bottom:1px solid var(--line)}
.posts h2{font-size:34px}.posts h2 a{text-decoration:none}

/* ---------- cart / checkout ---------- */
.cartlink{position:relative;display:grid;place-items:center;width:46px;height:46px;color:var(--rubber);text-decoration:none;border:1.5px solid var(--line);transition:border-color .2s}
.cartlink:hover{border-color:var(--rubber)}
.cartlink svg{width:22px;height:22px}
.cart-count{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--lane);color:var(--rubber);font:700 13px/22px var(--f-body);text-align:center}
.cart-count[data-n="0"]{display:none}
.cart-count.bump{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.45)}}
.hdr__cart-m{display:none}
@media (max-width:1080px){.hdr__cart-m{display:grid;margin-left:auto}.hdr__cart-m + .burger{margin-left:10px}}
.card__actions--buy{grid-template-columns:1fr auto auto}
.card__wa{display:grid;place-items:center;width:44px;background:var(--wa);color:#fff;text-decoration:none}
.card__wa svg{width:20px;height:20px}
.card__price b{font:800 21px/1 var(--f-display);color:var(--ink)}
.toast{position:fixed;left:50%;bottom:28px;z-index:95;transform:translate(-50%,140%);display:flex;align-items:center;gap:16px;background:var(--rubber);color:#fff;padding:14px 16px 14px 20px;box-shadow:0 18px 40px -16px rgba(0,0,0,.6);transition:transform .45s var(--ease);max-width:calc(100% - 32px)}
.toast.show{transform:translate(-50%,0)}
.toast a{color:var(--lane);font:700 16px/1 var(--f-display);white-space:nowrap}
@media (max-width:640px){.toast{bottom:84px}}
.buy{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.buy .btn{flex:1 1 180px}
.qty{display:inline-flex;align-items:stretch;border:1.5px solid var(--line);background:var(--paper);height:50px}
.qty button{width:40px;border:0;background:transparent;font:600 20px/1 var(--f-body);cursor:pointer;color:var(--ink)}
.qty button:hover{background:var(--chalk)}
.qty input{width:52px;border:0;text-align:center;font:600 17px var(--f-body);background:transparent;color:var(--ink);-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.cartwrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.cartlist{display:grid;gap:12px}
.cline{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto 36px;gap:16px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:12px}
.cline__img{width:76px;height:76px;display:grid;place-items:center;background:var(--chalk)}
.cline__img img{width:100%;height:100%;object-fit:cover}
.cline__img svg.ico{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cline__name{display:block;font:700 21px/1.1 var(--f-display);text-decoration:none}
.cline__info span{font-size:14.5px;color:var(--steel)}
.cline__total{font:800 21px/1 var(--f-display);min-width:96px;text-align:right}
.cline__rm{width:36px;height:36px;border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--steel)}
.cline__rm:hover{color:#B3261E}
.summary{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);padding:26px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
.summary h2{font-size:30px}
.srow{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.srow span:first-child{color:var(--steel)}
.srow--total{border-bottom:0;margin-bottom:16px;padding-top:16px}
.srow--total b{font:800 30px/1 var(--f-display)}
.paylogos{font-size:13.5px;color:var(--steel);margin:14px 0 0}
.summary__edit{display:inline-block;margin-top:10px;font-size:14px;color:var(--steel)}
.empty{max-width:640px}
.cofields h2{font-size:32px}
.pays{display:grid;gap:10px}
.pay{display:block;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;transition:border-color .2s}
.pay{position:relative}
.form .pay input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;padding:0;border:0}
.pay__head{display:flex;align-items:center;gap:12px;padding:16px}
.pay__head b{font:700 20px/1 var(--f-display);flex:1}
.pay__dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--steel-2);flex:none;transition:all .2s}
.pay__tag{font:700 12.5px/1 var(--f-body);padding:5px 8px;color:#fff;background:var(--asphalt)}
.pay__tag--easypaisa{background:#1FAF5A}.pay__tag--jazzcash{background:#B3261E}.pay__tag--bank{background:#1F4E8C}.pay__tag--cod{background:var(--lane);color:var(--rubber)}
.pay__body{display:none;padding:0 16px 16px 48px;font-size:15px}
.pay__line{display:block;font-weight:600}
.pay__hint{display:block;color:var(--steel);margin-bottom:6px}
.pay:has(input:checked){border-color:var(--rubber);box-shadow:inset 0 0 0 1px var(--rubber)}
.pay input:checked ~ .pay__head .pay__dot{border-color:var(--rubber);background:var(--lane);box-shadow:inset 0 0 0 4px #fff}
.pay input:checked ~ .pay__body{display:block;animation:fade .35s}
.pay input:focus-visible ~ .pay__head{outline:3px solid var(--lane);outline-offset:-3px}
.proof{margin-top:16px;padding:18px;background:var(--lane-soft);border-left:4px solid var(--lane)}
.proof[hidden]{display:none}
.notice--err{background:#FCE8E6;border-left-color:#B3261E}
.done{background:var(--paper);border:1px solid var(--line);padding:clamp(28px,4vw,48px)}
.done__tick{width:72px;height:72px;color:#168A46;margin-bottom:18px}
.done__tick circle{stroke-dasharray:160;stroke-dashoffset:160;animation:draw .8s var(--ease) forwards}
.done__tick path{stroke-dasharray:50;stroke-dashoffset:50;animation:draw .5s .6s var(--ease) forwards}
@media (max-width:900px){.cartwrap{grid-template-columns:minmax(0,1fr)}.summary{position:relative;top:0}}
.cofields,.cartlist{min-width:0}
.form input,.form select,.form textarea{min-width:0;width:100%}
.form .row2>label{min-width:0}
@media (max-width:640px){
  .cline{grid-template-columns:64px minmax(0,1fr) 32px;grid-template-areas:"img info rm" "img qty total"}
  .cline__img{grid-area:img;width:64px;height:64px}.cline__info{grid-area:info}.cline .qty{grid-area:qty;height:42px;justify-self:start}.cline__total{grid-area:total;min-width:0}.cline__rm{grid-area:rm}
  .card__actions--buy{grid-template-columns:1fr auto}
  .card__actions--buy .card__more{display:none}
}
