/* Climaventis theme. Generated by opencart/tools/sync_from_demo.py from the demo pages; edit the demo or theme-extra.css, not this file. */
/* Layout: the Climaventis ID applied to the web — airy light panels (#E9EEF2 / white), charcoal text, Apparat-style light
   weights, letterspaced caps for the tagline, a short warm rule under statements, hairline Λ/V chevrons in corners, the
   symbol bleeding off the edge on the "back cover" footer, and the key visual in the hero. Blue = actions, warm = details.
   Single light theme by brand choice. */
:root{
  --ink:#303030;
  --ink-soft:#5A6570;
  --sig:#7A7A7A;
  --bg:#E9EEF2;
  --bg-soft:#F4F7F9;
  --surface:#FFFFFF;
  --rule:#D5DDE4;
  --hair:#BAC4CC;
  --blue-deep:#134270;
  --blue:#106993;
  --blue-light:#7DA2D3;
  --blue-tint:#DCE6F0;
  --warm-deep:#581300;
  --warm:#9D3A20;
  --warm-light:#DF7A67;
  --warm-tint:#F5E3DD;
  --on-blue:#FFFFFF;
  --on-blue-soft:#C9D8EA;
  --grad-blue:linear-gradient(90deg,#134270 0%,#106993 50%,#7DA2D3 100%);
  --grad-warm:linear-gradient(90deg,#581300 0%,#9D3A20 50%,#DF7A67 100%);

  --font:"Apparat","Open Sans",Arial,sans-serif;
  --track:.18em;

  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px;
  --r:8px; --r-sm:6px;
  --gutter:32px;
  color-scheme:light;
}
@media (max-width:640px){:root{--gutter:20px}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);font-size:16px;line-height:25px;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:1264px;margin-inline:auto;padding-inline:var(--gutter)}
.section{position:relative;overflow:hidden;padding-block:80px}
@media (max-width:640px){.section{padding-block:var(--s5)}}
.tone{background:var(--bg)}
h1,h2,h3{margin:0;font-weight:500;text-wrap:balance}
h2{font-size:34px;line-height:42px;letter-spacing:-.01em}
h3{font-size:20px;line-height:28px}
@media (max-width:640px){h2{font-size:27px;line-height:34px}}
p{margin:0}
.num{font-variant-numeric:tabular-nums}

/* Section head: letterspaced label, statement, short warm rule (from the ID lockups) */
.sec-head{display:grid;gap:var(--s2);max-width:760px;margin-bottom:var(--s5);position:relative;z-index:1}
.eyebrow{font-size:13px;line-height:18px;font-weight:600;text-transform:uppercase;letter-spacing:var(--track);color:var(--blue)}
.sec-head h2::after{content:"";display:block;width:48px;height:3px;background:var(--warm);margin-top:20px}
.sec-head p{color:var(--ink-soft);font-size:17px;line-height:27px;max-width:40em}

/* Split brand line: the two logo strokes, deep → light */
.brandline{display:grid;grid-template-columns:1fr 1fr;gap:6px;height:4px}
.brandline::before,.brandline::after{content:"";border-radius:2px}
.brandline::before{background:var(--grad-blue)}
.brandline::after{background:var(--grad-warm)}

/* Hairline chevrons from the stationery */
.hair{position:absolute;pointer-events:none;color:var(--hair);z-index:0}
.hair svg{display:block;width:100%;height:auto;overflow:visible}
.hair path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.hair-v{top:0;width:230px}
.hair-l{bottom:0;width:230px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-size:16px;line-height:20px;font-weight:600;padding:14px 24px;border-radius:var(--r-sm);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}
.btn-primary{background:var(--blue-deep);color:var(--on-blue)}
.btn-primary:hover{background:#0D3159}
.btn-secondary{background:var(--bg);color:var(--blue-deep)}
.btn-secondary:hover{background:#DDE4EA}
.btn-outline{background:var(--surface);color:var(--blue-deep);border-color:var(--rule)}
.btn-outline:hover{border-color:var(--blue-deep)}
.link{font-weight:600;font-size:15px;text-decoration:none;color:var(--blue);display:inline-flex;gap:6px;align-items:center}
.link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- Demo + transition bars ---------- */
.transition-bar{background:var(--blue-deep);color:var(--on-blue)}
.transition-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding-block:11px;font-size:15px;line-height:22px}
.transition-bar p{display:flex;flex-wrap:wrap;gap:2px 14px;align-items:baseline}
.transition-bar b{font-weight:600}
.transition-bar span{color:var(--on-blue-soft)}
.transition-bar a{color:var(--on-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.transition-bar .brandline{height:3px;gap:0}
.transition-bar .brandline::before,.transition-bar .brandline::after{border-radius:0}
.x-btn{background:none;border:0;color:var(--on-blue-soft);font-size:22px;line-height:1;cursor:pointer;padding:2px 6px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;align-items:center;gap:var(--s4);min-height:80px}
.logo{display:block;flex-shrink:0;padding-block:var(--s2)}
.logo img{display:block;width:210px;height:auto;aspect-ratio:708.661/98.955}
.main-nav{display:flex;gap:20px;font-size:15px;font-weight:500;white-space:nowrap}
.main-nav a{text-decoration:none;padding-block:6px;border-bottom:2px solid transparent}
.main-nav a:hover{border-bottom-color:var(--warm)}
.main-nav .sep{width:1px;background:var(--rule);margin-block:4px}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:12px}
.search{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:var(--r-sm);padding:0 12px;height:44px;width:clamp(170px,17vw,250px);color:var(--ink-soft)}
.search input{border:0;background:transparent;font:inherit;font-size:15px;width:100%;outline:none;color:var(--ink)}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--rule);background:var(--surface);color:var(--ink);position:relative;text-decoration:none}
.icon-btn .count{position:absolute;top:-6px;right:-6px;background:var(--warm);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;line-height:18px;border-radius:9px;display:grid;place-items:center}
.lang{font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:.06em;white-space:nowrap}
.search-btn{display:none}
@media (max-width:1440px){.search{display:none}.search-btn{display:inline-grid}}
.lang b{color:var(--ink)}
.menu-btn{display:none}
.mobile-nav{display:none}
@media (max-width:1180px){
  .main-nav,.search{display:none}
  .menu-btn{display:inline-grid}
  .mobile-nav:not([hidden]){display:grid;padding:var(--s1) var(--gutter) var(--s3);border-top:1px solid var(--rule)}
  .mobile-nav a{padding:12px 0;text-decoration:none;font-weight:500;border-bottom:1px solid var(--rule)}
}
@media (max-width:640px){
  .site-header .wrap{gap:16px}
  .logo img{width:160px}
  .header-tools{gap:8px}
  .header-tools .search-btn{display:none}
  .descriptor{font-size:13px;letter-spacing:.05em}
  .header-tools .lang{display:none}
  .icon-btn{width:40px;height:40px}
}

/* ---------- Hero with the key visual ---------- */
.hero{position:relative;overflow:hidden;background:var(--surface)}
.hero .wrap{position:relative;z-index:1;display:flex;align-items:center;min-height:clamp(560px,40vw,700px);padding-block:var(--s6)}
.hero-copy{display:grid;gap:var(--s3);max-width:460px;min-width:0}
/* Hero statement: sentence case, tight and weighty; the key word takes the warm detail colour,
   and the logo's two strokes (blue | warm) sit under it instead of a plain rule */
/* Display face echoing the logo's rounded-square technical letterforms (Jura, full Greek); light weight */
.lockup h1{font-family:"Jura","Open Sans",Arial,sans-serif;font-size:clamp(56px,5vw,74px);line-height:1.03;font-weight:300;letter-spacing:-.015em;white-space:nowrap}
.lockup h1 em{font-style:normal;font-weight:400;color:var(--warm)}
.lockup::after{content:"";display:block;width:88px;height:4px;margin-top:24px;border-radius:2px;background:linear-gradient(90deg,#134270 0%,#106993 24%,#7DA2D3 47%,transparent 47%,transparent 53%,#581300 53%,#9D3A20 76%,#DF7A67 100%)}
.descriptor{font-size:15px;line-height:22px;letter-spacing:.12em;color:var(--sig)}
.hero .body{font-size:17px;line-height:27px;color:var(--ink-soft)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s1)}
.hero .micro{font-size:14px;color:var(--ink-soft)}
/* Key visual runs behind the copy: full hero height, anchored right, its left edge dissolving into the white */
.kv{position:absolute;right:0;top:0;height:100%;width:auto;max-width:none;aspect-ratio:1604/810;display:block;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
/* Tablet & phone: the key visual stays in the hero background, anchored bottom-right; the copy sits on its white top
   and the bottom padding keeps the photographic strokes clear of the text */
@media (max-width:1100px){
  .hero{--kv-w:min(130vw,1100px)}
  .hero .wrap{min-height:0;padding-block:var(--s5) calc(var(--kv-w) / 1.98 * .42)}
  .hero-copy{max-width:520px}
  /* the visual rises behind the copy: its top dissolves into the white, the strokes stay vivid lower down */
  .kv{top:auto;bottom:0;height:auto;width:var(--kv-w);aspect-ratio:1604/810;
      -webkit-mask-image:linear-gradient(180deg,transparent 0%,transparent 16%,rgba(0,0,0,.25) 46%,rgba(0,0,0,.85) 70%,#000 84%);
      mask-image:linear-gradient(180deg,transparent 0%,transparent 16%,rgba(0,0,0,.25) 46%,rgba(0,0,0,.85) 70%,#000 84%)}
}
@media (max-width:640px){.lockup h1{font-size:40px;line-height:44px;white-space:normal}.hero .ctas .btn{flex:1 1 100%}}

/* ---------- Trust strip ---------- */
.trust{background:var(--bg)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);padding-block:28px}
.trust-item{display:flex;gap:14px;align-items:flex-start;min-width:0}
.trust-item svg{flex-shrink:0;width:28px;height:28px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trust-item b{display:block;font-weight:600;font-size:15px;line-height:22px}
.trust-item span{font-size:13px;line-height:19px;color:var(--ink-soft)}

/* ---------- Needs on the split scale ---------- */
.tscale{position:relative;margin:0 0 var(--s4);padding-top:34px;z-index:1}
.tscale .bar{display:grid;grid-template-columns:40fr 50fr;gap:6px;height:10px}
.tscale .bar i{border-radius:5px}
.tscale .bar i:first-child{background:var(--grad-blue)}
.tscale .bar i:last-child{background:var(--grad-warm)}
.tscale .ticks{position:relative;height:18px;margin-top:8px;font-size:12px;line-height:18px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.tscale .ticks span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.tscale .ticks span:first-child{transform:none}
.tscale .ticks span:last-child{transform:translateX(-100%)}
.trange{position:absolute;top:28px;height:22px;border:1.5px solid var(--ink);border-radius:11px;transition:left .35s ease,width .35s ease}
.trange-label{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap;font-weight:600;font-size:15px;transition:left .35s ease}
.needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);position:relative;z-index:1}
.need{background:var(--bg);border:1.5px solid transparent;border-radius:var(--r);padding:var(--s3);display:grid;gap:6px;align-content:start;text-decoration:none;transition:border-color .2s,background .2s}
.need:hover,.need.is-active{border-color:var(--blue-deep);background:var(--surface)}
.need .pillar{font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;letter-spacing:var(--track);color:var(--ink-soft)}
.need .temp{font-weight:400;font-size:28px;line-height:34px;font-variant-numeric:tabular-nums}
.need h3{font-size:18px;line-height:26px}
.need p{font-size:14px;line-height:21px;color:var(--ink-soft)}
.need .go{font-size:14px;font-weight:600;color:var(--blue);margin-top:4px}
.scale-note{font-size:13px;color:var(--ink-soft);margin-top:var(--s2);position:relative}

/* ---------- Brands ---------- */
.brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.brand{background:var(--surface);border-radius:var(--r);padding:var(--s5) var(--s4) var(--s4);display:grid;gap:var(--s3);align-content:start;min-width:0}
/* Endorsed brand logos: same visual weight, sitting on one baseline zone */
.brand-head{display:grid;gap:14px;padding-bottom:var(--s3);border-bottom:1px solid var(--bg)}
.brand-logo{display:block;width:auto;max-width:100%;height:60px}
.brand-logo.ms{height:58px;aspect-ratio:420.947/126.271}
.brand-logo.ws{height:70px;aspect-ratio:900/330}
.brand-head{align-content:end;min-height:112px}
.brand .since{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--warm)}
.brand p.desc{font-size:17px;line-height:27px;max-width:30em}
.brand dl{margin:0;display:grid}
.brand .row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--bg);font-size:15px}
.brand dt{color:var(--ink-soft)}
.brand dd{margin:0;font-weight:500}
.brand .ctas{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.partners{margin-top:var(--s3);display:flex;flex-wrap:wrap;align-items:center;gap:12px var(--s2);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s2) var(--s3)}
.partners p{font-size:15px;color:var(--ink-soft);margin-right:auto;min-width:0}
.partners .slot{width:112px;height:40px;border:1.5px dashed #B9C5CF;border-radius:var(--r-sm);display:grid;place-items:center;font-size:11px;color:var(--ink-soft);background:var(--surface)}

/* ---------- Products ---------- */
.prod-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
.prod-head .sec-head{margin-bottom:0}
.tabs{display:inline-flex;background:var(--bg);border-radius:var(--r);padding:4px;gap:4px}
.tab{border:0;background:transparent;font:inherit;font-weight:600;font-size:15px;padding:10px 18px;border-radius:var(--r-sm);cursor:pointer;color:var(--ink-soft)}
.tab[aria-selected="true"]{background:var(--blue-deep);color:var(--on-blue)}
.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2)}
.product{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);display:grid;grid-template-rows:auto 1fr;overflow:hidden;min-width:0;transition:border-color .2s}
.product:hover{border-color:var(--blue-light)}
.pimg{position:relative;background:var(--bg-soft);aspect-ratio:4/3;display:grid;place-items:center;color:var(--ink);max-width:100%}
.pimg svg{width:68%;height:auto}
/* Real packshots: contained, and white photo backgrounds melt into the tile */
.pimg{overflow:hidden}
.pimg img{position:absolute;top:9%;left:9%;width:82%;height:82%;object-fit:contain;mix-blend-mode:multiply}
.badge{position:absolute;top:12px;left:12px;font-size:11px;line-height:14px;font-weight:600;padding:5px 9px;border-radius:var(--r-sm)}
.badge-own{background:var(--warm-tint);color:var(--warm-deep)}
.badge-partner{background:var(--blue-tint);color:var(--blue-deep)}
.pbody{padding:var(--s2) 20px 20px;display:flex;flex-direction:column;gap:6px}
.pbrand{font-size:11px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft)}
.product h3{font-size:16px;line-height:23px;font-weight:500}
.spec{font-size:13px;line-height:19px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:10px}
.price b{font-weight:600;font-size:24px;line-height:30px;font-variant-numeric:tabular-nums}
.price span{font-size:13px;color:var(--ink-soft)}
.product .btn{margin-top:var(--s1);width:100%;padding-block:12px}
.product.more{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:var(--s4);background:var(--bg);border-color:transparent;text-decoration:none}
.product.more h3{font-size:22px;line-height:30px;font-weight:400}
.product.more p{font-size:15px;color:var(--ink-soft)}
.product.more:hover{border-color:var(--blue-light)}

/* ---------- Model: one route from source to home ----------
   Head: statement left, context right. Stations are white cards hung on the split brand line (blue → warm),
   each with one proof figure and a "for you" line in the warm detail colour. */
.model-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s6);align-items:end;margin-bottom:var(--s5)}
.model-head .sec-head{margin-bottom:0}
.model-head h2{font-size:40px;line-height:50px;font-weight:300}
.model-head > p{font-size:17px;line-height:27px;color:var(--ink-soft);max-width:30em}
.route{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);padding-top:40px}
.route > .brandline{position:absolute;left:0;right:0;top:9px}
.station{position:relative;background:var(--surface);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:12px;min-width:0}
.station::before{content:"";position:absolute;top:-40px;left:var(--s4);width:22px;height:22px;border-radius:50%;background:var(--surface);border:4px solid var(--c,var(--blue-deep));transform:translateX(-2px)}
.station small{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--blue)}
/* Label's last line sits on the figure's baseline and grows upward, so every proof row is exactly the figure's height */
.proof{display:flex;align-items:flex-end;gap:14px;min-height:67px;padding-bottom:var(--s2);border-bottom:1px solid var(--bg)}
.proof b{font-size:64px;line-height:64px;font-weight:300;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.proof span{font-size:15px;line-height:21px;color:var(--ink-soft);max-width:13em;padding-bottom:3px}
.station h3{font-size:20px;line-height:28px;font-weight:500;margin-top:4px}
.station p{font-size:15px;line-height:24px;color:var(--ink-soft)}
.station .you{margin-top:auto;padding-top:14px;border-top:1px solid var(--bg);color:var(--ink)}
.station .you b{display:block;font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm);margin-bottom:4px}
@media (max-width:1020px){
  .model-head{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .route{grid-template-columns:minmax(0,1fr);padding-top:0;padding-left:44px;gap:var(--s3)}
  .route > .brandline{left:9px;right:auto;top:0;bottom:0;width:4px;height:auto;grid-template-columns:none;grid-template-rows:1fr 1fr}
  .route > .brandline::before{background:linear-gradient(180deg,#134270,#106993,#7DA2D3)}
  .route > .brandline::after{background:linear-gradient(180deg,#581300,#9D3A20,#DF7A67)}
  .station::before{top:var(--s4);left:-44px;transform:none}
}
@media (max-width:640px){.model-head h2{font-size:28px;line-height:36px}.station{padding:var(--s3)}.proof b{font-size:52px;line-height:52px}.proof{min-height:52px}.proof span{padding-bottom:2px}}

/* ---------- B2B ---------- */
.b2b{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s6);align-items:start;position:relative;z-index:1}
.b2b-copy{display:grid;gap:var(--s3);min-width:0}
.b2b-copy .sec-head{margin-bottom:0}
.benefits{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.benefits li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.benefits svg{flex-shrink:0;margin-top:3px;width:20px;height:20px;fill:none;stroke:var(--warm);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.b2b .ctas{display:flex;flex-wrap:wrap;gap:var(--s2)}
.finder{background:var(--bg);color:var(--ink);border-radius:var(--r);padding:var(--s4);display:grid;gap:var(--s2);min-width:0}
.finder > p{font-size:15px;color:var(--ink-soft)}
.finder form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.field{display:grid;gap:6px;min-width:0}
.field label,.field .lbl{font-size:13px;font-weight:600;color:var(--ink-soft)}
select,input[type=number]{font:inherit;font-size:15px;height:48px;padding:0 12px;border:1.5px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%}
select:focus,input[type=number]:focus{border-color:var(--blue-deep);outline:none}
.checks{grid-column:1/-1;display:flex;gap:var(--s3);flex-wrap:wrap;font-size:15px}
.checks label{display:flex;gap:8px;align-items:center;cursor:pointer}
.checks input{accent-color:var(--blue-deep);width:18px;height:18px}
.results{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--rule)}
.results li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.results b{font-weight:600;font-size:15px}
.results .city{font-size:13px;color:var(--ink-soft)}
.results .tags{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.results .tags span{font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--r-sm);background:var(--surface);color:var(--ink-soft)}
.results .call{font-size:13px;font-weight:600;color:var(--blue);align-self:center;text-decoration:none}
.finder .note{font-size:12px;line-height:18px;color:var(--ink-soft)}

/* ---------- Guides + calculator ---------- */
.guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);align-items:start}
.calc{background:var(--surface);border-radius:var(--r);padding:var(--s4);display:grid;gap:20px;min-width:0}
.calc-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{text-align:center;padding:12px 6px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink-soft);border-left:1px solid var(--rule)}
.seg label:first-of-type{border-left:0}
.seg input:checked + label{background:var(--blue-deep);color:var(--on-blue)}
.seg input:focus-visible + label{outline:2px solid var(--blue);outline-offset:-4px}
.calc-out{display:grid;gap:12px;padding:20px var(--s3) var(--s2);border-radius:var(--r-sm);background:var(--bg)}
.calc-out .vals{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px}
.calc-out .kw{font-weight:300;font-size:52px;line-height:56px;font-variant-numeric:tabular-nums}
.calc-out .kw small{font-size:22px;margin-left:4px;font-weight:400}
.calc-out .kcal{font-size:15px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.calc-out .kcal b{color:var(--ink);font-weight:600}
.calc .fine{font-size:12px;line-height:18px;color:var(--ink-soft)}
/* Heating-study micro-CTA (carries over multiclima's «Μελέτη θέρμανσης» service) */
.study{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;padding-top:18px;border-top:1px solid var(--bg)}
.study .ico{width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--blue-deep)}
.study .ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.study small{display:block;font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm)}
.study b{display:block;font-size:16px;line-height:23px;font-weight:600;color:var(--ink);margin-top:2px}
.study p{font-size:14px;line-height:21px;color:var(--ink-soft);margin-top:4px}
.study .acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:14px;color:var(--ink-soft)}
.articles{background:var(--surface);border-radius:var(--r);padding:var(--s1) var(--s4);min-width:0}
.article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px var(--s2);padding:20px 0;border-bottom:1px solid var(--bg);text-decoration:none}
.article .cat{font-size:11px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm)}
.article h3{grid-column:1;font-size:18px;line-height:26px;font-weight:500}
.article:hover h3{text-decoration:underline;text-underline-offset:3px}
.article .min{grid-column:2;grid-row:1/3;align-self:center;font-size:13px;color:var(--ink-soft);white-space:nowrap}
.articles .all{padding:var(--s2) 0 20px}

/* ---------- Story ---------- */
.story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s6);align-items:center}
.story-copy{display:grid;gap:var(--s3);min-width:0}
.story-copy .sec-head{margin-bottom:0}
.story-copy p.body{font-size:17px;line-height:27px;color:var(--ink-soft);max-width:34em}
blockquote{margin:0;padding-top:var(--s3);border-top:1px solid var(--ink);display:grid;gap:12px}
blockquote p{font-size:23px;line-height:34px;font-weight:300}
blockquote cite{font-style:normal;font-size:14px;color:var(--ink-soft)}
.photo{aspect-ratio:4/5;max-width:100%;margin:0;border-radius:var(--r);background:var(--bg);position:relative;overflow:hidden}
.photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.timeline{margin:var(--s6) 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.timeline .brandline{position:absolute;left:0;right:0;top:9px}
.stop{position:relative;padding:36px var(--s2) 0 0;display:grid;gap:4px;align-content:start;min-width:0}
.stop::before{content:"";position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;background:var(--surface);border:4px solid var(--c,var(--ink))}
.stop .yr{font-weight:400;font-size:24px;line-height:30px;font-variant-numeric:tabular-nums}
.stop .yr.tbd{color:var(--ink-soft);font-size:16px}
.stop b{font-weight:600;font-size:15px}
.stop span{font-size:13px;line-height:19px;color:var(--ink-soft)}
.stop.now .yr{color:var(--warm)}

/* ---------- Store ---------- */
.store{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6);align-items:stretch}
.store-copy{display:grid;gap:var(--s3);align-content:start;min-width:0}
.store-copy .sec-head{margin-bottom:0}
.store dl{margin:0;display:grid}
.store .row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}
.store dt{color:var(--ink-soft)}
.store dd{margin:0;font-weight:500}
.store .feat{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.store .feat li{font-size:13px;font-weight:600;padding:7px 12px;border-radius:var(--r-sm);background:var(--surface)}
.map{position:relative;border-radius:var(--r);overflow:hidden;min-height:360px;background:
  linear-gradient(90deg,rgba(19,66,112,.06) 1px,transparent 1px) 0 0/40px 40px,
  linear-gradient(rgba(19,66,112,.06) 1px,transparent 1px) 0 0/40px 40px,var(--surface)}
.map .sea{position:absolute;left:0;top:0;width:44%;height:100%;background:var(--blue-tint);clip-path:polygon(0 0,100% 0,72% 40%,86% 70%,60% 100%,0 100%)}
.map .pin{position:absolute;left:56%;top:44%;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:6px}
.map .pin i{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--warm)}
.map .pin b{font-weight:600;font-size:14px;background:var(--surface);padding:4px 10px;border-radius:var(--r-sm);border:1px solid var(--rule)}
.map .reviews{position:absolute;left:var(--s2);right:var(--s2);bottom:var(--s2);background:var(--surface);border-radius:var(--r-sm);padding:14px var(--s2);display:flex;gap:12px;align-items:center;font-size:13px;line-height:19px;color:var(--ink-soft);border:1px solid var(--rule)}
.map .reviews b{color:var(--ink);font-size:15px;display:block}
.stars{color:var(--warm-light);font-size:18px;letter-spacing:2px;flex-shrink:0}

/* ---------- Footer: the folder's back cover ----------
   Left: one brand block (logo → slogan → contact). Right: link columns, top-aligned with the logo.
   The symbol bleeds off the white panel's bottom edge onto a separate full-width legal strip. */
.site-footer{background:var(--surface);color:var(--ink-soft);font-size:15px;border-top:1px solid var(--rule)}
.foot-main{position:relative;overflow:hidden}
.foot-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6);padding-block:var(--s6) 96px}
.foot-brand{display:grid;gap:var(--s4);align-content:start;min-width:0}
.foot-brand img{display:block;height:auto}
.foot-brand .full{width:420px;max-width:100%;aspect-ratio:708.661/136.381}
.foot-brand .wm{display:none;width:210px;aspect-ratio:708.661/98.955}
.mini-lockup{font-size:13px;line-height:22px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ink)}
.mini-lockup::after{content:"";display:block;width:24px;height:2px;background:var(--warm);margin-top:10px}
.contact{font-style:normal;display:grid;gap:10px;color:var(--ink)}
.contact span{display:flex;gap:12px;align-items:center}
.contact svg{flex-shrink:0;width:18px;height:18px;fill:none;stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foot-cols{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:var(--s3);align-content:start;padding-top:4px;min-width:0}
.site-footer h4{margin:0 0 14px;font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink)}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--blue-deep);text-decoration:underline}
.foot-symbol{position:absolute;right:-40px;bottom:-34px;width:440px;height:auto;aspect-ratio:169.448/98.955;z-index:0;pointer-events:none}
.foot-legal{background:var(--bg);font-size:13px;line-height:19px}
.foot-legal .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px var(--s3);padding-block:18px}
@media (max-width:1100px){
  .foot-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5);padding-bottom:210px}
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
  .foot-symbol{width:320px;right:-30px;bottom:-26px}
}
@media (max-width:640px){
  .foot-brand .full{display:none}
  .foot-brand .wm{display:block}
  .foot-grid{padding-bottom:160px}
  .foot-symbol{width:240px;bottom:-20px}
}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .b2b,.guides,.story,.store{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .timeline .brandline{left:9px;right:auto;top:0;bottom:0;width:4px;height:auto;grid-template-columns:none;grid-template-rows:1fr 1fr}
  .timeline .brandline::before{background:linear-gradient(180deg,#134270,#106993,#7DA2D3)}
  .timeline .brandline::after{background:linear-gradient(180deg,#581300,#9D3A20,#DF7A67)}
  .stop{padding:0 0 0 40px}
  .photo{aspect-ratio:4/3}
  .brands{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.hero{--kv-w:165vw}.hero .wrap{padding-bottom:calc(var(--kv-w) / 1.98 * .46)}}
@media (max-width:760px){.needs{grid-template-columns:repeat(2,minmax(0,1fr))}.hair{width:150px}}
@media (max-width:640px){
  .products,.trust .wrap,.calc-grid,.needs{grid-template-columns:minmax(0,1fr)}
  .brand .row,.store .row{grid-template-columns:minmax(0,1fr);gap:2px}
  .brand{padding:var(--s4) var(--s3) var(--s3)}
  .finder form{grid-template-columns:minmax(0,1fr)}
  .partners .slot{width:calc(50% - 8px)}
  .tscale .ticks span:nth-child(even){display:none}
  .calc,.finder{padding:var(--s3)}
  .articles{padding:var(--s1) var(--s3)}
}

/* ---- category page (demo/src/category.src.html) ---- */
/* =====================================================================
   CATEGORY PAGE — same tokens and components as the homepage.
   Layout: compact light hero with the category's place on the temperature scale, a power sizer that filters
   the list, then a sticky filter rail beside a 3-up grid of the homepage product cards.
   ===================================================================== */
.main-nav a.active{border-bottom-color:var(--warm)}

/* Breadcrumbs */
.crumbs{background:var(--surface);border-bottom:1px solid var(--rule)}
.crumbs ol{list-style:none;margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;line-height:18px;color:var(--ink-soft)}
.crumbs li{display:flex;gap:10px;align-items:center}
.crumbs li+li::before{content:"›";color:var(--hair)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--blue-deep);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:500}

/* Category hero */
.cat-hero{position:relative;background:var(--bg);overflow-x:clip}
.cat-hero .wrap{position:relative;z-index:1}
.cat-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:var(--s6);align-items:end;padding-block:var(--s5) var(--s4)}
.cat-title{display:grid;gap:var(--s2);min-width:0}
.cat-title h1{font-family:"Jura","Open Sans",Arial,sans-serif;font-weight:300;font-size:clamp(40px,4.4vw,60px);line-height:1.04;letter-spacing:-.015em}
.cat-title h1 em{font-style:normal;font-weight:400;color:var(--warm)}
.lockbar{width:88px;height:4px;border-radius:2px;margin:6px 0 4px;background:linear-gradient(90deg,#134270 0%,#106993 24%,#7DA2D3 47%,transparent 47%,transparent 53%,#581300 53%,#9D3A20 76%,#DF7A67 100%)}
.cat-title p{font-size:17px;line-height:27px;color:var(--ink-soft);max-width:36em}
.cat-facts{display:grid;gap:12px;justify-items:start;min-width:0}
.temp-chip{display:grid;gap:8px;background:var(--surface);border-radius:var(--r);padding:16px 18px;width:100%;max-width:340px}
.temp-chip .t{display:flex;align-items:baseline;gap:10px}
.temp-chip b{font-size:30px;line-height:34px;font-weight:400;color:var(--warm-deep);font-variant-numeric:tabular-nums}
.temp-chip span{font-size:13px;color:var(--ink-soft)}
.mini-scale{position:relative;display:grid;grid-template-columns:40fr 50fr;gap:4px;height:6px}
.mini-scale i{border-radius:3px}
.mini-scale i:first-child{background:var(--grad-blue)}
.mini-scale i:nth-of-type(2){background:var(--grad-warm)}
.mini-scale em{position:absolute;top:-5px;height:16px;border:1.5px solid var(--ink);border-radius:8px;left:calc(70/90*100% - 2px);width:calc(15/90*100% + 4px)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;line-height:20px;color:var(--ink-soft)}
.facts li{display:flex;gap:10px;align-items:baseline}
.facts li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--warm);transform:translateY(-1px)}
.facts b{color:var(--ink);font-weight:600}

.subcats{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:var(--s3)}
.subcat{text-decoration:none;font:inherit;font-size:14px;font-weight:600;line-height:20px;padding:9px 14px;border-radius:var(--r-sm);border:1.5px solid transparent;background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.subcat small{font-size:12px;font-weight:600;color:var(--ink-soft)}
.subcat:hover{border-color:var(--blue-light)}
.subcat[aria-current="page"]{background:var(--blue-deep);color:var(--on-blue)}
.subcat[aria-current="page"] small{color:var(--on-blue-soft)}

/* Power sizer: the homepage calculator, reduced to one line, wired to the list */
.sizer{position:relative;z-index:2;margin-bottom:calc(var(--s4) * -1);background:var(--surface);border-radius:var(--r);box-shadow:0 18px 40px -30px rgba(19,66,112,.55);border:1px solid var(--rule);
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:16px;align-items:end;padding:20px var(--s3)}
.sizer .lead{display:grid;gap:2px}
.sizer .lead small{font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm)}
.sizer .lead b{font-size:17px;line-height:24px;font-weight:600}
.sizer .lead span{font-size:13px;line-height:19px;color:var(--ink-soft)}
.sizer select,.sizer input[type=number]{height:46px}
.sizer .out{display:grid;gap:2px;padding-bottom:2px}
.sizer .out b{font-size:30px;line-height:34px;font-weight:300;font-variant-numeric:tabular-nums}
.sizer .out b small{font-size:15px;font-weight:400;margin-left:3px}
.sizer .out > span{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.sizer .btn{height:46px;padding-block:0}

/* Listing */
.listing{display:grid;grid-template-columns:268px minmax(0,1fr);gap:var(--s5);align-items:start;padding-block:calc(var(--s4) + var(--s5)) var(--s6)}
.filters{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto;padding-right:6px;scrollbar-width:thin}
.filters-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;border-bottom:1.5px solid var(--ink)}
.filters-head h2{font-size:18px;line-height:24px;font-weight:600}
.reset{background:none;border:0;font:inherit;font-size:14px;font-weight:600;color:var(--blue);cursor:pointer;padding:0}
.reset:hover{text-decoration:underline}
.fgroup{border-bottom:1px solid var(--rule)}
.fgroup summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:15px;font-weight:600}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--ink-soft);border-bottom:1.6px solid var(--ink-soft);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.fgroup[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.fgroup .opts{display:grid;gap:2px;padding-bottom:14px}
.fopt{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:15px;line-height:20px;cursor:pointer}
.fopt input{accent-color:var(--blue-deep);width:18px;height:18px;flex-shrink:0;margin:0}
.fopt small{margin-left:auto;font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.fopt.zero{opacity:.42}
.brandopt img{height:22px;width:auto}
.study-mini{margin-top:var(--s3);background:var(--bg);border-radius:var(--r);padding:20px;display:grid;gap:8px}
.study-mini small{font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm)}
.study-mini b{font-size:16px;line-height:23px;font-weight:600}
.study-mini p{font-size:14px;line-height:21px;color:var(--ink-soft)}

.rbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:var(--s3)}
.rcount{font-size:15px;color:var(--ink-soft)}
.rcount b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.achips{display:flex;flex-wrap:wrap;gap:6px}
.achip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:600;line-height:18px;padding:6px 10px;border-radius:var(--r-sm);border:0;background:var(--blue-tint);color:var(--blue-deep);cursor:pointer}
.achip::after{content:"×";font-size:16px;line-height:1}
.sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-soft)}
.sort select{height:42px;width:auto;padding-right:30px}
.filters-btn{display:none}

.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.product .ptitle{text-decoration:none;color:inherit}
.product .ptitle:hover h3{text-decoration:underline;text-underline-offset:3px}
.product .pimg{text-decoration:none}
.fuels{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.fuels span{font-size:11px;line-height:15px;font-weight:600;padding:3px 7px;border-radius:4px;background:var(--bg);color:var(--ink-soft)}
.pimg .badge,.pimg .kwtag{z-index:1}
.kwtag{position:absolute;right:12px;top:12px;font-size:12px;line-height:16px;font-weight:600;padding:4px 8px;border-radius:var(--r-sm);background:var(--surface);color:var(--ink);border:1px solid var(--rule);font-variant-numeric:tabular-nums}
.product.fit{border-color:var(--blue-deep);box-shadow:0 0 0 1px var(--blue-deep)}
.fitflag{display:none;font-size:12px;font-weight:600;color:var(--blue-deep)}
.product.fit .fitflag{display:block}

/* Promo tile: the heating-study service, sitting in the grid like a product */
.tile-study{position:relative;overflow:hidden;background:var(--blue-deep);color:var(--on-blue);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:14px;min-height:100%}
.tile-study small{font-size:11px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--on-blue-soft)}
.tile-study h3{font-family:"Jura","Open Sans",Arial,sans-serif;font-weight:300;font-size:30px;line-height:34px}
.tile-study p{font-size:15px;line-height:23px;color:var(--on-blue-soft)}
.tile-study .btn{margin-top:auto;background:var(--on-blue);color:var(--blue-deep);align-self:flex-start}
.tile-study .num{font-size:14px;color:var(--on-blue-soft)}
.tile-study .hair{color:rgba(255,255,255,.22);right:-30px;bottom:-10px;width:200px}

.empty{display:grid;justify-items:start;gap:12px;background:var(--bg);border-radius:var(--r);padding:var(--s5) var(--s4)}
.empty b{font-size:20px;font-weight:500}
.empty p{color:var(--ink-soft)}
.more-row{display:grid;justify-items:center;gap:12px;margin-top:var(--s5);font-size:14px;color:var(--ink-soft)}
.more-row .bar{width:220px;height:4px;border-radius:2px;background:var(--rule);overflow:hidden}
.more-row .bar i{display:block;height:100%;width:100%;background:var(--grad-blue);transition:width .3s}
.more-row #more{min-width:240px}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:4px}
.pager a,.pager span{min-width:40px;height:40px;padding:0 12px;display:inline-grid;place-items:center;border-radius:var(--r-sm);font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);border:1.5px solid var(--rule);background:var(--surface);font-variant-numeric:tabular-nums}
.pager a:hover{border-color:var(--blue-light)}
.pager .loaded{background:var(--blue-tint);border-color:var(--blue-tint)}
.pager [aria-current="page"]{background:var(--blue-deep);border-color:var(--blue-deep);color:var(--on-blue)}
.grid3{transition:opacity .15s}
.grid3.loading{opacity:.45;pointer-events:none}
/* card states: offer, made to order, out of stock */
.badge-sale{background:var(--warm);color:#fff}
.price .sale{color:var(--warm)}
.price s{font-size:14px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.avail{display:flex;align-items:center;gap:7px;font-size:13px;line-height:18px;font-weight:600}
.avail::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0}
.avail.pre{color:#7A5200}
.avail.pre::before{background:#C98A00}
.avail.out{color:var(--ink-soft)}
.avail.out::before{background:var(--ink-soft)}

/* Buying guide + FAQ (SEO text lives under the list, not above it) */
.guide{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s6);align-items:start}
.guide-text{display:grid;gap:var(--s3);min-width:0}
.guide-text h3{font-size:19px;line-height:26px;font-weight:600}
.guide-text p{font-size:16px;line-height:27px;color:var(--ink-soft);max-width:40em}
.guide-text a{color:var(--blue);font-weight:600}
.faq{background:var(--surface);border-radius:var(--r);padding:var(--s1) var(--s4);min-width:0}
.faq details{border-bottom:1px solid var(--bg)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:17px;line-height:25px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:24px;font-weight:300;color:var(--warm)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 20px;font-size:15px;line-height:24px;color:var(--ink-soft)}
.faq details p a{color:var(--blue);font-weight:600}

.backdrop{position:fixed;inset:0;background:rgba(19,30,45,.45);z-index:39}

@media (max-width:1180px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1100px){
  .sizer{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sizer .lead{grid-column:1/-1}
  .sizer .btn{grid-column:1/-1}
}
@media (max-width:1020px){
  .cat-top{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .listing{grid-template-columns:minmax(0,1fr)}
  .filters-btn{display:inline-flex}
  .filters{position:fixed;z-index:40;top:0;left:0;bottom:0;width:min(360px,88vw);max-height:none;background:var(--surface);padding:var(--s3) var(--s3) var(--s5);transform:translateX(-102%);transition:transform .25s ease;box-shadow:20px 0 50px -30px rgba(0,0,0,.4)}
  .filters.open{transform:none}
  .guide{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
}
@media (max-width:640px){
  .grid3{grid-template-columns:minmax(0,1fr)}
  .sizer{grid-template-columns:minmax(0,1fr)}
  .sort{margin-left:0;width:100%}
  .sort select{flex:1}
  .faq{padding:var(--s1) var(--s3)}
  .subcats{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
  .subcat{flex-shrink:0}
}

/* ---- product page (demo/src/product.src.html) ---- */
/* =====================================================================
   PRODUCT PAGE — same tokens and components as the homepage.
   Layout: sticky gallery left, buy box right; then a sticky in-page nav over full-width sections
   (description, specs, fuels, files, warranty, FAQ), cross-sell and related products. A slim buy bar
   follows the visitor once the main "Στο καλάθι" scrolls away.
   ===================================================================== */
:root{--ok:#2E7D4F}
.main-nav a.active{border-bottom-color:var(--warm)}

/* Breadcrumbs (same as the category page) */
.crumbs{background:var(--surface);border-bottom:1px solid var(--rule)}
.crumbs ol{list-style:none;margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;line-height:18px;color:var(--ink-soft)}
.crumbs li{display:flex;gap:10px;align-items:center}
.crumbs li+li::before{content:"›";color:var(--hair)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--blue-deep);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:500}

/* ---------- Product top ---------- */
.pd{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:var(--s6);align-items:start;padding-block:var(--s4) var(--s6)}
.gallery{position:sticky;top:100px;display:grid;gap:12px;min-width:0}
.g-main{position:relative;margin:0;aspect-ratio:1/1;max-height:620px;width:100%;background:var(--bg-soft);border-radius:var(--r);overflow:hidden}
.g-main img{position:absolute;inset:5%;width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .2s}
.g-main.photo img{inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.g-main .badge{z-index:1;top:16px;left:16px;font-size:12px;padding:6px 10px}
.g-main .zoomhint{position:absolute;right:14px;bottom:14px;z-index:1;font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:5px 9px;color:var(--ink-soft)}
.g-nav{position:absolute;top:50%;z-index:1;width:40px;height:40px;margin-top:-20px;border-radius:50%;border:1px solid var(--rule);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.g-nav.prev{left:12px}.g-nav.next{right:12px}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.thumb{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-soft);border:1.5px solid transparent;padding:0;cursor:pointer}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb:first-child img{object-fit:contain;padding:8%;mix-blend-mode:multiply}
.thumb[aria-current="true"]{border-color:var(--blue-deep)}

.buy{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);min-width:0}
.buy-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:var(--s2);border-bottom:1px solid var(--rule)}
.buy-brand img{height:46px;width:auto}
.buy-brand a{font-size:14px}
.buy h1{font-size:34px;line-height:42px;font-weight:500;letter-spacing:-.01em}
.buy h1 span{display:block;font-size:18px;line-height:26px;font-weight:400;color:var(--ink-soft);margin-top:6px;letter-spacing:0}
.sku{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.keyspecs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--rule);border-radius:var(--r);margin:0}
.ks{padding:14px 14px 12px;border-left:1px solid var(--rule);display:flex;flex-direction:column-reverse;gap:4px;min-width:0}
.ks:first-child{border-left:0}
.ks dd{margin:0;font-size:28px;line-height:32px;font-weight:300;font-variant-numeric:tabular-nums;white-space:nowrap}
.ks dd small{font-size:14px;margin-left:2px;font-weight:400}
.ks dt{font-size:12px;line-height:16px;color:var(--ink-soft)}
.fuelrow{display:grid;gap:8px}
.fuelrow > span{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft)}
.fuelrow div{display:flex;flex-wrap:wrap;gap:6px}
.fuelrow i{font-style:normal;font-size:13px;font-weight:600;line-height:18px;padding:5px 10px;border-radius:var(--r-sm);background:var(--bg);color:var(--ink)}
.coverage{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px}
.coverage b{font-weight:600}
.series{display:grid;gap:8px}
.series > span{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft)}
.series nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.series a{display:grid;gap:2px;padding:10px 14px;border:1.5px solid var(--rule);border-radius:var(--r-sm);text-decoration:none}
.series a b{font-size:15px;font-weight:600}
.series a small{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.series a:hover{border-color:var(--blue-light)}
.series a[aria-current="page"]{border-color:var(--blue-deep);background:var(--blue-tint)}

.pricebox{background:var(--bg);border-radius:var(--r);padding:var(--s3);display:grid;gap:16px}
.pp{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.pp b{font-size:44px;line-height:48px;font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pp span{font-size:14px;color:var(--ink-soft)}
.pp .inst{flex-basis:100%;font-size:15px;color:var(--ink)}
.pp .inst b{font-size:15px;line-height:inherit;font-weight:600;letter-spacing:0}
.stock{display:flex;align-items:center;gap:8px;font-size:14px;line-height:20px}
.stock i{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(46,125,79,.15)}
.stock b{color:var(--ok);font-weight:600}
.addrow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);height:50px}
.qty button{width:42px;height:100%;border:0;background:none;font:inherit;font-size:20px;cursor:pointer;color:var(--ink)}
.qty input{width:40px;border:0;text-align:center;font:inherit;font-weight:600;font-size:16px;background:transparent;color:var(--ink);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.addrow .btn{height:50px}
.pricebox > .btn{width:100%;white-space:normal;text-align:center}
.added{font-size:14px;color:var(--ok);font-weight:600}
/* states: offer, made to order, out of stock, options */
.badge-sale{background:var(--warm);color:#fff}
.pp .sale{color:var(--warm)}
.pp s{font-size:20px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.pp .off{font-size:13px;font-weight:700;color:#fff;background:var(--warm);border-radius:4px;padding:3px 7px}
.pp .until{flex-basis:100%;font-size:13px;color:var(--warm-deep);font-weight:600}
.stock.pre i{background:#C98A00;box-shadow:0 0 0 4px rgba(201,138,0,.18)}
.stock.pre b{color:#7A5200}
.stock.out i{background:var(--ink-soft);box-shadow:0 0 0 4px rgba(48,48,48,.1)}
.stock.out b{color:var(--ink)}
.popt{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.popt legend{padding:0;margin-bottom:10px;font-size:14px;font-weight:600}
.popt .req{font-weight:400;color:var(--ink-soft);font-size:13px;margin-left:6px}
.ochips{display:flex;flex-wrap:wrap;gap:8px}
.ochips label{cursor:pointer}
.ochips input{position:absolute;opacity:0;pointer-events:none}
.ochips span{display:inline-grid;place-items:center;min-width:110px;height:46px;padding:0 18px;border:1.5px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);font-size:15px;font-weight:600}
.ochips input:checked + span{border-color:var(--blue-deep);background:var(--blue-tint);color:var(--blue-deep)}
.ochips input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}
.popt.err .ochips span{border-color:#B3261E}
.omsg{font-size:13px;font-weight:600;color:#B3261E}
.demo-states{display:inline}
.demo-states button{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.demo-states button[aria-pressed="true"]{font-weight:700;text-decoration:none}
.demo-states em{font-style:normal;opacity:.75}

.perks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.perks li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;font-size:14px;line-height:21px;color:var(--ink-soft)}
.perks svg{width:24px;height:24px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.perks b{display:block;font-size:15px;line-height:22px;font-weight:600;color:var(--ink)}
.perks a{color:var(--blue);font-weight:600}
.pro-line{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink-soft);padding-top:var(--s2);border-top:1px solid var(--rule)}
.pro-line a{color:var(--blue);font-weight:600}

/* ---------- In-page nav ---------- */
.pnav{position:sticky;top:80px;z-index:15;background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pnav .wrap{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.pnav a{flex-shrink:0;text-decoration:none;font-size:15px;font-weight:500;padding:16px 0;border-bottom:2px solid transparent;color:var(--ink-soft)}
.pnav a:hover{color:var(--ink)}
.pnav a.on{color:var(--ink);border-bottom-color:var(--warm)}
.psec{padding-block:72px;scroll-margin-top:136px}
.psec + .psec{border-top:1px solid var(--rule)}

/* Description */
.desc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.desc-text{display:grid;gap:var(--s2);min-width:0}
.desc-text p{font-size:17px;line-height:28px;color:var(--ink-soft)}
.desc-text p:first-of-type{color:var(--ink);font-size:19px;line-height:30px}
.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.feat{background:var(--bg);border-radius:var(--r);padding:20px;display:grid;gap:6px;align-content:start}
.feat svg{width:26px;height:26px;color:var(--warm);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.feat b{font-size:16px;line-height:23px;font-weight:600}
.feat span{font-size:14px;line-height:21px;color:var(--ink-soft)}

/* Specs */
.specs{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:var(--s6);align-items:start}
.spec-table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px}
.spec-table th,.spec-table td{padding:13px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.spec-table th{font-weight:400;color:var(--ink-soft);width:44%;padding-right:16px}
.spec-table td{font-weight:500;font-variant-numeric:tabular-nums}
.spec-table td small{display:block;font-weight:400;font-size:13px;color:var(--ink-soft)}
.spec-table tr.group th{padding-top:28px;font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--blue);border-bottom:1.5px solid var(--ink)}
.dims{background:var(--bg);border-radius:var(--r);padding:var(--s4);display:grid;gap:16px;position:sticky;top:150px}
.dims svg{width:100%;height:auto}
.dims svg text{font-family:var(--font);font-size:12px;fill:var(--ink-soft)}
.dims svg .v{font-size:14px;font-weight:600;fill:var(--ink)}
.dims p{font-size:14px;line-height:21px;color:var(--ink-soft)}
.dims b{color:var(--ink)}

/* Fuels */
.fuelgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.fuel{background:var(--bg);border-radius:var(--r);padding:18px 16px;display:grid;gap:4px;align-content:start}
.fuel b{font-size:16px;font-weight:600}
.fuel span{font-size:13px;line-height:19px;color:var(--ink-soft)}
.fuel.auto{background:var(--surface);border:1px solid var(--rule)}
.fuel em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.fuel-note{margin-top:var(--s2);font-size:14px;color:var(--ink-soft)}

/* Files */
.files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.file{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:1px solid var(--rule);border-radius:var(--r);text-decoration:none;transition:border-color .2s}
.file:hover{border-color:var(--blue-deep)}
.file .ic{width:44px;height:52px;border-radius:4px;background:var(--warm-tint);color:var(--warm-deep);display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em}
.file b{display:block;font-size:15px;line-height:21px;font-weight:600}
.file span{font-size:13px;color:var(--ink-soft)}
.file svg{width:20px;height:20px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Warranty & installation */
.care{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.care-card{background:var(--surface);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:12px}
.care-card small{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--blue)}
.care-card .big{font-size:56px;line-height:56px;font-weight:300;letter-spacing:-.02em}
.care-card .big small{font-size:18px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400}
.care-card h3{font-size:20px;line-height:28px}
.care-card p{font-size:15px;line-height:24px;color:var(--ink-soft)}
.care-card .link{margin-top:auto}

/* FAQ */
.qa{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s6);align-items:start}
.faq{border-top:1.5px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-size:17px;line-height:25px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:24px;font-weight:300;color:var(--warm)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 22px;font-size:15px;line-height:25px;color:var(--ink-soft);max-width:44em}
.faq details p a{color:var(--blue);font-weight:600}
.ask{background:var(--bg);border-radius:var(--r);padding:var(--s4);display:grid;gap:12px}
.ask p{color:var(--ink-soft)}
.ask .num{font-size:22px;font-weight:300}

/* Cross-sell */
.pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,1.1fr);gap:var(--s3);align-items:stretch}
.pair .plus{align-self:center;font-size:32px;font-weight:300;color:var(--warm)}
.pair .product{grid-template-rows:auto 1fr}
.pair-note{background:var(--surface);border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;gap:12px}
.pair-note small{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm)}
.pair-note h3{font-size:22px;line-height:30px;font-weight:400}
.pair-note p{font-size:15px;line-height:24px;color:var(--ink-soft)}
.pair-note .total{margin-top:auto;padding-top:14px;border-top:1px solid var(--bg);display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pair-note .total b{font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}
.pair-note .total span{font-size:14px;color:var(--ink-soft)}
.pimg .badge,.pimg .kwtag{z-index:1}
.pbody .ptitle{text-decoration:none;color:inherit}

/* Sticky buy bar */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--rule);box-shadow:0 -14px 30px -24px rgba(19,66,112,.6);transform:translateY(110%);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom,0px)}
.buybar.show{transform:none}
.buybar .wrap{display:flex;align-items:center;gap:var(--s2);min-height:72px;padding-block:10px}
.buybar img{width:52px;height:52px;object-fit:contain;mix-blend-mode:multiply;background:var(--bg-soft);border-radius:var(--r-sm)}
.buybar .t{display:grid;min-width:0}
.buybar .t b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar .t span{font-size:13px;color:var(--ink-soft)}
.buybar .p{margin-left:auto;font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}

@media (max-width:1180px){.fuelgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.pair-note{grid-column:1/-1}}
@media (max-width:1020px){
  .pd,.desc,.specs,.qa{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .gallery,.dims{position:static}
  .care,.files{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .buy h1{font-size:27px;line-height:34px}
  .keyspecs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ks:nth-child(3){border-left:0}
  .ks:nth-child(n+3){border-top:1px solid var(--rule)}
  .series nav{grid-template-columns:minmax(0,1fr)}
  .features,.fuelgrid{grid-template-columns:minmax(0,1fr)}
  .fuelgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pair{grid-template-columns:minmax(0,1fr)}
  .pair .plus{justify-self:center;line-height:1}
  .psec{padding-block:var(--s5)}
  .buybar .t span{display:none}
  .buybar .p{font-size:18px}
  .pnav{top:70px}
}

/* ---- cart page (demo/src/cart.src.html) ---- */ scoped to .cart-page, .checkout-page
:root{--ok:#2E7D4F}
.cart-page .steps,.checkout-page .steps{display:flex;align-items:center;gap:14px;padding-block:22px;border-bottom:1px solid var(--rule)}
.cart-page .step,.checkout-page .step{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink-soft);white-space:nowrap}
.cart-page .step i,.checkout-page .step i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rule);font-style:normal;font-size:13px;background:var(--surface)}
.cart-page .step.on,.checkout-page .step.on{color:var(--ink)}
.cart-page .step.on i,.checkout-page .step.on i{background:var(--blue-deep);border-color:var(--blue-deep);color:var(--on-blue)}
.cart-page .steps .line,.checkout-page .steps .line{flex:1;max-width:140px;height:3px;border-radius:2px;background:var(--rule)}
.cart-page .steps .line.half,.checkout-page .steps .line.half{background:linear-gradient(90deg,#134270,#106993 50%,var(--rule) 50%)}
.cart-page .steps .safe,.checkout-page .steps .safe{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft)}
.cart-page .steps .safe svg,.checkout-page .steps .safe svg{width:16px;height:16px;fill:none;stroke:var(--ok);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cart-page .cart,.checkout-page .cart{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:var(--s5);align-items:start;padding-block:var(--s5) var(--s6)}
.cart-page .cart-head,.checkout-page .cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:var(--s3)}
.cart-page .cart-head h1,.checkout-page .cart-head h1{font-family:"Jura","Open Sans",Arial,sans-serif;font-weight:300;font-size:clamp(34px,3.4vw,46px);line-height:1.05;letter-spacing:-.015em}
.cart-page .cart-head span,.checkout-page .cart-head span{font-size:15px;color:var(--ink-soft)}
.cart-page .items,.checkout-page .items{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.cart-page .item,.checkout-page .item{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:22px;padding:24px 0;border-bottom:1px solid var(--rule)}
.cart-page .item .thumb,.checkout-page .item .thumb{position:relative;width:132px;height:132px;background:var(--bg-soft);border-radius:var(--r);overflow:hidden;display:block}
.cart-page .item .thumb img,.checkout-page .item .thumb img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply}
.cart-page .item .info,.checkout-page .item .info{display:flex;flex-direction:column;gap:6px;min-width:0}
.cart-page .item .pbrand,.checkout-page .item .pbrand{font-size:11px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft)}
.cart-page .item h3,.checkout-page .item h3{font-size:17px;line-height:24px;font-weight:500}
.cart-page .item h3 a,.checkout-page .item h3 a{text-decoration:none}
.cart-page .item h3 a:hover,.checkout-page .item h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.cart-page .item .spec,.checkout-page .item .spec{font-size:13px;line-height:19px;color:var(--ink-soft)}
.cart-page .item .meta,.checkout-page .item .meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-soft);margin-top:2px}
.cart-page .item .meta .stock,.checkout-page .item .meta .stock{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}
.cart-page .item .meta .stock::before,.checkout-page .item .meta .stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}
.cart-page .heavy,.checkout-page .heavy{display:flex;gap:10px;align-items:flex-start;margin-top:6px;background:var(--warm-tint);color:var(--warm-deep);border-radius:var(--r-sm);padding:8px 12px;font-size:13px;line-height:19px}
.cart-page .heavy svg,.checkout-page .heavy svg{flex-shrink:0;width:16px;height:16px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-page .item .acts,.checkout-page .item .acts{display:flex;gap:18px;margin-top:auto;padding-top:8px}
.cart-page .item .acts button,.checkout-page .item .acts button{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer}
.cart-page .item .acts button:hover,.checkout-page .item .acts button:hover{text-decoration:underline}
.cart-page .item .money,.checkout-page .item .money{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:150px}
.cart-page .item .line,.checkout-page .item .line{font-size:22px;line-height:28px;font-weight:500;font-variant-numeric:tabular-nums}
.cart-page .item .unit,.checkout-page .item .unit{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.cart-page .qty,.checkout-page .qty{display:inline-flex;align-items:center;border:1.5px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);height:44px}
.cart-page .qty button,.checkout-page .qty button{width:38px;height:100%;border:0;background:none;font:inherit;font-size:19px;cursor:pointer;color:var(--ink)}
.cart-page .qty input,.checkout-page .qty input{width:36px;border:0;text-align:center;font:inherit;font-weight:600;font-size:15px;background:transparent;color:var(--ink);-moz-appearance:textfield}
.cart-page .qty input::-webkit-outer-spin-button,.cart-page .qty input::-webkit-inner-spin-button,.checkout-page .qty input::-webkit-outer-spin-button,.checkout-page .qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-page .install,.checkout-page .install{margin-top:var(--s4);background:var(--bg);border-radius:var(--r);padding:20px 24px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:start;cursor:pointer}
.cart-page .install input,.checkout-page .install input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--blue-deep)}
.cart-page .install b,.checkout-page .install b{display:block;font-size:16px;line-height:23px;font-weight:600}
.cart-page .install span,.checkout-page .install span{font-size:14px;line-height:21px;color:var(--ink-soft)}
.cart-page .install em,.checkout-page .install em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--warm);white-space:nowrap}
.cart-page .under,.checkout-page .under{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:var(--s3);font-size:14px;color:var(--ink-soft)}
.cart-page .under a,.checkout-page .under a{color:var(--blue);font-weight:600}
.cart-page .summary,.checkout-page .summary{position:sticky;top:100px;display:grid;gap:var(--s2);grid-column:2;grid-row:1 / span 2}
.cart-page .sum-card,.checkout-page .sum-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s4) var(--s4) var(--s3);display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.cart-page .sum-card h2,.checkout-page .sum-card h2{font-size:20px;line-height:26px;font-weight:600}
.cart-page .deliver,.checkout-page .deliver{display:grid;gap:8px;border:0;margin:0;padding:0}
.cart-page .deliver legend,.checkout-page .deliver legend{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;padding:0}
.cart-page .dopt,.checkout-page .dopt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 14px;border:1.5px solid var(--rule);border-radius:var(--r-sm);cursor:pointer;font-size:14px;line-height:20px}
.cart-page .dopt input,.checkout-page .dopt input{margin:2px 0 0;accent-color:var(--blue-deep);width:17px;height:17px}
.cart-page .dopt b,.checkout-page .dopt b{display:block;font-weight:600;color:var(--ink)}
.cart-page .dopt span,.checkout-page .dopt span{color:var(--ink-soft);font-size:13px}
.cart-page .dopt .p,.checkout-page .dopt .p{font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-page .dopt:has(input:checked),.checkout-page .dopt:has(input:checked){border-color:var(--blue-deep);background:var(--blue-tint)}
.cart-page .fnote,.checkout-page .fnote{font-size:12px;line-height:17px;color:var(--ink-soft)}
.cart-page .lines,.checkout-page .lines{display:grid;gap:10px;margin:0;font-size:15px}
.cart-page .lines div,.checkout-page .lines div{display:flex;justify-content:space-between;gap:12px}
.cart-page .lines dt,.checkout-page .lines dt{color:var(--ink-soft)}
.cart-page .lines dd,.checkout-page .lines dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
.cart-page .total,.checkout-page .total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;border-top:1.5px solid var(--ink)}
.cart-page .total span,.checkout-page .total span{font-size:16px;font-weight:600}
.cart-page .total b,.checkout-page .total b{font-size:32px;line-height:36px;font-weight:500;font-variant-numeric:tabular-nums}
.cart-page .vat,.checkout-page .vat{font-size:13px;color:var(--ink-soft);margin-top:-10px;text-align:right;font-variant-numeric:tabular-nums}
.cart-page .inst-line,.checkout-page .inst-line{display:flex;gap:10px;align-items:center;background:var(--bg);border-radius:var(--r-sm);padding:10px 12px;font-size:14px}
.cart-page .inst-line b,.checkout-page .inst-line b{font-variant-numeric:tabular-nums}
.cart-page .sum-card .btn-primary,.checkout-page .sum-card .btn-primary{width:100%;height:54px;font-size:17px}
.cart-page .coupon summary,.checkout-page .coupon summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--blue);list-style:none}
.cart-page .coupon summary::-webkit-details-marker,.checkout-page .coupon summary::-webkit-details-marker{display:none}
.cart-page .coupon form,.checkout-page .coupon form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}
.cart-page .coupon input,.checkout-page .coupon input{font:inherit;font-size:15px;height:44px;padding:0 12px;border:1.5px solid var(--rule);border-radius:var(--r-sm);min-width:0}
.cart-page .coupon .btn,.checkout-page .coupon .btn{height:44px;padding-block:0}
.cart-page .coupon p,.checkout-page .coupon p{grid-column:1/-1;font-size:13px;color:var(--ink-soft)}
.cart-page .assure,.checkout-page .assure{grid-column:1;list-style:none;margin:0;padding:var(--s3);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;background:var(--bg);border-radius:var(--r)}
.cart-page .assure li,.checkout-page .assure li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:13px;line-height:19px;color:var(--ink-soft)}
.cart-page .assure svg,.checkout-page .assure svg{width:22px;height:22px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cart-page .assure b,.checkout-page .assure b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.cart-page .paylogos,.checkout-page .paylogos{display:flex;flex-wrap:wrap;gap:6px}
.cart-page .paylogos span,.checkout-page .paylogos span{font-size:11px;font-weight:700;letter-spacing:.04em;padding:5px 8px;border:1px solid var(--rule);border-radius:4px;color:var(--ink-soft);background:var(--surface)}
.cart-page .empty-cart,.checkout-page .empty-cart{display:grid;justify-items:start;gap:16px;padding:var(--s5) 0}
.cart-page .empty-cart h2::after,.checkout-page .empty-cart h2::after{content:"";display:block;width:48px;height:3px;background:var(--warm);margin-top:18px}
.cart-page .empty-cart p,.checkout-page .empty-cart p{color:var(--ink-soft);max-width:34em}
.cart-page .empty-cart .ctas,.checkout-page .empty-cart .ctas{display:flex;gap:12px;flex-wrap:wrap}
.cart-page .mcta,.checkout-page .mcta{display:none}
@media (max-width:1100px){.cart-page .cart,.checkout-page .cart{grid-template-columns:minmax(0,1fr)}
.cart-page .summary,.checkout-page .summary{position:static;grid-column:auto;grid-row:auto}
.cart-page .assure,.checkout-page .assure{grid-column:auto}
.cart-page .mcta,.checkout-page .mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--rule);box-shadow:0 -14px 30px -24px rgba(19,66,112,.6);transform:translateY(110%);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom,0px)}
.cart-page .mcta.show,.checkout-page .mcta.show{transform:none}
.cart-page .mcta .wrap,.checkout-page .mcta .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:72px;padding-block:10px}
.cart-page .mcta span,.checkout-page .mcta span{display:grid}
.cart-page .mcta small,.checkout-page .mcta small{font-size:12px;color:var(--ink-soft)}
.cart-page .mcta b,.checkout-page .mcta b{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}
.cart-page .mcta .btn,.checkout-page .mcta .btn{flex-shrink:0}

}
@media (max-width:640px){.cart-page .steps,.checkout-page .steps{gap:10px}
.cart-page .steps .safe,.cart-page .steps .line,.checkout-page .steps .safe,.checkout-page .steps .line{display:none}
.cart-page .step,.checkout-page .step{font-size:13px}
.cart-page .step:not(.on) span,.checkout-page .step:not(.on) span{display:none}
.cart-page .item,.checkout-page .item{grid-template-columns:88px minmax(0,1fr);gap:14px}
.cart-page .item .thumb,.checkout-page .item .thumb{width:88px;height:88px}
.cart-page .item .money,.checkout-page .item .money{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;min-width:0}
.cart-page .install,.checkout-page .install{grid-template-columns:auto minmax(0,1fr)}
.cart-page .install em,.checkout-page .install em{grid-column:2}
.cart-page .sum-card,.checkout-page .sum-card{padding:var(--s3)}
.cart-page .assure,.checkout-page .assure{grid-template-columns:minmax(0,1fr);gap:14px}

}


/* ---- OpenCart-only additions (opencart/tools/theme-extra.css, appended by sync_from_demo.py) ---- */
.search{margin:0}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}
.lang a{color:inherit;text-decoration:none}
.lang a:hover{color:var(--blue)}
.icon-btn{position:relative}

/* OpenCart toasts (common.js writes into #alert) */
#alert{position:fixed;top:16px;right:16px;z-index:1080;max-width:min(420px,calc(100vw - 32px))}

/* Core OpenCart pages we have not redesigned yet (account, information, search...): Bootstrap is loaded there.
   Keep our header/footer intact and give the Bootstrap content some room. */
.cv-core #content,.cv-core #information-information,.cv-core #account-login{min-height:40vh}
.cv-core .container{padding-top:var(--s3,24px);padding-bottom:var(--s5,48px)}
.cv-core .site-header a,.cv-core .site-footer a{text-decoration:none}
.cv-core .site-header,.cv-core .site-footer{font-family:var(--font);line-height:25px}
.cv-core .site-footer ul{padding-left:0}
.cv-core .site-footer h4{margin-top:0}
.cv-core address{margin-bottom:0}

/* Maintenance page (until launch) */
.maint{background:var(--bg)}
.maint .wrap{padding-block:clamp(48px,9vw,120px);max-width:880px}
.maint h1{font-family:var(--font-display,'Jura',sans-serif);font-weight:300;font-size:clamp(34px,5vw,56px);line-height:1.1;margin:12px 0 16px;color:var(--blue-deep)}
.maint .body{font-size:18px;line-height:28px;color:var(--ink-soft);max-width:36em;margin:0 0 32px}
.maint-contact{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 32px}
.maint-contact li{display:flex;flex-direction:column;gap:2px;font-size:15px}
.maint-contact b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.maint-contact a{color:var(--ink);text-decoration:none}

/* ---- Category page: OpenCart-specific ---- */
/* No filter rail yet (filter module comes later): full-width grid, 4 cards per row on wide screens */
.listing.nofilters{grid-template-columns:minmax(0,1fr)}
.listing.nofilters .grid3{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.listing.nofilters .grid3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.listing.nofilters .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.listing.nofilters .grid3{grid-template-columns:minmax(0,1fr)}}
.listing.nosizer{padding-top:var(--s5)}
.rbar .rcount{margin-right:auto}
.fit-none{flex-basis:100%;order:3;font-size:14px;color:var(--warm-deep);margin:0}
/* Long multiclima product names: 3 lines max on cards */
.product h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.product .price b{font-size:22px;line-height:28px}
.product .cart-form{margin:0}
.product .cart-form .btn{width:100%}
.product.is-out .pimg img{filter:grayscale(1);opacity:.55}
.product.fit .fitflag{display:block}
.more-row .pager{margin-top:0}
.cat-description{max-width:860px;font-size:16px;line-height:27px;color:var(--ink-soft)}
/* Category "about" section: title and help on the left, the text on the right; paragraphs and lists share one width
   (the demo's .guide-text p stops at 40em while lists ran wider, so lines broke at different points) */
.cat-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:var(--s3) var(--s6);align-items:start}
.cat-about-side{display:grid;gap:var(--s4);position:sticky;top:96px}
.cat-about .sec-head{margin-bottom:0}
.cat-about .info-help{background:var(--surface);font-size:15px}
.cat-about .cat-description{display:block;max-width:none}
.cat-about .cat-description p{max-width:none}
.cat-about .cat-description>:first-child{margin-top:0}
.cat-about .cat-description>:last-child{margin-bottom:0}
@media (max-width:960px){.cat-about{grid-template-columns:minmax(0,1fr)}.cat-about-side{position:static}}
.cat-description p{margin:0 0 1em}
.cat-description h2,.cat-description h3{color:var(--ink);font-size:19px;line-height:26px;font-weight:600;margin:1.4em 0 .5em}
.cat-description img{max-width:100%;height:auto}
.cat-description a{color:var(--blue);font-weight:600}
.cat-description ul{padding-left:1.2em}

/* OpenCart toasts without Bootstrap (common.js prepends .alert into #alert) */
#alert .alert{position:relative;background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-left:4px solid var(--blue-deep);border-radius:var(--r-sm);padding:14px 40px 14px 16px;margin-bottom:8px;box-shadow:0 18px 40px -24px rgba(19,66,112,.55);font-size:15px;line-height:22px}
#alert .alert-success{border-left-color:#2E7D4F}
#alert .alert-danger{border-left-color:var(--warm)}
#alert .alert a{color:var(--blue);font-weight:600}
#alert .alert i{display:none}
#alert .btn-close{position:absolute;top:10px;right:10px;width:24px;height:24px;border:0;background:none;cursor:pointer;font-size:0}
#alert .btn-close::before{content:"×";font-size:20px;line-height:24px;color:var(--ink-soft)}

/* ---- Product page: OpenCart-specific ---- */
.buy h1 span{font-size:14px;line-height:20px}
.buy-brand .brand-name{font-size:18px;letter-spacing:var(--track);text-transform:uppercase}
.buy-brand img{height:46px;width:auto;max-width:160px;object-fit:contain}
.popt select{width:100%;height:46px}
.ochips small{font-weight:400;color:var(--ink-soft)}
.popt .oincl{margin:6px 0 0;font-size:15px;line-height:22px}
.popt .oincl::before{content:"✓";margin-right:8px;color:var(--blue)}
.popt.err select{border-color:#B3261E}
.pricebox{margin:0}
.specs.nodims{grid-template-columns:minmax(0,1fr);max-width:900px}
.pdesc{max-width:860px;font-size:16px;line-height:27px;color:var(--ink-soft)}
.pdesc p{margin:0 0 1em}
.pdesc h2,.pdesc h3,.pdesc h4{color:var(--ink);font-size:19px;line-height:26px;font-weight:600;margin:1.4em 0 .5em}
.pdesc img{max-width:100%;height:auto}
.pdesc table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}
.pdesc td,.pdesc th{border:1px solid var(--rule);padding:6px 10px}
.pdesc ul{padding-left:1.2em}
.pdesc a{color:var(--blue);font-weight:600}
.pdesc iframe{display:block;width:100%;max-width:720px;height:auto;aspect-ratio:16/9;border:0;margin:0 0 1em}
.pdesc ol{padding-left:1.4em}
.pdesc li{margin-bottom:4px}
.pdesc th{background:var(--bg);color:var(--ink);text-align:left}
.pdesc strong{color:var(--ink)}
.ask a{color:inherit;text-decoration:none}
/* Long attribute names/values from the catalogue: keep the spec table inside the screen */
.spec-table{width:100%;table-layout:fixed}
.spec-table th,.spec-table td{overflow-wrap:anywhere}
@media (max-width:640px){.spec-table tr:not(.group) th{width:44%}}

/* ---- Mega menu (desktop > 1180px) ---- */
.main-nav{align-items:center}
.main-nav .mm{display:flex;align-items:center;gap:2px}
.mm-toggle{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:4px;background:none;color:var(--ink-soft);cursor:pointer}
.mm-toggle:hover,.mm-toggle:focus-visible{color:var(--blue-deep);background:var(--bg)}
.mm-toggle svg{transition:transform .2s}
.mm.open .mm-toggle svg{transform:rotate(180deg)}
.main-nav .mm.open .mm-link,.main-nav a.active{border-bottom-color:var(--warm)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);box-shadow:0 34px 60px -40px rgba(19,66,112,.5);max-height:calc(100vh - 120px);overflow:auto}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s5);padding-block:var(--s4) var(--s5)}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3) var(--s4);align-content:start}
.mega-head{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}
.mega-head img,.mega-noimg{width:56px;height:56px;flex-shrink:0;object-fit:contain;background:var(--bg-soft);border-radius:var(--r-sm);mix-blend-mode:multiply}
.mega-head b{display:block;font-size:15px;line-height:20px;font-weight:600}
.mega-head small{font-size:12px;line-height:16px;color:var(--ink-soft)}
.mega-head:hover b{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.mega-cat ul{list-style:none;margin:8px 0 0 68px;padding:0;display:grid;gap:3px}
.mega-cat li a{font-size:14px;line-height:20px;color:var(--ink-soft);text-decoration:none}
.mega-cat li a:hover{color:var(--blue-deep);text-decoration:underline}
.mega-cat li a.more{color:var(--blue);font-weight:600}
.mega-side{background:var(--bg);border-radius:var(--r);padding:var(--s3);display:flex;flex-direction:column;gap:14px;align-self:start}
.mega-total{font-size:34px;line-height:38px;font-weight:300;font-variant-numeric:tabular-nums}
.mega-total small{font-size:15px;font-weight:400;color:var(--ink-soft)}
.mega-side .btn{width:100%}
.mega-brand{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--rule);text-decoration:none;color:var(--blue);font-size:14px;font-weight:600}
.mega-brand img{height:36px;width:auto;max-width:150px;object-fit:contain;object-position:left center}
.mega-help{margin:0;font-size:13px;line-height:19px;color:var(--ink-soft)}
.mega-help a{color:var(--ink);font-weight:600;white-space:nowrap;text-decoration:none}
@media (max-width:1180px){.mega{display:none!important}}

/* ---- Mobile menu accordion (<= 1180px) ---- */
.mn-group{border-bottom:1px solid var(--rule)}
.mn-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border:0;background:none;font:inherit;font-weight:500;color:var(--ink);cursor:pointer;text-align:left}
.mn-toggle svg{transition:transform .2s}
.mn-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.mn-sub{display:grid;padding:0 0 10px 14px}
.mn-sub[hidden]{display:none}
.mobile-nav .mn-sub a{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:0;font-weight:400;font-size:15px}
.mobile-nav .mn-sub a small{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.mobile-nav .mn-sub .mn-all{font-weight:600;color:var(--blue-deep)}

/* ---- Homepage: partner brands carousel (continuous, CSS only) ---- */
.partners{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:var(--s2) var(--s4);align-items:center}
.partners p{margin:0}
.brand-marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.brand-track{list-style:none;margin:0;padding:0 12px 0 0;display:flex;gap:12px;flex-shrink:0;animation:cv-marquee var(--dur,calc(var(--n,12) * 2.8s)) linear infinite}
.brand-marquee:hover .brand-track,.brand-marquee:focus-within .brand-track{animation-play-state:paused}
@keyframes cv-marquee{to{transform:translateX(-100%)}}
.brand-track a,.brand-track li>span{display:block;width:140px;height:56px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--rule);overflow:hidden;transition:border-color .2s}
.brand-track img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.brand-track a:hover,.brand-track a:focus-visible{border-color:var(--blue-light)}
.brand-track a:hover img,.brand-track a:focus-visible img{filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){
  .brand-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .brand-track{animation:none}
  .brand-track[aria-hidden]{display:none}
}
@media (max-width:900px){.partners{grid-template-columns:minmax(0,1fr)}}

/* ---- Homepage sections as layout modules (cv_section) ---- */
/* Partner strip: its own module, visually attached to the brands section above it */
.brands-sec:has(+ .partners-sec){padding-bottom:var(--s3)}
.brands-sec + .partners-sec{padding-top:0}
.partners-sec .partners{margin-top:0}
.brand-logo{height:60px;width:auto;max-width:220px;object-fit:contain;object-position:left center}
/* Professionals: the box beside the benefits (replaces the demo's partner finder until the B2B portal) */
.pro-box{align-content:start}
.pro-box .btn{justify-self:start}
/* The product page's .desc / .feat (description grid, feature tiles) share class names with homepage blocks: reset them there */
.brand p.desc{display:block}
.store .feat{background:none;border-radius:0;padding:0;display:flex;align-content:normal;gap:8px}

/* ---- Power sizer (category) and filtered listing ---- */
.sizer{grid-template-columns:minmax(0,1.2fr) minmax(0,.6fr) minmax(0,1.1fr) minmax(0,.7fr) minmax(0,.9fr) auto}
@media (max-width:1100px){.sizer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sizer{grid-template-columns:minmax(0,1fr)}}
.rfilter{font-size:14px;color:var(--ink-soft);display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.rfilter b{color:var(--ink);font-weight:600}
.rfilter a{color:var(--blue);font-weight:600;text-decoration:none}
.rfilter a:hover{text-decoration:underline}

/* ---- Partner finder (homepage, Professionals) ---- */
.finder .checks{align-items:center}
.finder .near{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 0;font:inherit;font-size:14px;font-weight:600;color:var(--blue);cursor:pointer}
.finder .near svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.finder .near:hover{text-decoration:underline}
.finder-msg{font-size:14px;font-weight:600;margin:0}
.finder-msg:empty{display:none}
.results .dist{font-size:12px;font-weight:600;color:var(--ink-soft);align-self:start;white-space:nowrap}
.results .acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 14px}
.results .acts a{font-size:13px;font-weight:600;color:var(--blue);text-decoration:none;overflow-wrap:anywhere}
.results .acts a:hover{text-decoration:underline}
.results .tags span.brand{background:var(--bg);color:var(--blue-deep)}
.finder-help{display:grid;gap:6px;font-size:14px}
.finder-help p{margin:0}
@media (max-width:640px){.finder .near{margin-left:0}}

/* ---- Footer: legal links and credit in the bottom line ---- */
.foot-legal a{color:inherit;text-decoration:none}
.foot-legal a:hover,.foot-legal a:focus-visible{text-decoration:underline}
.legal-links{display:inline-flex;flex-wrap:wrap;gap:4px 16px}

/* ---- Information pages (FAQ, shipping, payment, returns, about, legal) ---- */
.info-hero .wrap,.search-hero .wrap{padding-block:var(--s5) var(--s4)}
.info-body{padding-top:var(--s5)}
.info-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s6);align-items:start}
.prose{max-width:46em;font-size:17px;line-height:28px;color:var(--ink);overflow-wrap:anywhere}
.prose > *:first-child{margin-top:0}
.prose h2{font-size:26px;line-height:34px;font-weight:500;margin:var(--s5) 0 var(--s2)}
.prose h3{font-size:19px;line-height:27px;font-weight:600;margin:var(--s4) 0 var(--s1)}
.prose h4,.prose h5,.prose h6{font-size:17px;line-height:26px;font-weight:600;margin:var(--s3) 0 var(--s1)}
.prose p,.prose ul,.prose ol,.prose table{margin:0 0 var(--s2)}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin-bottom:6px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.prose img{max-width:100%;height:auto}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.prose td,.prose th{border:1px solid var(--rule);padding:8px 10px;vertical-align:top}
.info-side{position:sticky;top:96px;display:grid;gap:var(--s3);font-size:15px}
.info-side h2{font-size:12px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);margin:0 0 var(--s1)}
.info-side ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.info-side a{color:var(--ink);text-decoration:none;display:block;padding:6px 10px;border-radius:var(--r-sm)}
.info-side a:hover,.info-side a:focus-visible{background:var(--bg)}
.info-side a[aria-current="page"]{background:var(--bg);color:var(--blue-deep);font-weight:600;box-shadow:inset 3px 0 0 var(--blue-deep)}
.info-help{display:grid;gap:4px;padding:var(--s2) var(--s3);background:var(--bg);border-radius:var(--r)}
.info-help b{font-weight:600;margin-bottom:4px}
.info-help a{padding:0;color:var(--blue);font-weight:600}
.info-help a:hover{background:none;text-decoration:underline}
.info-help span{color:var(--ink-soft);font-size:14px}
@media (max-width:1020px){
  .info-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .info-side{position:static;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}
@media (max-width:640px){.prose{font-size:16px;line-height:26px}.prose h2{font-size:22px;line-height:30px}}

/* ---- Store section: Google map loaded on request ---- */
.map .map-load{position:absolute;left:var(--s2);right:var(--s2);bottom:var(--s2);display:grid;justify-items:start;gap:8px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:14px var(--s2)}
.map .map-load small{font-size:12px;line-height:17px;color:var(--ink-soft)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---- Forms (theme pages): inputs, OpenCart's AJAX errors (common.js adds .is-invalid / .d-block) ---- */
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:11px 14px;min-height:46px}
.contact-form textarea{resize:vertical;min-height:160px;line-height:24px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--blue-light);outline-offset:1px;border-color:var(--blue)}
.contact-form abbr{text-decoration:none;color:var(--warm)}
.is-invalid,.contact-form .is-invalid{border-color:var(--warm) !important}
.invalid-feedback{display:none;font-size:13px;line-height:18px;color:var(--warm)}
.invalid-feedback.d-block,.is-invalid ~ .invalid-feedback{display:block}

/* ---- Contact page ---- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:var(--s6);align-items:start}
.contact-main h2,.contact-side h2{font-size:22px;line-height:30px;font-weight:500;margin:0 0 var(--s3)}
.contact-form{display:grid;gap:var(--s3)}
.field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.form-note{font-size:13px;line-height:19px;color:var(--ink-soft);margin:0}
.form-note a{color:var(--blue)}
.contact-form .btn{justify-self:start;width:auto;padding-inline:var(--s4)}
.contact-side{display:grid;gap:var(--s3)}
.contact-card{background:var(--bg);border-radius:var(--r);padding:var(--s3);display:grid;gap:var(--s2)}
.contact-card h2{margin:0}
.contact-card dl{margin:0;display:grid;gap:10px}
.contact-card .row{display:grid;gap:2px}
.contact-card dt{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft)}
.contact-card dd{margin:0;font-size:16px}
.contact-card a{color:var(--blue)}
.contact-card .btn{justify-self:start;width:auto}
.contact-map{min-height:300px}
.contact-links h2{font-size:12px;line-height:16px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);margin:0 0 var(--s1)}
.contact-links ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.contact-links a{display:block;padding:6px 10px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none}
.contact-links a:hover{background:var(--bg)}
@media (max-width:1020px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.field-pair{grid-template-columns:minmax(0,1fr)}.contact-form .btn{width:100%}}

/* ---- Success page ---- */
.success-mark{width:48px;height:48px;border-radius:50%;background:var(--blue-deep);display:grid;place-items:center}
.success-mark svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
.success-actions .btn{width:auto;padding-inline:var(--s4)}

/* ---- Cart: additions to the demo's cart CSS (scoped .cart-page) ---- */
.cart-page #shopping-cart > .alert{margin-top:var(--s3)}
.cart-page .item .meta .avail{display:inline-flex;align-items:center;gap:6px;color:var(--warm);font-weight:600}
.cart-page .item .meta .avail::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--warm)}
.cart-page .item .info .invalid-feedback{margin:4px 0 0}
.cart-page .coupon-x{border:0;background:none;padding:0 4px;font:inherit;font-size:13px;color:var(--ink-soft);cursor:pointer}
.cart-page .coupon-x:hover{color:var(--warm)}
.cart-page .empty-cart{padding-block:var(--s6)}
.cart-page .cart-empty-title{font-family:"Jura","Open Sans",Arial,sans-serif;font-weight:300;font-size:clamp(30px,3vw,42px);line-height:1.1}
.cart-page .cart-empty-title::after{content:"";display:block;width:48px;height:3px;background:var(--warm);margin-top:18px}
.cart-page .empty-cart .btn{width:auto;padding-inline:var(--s3)}
.cart-page .assure a{color:inherit}
.cart-page .mcta b{white-space:nowrap}

/* ---- Checkout: our layout around OpenCart's parts (Bootstrap is loaded on this page) ---- */
.checkout-page{font-size:16px}
.checkout-page .step.done{text-decoration:none;color:var(--ink)}
.checkout-page .step.done i{background:var(--blue-tint);border-color:var(--blue-tint);color:var(--blue-deep)}
.checkout-page .steps .line.full{background:linear-gradient(90deg,#134270,#106993)}
.co-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:var(--s4);margin-bottom:var(--s3)}
.co-head h1{font-family:"Jura","Open Sans",Arial,sans-serif;font-weight:300;font-size:clamp(32px,3.2vw,44px);line-height:1.05;letter-spacing:-.015em;margin:0}
.co-head a{font-size:14px;font-weight:600;color:var(--blue);text-decoration:none}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:var(--s4);align-items:start;padding-bottom:var(--s6)}
.co-main,.co-side{display:grid;gap:var(--s3);min-width:0}
.co-side{position:sticky;top:96px}
.co-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:var(--s3)}
.co-note{margin:0;font-size:14px;line-height:21px;color:var(--ink-soft);background:var(--bg);border-radius:var(--r-sm);padding:12px 16px}
.checkout-page fieldset{margin:0;padding:0;border:0;min-width:0}
.checkout-page legend{float:none;width:auto;font-size:19px;line-height:26px;font-weight:600;margin:0 0 var(--s2);padding:0;color:var(--ink)}
.checkout-page .form-label,.checkout-page .col-form-label{font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.checkout-page .form-control,.checkout-page .form-select{font-family:inherit;font-size:16px;color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-sm);min-height:46px;padding:10px 14px;box-shadow:none}
.checkout-page textarea.form-control{min-height:110px}
.checkout-page .form-control:focus,.checkout-page .form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(125,162,211,.35)}
.checkout-page .form-control.is-invalid,.checkout-page .form-select.is-invalid{border-color:var(--warm)}
.checkout-page .invalid-feedback{color:var(--warm);font-size:13px}
.checkout-page .form-check-input{width:18px;height:18px;margin-top:3px;border-color:var(--rule)}
.checkout-page .form-check-input:checked{background-color:var(--blue-deep);border-color:var(--blue-deep)}
.checkout-page .form-check-label{font-size:15px}
.checkout-page .input-group-text{background:var(--bg);border-color:var(--rule);color:var(--ink-soft)}
.checkout-page .input-group .btn{width:auto;margin:0;height:auto;min-height:46px}
.checkout-page .btn{font-family:inherit;font-weight:600;border-radius:var(--r-sm)}
.checkout-page .btn-primary{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.checkout-page .btn-primary:hover,.checkout-page .btn-primary:focus{background:#0D3159;border-color:#0D3159}
.checkout-page .btn-light,.checkout-page .btn-secondary{background:var(--bg);border-color:var(--rule);color:var(--blue-deep)}
.checkout-page .text-end .btn,.co-confirm #checkout-payment .btn{width:100%;height:54px;font-size:17px}
.co-confirm .table-responsive{margin:0}
.co-confirm .table{margin-bottom:var(--s2);font-size:14px;--bs-table-bg:transparent}
.co-confirm .table thead{display:none}
.co-confirm .table td,.co-confirm .table th{border-left:0;border-right:0;border-color:var(--rule);padding:10px 0}
.co-confirm .table tbody td:last-child,.co-confirm .table tfoot td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.co-confirm .table tfoot tr:last-child td{border-top:1.5px solid var(--ink);border-bottom:0;font-size:20px;font-weight:600;padding-top:14px}
.co-confirm .table tfoot td:first-child{color:var(--ink-soft);font-weight:400}
.co-confirm .table tfoot td strong{font-weight:400}
.co-confirm .table a{color:var(--ink);text-decoration:none;font-weight:600}
.co-confirm .table ul{color:var(--ink-soft)}
.checkout-page .modal-content{border-radius:var(--r);border:0}
.checkout-page .modal-title{font-size:18px;font-weight:600}
@media (max-width:1100px){.co-grid{grid-template-columns:minmax(0,1fr)}.co-side{position:static}}

/* ---- Product without stock: ask about availability / email me when it is back (product page #availability) ---- */
.avail-box{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--rule);border-radius:var(--r-md, 8px);background:var(--surface);scroll-margin-top:96px}
.avail-box h2{font-family:var(--font-display, inherit);font-weight:300;font-size:22px;line-height:28px;margin:0 0 var(--s2)}
.avail-box > p{margin:0 0 var(--s3);color:var(--ink-soft)}
.av-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.av-actions .btn{flex:1 1 220px}
.av-form{display:grid;gap:var(--s3);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule)}
.av-form[hidden]{display:none}
.av-form > p{margin:0}
.av-form label{display:block;font-size:14px;margin-bottom:6px}
.av-form input,.av-form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--bg-white, #fff);border:1px solid var(--rule);border-radius:var(--r-sm);padding:11px 14px;min-height:46px}
.av-form textarea{resize:vertical;min-height:96px;line-height:24px}
.av-form input:focus,.av-form textarea:focus{outline:2px solid var(--blue-light);outline-offset:1px;border-color:var(--blue)}
.av-form abbr{text-decoration:none;color:var(--warm)}
.av-form .btn{justify-self:start;width:auto;padding-inline:var(--s4)}
.av-inline > div:first-of-type{display:flex;gap:var(--s2)}
.av-inline > div:first-of-type input{flex:1;min-width:0}
.av-inline .btn{flex:none}
.av-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.av-done{margin:var(--s3) 0 0;padding:var(--s3);border-radius:var(--r-sm);background:#e8f3ec;color:#1d5c34;outline:none}
.av-done[hidden]{display:none}
@media (max-width:640px){.av-form .btn,.av-inline > div:first-of-type{width:100%}.av-inline > div:first-of-type{flex-direction:column}}

/* ---- Product series (module "Climaventis · Σειρά προϊόντων") and "from" prices ---- */
.p-head{display:grid;gap:10px}
.p-head .eyebrow{margin:0}
.p-sub{font-size:17px;line-height:27px;color:var(--ink-soft);max-width:36em;margin:0}
.series nav{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
.pp .from{font-size:15px;font-weight:600;color:var(--ink-soft);text-transform:lowercase;align-self:center}
.pp .from[hidden],.pp .pp-note[hidden]{display:none}
.pp .pp-note{flex-basis:100%;font-size:13px;line-height:19px;color:var(--ink-soft)}
.product .price .from{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:lowercase;line-height:16px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Video: poster + play, YouTube loads on click */
.pvideo{margin:var(--s5) auto 0;max-width:960px;border-radius:var(--r);overflow:hidden;background:var(--ink);aspect-ratio:16/9;position:relative}
.pvideo-play{all:unset;cursor:pointer;display:block;position:absolute;inset:0}
.pvideo-play img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.pvideo-play::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,66,112,0) 45%,rgba(19,66,112,.72) 100%)}
.pvideo-btn{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--warm);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s;z-index:1}
.pvideo-btn svg{width:34px;height:34px;fill:#fff;margin-left:4px}
.pvideo-play:hover .pvideo-btn,.pvideo-play:focus-visible .pvideo-btn{transform:scale(1.06)}
.pvideo-play:focus-visible{outline:3px solid var(--blue-light);outline-offset:-3px}
.pvideo-cap{position:absolute;left:var(--s4);right:var(--s4);bottom:var(--s3);color:#fff;font-size:20px;line-height:28px;font-weight:500;z-index:1}
.pvideo-cap small{display:block;font-size:13px;line-height:19px;font-weight:400;color:var(--on-blue-soft)}
.pvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Highlights with a photo */
.hl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.hl{background:var(--surface);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.hl img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--bg)}
.hl-body{padding:var(--s3) var(--s3) var(--s4);display:grid;gap:10px;align-content:start}
.hl-body h3{font-size:19px;line-height:26px;font-weight:600}
.hl-body p{font-size:15px;line-height:24px;color:var(--ink-soft);margin:0}

/* A choice (e.g. control panel) */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.choice{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.choice img{width:100%;height:100%;object-fit:cover;display:block;background:var(--bg);min-height:220px}
.choice.noimg{grid-template-columns:minmax(0,1fr)}
.choice-body{padding:var(--s3);display:grid;gap:12px;align-content:start}
.choice-body h3{font-size:20px;line-height:27px;font-weight:600;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}
.choice-body h3 span{font-size:16px;font-weight:600;color:var(--warm)}
.choice-body p{font-size:15px;line-height:24px;color:var(--ink-soft);margin:0}
.choice-body ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;line-height:21px}
.choice-body li{position:relative;padding-left:22px}
.choice-body li::before{content:"";position:absolute;left:2px;top:7px;width:10px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.choice-body .btn{justify-self:start;margin-top:4px}

/* Comparison of the models */
.cmp-wrap{overflow-x:auto;background:var(--surface);border-radius:var(--r);-webkit-overflow-scrolling:touch}
.cmp-wrap:focus-visible{outline:3px solid var(--blue-light);outline-offset:2px}
.cmp{width:100%;border-collapse:collapse;font-size:15px;line-height:22px;min-width:640px}
.cmp th,.cmp td{padding:14px 18px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.cmp thead th{border-bottom:1.5px solid var(--ink);vertical-align:bottom;font-weight:400}
.cmp thead th a{display:block;font-size:20px;line-height:26px;font-weight:600;text-decoration:none;color:var(--ink)}
.cmp thead th a:hover{color:var(--blue-deep);text-decoration:underline}
.cmp thead th small{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px}
.cmp thead th small b{font-weight:600;color:var(--ink)}
.cmp thead th em{display:inline-block;margin-top:8px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue-deep);border-radius:4px;padding:3px 7px}
.cmp tbody th{font-weight:400;color:var(--ink-soft);white-space:nowrap;position:sticky;left:0;background:var(--surface);z-index:1}
.cmp td{font-weight:500;font-variant-numeric:tabular-nums}
.cmp .cur{background:var(--blue-tint)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}

/* Warranty values, before installing */
.wlist{display:grid;gap:14px}
.wlist div{display:grid;gap:2px}
.wlist .big{font-size:44px;line-height:46px}
.wlist span{font-size:15px;line-height:22px;color:var(--ink)}
.install{margin-top:var(--s5);background:var(--surface);border-radius:var(--r);padding:var(--s4)}
.install h3{font-size:20px;line-height:28px;margin-bottom:var(--s3)}
.install ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s5)}
.install li{display:grid;gap:4px;padding-left:34px;position:relative}
.install li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--blue-tint)}
.install li::after{content:"";position:absolute;left:7px;top:8px;width:8px;height:5px;border-left:2px solid var(--blue-deep);border-bottom:2px solid var(--blue-deep);transform:rotate(-45deg)}
.install li b{font-size:16px;line-height:23px;font-weight:600}
.install li span{font-size:15px;line-height:23px;color:var(--ink-soft)}
.pfiles{margin-top:var(--s5)}

@media (max-width:1020px){
  .hl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice-grid,.install ul{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .hl-grid{grid-template-columns:minmax(0,1fr)}
  .choice{grid-template-columns:minmax(0,1fr)}
  .choice img{min-height:0;aspect-ratio:16/10}
  .pvideo-btn{width:64px;height:64px;margin:-32px 0 0 -32px}
  .pvideo-cap{left:var(--s2);right:var(--s2);bottom:var(--s2);font-size:16px;line-height:22px}
  .cmp th,.cmp td{padding:12px 14px}
  .install{padding:var(--s3)}
}

.fuelrow a.more{font-style:normal;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--rule);text-decoration:none;color:var(--blue)}
.fuelrow a.more:hover{border-color:var(--blue-deep)}

/* ---- Search, 404, sign in, register (7/10) ---- */
.contact-form input[type=checkbox],.contact-form input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--blue-deep)}
.search-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px) auto;align-items:end;gap:var(--s2) var(--s3);margin-top:var(--s4);max-width:980px}
.search-form .field{display:grid;gap:6px}
.search-form label{font-size:13px;font-weight:600;color:var(--ink-soft)}
.search-form input[type=search],.search-form select{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:11px 14px;min-height:48px}
.search-form input[type=search]:focus,.search-form select:focus{outline:2px solid var(--blue-light);outline-offset:1px;border-color:var(--blue)}
.search-form .btn{min-height:48px;padding-inline:var(--s4)}
.search-form .check{grid-column:1/-1;order:3}
.nf-hero .search-form{grid-template-columns:minmax(0,1fr) auto;max-width:720px}
.nf-actions{margin-top:var(--s3)}
.check{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:22px;color:var(--ink);cursor:pointer}
.check input{margin-top:2px !important}
.check a{color:var(--blue)}
.search-empty{max-width:720px}
.search-empty p{margin:6px 0 0}
.browse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s4)}
.browse-top{display:inline-block;font-size:20px;line-height:28px;font-weight:500;color:var(--ink);text-decoration:none;margin-bottom:var(--s1)}
.browse-top:hover{color:var(--blue)}
.browse-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.browse-col li a{color:var(--ink-soft);text-decoration:none;font-size:15px;line-height:22px}
.browse-col li a:hover{color:var(--blue);text-decoration:underline}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:var(--s6);align-items:start}
.account-main{max-width:640px;min-width:0}
.account-main > h2,.account-side h2{font-size:22px;line-height:30px;font-weight:500;margin:0 0 var(--s3)}
.account-side{display:grid;gap:var(--s3)}
.account-side p{margin:0;font-size:15px;line-height:23px}
.account-form fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s3);min-width:0}
.account-form legend{font-size:18px;line-height:26px;font-weight:500;padding:0;margin-bottom:var(--s2)}
.account-form .field{display:grid;gap:6px;align-content:start}
.account-form .field > label,.account-form .field > .label{font-size:14px;font-weight:600;color:var(--ink)}
.field-link{justify-self:start;font-size:14px;color:var(--blue);margin-top:2px}
.field-help{font-size:13px;line-height:18px;color:var(--ink-soft)}
.custom-field abbr{display:none}
.custom-field.required abbr{display:inline}
.checks{display:grid;gap:8px}
.group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s2)}
.group-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--rule);border-radius:var(--r-sm);padding:14px 16px;background:var(--surface);cursor:pointer}
.group-card:has(input:checked){border-color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-deep);background:var(--bg)}
.group-card input{margin-top:3px !important}
.group-card span{display:grid;gap:4px}
.group-card b{font-weight:600;font-size:15px;line-height:21px}
.group-card small{font-size:13px;line-height:18px;color:var(--ink-soft)}
.notice{margin:0 0 var(--s3);padding:12px 16px;border-radius:var(--r-sm);border-left:4px solid var(--blue-deep);background:var(--bg);font-size:15px;line-height:22px}
.notice-ok{border-left-color:#2E7D4F}
.notice-error{border-left-color:var(--warm)}
.group-pick .notice{margin:var(--s2) 0 0}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:26px;font-size:15px;line-height:22px}
.ticks li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.pro-card{background:var(--surface);border:1px solid var(--rule)}
@media (max-width:1020px){.account-grid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.account-main{max-width:none}}
@media (max-width:760px){.search-form,.nf-hero .search-form{grid-template-columns:minmax(0,1fr)}.search-form .check{order:0}.search-form .btn{width:100%}}
.account-form [hidden],.notice[hidden]{display:none !important}

/* ---- My account, offers, brands, guides (7/10) ---- */
.acc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3)}
.acc-card{display:grid;gap:6px;align-content:start;padding:var(--s3);border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.acc-card:hover,.acc-card:focus-visible{border-color:var(--blue);box-shadow:0 18px 40px -28px rgba(19,66,112,.5)}
.acc-card b{font-size:18px;line-height:26px;font-weight:500}
.acc-card span{font-size:14px;line-height:21px;color:var(--ink-soft)}
.acc-out b{color:var(--warm)}
/* OpenCart's account module (Bootstrap account pages): links the store does not use */
.list-group a[href*="route=account/reward"],.list-group a[href*="route=account/download"],.list-group a[href*="route=account/subscription"],.list-group a[href*="route=account/transaction"],.list-group a[href*="route=account/affiliate"],.list-group a[href*="route=account/tracking"],.list-group a[href*="route=account/payment_method"]{display:none}
.brand-head{font-size:22px;line-height:30px;font-weight:500;margin:0 0 var(--s3)}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--s2);margin-bottom:var(--s5)}
.brand-grid.own{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.brand-tile{display:grid;grid-template-rows:96px auto;align-items:center;justify-items:center;gap:8px;padding:var(--s2);border:1px solid var(--rule);border-radius:var(--r);background:var(--surface);color:var(--ink);text-decoration:none;text-align:center}
.brand-grid.own .brand-tile{grid-template-rows:120px auto}
.brand-tile:hover,.brand-tile:focus-visible{border-color:var(--blue)}
.brand-tile img{max-width:80%;max-height:100%;object-fit:contain}
.brand-tile b{font-size:18px;font-weight:600;letter-spacing:.02em}
.brand-tile span{font-size:13px;color:var(--ink-soft)}
.brand-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s4)}
.brand-logo{background:var(--surface);border-radius:var(--r);padding:var(--s2) var(--s3);max-width:260px}
.brand-logo img{display:block;max-width:100%;max-height:96px;object-fit:contain}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}
.post-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.post-img{display:block;aspect-ratio:16/9;background:var(--bg)}
.post-img img{width:100%;height:100%;object-fit:cover;display:block}
.post-body{display:grid;gap:8px;align-content:start;padding:var(--s3)}
.post-body time{font-size:13px;color:var(--ink-soft)}
.post-body h2{font-size:20px;line-height:28px;font-weight:500;margin:0}
.post-body h2 a{color:var(--ink);text-decoration:none}
.post-body h2 a:hover{color:var(--blue)}
.post-body p{margin:0;font-size:15px;line-height:23px;color:var(--ink-soft)}
.post-more{justify-self:start;color:var(--blue);font-weight:600;text-decoration:none;margin-top:4px}
.blog-desc{max-width:720px;color:var(--ink-soft)}
.post-meta{margin:var(--s1) 0 0;color:var(--ink-soft);font-size:14px}
.cat-title .eyebrow a{color:inherit;text-decoration:none}
.post-hero{display:block;width:100%;height:auto;border-radius:var(--r);margin-bottom:var(--s4)}
@media (max-width:760px){.brand-hero .wrap{grid-template-columns:minmax(0,1fr)}.brand-logo{justify-self:start}.post-grid{grid-template-columns:minmax(0,1fr)}}
.info-hero .subcats{margin-top:var(--s3);padding-bottom:0}

/* Trade partners: wholesale prices without VAT (Trade) */
.trade-bar{background:var(--blue-deep);color:#fff;font-size:14px;line-height:20px}
.trade-bar .wrap{padding-block:8px}
.trade-bar p{margin:0}
.trade-bar span{opacity:.85}

/* Cookie bar (Consent Mode v2, common/footer): fixed at the bottom until the visitor chooses */
.ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:1070;background:var(--surface);box-shadow:0 -18px 40px -24px rgba(19,66,112,.55);max-height:88vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.ck-bar::before{content:"";display:block;height:3px;background:var(--grad-blue)}
.ck-bar[hidden]{display:none}
.ck-in{display:flex;gap:16px 32px;align-items:center;justify-content:space-between;padding-block:18px}
.ck-copy{max-width:780px}
.ck-copy h2{font-size:17px;line-height:24px;font-weight:600;margin:0 0 4px;color:var(--ink)}
.ck-copy p{font-size:14px;line-height:21px;color:var(--ink-soft);margin:0}
.ck-copy a{color:var(--blue-deep)}
.ck-btns{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;max-width:340px}
.ck-btns .btn{flex:1 1 150px;padding:12px 18px}
.ck-bar.detail .ck-in{align-items:flex-end}
.ck-prefs{display:grid;gap:10px;margin-top:14px}
.ck-prefs label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:20px;cursor:pointer}
.ck-prefs input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue-deep);flex:0 0 auto}
.ck-prefs b{display:block;color:var(--ink);font-weight:600}
.ck-prefs small{display:block;color:var(--ink-soft);font-size:13px;line-height:19px}
.ck-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.ck-link:hover,.ck-link:focus-visible{text-decoration:underline}
@media (max-width:760px){
  .ck-in{flex-direction:column;align-items:stretch;padding-block:14px}
  .ck-bar.detail .ck-in{align-items:stretch}
  .ck-btns{max-width:none}
  .ck-btns .btn{flex:1 1 calc(50% - 4px);min-width:0}
}

/* Mini cart drawer (header cart; common/footer + checkout/cart_mini): slides in from the right */
html.mc-open{overflow:hidden}
.mc{position:fixed;inset:0;z-index:1060}
.mc[hidden]{display:none}
.mc-backdrop{position:absolute;inset:0;background:rgba(16,28,44,.45);opacity:0;transition:opacity .25s ease}
.mc.in .mc-backdrop{opacity:1}
.mc-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--surface);box-shadow:-24px 0 60px -30px rgba(19,66,112,.65);transform:translateX(100%);transition:transform .28s ease;outline:none}
.mc.in .mc-panel{transform:none}
.mc-panel::before{content:"";display:block;height:3px;background:var(--grad-blue);flex:0 0 auto}
@media (prefers-reduced-motion:reduce){.mc-panel,.mc-backdrop{transition:none}}
.mc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--rule)}
.mc-head h2{font-size:20px;line-height:26px;font-weight:600;margin:0;color:var(--ink)}
.mc-x{width:40px;height:40px;border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.mc-x:hover,.mc-x:focus-visible{border-color:var(--blue-deep);color:var(--blue-deep)}
.mc-body{flex:1;display:flex;flex-direction:column;min-height:0;transition:opacity .15s}
.mc-body[aria-busy=true]{opacity:.55}
.mc-body:empty::before{content:"";display:block;width:28px;height:28px;margin:48px auto;border:3px solid var(--rule);border-top-color:var(--blue-deep);border-radius:50%;animation:mc-spin .8s linear infinite}
@keyframes mc-spin{to{transform:rotate(360deg)}}
.mc-list{flex:1;overflow-y:auto;padding:4px 20px 12px;-webkit-overflow-scrolling:touch}
.mc-count{font-size:13px;line-height:18px;color:var(--ink-soft);margin:12px 0 4px}
.mc-items{list-style:none;margin:0;padding:0}
.mc-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--rule)}
.mc-item:last-child{border-bottom:0}
.mc-thumb{display:block;width:76px;height:76px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--rule);overflow:hidden}
.mc-thumb img{width:100%;height:100%;object-fit:contain}
.mc-info{display:grid;gap:4px;min-width:0}
.mc-name{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mc-name:hover,.mc-name:focus-visible{color:var(--blue-deep);text-decoration:underline}
.mc-spec{font-size:12px;line-height:17px;color:var(--ink-soft)}
.mc-avail{font-size:12px;line-height:17px;color:var(--warm-deep)}
.mc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.mc-qty{display:inline-flex;align-items:center;border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden}
.mc-qty button{width:34px;height:34px;border:0;background:var(--surface);color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.mc-qty button:hover,.mc-qty button:focus-visible{background:var(--bg)}
.mc-qty input{width:42px;height:34px;border:0;border-inline:1px solid var(--rule);text-align:center;font:inherit;font-size:14px;color:var(--ink);-moz-appearance:textfield}
.mc-qty input::-webkit-inner-spin-button,.mc-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.mc-line{font-weight:700;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.mc-rm{justify-self:start;background:none;border:0;padding:2px 0;font:inherit;font-size:13px;color:var(--ink-soft);text-decoration:underline;cursor:pointer}
.mc-rm:hover,.mc-rm:focus-visible{color:var(--warm-deep)}
.mc-foot{display:grid;gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);background:var(--surface)}
.mc-totals{display:grid;gap:4px;margin:0}
.mc-totals div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:20px;color:var(--ink-soft)}
.mc-totals dt{font-weight:400}
.mc-totals dd{margin:0;font-variant-numeric:tabular-nums}
.mc-totals .is-total{font-size:17px;line-height:24px;color:var(--ink);font-weight:700;padding-top:6px;margin-top:2px;border-top:1px solid var(--rule)}
.mc-totals .is-total dt{font-weight:700}
.mc-note{font-size:12px;line-height:17px;color:var(--ink-soft);margin:0}
.mc-foot .btn{width:100%}
.mc-error{margin:12px 20px 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--warm-tint,#fbeee9);color:var(--warm-deep);font-size:13px;line-height:18px}
.mc-empty{padding:28px 20px;display:grid;gap:10px;align-content:start}
.mc-empty p{margin:0;color:var(--ink-soft)}
.mc-empty b{color:var(--ink);font-size:17px}
.mc-ctas{display:grid;gap:8px;margin-top:8px}

/* Category filters (Facets; product/category): a bar of dropdowns above the results, chips of the chosen values */
.facets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:var(--s3);position:relative}
.facets.busy{opacity:.6;pointer-events:none}
.facets-title{font-size:12px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);margin-right:4px}
.facet-row{display:contents}
.facet{position:relative}
.facet summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:20px;padding:9px 12px 9px 14px;border:1.5px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);user-select:none}
.facet summary::-webkit-details-marker{display:none}
.facet summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
.facet[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.facet summary:hover,.facet summary:focus-visible,.facet[open] summary{border-color:var(--blue-deep)}
.facet.on summary{border-color:var(--blue-deep);color:var(--blue-deep)}
.facet summary b{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--blue-deep);color:#fff;font-size:12px;line-height:20px;text-align:center}
.facet-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:240px;max-width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 24px 50px -24px rgba(19,66,112,.55);padding:8px 0;z-index:20}
.facet-head{display:none}
.facet-panel ul{list-style:none;margin:0;padding:0;max-height:min(360px,60vh);overflow-y:auto}
.facet-panel label{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:14px;line-height:20px;color:var(--ink);cursor:pointer}
.facet-panel label:hover{background:var(--bg)}
.facet-panel label.zero{color:var(--ink-soft);opacity:.55;cursor:default}
.facet-panel input{width:18px;height:18px;margin:0;accent-color:var(--blue-deep);flex:0 0 auto}
.facet-panel label span{flex:1}
.facet-panel small{font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.facet-apply{margin:8px 16px 4px;width:calc(100% - 32px)}
.facets.js .facet-apply{display:none}
.facet-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-basis:100%}
.fchip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:18px;padding:6px 10px;border-radius:999px;background:var(--blue-tint,#e3edf5);color:var(--blue-deep);text-decoration:none}
.fchip:hover,.fchip:focus-visible{background:var(--blue-deep);color:#fff}
.fclear{font-size:13px;color:var(--ink-soft);text-decoration:underline;margin-left:4px}
.fclear:hover{color:var(--blue-deep)}
@media (max-width:760px){
  .facets-title{display:none}
  .facet-row{display:flex;gap:8px;flex:0 0 calc(100% + var(--gutter,16px) * 2);overflow-x:auto;padding-bottom:4px;margin-inline:calc(var(--gutter,16px) * -1);padding-inline:var(--gutter,16px);scrollbar-width:none}
  .facet-row::-webkit-scrollbar{display:none}
  .facet{flex:0 0 auto}
  /* On phones the open dropdown is a sheet at the bottom of the screen */
  .facet[open]::before{content:"";position:fixed;inset:0;background:rgba(16,28,44,.45);z-index:1050}
  .facet-panel{position:fixed;left:0;right:0;top:auto;bottom:0;max-width:none;min-width:0;border-radius:var(--r) var(--r) 0 0;z-index:1051;padding:0 0 calc(12px + env(safe-area-inset-bottom,0px))}
  .facet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--rule)}
  .facet-head b{font-size:16px}
  .facet-x{width:36px;height:36px;border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--surface);font-size:22px;line-height:1;color:var(--ink);cursor:pointer}
  .facet-panel ul{max-height:55vh}
  .facet-panel label{padding:12px 16px;font-size:15px}
}

/* ---- Account pages (8/10): menu, forms, orders, addresses, wishlist, returns ---- */
.acc-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:var(--s6);align-items:start}
.acc-layout.acc-solo{grid-template-columns:minmax(0,1fr)}
.acc-nav{min-width:0}
.acc-nav ul{list-style:none;margin:0;padding:0;display:grid;border-left:1px solid var(--rule)}
.acc-nav a{display:block;margin-left:-1px;padding:9px 16px;border-left:2px solid transparent;color:var(--ink);text-decoration:none;font-size:15px;line-height:22px}
.acc-nav a:hover,.acc-nav a:focus-visible{color:var(--blue-deep)}
.acc-nav a[aria-current=page]{border-left-color:var(--blue-deep);color:var(--blue-deep);font-weight:600}
.acc-nav .acc-out{color:var(--ink-soft);margin-top:var(--s1)}
.acc-main{min-width:0;max-width:880px}
.acc-main .account-form{max-width:680px}
.acc-main > .notice:first-child{margin-top:0}
.acc-h2{font-size:22px;line-height:30px;font-weight:500;margin:var(--s5) 0 var(--s2)}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:var(--s4)}
.form-actions .btn,.contact-form .form-actions .btn{width:auto;margin:0;padding-inline:var(--s4)}
.contact-form .form-actions{margin-top:0}
.acc-empty{margin:0 0 var(--s3);padding:var(--s3);border:1px dashed var(--rule);border-radius:var(--r);color:var(--ink-soft)}
.acc-empty p{margin:0 0 var(--s2)}
.acc-empty .btn{width:auto}
.acc-note{margin:var(--s3) 0 0;font-size:14px;line-height:21px;color:var(--ink-soft)}
.field-narrow{max-width:200px}
.checks-row{display:flex;flex-wrap:wrap;gap:var(--s3)}
.account-form .field label small{font-weight:400;color:var(--ink-soft)}
/* tables (orders, returns): rows on wide screens, cards on phones */
.acc-table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px}
.acc-table th{text-align:left;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink-soft);padding:0 12px 10px;border-bottom:1.5px solid var(--ink)}
.acc-table td{padding:14px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}
.acc-table th:first-child,.acc-table td:first-child{padding-left:0}
.acc-table th:last-child,.acc-table td:last-child{padding-right:0}
.acc-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.acc-table td a{color:var(--blue-deep);text-decoration:none}
.acc-table .act{text-align:right}
.acc-table .act .btn{width:auto;margin:0;padding:8px 16px;font-size:14px}
.acc-table .status{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--bg);font-size:13px;font-weight:600}
.acc-pages{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);margin-top:var(--s3)}
.acc-results{margin:0;font-size:14px;color:var(--ink-soft)}
@media (max-width:640px){
  .acc-table thead{display:none}
  .acc-table,.acc-table tbody,.acc-table tr,.acc-table td{display:block}
  .acc-table tr{padding:var(--s2) 0;border-bottom:1px solid var(--rule)}
  .acc-table td{display:flex;justify-content:space-between;gap:var(--s2);padding:4px 0;border:0}
  .acc-table td[data-label]::before{content:attr(data-label);color:var(--ink-soft);font-size:14px}
  .acc-table .num{text-align:right}
  .acc-table .act{padding-top:var(--s1)}
  .acc-table .act .btn{width:100%}
}
/* facts (order, return) */
.acc-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--s2) var(--s3);margin:0 0 var(--s4);padding:var(--s3);background:var(--bg);border-radius:var(--r)}
.acc-facts div{min-width:0}
.acc-facts dt{font-size:13px;color:var(--ink-soft);margin-bottom:2px}
.acc-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
/* addresses */
.addr-list{list-style:none;margin:0 0 var(--s3);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3)}
.addr-card{display:grid;gap:var(--s2);align-content:start;padding:var(--s3);border:1px solid var(--rule);border-radius:var(--r);background:var(--surface)}
.addr-card.is-default{border-color:var(--blue-deep)}
.addr-card address{font-style:normal;font-size:15px;line-height:23px;overflow-wrap:anywhere}
.addr-badge{justify-self:start;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--blue-deep)}
.addr-actions{display:flex;align-items:center;gap:var(--s2);margin-top:auto}
.addr-actions .btn{width:auto;margin:0;padding:8px 16px;font-size:14px}
.addr-delete{font-size:14px;color:var(--warm)}
.addr-delete[aria-disabled=true]{pointer-events:none;opacity:.5}
.acc-addresses{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3);margin-bottom:var(--s2)}
/* order products */
.order-items{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.order-item{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px 110px;grid-template-areas:"info qty price total" "info actions actions actions";gap:6px var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--rule);align-items:start}
.oi-info{grid-area:info;min-width:0}
.oi-name{font-weight:600;color:var(--ink);text-decoration:none}
.oi-name:hover{color:var(--blue-deep)}
.oi-meta{list-style:none;margin:4px 0 0;padding:0;font-size:14px;line-height:21px;color:var(--ink-soft)}
.oi-qty{grid-area:qty}.oi-price{grid-area:price}.oi-total{grid-area:total}
.oi-qty,.oi-price,.oi-total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.oi-qty span,.oi-price span{display:block;font-size:12px;color:var(--ink-soft)}
.oi-actions{grid-area:actions;display:flex;justify-content:flex-end;align-items:center;gap:var(--s2)}
.oi-actions .btn{width:auto;margin:0;padding:8px 16px;font-size:14px}
.oi-return{font-size:14px;color:var(--blue)}
.order-totals{margin:var(--s2) 0 0 auto;max-width:360px;display:grid;gap:6px}
.order-totals div{display:flex;justify-content:space-between;gap:var(--s2);font-size:15px}
.order-totals dt{color:var(--ink-soft)}
.order-totals dd{margin:0;font-variant-numeric:tabular-nums}
.order-totals .grand{border-top:1.5px solid var(--ink);padding-top:10px;font-size:19px;font-weight:600}
.order-totals .grand dt{color:var(--ink)}
@media (max-width:640px){
  .order-item{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info info" "qty total" "actions actions"}
  .oi-price{display:none}
  .oi-qty{text-align:left}
  .oi-actions{justify-content:space-between}
  .order-totals{max-width:none}
}
/* history */
.acc-history{list-style:none;margin:0;padding:0 0 0 var(--s3);border-left:2px solid var(--rule);display:grid;gap:var(--s2)}
.acc-history li{position:relative}
.acc-history li::before{content:"";position:absolute;left:calc(-1 * var(--s3) - 6px);top:6px;width:10px;height:10px;border-radius:50%;background:var(--blue-deep)}
.h-date{display:block;font-size:13px;color:var(--ink-soft)}
.h-status{font-weight:600}
.h-comment{margin-top:4px;font-size:15px;line-height:23px}
/* wishlist */
.wl-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.wl-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto auto;gap:var(--s2);align-items:center;padding:var(--s2) 0;border-bottom:1px solid var(--rule)}
.wl-img img{display:block;width:80px;height:80px;object-fit:contain;background:#fff;border-radius:var(--r-sm)}
.wl-name{display:block;font-weight:600;color:var(--ink);text-decoration:none}
.wl-name:hover{color:var(--blue-deep)}
.wl-meta{font-size:14px;color:var(--ink-soft)}
.wl-price{text-align:right;white-space:nowrap}
.wl-price s{color:var(--ink-soft);font-size:14px}
.wl-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.wl-actions .btn{width:auto;margin:0;padding:8px 16px;font-size:14px}
.wl-remove{font-size:14px;color:var(--warm)}
@media (max-width:640px){
  .wl-item{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"img info" "img price" "actions actions"}
  .wl-img{grid-area:img}.wl-img img{width:64px;height:64px}.wl-info{grid-area:info}.wl-price{grid-area:price;text-align:left}
  .wl-actions{grid-area:actions;flex-direction:row;justify-content:space-between;align-items:center}
}
@media (max-width:1020px){
  .acc-layout{grid-template-columns:minmax(0,1fr);gap:var(--s4)}

  .acc-nav ul{display:flex;overflow-x:auto;border-left:0;border-bottom:1px solid var(--rule);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
  .acc-nav ul::-webkit-scrollbar{display:none}
  .acc-nav a{white-space:nowrap;margin:0 0 -1px;padding:10px 14px;border-left:0;border-bottom:2px solid transparent}
  .acc-nav a[aria-current=page]{border-bottom-color:var(--blue-deep)}
  .acc-nav .acc-out{margin-top:0}
  .acc-main{max-width:none}
}

/* ---- Success pages: order number (8/10) ---- */
.success-text .success-no{font-size:19px;line-height:28px}

/* ---- Site map for visitors (8/10) ---- */
.sitemap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:var(--s5) var(--s6);align-items:start}
.sitemap h2{font-size:22px;line-height:30px;font-weight:500;margin:0 0 var(--s2)}
.sitemap ul{list-style:none;margin:0;padding:0}
.sitemap a{color:var(--ink);text-decoration:none}
.sitemap a:hover,.sitemap a:focus-visible{color:var(--blue-deep);text-decoration:underline}
.sm-tree{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s4) var(--s3)}
.sm-branch h3{font-size:17px;line-height:25px;font-weight:600;margin:0 0 var(--s1)}
.sm-branch ul{display:grid;gap:4px;font-size:15px;line-height:22px}
.sm-branch ul ul{margin:4px 0 4px var(--s2);font-size:14px;color:var(--ink-soft)}
.sm-side{display:grid;gap:var(--s4)}
.sm-block ul{display:grid;gap:6px;font-size:15px;line-height:22px}
.sm-brands{grid-column:1/-1}
.sm-brands ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px var(--s3);font-size:15px;line-height:22px;margin-bottom:var(--s2)}
@media (max-width:1020px){.sitemap{grid-template-columns:minmax(0,1fr)}}

/* Promotion strip under the breadcrumbs (theme setting «Promo banners», 15/10) */
.promo-strip{background:var(--warm-tint);border-bottom:1px solid var(--rule)}
.promo-strip a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:var(--warm-deep);text-decoration:none;font-size:15px;line-height:1.35}
.promo-strip a b{white-space:nowrap;font-weight:600;color:var(--warm)}
.promo-strip a:hover b{text-decoration:underline}
@media (max-width:600px){.promo-strip a{flex-direction:column;align-items:flex-start;gap:4px;font-size:14px}}
/* Partner portal (account/trade): terms, quick order, last orders, files; minimum order in the cart */
.acc-card.acc-trade{border-color:var(--blue-deep);box-shadow:inset 4px 0 0 var(--blue-deep)}
.trade-bar a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.cart-min{margin:0 0 12px;padding:12px 14px;border-radius:var(--r-sm);border-left:4px solid var(--warm);background:var(--warm-tint);color:var(--warm-deep);font-size:14px;line-height:21px}
.btn.is-disabled{opacity:.45;pointer-events:none;cursor:default}
.tr-terms{margin:0 0 var(--s4)}
.tr-terms .acc-facts{margin-bottom:var(--s2)}
.tr-general{margin:0 0 var(--s2);font-size:15px;line-height:23px;color:var(--ink-soft)}
.tr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0}
.tr-actions .btn{width:auto;margin:0}
.tr-actions small,.tr-hint{color:var(--ink-soft);font-size:14px;line-height:21px}
.tr-hint{margin:0 0 var(--s2)}
.tr-main .acc-h2:first-of-type{margin-top:var(--s4)}
.qo{border-top:1.5px solid var(--ink)}
.qo-head,.qo-row{display:grid;grid-template-columns:190px minmax(0,1fr) 128px 128px 36px;gap:10px var(--s2);align-items:start}
.qo-head{padding:10px 0;border-bottom:1px solid var(--rule);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.qo-rows{list-style:none;margin:0;padding:0}
.qo-row{padding:12px 0;border-bottom:1px solid var(--rule)}
.qo-code{position:relative}
.qo-code input,.qo-opt select,.qo-paste textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:9px 12px;min-height:42px}
.qo-code input:focus,.qo-opt select:focus,.qo-paste textarea:focus{outline:2px solid var(--blue-light);outline-offset:1px;border-color:var(--blue)}
.qo-suggest{position:absolute;z-index:20;left:0;top:calc(100% + 4px);width:min(440px,86vw);max-height:320px;overflow:auto;list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);box-shadow:0 18px 40px -20px rgba(19,66,112,.45)}
.qo-suggest[hidden]{display:none}
.qo-suggest button{display:block;width:100%;text-align:left;background:none;border:0;border-radius:4px;padding:8px 10px;font:inherit;font-size:14px;line-height:20px;color:var(--ink);cursor:pointer}
.qo-suggest button:hover,.qo-suggest button:focus-visible{background:var(--bg)}
.qo-suggest b{color:var(--blue-deep);margin-right:6px}
.qo-prod{display:flex;gap:12px;align-items:flex-start;min-width:0}
.qo-prod img{width:40px;height:40px;object-fit:contain;flex-shrink:0;background:var(--bg-soft);border-radius:4px}
.qo-prod>div{display:grid;gap:6px;min-width:0}
.qo-prod a{color:var(--ink);font-weight:600;text-decoration:none;line-height:21px;overflow-wrap:anywhere}
.qo-prod a:hover{color:var(--blue-deep);text-decoration:underline}
.qo-prod small{font-size:13px;line-height:18px}
.qo-stock{color:var(--warm-deep)}
.qo-inc{color:var(--ink-soft)}
.qo-inc::before{content:"✓ ";color:var(--blue)}
.qo-err{color:var(--warm)}
.qo-opt{display:grid;gap:4px;margin:0;padding:0;border:0;font-size:13px}
.qo-opt>span,.qo-opt legend{font-size:13px;color:var(--ink-soft);padding:0;margin:0}
.qo-opt label{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:20px}
.qo-opt label input{margin-top:3px;flex-shrink:0}
.qo-qty{display:inline-flex;align-items:stretch;border:1px solid var(--rule);border-radius:var(--r-sm);overflow:hidden;height:42px;width:max-content}
.qo-qty button{width:34px;border:0;background:var(--surface);color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.qo-qty button:hover,.qo-qty button:focus-visible{background:var(--bg)}
.qo-qty input{width:52px;border:0;border-inline:1px solid var(--rule);text-align:center;font:inherit;font-size:15px;color:var(--ink);-moz-appearance:textfield}
.qo-qty input::-webkit-inner-spin-button,.qo-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qo-price{display:grid;justify-items:end;text-align:right;line-height:21px}
.qo-price small{font-size:12px;color:var(--ink-soft)}
.qo-x{display:flex;justify-content:flex-end}
.qo-remove{width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--ink-soft);font-size:16px;cursor:pointer}
.qo-remove:hover,.qo-remove:focus-visible{background:var(--bg);color:var(--warm)}
.qo-tools{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-start;padding:var(--s2) 0}
.qo-tools .btn{width:auto;margin:0}
.qo-paste{flex:1 1 280px}
.qo-paste summary{cursor:pointer;color:var(--blue);font-weight:600;padding:10px 0}
.qo-paste label{display:block;font-size:13px;color:var(--ink-soft);margin:4px 0 6px}
.qo-paste textarea{min-height:120px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px}
.qo-paste .btn{margin-top:8px}
.qo-msg{min-height:21px;margin:0 0 8px;font-size:14px;color:var(--blue-deep)}
.qo-msg:empty{min-height:0}
.qo-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s2);padding:var(--s2) 0;border-top:1.5px solid var(--ink)}
.qo-foot .btn{width:auto;margin:0}
.qo-total{margin-right:auto;font-size:15px}
.qo-total b{font-size:20px;font-weight:600;margin-left:6px}
.tr-orders{list-style:none;margin:0 0 8px;padding:0;border-top:1.5px solid var(--ink)}
.tr-orders li{display:grid;grid-template-columns:80px 100px minmax(0,1fr) 80px 110px auto;gap:6px var(--s2);align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.tr-orders a{color:var(--blue-deep)}
.tr-orders .btn{width:auto;margin:0;padding:8px 14px;font-size:14px}
.tr-h3{font-size:16px;font-weight:600;margin:var(--s3) 0 8px}
.tr-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tr-files a{color:var(--blue);font-weight:600}
.tr-files small{color:var(--ink-soft);font-size:12px;margin-left:6px}
.tr-help{margin-top:var(--s5);padding:var(--s3);background:var(--bg);border-radius:var(--r);font-size:15px;line-height:23px}
.tr-help a{color:var(--blue);font-weight:600}
.order-again{margin:0 0 var(--s2);display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.order-again .btn{width:auto;margin:0}
.order-again span{font-size:14px;color:var(--blue-deep)}
@media (max-width:760px){
  .qo-head{display:none}
  .qo-row{grid-template-columns:minmax(0,1fr) auto 36px;grid-template-areas:"code code x" "prod prod prod" "qty price price"}
  .qo-code{grid-area:code}.qo-prod{grid-area:prod}.qo-qty{grid-area:qty}.qo-price{grid-area:price}.qo-x{grid-area:x}
  .qo-foot{justify-content:stretch}
  .qo-total{flex-basis:100%}
  .qo-foot .btn{flex:1 1 auto}
  .tr-orders li{grid-template-columns:1fr auto;gap:2px var(--s2)}
  .tr-orders li .btn{grid-column:1 / -1;justify-self:start;margin-top:6px}
}
