/*
Theme Name: Pet Joy Center
Theme URI: https://petjoycenter.gr
Author: Internet Wizard
Author URI: https://internetwizards.gr
Description: Custom WooCommerce theme για το Pet Paradise — «Το φουρνάρικο του καλύτερού σου φίλου». Tangerine & cocoa tokens από DESIGN.md, Comfortaa + Fira Sans. Δίδυμη αρχιτεκτονική με το safe-easy theme, διαφορετική ψυχή.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pet-paradise
Tags: e-commerce, woocommerce, custom
*/

/* ============================================================
   PET PARADISE — tokens από DESIGN.md (designmd export)
   ============================================================ */
:root{
  --color-primary:#53341f;
  --color-primary-deep:#3a2313;
  --color-accent:#f98f2e;
  --color-accent-press:#e27b1b;
  --color-ink:#2e1d10;
  --color-slate:#6b5138;
  --color-cloud:#ead8c4;
  --color-mist:#f5e9db;
  --color-line:#e9d9c6;
  --color-paper:#ffffff;
  --color-cream:#fdf6ee;
  --color-moss:#47703d;
  --font-display:"Comfortaa",sans-serif;
  --font-body:"Fira Sans",sans-serif;
  --text-display-xl:76px; --text-headline-lg:44px; --text-headline-md:28px;
  --text-headline-sm:21px; --text-price:20px; --text-body-lg:18px;
  --text-body-md:16px; --text-body-sm:14px; --text-label-lg:13px; --text-label-sm:12px;
  --tracking-label-lg:1.4px; --tracking-label-sm:1px;
  --radius-sm:10px; --radius-md:16px; --radius-lg:22px; --radius-xl:32px; --radius-full:999px;
  --sp-xs:4px; --sp-sm:8px; --sp-md:16px; --sp-lg:24px; --sp-xl:40px; --sp-2xl:64px; --sp-3xl:96px;
  --shadow-lift:0 10px 30px rgba(58,35,19,.10);
  --shadow-sign:5px 6px 0 rgba(58,35,19,.12);
  --stripes:repeating-linear-gradient(-45deg,var(--color-accent) 0 12px,var(--color-cream) 12px 24px);
  --container:1240px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);font-size:var(--text-body-md);font-weight:500;line-height:1.6;
  color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;
}
::selection{background:var(--color-accent);color:var(--color-primary-deep)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font:inherit;border:0;outline:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:2px}

.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--sp-lg)}
.section{padding-block:var(--sp-2xl)}
.section--tint{background:var(--color-mist)}

.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--text-label-lg);font-weight:800;letter-spacing:var(--tracking-label-lg);
  text-transform:uppercase;color:var(--color-primary);
}
.kicker::before{content:"";width:22px;height:3px;background:var(--color-accent);flex:none}
h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;line-height:1.02;letter-spacing:.3px}
.h-xl{font-size:clamp(46px,7vw,var(--text-display-xl));font-weight:800;line-height:.95;letter-spacing:.5px}
.h-lg{font-size:clamp(32px,4.5vw,var(--text-headline-lg));font-weight:800}
.h-md{font-size:clamp(22px,2.6vw,var(--text-headline-md));font-weight:700;line-height:1.1}
.h-sm{font-size:var(--text-headline-sm);font-weight:700;line-height:1.15;letter-spacing:.4px}
.lead{font-size:var(--text-body-lg);color:var(--color-slate);max-width:56ch}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-lg);margin-bottom:var(--sp-xl)}
.section-head h2{margin-top:var(--sp-md);color:var(--color-primary-deep)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;border-radius:var(--radius-md);
  font-size:var(--text-label-lg);font-weight:800;letter-spacing:var(--tracking-label-lg);
  text-transform:uppercase;transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
  white-space:nowrap;
}
.btn svg{flex:none}
.btn--primary{background:var(--color-accent);color:var(--color-primary-deep);box-shadow:var(--shadow-sign)}
.btn--primary:hover{background:var(--color-accent-press);transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(7,26,54,.18)}
.btn--navy{background:var(--color-primary);color:var(--color-paper)}
.btn--navy:hover{background:var(--color-primary-deep);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-line)}
.btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--color-primary)}
.btn--block{width:100%}

[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto!important}
}

/* ---------- top bar ---------- */
.topbar{background:var(--color-primary-deep);color:var(--color-cloud);font-size:var(--text-body-sm)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);min-height:40px}
.topbar__group{display:flex;align-items:center;gap:var(--sp-lg)}
.topbar__item{display:inline-flex;align-items:center;gap:8px}
.topbar__item svg{color:var(--color-accent)}
.topbar a:hover{color:var(--color-paper);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.topbar__group--right{display:none}.topbar__in{justify-content:center}}

/* ---------- header ---------- */
.header{
  position:sticky;top:0;z-index:60;background:var(--color-paper);
  border-bottom:1px solid var(--color-line);transition:box-shadow .25s ease;
}
.header.is-stuck{box-shadow:0 8px 24px rgba(7,26,54,.10)}
.header__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--sp-xl);padding-block:14px}
.logo{display:flex;align-items:center;gap:14px}
.logo__mark{flex:none}
.logo__text{display:flex;flex-direction:column;line-height:1}
.logo__name{font-family:var(--font-display);font-weight:800;font-size:27px;letter-spacing:.5px;color:var(--color-primary-deep);text-transform:uppercase}
.logo__name em{font-style:normal;color:var(--color-accent);-webkit-text-stroke:1px var(--color-primary-deep)}
.logo__sub{font-size:11px;font-weight:800;letter-spacing:4.5px;color:var(--color-slate);text-transform:uppercase;margin-top:4px}
.search{display:flex;align-items:center;background:var(--color-mist);border-radius:var(--radius-full);height:48px;padding:4px 4px 4px 22px;max-width:560px;width:100%;justify-self:center;border:1px solid transparent;transition:border-color .2s,background .2s}
.search:focus-within{border-color:var(--color-primary);background:var(--color-paper)}
.search input{flex:1;min-width:0;color:var(--color-ink)}
.search input::placeholder{color:var(--color-slate);opacity:.85}
.search button{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-primary-deep);display:grid;place-items:center;flex:none;transition:background .2s}
.search button:hover{background:var(--color-accent-press)}
.actions{display:flex;align-items:center;gap:var(--sp-lg)}
.action{display:flex;align-items:center;gap:10px;color:var(--color-primary-deep)}
.action:hover .action__icon{background:var(--color-accent);border-color:var(--color-accent)}
.action__icon{position:relative;width:42px;height:42px;border-radius:var(--radius-full);border:1.5px solid var(--color-line);display:grid;place-items:center;transition:background .2s,border-color .2s}
.action__meta{display:flex;flex-direction:column;line-height:1.15}
.action__label{font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.action__value{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:.2px}
.badge-count{
  position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;
  background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-full);
  font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid var(--color-paper);
}
@media(max-width:1020px){.header__in{gap:var(--sp-md)}.action__meta{display:none}}
@media(max-width:760px){.search{display:none}}

/* ---------- nav ---------- */
.nav{background:var(--color-primary);position:relative;z-index:50}
.nav__in{display:flex;align-items:center;gap:4px}
.nav__link{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  padding:17px 18px;color:var(--color-paper);
  font-size:var(--text-label-lg);font-weight:800;letter-spacing:var(--tracking-label-lg);text-transform:uppercase;
}
.nav__link::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav__item:hover .nav__link::after,.nav__link:focus-visible::after,.nav__link[aria-current]::after{transform:scaleX(1)}
.nav__link--hot{color:var(--color-accent)}
.nav__caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.nav__item{position:relative}
.drop{
  position:absolute;top:100%;left:0;min-width:560px;background:var(--color-paper);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lift);
  padding:var(--sp-lg);display:grid;grid-template-columns:1fr 1fr;gap:4px var(--sp-lg);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s;
  border-top:3px solid var(--color-accent);
}
.nav__item:hover .drop,.nav__item:focus-within .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--text-body-sm);font-weight:600}
.drop a::before{content:"";width:6px;height:6px;background:var(--color-accent);border-radius:1px;flex:none;transform:rotate(45deg)}
.drop a:hover{background:var(--color-mist);color:var(--color-primary)}
@media(max-width:1020px){
  .nav__in{overflow-x:auto;scrollbar-width:none}
  .nav__in::-webkit-scrollbar{display:none}
  .nav__link{padding:15px 14px;white-space:nowrap}
  .drop{display:none}
}

/* ---------- page band (inner hero) ---------- */
.band{position:relative;background:var(--color-primary-deep);color:var(--color-paper);overflow:hidden}
.band::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(201,214,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,214,232,.05) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;
}
.band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--stripes)}
.band__in{position:relative;padding-block:var(--sp-xl)}
.band h1{color:var(--color-paper);margin-top:var(--sp-sm)}
.band .lead{color:var(--color-cloud)}

/* ---------- breadcrumbs ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--text-body-sm);color:var(--color-cloud);font-weight:600}
.crumbs a:hover{color:var(--color-accent)}
.crumbs .sep{width:5px;height:5px;background:var(--color-accent);transform:rotate(45deg);border-radius:1px}
.crumbs [aria-current]{color:var(--color-paper);font-weight:700}
.crumbs--light{color:var(--color-slate)}
.crumbs--light [aria-current]{color:var(--color-ink)}
.crumbs--light a:hover{color:var(--color-primary)}

/* ---------- product card (shared) ---------- */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-md)}
.product{
  position:relative;background:var(--color-paper);border:1px solid var(--color-line);
  border-radius:var(--radius-lg);padding:var(--sp-md);display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease;
}
.product:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.product__media{position:relative;background:var(--color-mist);border-radius:var(--radius-md);aspect-ratio:1/.92;display:grid;place-items:center;overflow:hidden}
.product__media svg{width:62%;height:auto;transition:transform .3s ease}
.product:hover .product__media svg{transform:translateY(-5px) rotate(-1.5deg)}
.badge{
  position:absolute;top:10px;left:10px;background:var(--color-accent);color:var(--color-primary-deep);
  font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;
  padding:4px 8px;border-radius:var(--radius-sm);z-index:2;
}
.badge--navy{background:var(--color-primary);color:var(--color-paper)}
.badge--flat{position:static;display:inline-block}
.product__cat{margin-top:var(--sp-md);font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.product__title{margin-top:6px;font-weight:700;font-size:var(--text-body-md);line-height:1.35;color:var(--color-ink);min-height:2.7em;font-family:var(--font-body);text-transform:none;letter-spacing:0}
.product__title a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.stars{display:flex;align-items:center;gap:2px;margin-top:8px}
.stars svg{width:15px;height:15px}
.stars .on{fill:var(--color-accent);stroke:var(--color-primary-deep);stroke-width:1}
.stars .off{fill:var(--color-line);stroke:var(--color-slate);stroke-width:1}
.stars span{font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);margin-left:6px}
.product__buy{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--color-line)}
.price{display:flex;flex-direction:column;line-height:1.1}
.price del{font-size:var(--text-body-sm);color:var(--color-slate);font-weight:500}
.price b{font-family:var(--font-display);font-weight:800;font-size:var(--text-price);letter-spacing:.2px;color:var(--color-primary)}
.add{
  display:inline-flex;align-items:center;gap:8px;background:var(--color-primary);color:var(--color-paper);
  padding:11px 16px;border-radius:var(--radius-md);font-size:var(--text-label-sm);font-weight:800;
  letter-spacing:var(--tracking-label-sm);text-transform:uppercase;transition:background .2s,transform .2s;
}
.add:hover{background:var(--color-accent);color:var(--color-primary-deep);transform:translateY(-2px)}
.link-more{
  display:inline-flex;align-items:center;gap:10px;color:var(--color-primary);font-weight:800;
  font-size:var(--text-label-lg);letter-spacing:var(--tracking-label-lg);text-transform:uppercase;white-space:nowrap;
}
.link-more svg{transition:transform .2s}
.link-more:hover svg{transform:translateX(5px)}
.link-more:hover{color:var(--color-primary-deep)}
@media(max-width:1020px){.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.products{grid-template-columns:1fr}}

/* ---------- forms ---------- */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.field label b{color:var(--color-primary)}
.control{
  background:var(--color-mist);border:1.5px solid transparent;border-radius:var(--radius-md);
  padding:14px 16px;color:var(--color-ink);width:100%;transition:border-color .2s,background .2s;
}
.control::placeholder{color:var(--color-slate);opacity:.75}
.control:focus{border-color:var(--color-primary);background:var(--color-paper)}
select.control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2353341f' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
textarea.control{min-height:96px;resize:vertical}

/* ---------- qty stepper ---------- */
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--color-line);border-radius:var(--radius-md);height:46px;overflow:hidden;background:var(--color-paper)}
.qty button{width:42px;height:100%;display:grid;place-items:center;color:var(--color-primary);transition:background .15s}
.qty button:hover{background:var(--color-mist)}
.qty input{width:44px;text-align:center;font-weight:800;font-family:var(--font-display);font-size:17px;color:var(--color-ink)}

/* ---------- chips ---------- */
.chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-full);
  background:var(--color-mist);color:var(--color-primary);font-size:var(--text-label-sm);
  font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;
  border:1.5px solid transparent;transition:all .18s;white-space:nowrap;
}
.chip:hover{border-color:var(--color-primary)}
.chip--on{background:var(--color-primary);color:var(--color-paper)}
.chip svg{flex:none}

/* ---------- steps indicator (cart→checkout) ---------- */
.steps-bar{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}
.steps-bar__item{display:flex;align-items:center;gap:10px;color:var(--color-cloud);font-size:var(--text-label-lg);font-weight:800;letter-spacing:var(--tracking-label-lg);text-transform:uppercase}
.steps-bar__num{
  width:34px;height:34px;border-radius:var(--radius-full);display:grid;place-items:center;
  border:2px solid var(--color-cloud);font-family:var(--font-display);font-size:15px;flex:none;
}
.steps-bar__item.is-on{color:var(--color-paper)}
.steps-bar__item.is-on .steps-bar__num{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-primary-deep)}
.steps-bar__item.is-done{color:var(--color-accent)}
.steps-bar__item.is-done .steps-bar__num{border-color:var(--color-accent);color:var(--color-accent)}
.steps-bar__sep{width:56px;height:2px;background:rgba(201,214,232,.3);margin-inline:var(--sp-md)}
@media(max-width:760px){.steps-bar__sep{width:20px;margin-inline:8px}.steps-bar__item span:last-child{display:none}.steps-bar__item.is-on span:last-child{display:inline}}

/* ---------- misc ---------- */
.stock{display:inline-flex;align-items:center;gap:8px;color:var(--color-moss);font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase}
.stock i{width:9px;height:9px;border-radius:50%;background:var(--color-moss);font-style:normal}
.stock--out{color:var(--color-slate)}
.stock--out i{background:var(--color-slate)}
.divider{height:1px;background:var(--color-line);border:0}

/* ---------- footer ---------- */
.footer{background:var(--color-primary-deep);color:var(--color-cloud)}
.footer__stripe{height:10px;background:var(--stripes)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:var(--sp-2xl);padding-block:var(--sp-2xl)}
.footer h4{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:1.2px;text-transform:uppercase;color:var(--color-paper);margin-bottom:var(--sp-md)}
.footer__brand p{margin-top:var(--sp-md);font-size:var(--text-body-sm);max-width:34ch}
.footer__brand .logo__name{color:var(--color-paper)}
.footer__brand .logo__sub{color:var(--color-cloud)}
.footer ul li{margin-bottom:8px}
.footer ul a{font-size:var(--text-body-sm);transition:color .15s}
.footer ul a:hover{color:var(--color-accent)}
.news{margin-top:var(--sp-sm);display:flex;background:rgba(201,214,232,.1);border:1px solid rgba(201,214,232,.25);border-radius:var(--radius-md);padding:4px}
.news input{flex:1;min-width:0;padding:10px 14px;color:var(--color-paper);font-size:var(--text-body-sm)}
.news input::placeholder{color:var(--color-cloud);opacity:.7}
.news button{background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-sm);padding:10px 18px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;transition:background .2s;flex:none}
.news button:hover{background:var(--color-accent-press)}
.pays{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-lg)}
.pay{border:1px solid rgba(201,214,232,.3);border-radius:var(--radius-sm);padding:6px 12px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--color-paper)}
.footer__bottom{border-top:1px solid rgba(201,214,232,.16);padding-block:var(--sp-lg);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-md);font-size:var(--text-label-sm);letter-spacing:.4px}
.footer__bottom a{color:var(--color-paper);font-weight:700}
.footer__bottom a:hover{color:var(--color-accent)}
@media(max-width:1020px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer__grid{grid-template-columns:1fr}}

.skip{position:absolute;left:-9999px;top:0;background:var(--color-accent);color:var(--color-primary-deep);padding:12px 20px;font-weight:800;z-index:100;border-radius:0 0 var(--radius-md) 0}
.skip:focus{left:0}
/* ============ HERO ============ */
.hero{
  position:relative;background:var(--color-primary-deep);color:var(--color-paper);overflow:hidden;
}
.hero::before{ /* subtle blueprint grid */
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(201,214,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,214,232,.05) 1px,transparent 1px);
  background-size:44px 44px;pointer-events:none;
}
.hero__in{
  position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-2xl);
  align-items:center;padding-block:var(--sp-3xl) calc(var(--sp-3xl) + var(--sp-md));
}
.hero__chip{
  display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:var(--radius-full);
  background:rgba(201,214,232,.08);border:1px solid rgba(201,214,232,.22);
  font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-cloud);
}
.hero__chip i{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:blink 1.8s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.hero h1{margin-top:var(--sp-lg);color:var(--color-paper)}
.hero h1 .accent{color:var(--color-accent);position:relative;display:inline-block}
.hero__lead{margin-top:var(--sp-lg);font-size:var(--text-body-lg);color:var(--color-cloud);max-width:52ch}
.hero__lead b{color:var(--color-paper);font-weight:700}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-md);margin-top:var(--sp-xl)}
.hero__proof{display:flex;flex-wrap:wrap;gap:var(--sp-lg);margin-top:var(--sp-xl);padding-top:var(--sp-lg);border-top:1px solid rgba(201,214,232,.18)}
.proof{display:flex;align-items:center;gap:10px;font-size:var(--text-body-sm);color:var(--color-cloud)}
.proof svg{color:var(--color-accent);flex:none}
.proof b{color:var(--color-paper);font-weight:700}
/* hero visual — sign cluster on radar */
.hero__visual{position:relative;min-height:460px}
.radar{position:absolute;inset:0;display:grid;place-items:center}
.radar::before,.radar::after{
  content:"";position:absolute;border:1.5px solid rgba(255,196,0,.16);border-radius:50%;
  width:340px;height:340px;animation:pulse 4s ease-out infinite;
}
.radar::after{width:520px;height:520px;animation-delay:2s}
@keyframes pulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.radar__core{width:180px;height:180px;border-radius:50%;border:1.5px dashed rgba(255,196,0,.3)}
.sign{
  position:absolute;background:var(--color-paper);border-radius:var(--radius-full);
  box-shadow:var(--shadow-sign);display:grid;place-items:center;
}
.sign--main{width:230px;height:230px;top:50%;left:50%;transform:translate(-50%,-52%) rotate(-2deg);border:10px solid var(--color-accent)}
.sign--main svg{width:120px;height:120px}
.sign--sm{width:120px;height:120px;border:6px solid var(--color-primary)}
.sign--sm svg{width:60px;height:60px}
.sign--a{top:6%;right:6%;transform:rotate(6deg)}
.sign--b{bottom:8%;left:4%;transform:rotate(-7deg)}
.sign__slash{position:absolute;width:118%;height:14px;background:var(--color-primary-deep);transform:rotate(-45deg);border-radius:var(--radius-sm)}
.sign--sm .sign__slash{height:9px}
.plate{
  position:absolute;bottom:2%;right:2%;background:var(--color-accent);color:var(--color-primary-deep);
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:15px;
  padding:10px 18px;border-radius:var(--radius-sm);transform:rotate(-3deg);box-shadow:var(--shadow-sign);
}
.plate small{display:block;font-family:var(--font-body);font-size:10px;font-weight:800;letter-spacing:2px}
/* float-in of signs */
.hero.is-loaded .sign{animation:settle .9s cubic-bezier(.2,.8,.25,1.1) backwards}
.hero.is-loaded .sign--a{animation-delay:.15s}
.hero.is-loaded .sign--b{animation-delay:.3s}
.hero.is-loaded .plate{animation:settle .9s .45s cubic-bezier(.2,.8,.25,1.1) backwards}
@keyframes settle{from{opacity:0;translate:0 -40px}to{opacity:1;translate:0 0}}
@media(max-width:1020px){
  .hero__in{grid-template-columns:1fr;padding-block:var(--sp-2xl)}
  .hero__visual{min-height:400px}
}
@media(max-width:520px){
  .sign--main{width:180px;height:180px}
  .sign--main svg{width:92px;height:92px}
  .sign--sm{width:92px;height:92px}
  .sign--sm svg{width:46px;height:46px}
  .hero__visual{min-height:330px}
}

/* ticker */
.ticker{background:var(--color-accent);color:var(--color-primary-deep);overflow:hidden;border-top:4px solid var(--color-primary-deep)}
.ticker__track{display:flex;width:max-content;animation:ticker 26s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__seq{display:flex;align-items:center;padding-block:12px}
.ticker__seq span{
  font-family:var(--font-display);font-weight:800;font-size:var(--text-headline-sm);
  letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;padding-inline:18px;
  display:flex;align-items:center;gap:36px;
}
.ticker__seq svg{flex:none}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ============ PESTS (shop by invader) ============ */
.pests{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-md)}
.pest{
  background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);
  padding:var(--sp-lg) var(--sp-md);display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);
  text-align:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.pest:hover{transform:translateY(-6px) rotate(-1.2deg);box-shadow:var(--shadow-lift);border-color:var(--color-primary)}
.pest__sign{
  position:relative;width:92px;height:92px;border-radius:50%;
  border:5px solid var(--color-primary);display:grid;place-items:center;background:var(--color-paper);
  transition:border-color .22s ease;overflow:hidden;
}
.pest:hover .pest__sign{border-color:var(--color-accent)}
.pest__sign svg{width:50px;height:50px;color:var(--color-primary-deep)}
.pest__slash{
  position:absolute;width:120%;height:8px;background:var(--color-accent);
  transform:rotate(-45deg) scaleX(0);transition:transform .25s ease .05s;border-radius:2px;
}
.pest:hover .pest__slash{transform:rotate(-45deg) scaleX(1)}
.pest__name{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.8px;text-transform:uppercase;color:var(--color-primary-deep);line-height:1.1}
.pest__count{font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
@media(max-width:1020px){.pests{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.pests{grid-template-columns:repeat(2,1fr);gap:var(--sp-sm)}}

/* ============ CATEGORY TILES ============ */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--sp-md)}
.cat{
  position:relative;overflow:hidden;border-radius:var(--radius-xl);background:var(--color-primary);
  color:var(--color-paper);padding:var(--sp-xl);min-height:290px;display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.cat:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.cat--lg{grid-column:span 3}
.cat--sm{grid-column:span 2;min-height:230px}
.cat--offer{background:var(--color-accent);color:var(--color-primary-deep)}
.cat__idx{
  position:absolute;top:18px;right:24px;font-family:var(--font-display);font-weight:800;
  font-size:64px;line-height:1;opacity:.14;letter-spacing:1px;
}
.cat__kick{font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-accent)}
.cat--offer .cat__kick{color:var(--color-primary)}
.cat h3{font-size:clamp(24px,2.4vw,var(--text-headline-md));margin-top:var(--sp-sm);max-width:12ch}
.cat__list{margin-top:var(--sp-md);font-size:var(--text-body-sm);color:var(--color-cloud);line-height:1.9;max-width:34ch}
.cat--offer .cat__list{color:var(--color-primary-deep)}
.cat__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);padding-top:var(--sp-lg)}
.cat__count{font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-cloud)}
.cat--offer .cat__count{color:var(--color-primary)}
.cat__arrow{
  width:46px;height:46px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-primary-deep);
  display:grid;place-items:center;transition:transform .22s ease;flex:none;
}
.cat--offer .cat__arrow{background:var(--color-primary);color:var(--color-paper)}
.cat:hover .cat__arrow{transform:translateX(6px)}
.cat__stripe{position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--stripes);opacity:0;transition:opacity .25s}
.cat:hover .cat__stripe{opacity:1}
@media(max-width:1020px){.cat--lg,.cat--sm{grid-column:span 6}}
@media(min-width:601px) and (max-width:1020px){.cat--sm{grid-column:span 3}.cat--lg{grid-column:span 6}}

/* ============ PRODUCTS ============ */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-md)}
.product{
  position:relative;background:var(--color-paper);border:1px solid var(--color-line);
  border-radius:var(--radius-lg);padding:var(--sp-md);display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease;
}
.product:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.product__media{
  position:relative;background:var(--color-mist);border-radius:var(--radius-md);
  aspect-ratio:1/.92;display:grid;place-items:center;overflow:hidden;
}
.product__media svg{width:62%;height:auto;transition:transform .3s ease}
.product:hover .product__media svg{transform:translateY(-5px) rotate(-1.5deg)}
.badge{
  position:absolute;top:10px;left:10px;background:var(--color-accent);color:var(--color-primary-deep);
  font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;
  padding:4px 8px;border-radius:var(--radius-sm);z-index:2;
}
.badge--navy{background:var(--color-primary);color:var(--color-paper)}
.product__cat{margin-top:var(--sp-md);font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.product__title{margin-top:6px;font-weight:700;font-size:var(--text-body-md);line-height:1.35;color:var(--color-ink);min-height:2.7em}
.product__title a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.stars{display:flex;align-items:center;gap:2px;margin-top:8px}
.stars svg{width:15px;height:15px}
.stars .on{fill:var(--color-accent);stroke:var(--color-primary-deep);stroke-width:1}
.stars .off{fill:var(--color-line);stroke:var(--color-slate);stroke-width:1}
.stars span{font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);margin-left:6px}
.product__buy{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--color-line)}
.price{display:flex;flex-direction:column;line-height:1.1}
.price del{font-size:var(--text-body-sm);color:var(--color-slate);font-weight:500}
.price b{font-family:var(--font-display);font-weight:800;font-size:var(--text-price);letter-spacing:.2px;color:var(--color-primary)}
.add{
  display:inline-flex;align-items:center;gap:8px;background:var(--color-primary);color:var(--color-paper);
  padding:11px 16px;border-radius:var(--radius-md);font-size:var(--text-label-sm);font-weight:800;
  letter-spacing:var(--tracking-label-sm);text-transform:uppercase;transition:background .2s,transform .2s;
}
.add:hover{background:var(--color-accent);color:var(--color-primary-deep);transform:translateY(-2px)}
.link-more{
  display:inline-flex;align-items:center;gap:10px;color:var(--color-primary);font-weight:800;
  font-size:var(--text-label-lg);letter-spacing:var(--tracking-label-lg);text-transform:uppercase;white-space:nowrap;
}
.link-more svg{transition:transform .2s}
.link-more:hover svg{transform:translateX(5px)}
.link-more:hover{color:var(--color-primary-deep)}
@media(max-width:1020px){.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.products{grid-template-columns:1fr}}

/* ============ BENEFITS ============ */
.benefits{background:var(--color-primary);color:var(--color-paper)}
.benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-lg);padding-block:var(--sp-2xl)}
.benefit{display:flex;gap:var(--sp-md);align-items:flex-start}
.benefit__icon{
  flex:none;width:54px;height:54px;border-radius:var(--radius-full);background:var(--color-accent);
  color:var(--color-primary-deep);display:grid;place-items:center;box-shadow:var(--shadow-sign);
}
.benefit h3{font-size:19px;letter-spacing:.6px}
.benefit p{margin-top:4px;font-size:var(--text-body-sm);color:var(--color-cloud)}
@media(max-width:1020px){.benefits__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.benefits__grid{grid-template-columns:1fr}}

/* ============ OFFER BANNER ============ */
.offer{
  position:relative;background:var(--color-accent);color:var(--color-primary-deep);
  border-radius:var(--radius-xl);padding:var(--sp-2xl);overflow:hidden;
  display:grid;grid-template-columns:1.2fr .8fr;gap:var(--sp-2xl);align-items:center;
}
.offer::before,.offer::after{content:"";position:absolute;top:0;bottom:0;width:18px;background:var(--stripes)}
.offer::before{left:0}.offer::after{right:0}
.offer .kicker{color:var(--color-primary-deep)}
.offer .kicker::before{background:var(--color-primary-deep)}
.offer h2{font-size:clamp(34px,4.6vw,56px);font-weight:800;line-height:.98}
.offer p{margin-top:var(--sp-md);font-size:var(--text-body-lg);font-weight:600;max-width:46ch}
.offer__cta{margin-top:var(--sp-xl)}
.offer__stack{position:relative;min-height:230px}
.kit{
  position:absolute;background:var(--color-paper);border-radius:var(--radius-md);box-shadow:var(--shadow-sign);
  padding:14px 18px;display:flex;align-items:center;gap:12px;font-weight:700;font-size:var(--text-body-sm);color:var(--color-ink);
}
.kit svg{flex:none;color:var(--color-primary)}
.kit i{font-style:normal;font-family:var(--font-display);font-weight:800;color:var(--color-primary);letter-spacing:.5px}
.kit--1{top:4%;left:8%;transform:rotate(-3deg)}
.kit--2{top:38%;right:0;transform:rotate(2deg)}
.kit--3{bottom:4%;left:16%;transform:rotate(-1deg)}
.offer__burst{
  position:absolute;top:-22px;right:6%;width:110px;height:110px;border-radius:50%;
  background:var(--color-primary-deep);color:var(--color-accent);display:grid;place-items:center;text-align:center;
  font-family:var(--font-display);font-weight:800;font-size:26px;line-height:.95;letter-spacing:.5px;
  transform:rotate(8deg);box-shadow:var(--shadow-sign);
}
.offer__burst small{font-size:11px;font-family:var(--font-body);font-weight:800;letter-spacing:1.5px}
@media(max-width:1020px){
  .offer{grid-template-columns:1fr;padding:var(--sp-xl)}
  .offer__stack{display:none}
  .offer__burst{position:static;transform:rotate(0);width:auto;height:auto;border-radius:var(--radius-md);padding:8px 14px;display:inline-flex;gap:8px;margin-top:var(--sp-md)}
}

/* ============ STEPS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-lg)}
.step{position:relative;background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-xl) var(--sp-lg) var(--sp-lg)}
.step__num{
  width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-deep);color:var(--color-accent);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:1px;
  margin-bottom:var(--sp-lg);box-shadow:var(--shadow-sign);
}
.step h3{font-size:var(--text-headline-sm);color:var(--color-primary-deep)}
.step p{margin-top:var(--sp-sm);color:var(--color-slate);font-size:var(--text-body-sm)}
.step::after{
  content:"";position:absolute;top:50%;right:-26px;width:28px;height:3px;background:var(--color-accent);display:none;
}
@media(min-width:1021px){.step:not(:last-child)::after{display:block}}
@media(max-width:1020px){.steps{grid-template-columns:1fr}}
.steps-help{margin-top:var(--sp-xl);display:flex;align-items:center;gap:12px;justify-content:center;color:var(--color-slate);font-size:var(--text-body-sm);text-align:center;flex-wrap:wrap}
.steps-help b{color:var(--color-primary);font-weight:800}
.steps-help svg{color:var(--color-accent)}

/* ============ TESTIMONIALS ============ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
.quote{
  background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);
  padding:var(--sp-lg);display:flex;flex-direction:column;gap:var(--sp-md);
  transition:transform .22s ease,box-shadow .22s ease;
}
.quote:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.quote p{color:var(--color-slate);font-size:var(--text-body-md);line-height:1.65}
.quote p b{color:var(--color-ink)}
.quote__who{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:var(--sp-sm)}
.quote__avatar{
  width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-accent);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:.5px;flex:none;
}
.quote__name{font-weight:800;font-size:var(--text-body-sm);color:var(--color-ink);line-height:1.2}
.quote__where{font-size:var(--text-label-sm);font-weight:600;color:var(--color-slate);letter-spacing:.4px}
.quote .stars{margin-top:0}
@media(max-width:1020px){.quotes{grid-template-columns:1fr}}

/* ============ FOOTER ============ */
.footer{background:var(--color-primary-deep);color:var(--color-cloud)}
.footer__stripe{height:10px;background:var(--stripes)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:var(--sp-2xl);padding-block:var(--sp-2xl)}
.footer h4{
  font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:1.2px;text-transform:uppercase;
  color:var(--color-paper);margin-bottom:var(--sp-md);
}
.footer__brand p{margin-top:var(--sp-md);font-size:var(--text-body-sm);max-width:34ch}
.footer__brand .logo__name{color:var(--color-paper)}
.footer__brand .logo__sub{color:var(--color-cloud)}
.footer ul li{margin-bottom:8px}
.footer ul a{font-size:var(--text-body-sm);transition:color .15s}
.footer ul a:hover{color:var(--color-accent)}
.news{margin-top:var(--sp-sm);display:flex;background:rgba(201,214,232,.1);border:1px solid rgba(201,214,232,.25);border-radius:var(--radius-md);padding:4px}
.news input{flex:1;min-width:0;padding:10px 14px;color:var(--color-paper);font-size:var(--text-body-sm)}
.news input::placeholder{color:var(--color-cloud);opacity:.7}
.news button{
  background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-sm);
  padding:10px 18px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;
  transition:background .2s;flex:none;
}
.news button:hover{background:var(--color-accent-press)}
.pays{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-lg)}
.pay{
  border:1px solid rgba(201,214,232,.3);border-radius:var(--radius-sm);padding:6px 12px;
  font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--color-paper);
}
.footer__bottom{border-top:1px solid rgba(201,214,232,.16);padding-block:var(--sp-lg);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-md);font-size:var(--text-label-sm);letter-spacing:.4px}
.footer__bottom a{color:var(--color-paper);font-weight:700}
.footer__bottom a:hover{color:var(--color-accent)}
@media(max-width:1020px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer__grid{grid-template-columns:1fr}}

.skip{
  position:absolute;left:-9999px;top:0;background:var(--color-accent);color:var(--color-primary-deep);
  padding:12px 20px;font-weight:800;z-index:100;border-radius:0 0 var(--radius-md) 0;
}
.skip:focus{left:0}
/* ===== archive-specific ===== */
.band__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-lg);flex-wrap:wrap}
.band__count{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent)}
.subcats{display:flex;gap:8px;margin-top:var(--sp-lg);overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.subcats::-webkit-scrollbar{display:none}
.subcats .chip{background:rgba(201,214,232,.12);color:var(--color-cloud);border-color:rgba(201,214,232,.25)}
.subcats .chip:hover{border-color:var(--color-accent);color:var(--color-paper)}
.subcats .chip--on{background:var(--color-accent);color:var(--color-primary-deep);border-color:var(--color-accent)}

.shop{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-xl);align-items:start}
@media(max-width:1020px){.shop{grid-template-columns:1fr}}

/* sidebar */
.side{display:flex;flex-direction:column;gap:var(--sp-lg);position:sticky;top:96px}
@media(max-width:1020px){
  .side{display:none;position:static}
  .side.is-open{display:flex}
}
.fblock{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.fblock h3{font-size:var(--text-headline-sm);color:var(--color-primary-deep);display:flex;justify-content:space-between;align-items:center}
.fblock h3 svg{color:var(--color-slate)}
.fblock ul{margin-top:var(--sp-md);display:flex;flex-direction:column;gap:10px}
.fcheck{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink)}
.fcheck input{position:absolute;opacity:0;pointer-events:none}
.fcheck .box{
  width:22px;height:22px;border-radius:var(--radius-sm);border:2px solid var(--color-line);
  display:grid;place-items:center;flex:none;transition:all .15s;background:var(--color-paper);
}
.fcheck .box svg{opacity:0;transform:scale(.5);transition:all .15s}
.fcheck input:checked + .box{background:var(--color-accent);border-color:var(--color-accent)}
.fcheck input:checked + .box svg{opacity:1;transform:none}
.fcheck input:focus-visible + .box{outline:3px solid var(--color-accent);outline-offset:2px}
.fcheck .cnt{margin-left:auto;color:var(--color-slate);font-weight:700;font-size:var(--text-label-sm)}
.fcheck .pico{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--color-primary);display:grid;place-items:center;flex:none}
.fcheck .pico svg{width:14px;height:14px;color:var(--color-primary-deep)}
.frange{display:flex;align-items:center;gap:10px;margin-top:var(--sp-md)}
.frange .control{padding:10px 12px;text-align:center}
.frange span{color:var(--color-slate);font-weight:700}
.side-promo{
  background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-lg);
  padding:var(--sp-lg);position:relative;overflow:hidden;
}
.side-promo::after{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:var(--stripes)}
.side-promo h3{font-size:26px;line-height:1;margin-top:6px}
.side-promo p{font-size:var(--text-body-sm);font-weight:600;margin-top:8px}
.side-promo .btn{margin-top:var(--sp-md);padding:12px 20px}
.side-help{background:var(--color-primary-deep);color:var(--color-cloud);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.side-help h3{color:var(--color-paper);font-size:var(--text-headline-sm)}
.side-help p{font-size:var(--text-body-sm);margin-top:8px}
.side-help a{display:inline-flex;align-items:center;gap:8px;margin-top:var(--sp-md);color:var(--color-accent);font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.5px}

/* toolbar */
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);margin-bottom:var(--sp-lg);flex-wrap:wrap}
.toolbar__left{display:flex;align-items:center;gap:var(--sp-md);flex-wrap:wrap}
.toolbar__count{font-weight:800;color:var(--color-primary-deep)}
.toolbar__count b{font-family:var(--font-display);font-size:20px;letter-spacing:.3px}
.fchip{display:inline-flex;align-items:center;gap:8px;background:var(--color-mist);border-radius:var(--radius-full);padding:7px 8px 7px 14px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-primary)}
.fchip button{width:20px;height:20px;border-radius:50%;background:var(--color-primary);color:var(--color-paper);display:grid;place-items:center;transition:background .15s}
.fchip button:hover{background:var(--color-primary-deep)}
.toolbar__sort{display:flex;align-items:center;gap:10px}
.toolbar__sort label{font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.toolbar__sort .control{width:auto;padding:10px 40px 10px 14px;background:var(--color-paper);border:1.5px solid var(--color-line)}
.btn-filters{display:none}
@media(max-width:1020px){
  .btn-filters{display:inline-flex;align-items:center;gap:8px}
}

/* archive grid */
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
@media(max-width:1240px){.agrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.agrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.agrid{grid-template-columns:1fr}}
.product--out .product__media svg{opacity:.35;filter:grayscale(1)}
.product--out .badge{background:var(--color-slate);color:var(--color-paper)}
.add--soon{background:var(--color-mist);color:var(--color-primary)}
.add--soon:hover{background:var(--color-line);color:var(--color-primary);transform:none}
.tile-build{
  background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-paper);
  padding:var(--sp-xl) var(--sp-lg);display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;min-height:320px;transition:transform .22s ease,box-shadow .22s ease;
}
.tile-build:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.tile-build::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:var(--stripes)}
.tile-build .cat__idx{position:absolute;top:22px;right:24px;font-family:var(--font-display);font-weight:800;font-size:60px;opacity:.14}
.tile-build h3{font-size:clamp(22px,2vw,26px);max-width:11ch}
.tile-build p{font-size:var(--text-body-sm);color:var(--color-cloud);margin-top:8px;max-width:26ch}
.tile-build .kicker{color:var(--color-accent)}
.tile-build .kicker::before{background:var(--color-accent)}
.tile-build .arrow{width:46px;height:46px;border-radius:50%;background:var(--color-accent);color:var(--color-primary-deep);display:grid;place-items:center;margin-top:var(--sp-md);transition:transform .2s}
.tile-build:hover .arrow{transform:translateX(6px)}

/* pagination */
.pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--sp-2xl)}
.pager a,.pager span{
  min-width:46px;height:46px;padding-inline:10px;border-radius:var(--radius-md);border:1.5px solid var(--color-line);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--color-primary);
  transition:all .15s;
}
.pager a:hover{border-color:var(--color-primary);transform:translateY(-2px)}
.pager .is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-paper);box-shadow:var(--shadow-sign)}
.pager .dots{border:0;color:var(--color-slate)}

/* seo block */
.seo{background:var(--color-mist);border-radius:var(--radius-xl);padding:var(--sp-xl)}
.seo h2{font-size:var(--text-headline-md);color:var(--color-primary-deep)}
.seo p{color:var(--color-slate);font-size:var(--text-body-sm);margin-top:var(--sp-md);max-width:90ch}
/* ===== product-specific ===== */
.crumbs-row{padding-block:var(--sp-md);border-bottom:1px solid var(--color-line)}
.pdp{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-2xl);align-items:start;padding-block:var(--sp-xl) var(--sp-2xl)}
@media(max-width:1020px){.pdp{grid-template-columns:1fr;gap:var(--sp-xl)}}

/* gallery */
.gallery{position:sticky;top:110px}
@media(max-width:1020px){.gallery{position:static}}
.gallery__main{
  position:relative;background:var(--color-mist);border-radius:var(--radius-xl);
  aspect-ratio:1/.88;display:grid;place-items:center;overflow:hidden;
}
.gallery__main svg{width:64%;height:auto}
.gallery__badges{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:2}
.gallery__badges .badge{position:static}
.gallery__lock{
  position:absolute;bottom:16px;right:16px;display:inline-flex;align-items:center;gap:8px;
  background:var(--color-paper);border-radius:var(--radius-full);padding:8px 14px;
  font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-primary);
  box-shadow:var(--shadow-lift);
}
.gallery__lock svg{color:var(--color-accent-press)}
.view{display:none}
.view.is-on{display:grid}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.thumb{
  background:var(--color-mist);border:2px solid transparent;border-radius:var(--radius-md);
  aspect-ratio:1/1;display:grid;place-items:center;padding:12%;transition:border-color .15s;cursor:pointer;
}
.thumb svg{width:100%;height:auto}
.thumb.is-on,.thumb:hover{border-color:var(--color-primary)}
.thumb span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* buy panel */
.buy .kicker{margin-bottom:var(--sp-sm)}
.buy h1{font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--color-primary-deep);max-width:20ch}
.buy__meta{display:flex;align-items:center;gap:var(--sp-md);margin-top:var(--sp-md);flex-wrap:wrap}
.buy__meta .stars{margin-top:0}
.buy__meta a{font-size:var(--text-body-sm);font-weight:700;color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.buy__price{display:flex;align-items:baseline;gap:14px;margin-top:var(--sp-lg);flex-wrap:wrap}
.buy__price del{font-size:22px;color:var(--color-slate);font-weight:600}
.buy__price b{font-family:var(--font-display);font-weight:800;font-size:46px;line-height:1;letter-spacing:.5px;color:var(--color-primary-deep)}
.buy__save{background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-sm);padding:5px 10px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase}
.buy__vat{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600;margin-top:4px}
.buy .stock{margin-top:var(--sp-md)}
.buy__points{margin-top:var(--sp-lg);display:flex;flex-direction:column;gap:10px}
.point{display:flex;gap:12px;align-items:flex-start;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink)}
.point svg{flex:none;color:var(--color-accent-press);margin-top:2px}
.buy__cta{display:flex;gap:var(--sp-md);margin-top:var(--sp-lg);flex-wrap:wrap}
.buy__cta .btn--primary{flex:1;min-width:230px;padding-block:18px;font-size:15px}
.buy__aside{display:flex;flex-wrap:wrap;gap:var(--sp-md) var(--sp-lg);margin-top:var(--sp-lg);padding-top:var(--sp-lg);border-top:1px solid var(--color-line)}
.mini-trust{display:flex;align-items:center;gap:10px;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);letter-spacing:.3px}
.mini-trust svg{color:var(--color-primary);flex:none}

/* bundle */
.bundle{margin-top:var(--sp-lg);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.bundle h3{font-size:var(--text-headline-sm);color:var(--color-primary-deep);display:flex;align-items:center;gap:10px}
.bundle h3 svg{color:var(--color-accent-press)}
.bundle__rows{margin-top:var(--sp-md);display:flex;flex-direction:column;gap:10px}
.bundle__row{display:flex;align-items:center;gap:12px;font-size:var(--text-body-sm);font-weight:600}
.bundle__row .price-s{margin-left:auto;font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--color-primary);white-space:nowrap}
.bundle__row.is-this{color:var(--color-primary-deep)}
.bundle__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px dashed var(--color-line);flex-wrap:wrap}
.bundle__total{font-size:var(--text-body-sm);font-weight:700;color:var(--color-slate)}
.bundle__total b{font-family:var(--font-display);font-size:24px;color:var(--color-primary-deep);letter-spacing:.3px;margin-left:6px}
.bundle__total del{margin-left:6px}

/* safety line */
.bio-note{
  display:flex;gap:12px;align-items:flex-start;margin-top:var(--sp-lg);
  background:var(--color-mist);border-left:6px solid var(--color-accent);border-radius:var(--radius-md);
  padding:14px 16px;font-size:var(--text-label-sm);font-weight:600;color:var(--color-slate);line-height:1.5;
}
.bio-note svg{flex:none;color:var(--color-primary);margin-top:2px}

/* tabs */
.tabs{padding-block:var(--sp-2xl)}
.tabs input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.tabs__bar{display:flex;gap:4px;border-bottom:2px solid var(--color-line);overflow-x:auto;scrollbar-width:none}
.tabs__bar::-webkit-scrollbar{display:none}
.tabs label{
  position:relative;padding:14px 22px;cursor:pointer;white-space:nowrap;
  font-family:var(--font-display);font-weight:700;font-size:var(--text-headline-sm);
  letter-spacing:.4px;text-transform:uppercase;color:var(--color-slate);transition:color .15s;
}
.tabs label:hover{color:var(--color-primary)}
.tabs label::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--color-accent);transform:scaleX(0);transition:transform .2s}
.tabs .pane{display:none;padding-top:var(--sp-xl)}
#t1:checked ~ .tabs__bar label[for=t1],#t2:checked ~ .tabs__bar label[for=t2],
#t3:checked ~ .tabs__bar label[for=t3],#t4:checked ~ .tabs__bar label[for=t4]{color:var(--color-primary-deep)}
#t1:checked ~ .tabs__bar label[for=t1]::after,#t2:checked ~ .tabs__bar label[for=t2]::after,
#t3:checked ~ .tabs__bar label[for=t3]::after,#t4:checked ~ .tabs__bar label[for=t4]::after{transform:none}
#t1:checked ~ .pane--1,#t2:checked ~ .pane--2,#t3:checked ~ .pane--3,#t4:checked ~ .pane--4{display:block}
.pane p{color:var(--color-slate);max-width:78ch}
.pane p + p{margin-top:var(--sp-md)}
.pane p b{color:var(--color-ink)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);margin-top:var(--sp-lg)}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}
.feat{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.feat svg{color:var(--color-accent-press)}
.feat h4{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.5px;text-transform:uppercase;color:var(--color-primary-deep);margin-top:var(--sp-sm)}
.feat p{font-size:var(--text-body-sm);margin-top:6px}
.spec{width:100%;border-collapse:collapse;max-width:720px}
.spec tr{border-bottom:1px solid var(--color-line)}
.spec th{
  text-align:left;padding:14px 18px 14px 0;font-size:var(--text-label-sm);font-weight:800;
  letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate);width:38%;vertical-align:top;
}
.spec td{padding:14px 0;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink)}
.safety-box{
  background:var(--color-mist);border-radius:var(--radius-lg);padding:var(--sp-lg);max-width:760px;
  border-left:8px solid transparent;border-image:var(--stripes) 1;border-image-width:0 0 0 8px;
}
.safety-box h4{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.5px;text-transform:uppercase;color:var(--color-primary-deep)}
.safety-box h4 svg{color:var(--color-accent-press)}
.safety-box ul{margin-top:var(--sp-md);display:flex;flex-direction:column;gap:10px}
.safety-box li{display:flex;gap:10px;font-size:var(--text-body-sm);font-weight:600;color:var(--color-slate)}
.safety-box li::before{content:"";width:7px;height:7px;background:var(--color-accent);transform:rotate(45deg);border-radius:1px;flex:none;margin-top:6px}
/* reviews */
.rev{display:grid;grid-template-columns:300px 1fr;gap:var(--sp-2xl);align-items:start}
@media(max-width:860px){.rev{grid-template-columns:1fr}}
.rev__score{text-align:center;border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.rev__num{font-family:var(--font-display);font-weight:800;font-size:64px;line-height:1;color:var(--color-primary-deep)}
.rev__score .stars{justify-content:center;margin-top:8px}
.rev__score p{font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);margin-top:6px}
.rbar{display:flex;align-items:center;gap:10px;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);margin-top:8px}
.rbar .track{flex:1;height:8px;background:var(--color-line);border-radius:var(--radius-full);overflow:hidden}
.rbar .fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full)}
.rev__list{display:flex;flex-direction:column;gap:var(--sp-md)}
.rcard{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.rcard__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rcard__head .stars{margin-top:0}
.rcard__name{font-weight:800;font-size:var(--text-body-sm)}
.rcard__tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-label-sm);font-weight:700;color:var(--color-moss)}
.rcard__tag svg{flex:none}
.rcard__date{margin-left:auto;font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600}
.rcard p{margin-top:10px;font-size:var(--text-body-sm);color:var(--color-slate)}

/* how-to strip */
.howto{background:var(--color-primary-deep);color:var(--color-paper);position:relative;overflow:hidden}
.howto::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--stripes)}
.howto__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-xl);padding-block:var(--sp-2xl)}
@media(max-width:860px){.howto__grid{grid-template-columns:1fr}}
.hstep{display:flex;gap:var(--sp-md);align-items:flex-start}
.hstep__num{
  flex:none;width:56px;height:56px;border-radius:var(--radius-full);background:rgba(201,214,232,.1);
  border:2px solid var(--color-accent);color:var(--color-accent);display:grid;place-items:center;
  font-family:var(--font-display);font-weight:800;font-size:22px;
}
.hstep h3{font-size:var(--text-headline-sm);color:var(--color-paper)}
.hstep p{font-size:var(--text-body-sm);color:var(--color-cloud);margin-top:6px}

/* sticky buy bar */
.buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--color-paper);
  border-top:2px solid var(--color-primary);box-shadow:0 -10px 30px rgba(7,26,54,.12);
  transform:translateY(110%);transition:transform .3s ease;
}
.buybar.is-on{transform:none}
.buybar__in{display:flex;align-items:center;gap:var(--sp-md);padding-block:10px}
.buybar__thumb{width:52px;height:52px;background:var(--color-mist);border-radius:var(--radius-md);display:grid;place-items:center;padding:7px;flex:none}
.buybar__title{font-weight:800;font-size:var(--text-body-sm);line-height:1.3}
.buybar__title small{display:block;color:var(--color-slate);font-weight:600}
.buybar__price{margin-left:auto;font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--color-primary-deep);white-space:nowrap}
.buybar .btn{padding:13px 22px}
@media(max-width:760px){.buybar__title{display:none}.buybar__price{margin-left:auto}}

.related{padding-block:var(--sp-2xl)}
/* ===== cart-specific ===== */
.band--steps .band__in{display:flex;flex-direction:column;gap:var(--sp-lg);align-items:center;text-align:center}
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:var(--sp-xl);align-items:start;padding-block:var(--sp-xl) var(--sp-2xl)}
@media(max-width:1020px){.cart-layout{grid-template-columns:1fr}}

/* free shipping bar */
.shipbar{
  border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg);
  display:flex;flex-direction:column;gap:12px;margin-bottom:var(--sp-lg);
}
.shipbar__label{display:flex;align-items:center;gap:10px;font-size:var(--text-body-sm);font-weight:700;color:var(--color-ink);flex-wrap:wrap}
.shipbar__label svg{color:var(--color-primary);flex:none}
.shipbar__label b{color:var(--color-primary)}
.shipbar__label .done{color:var(--color-moss)}
.shipbar__track{height:12px;background:var(--color-line);border-radius:var(--radius-full);overflow:hidden}
.shipbar__fill{
  height:100%;border-radius:var(--radius-full);
  background:repeating-linear-gradient(-45deg,var(--color-accent) 0 10px,var(--color-accent-press) 10px 20px);
  transition:width .5s cubic-bezier(.2,.7,.2,1);
}
.shipbar__scale{display:flex;justify-content:space-between;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate)}

/* cart lines */
.cartbox{border:1.5px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}
.cartbox__head{
  display:grid;grid-template-columns:1fr 130px 110px 44px;gap:var(--sp-md);align-items:center;
  padding:14px var(--sp-lg);background:var(--color-mist);
  font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate);
}
.line{display:grid;grid-template-columns:1fr 130px 110px 44px;gap:var(--sp-md);align-items:center;padding:var(--sp-lg);border-top:1px solid var(--color-line)}
.line:first-of-type{border-top:0}
.line__prod{display:flex;align-items:center;gap:var(--sp-md);min-width:0}
.line__thumb{width:76px;height:76px;background:var(--color-mist);border-radius:var(--radius-md);display:grid;place-items:center;padding:10px;flex:none}
.line__name{font-weight:800;font-size:var(--text-body-sm);line-height:1.35}
.line__name a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.line__meta{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600;margin-top:4px}
.line__meta .stock{font-size:inherit;letter-spacing:.3px;margin-left:0}
.line__each{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:700;margin-top:4px}
.line__total{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--color-primary-deep);text-align:right;white-space:nowrap}
.line__x{
  width:36px;height:36px;border-radius:var(--radius-full);border:1.5px solid var(--color-line);
  display:grid;place-items:center;color:var(--color-slate);transition:all .15s;justify-self:end;
}
.line__x:hover{border-color:var(--color-primary);color:var(--color-primary);transform:rotate(90deg)}
@media(max-width:760px){
  .cartbox__head{display:none}
  .line{grid-template-columns:1fr;gap:var(--sp-md)}
  .line__total{text-align:left}
  .line__x{justify-self:start}
}

/* coupon row */
.coupon-row{display:flex;gap:var(--sp-md);margin-top:var(--sp-lg);flex-wrap:wrap}
.coupon{display:flex;gap:8px;flex:1;min-width:260px;max-width:420px}
.coupon .control{flex:1}
.coupon .btn{padding:13px 22px}

/* summary */
.summary{position:sticky;top:110px;display:flex;flex-direction:column;gap:var(--sp-md)}
@media(max-width:1020px){.summary{position:static}}
.sumbox{border:2px solid var(--color-primary);border-radius:var(--radius-lg);overflow:hidden}
.sumbox__head{background:var(--color-primary);color:var(--color-paper);padding:14px var(--sp-lg);font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.8px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.sumbox__head svg{color:var(--color-accent)}
.sumbox__body{padding:var(--sp-lg);display:flex;flex-direction:column;gap:12px}
.sumrow{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-body-sm);font-weight:600;color:var(--color-slate)}
.sumrow b{color:var(--color-ink);font-weight:800}
.sumrow--total{border-top:2px solid var(--color-line);padding-top:14px;margin-top:4px;font-weight:800;color:var(--color-ink);align-items:center}
.sumrow--total .grand{font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:.5px;color:var(--color-primary-deep)}
.sumbox__vat{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600}
.sumbox .btn--primary{margin-top:var(--sp-sm);padding-block:18px}
.sum-trust{display:flex;flex-direction:column;gap:10px;border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.sum-trust .mini-trust{display:flex;align-items:center;gap:10px;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate)}
.sum-trust .mini-trust svg{color:var(--color-primary);flex:none}
.continue{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-body-sm);font-weight:700;color:var(--color-primary);justify-content:center}
.continue:hover{text-decoration:underline;text-underline-offset:3px}

/* cross-sell */
.xsell{padding-bottom:var(--sp-2xl)}
.xsell h2{color:var(--color-primary-deep)}
.xsell__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
@media(max-width:860px){.xsell__grid{grid-template-columns:1fr}}
.xcard{display:flex;align-items:center;gap:var(--sp-md);border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-md);transition:box-shadow .2s,transform .2s}
.xcard:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.xcard__thumb{width:64px;height:64px;background:var(--color-mist);border-radius:var(--radius-md);display:grid;place-items:center;padding:9px;flex:none}
.xcard__name{font-weight:800;font-size:var(--text-body-sm);line-height:1.3}
.xcard__price{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--color-primary);margin-top:2px}
.xcard .add{margin-left:auto;padding:10px 12px;flex:none}
/* ===== checkout-specific (distraction-free) ===== */
.chk-header{background:var(--color-paper);border-bottom:1px solid var(--color-line)}
.chk-header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);padding-block:14px}
.chk-header__right{display:flex;align-items:center;gap:var(--sp-lg)}
.chk-secure{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-primary)}
.chk-secure svg{color:var(--color-accent-press)}
.chk-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--color-primary-deep)}
.chk-phone svg{color:var(--color-primary)}
.chk-phone small{font-family:var(--font-body);font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);letter-spacing:.4px}
@media(max-width:760px){.chk-phone{display:none}}

.band--steps .band__in{display:flex;flex-direction:column;gap:var(--sp-md);align-items:center;text-align:center;padding-block:var(--sp-lg)}
.chk-back{display:inline-flex;align-items:center;gap:8px;color:var(--color-cloud);font-size:var(--text-body-sm);font-weight:700}
.chk-back:hover{color:var(--color-accent)}

.chk{display:grid;grid-template-columns:1fr 400px;gap:var(--sp-xl);align-items:start;padding-block:var(--sp-xl) var(--sp-2xl)}
@media(max-width:1020px){.chk{grid-template-columns:1fr}}

.chk-sec{border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg);margin-bottom:var(--sp-lg)}
.chk-sec__head{display:flex;align-items:center;gap:14px;margin-bottom:var(--sp-lg)}
.chk-sec__num{
  flex:none;width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-primary-deep);
  color:var(--color-accent);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:18px;
  box-shadow:var(--shadow-sign);
}
.chk-sec__head h2{font-size:var(--text-headline-sm);color:var(--color-primary-deep)}
.chk-sec__head p{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600;margin-top:2px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-md)}
.fgrid .span2{grid-column:span 2}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}.fgrid .span2{grid-column:span 1}}

/* invoice toggle */
.inv-fields{display:none;margin-top:var(--sp-md)}
.chk-sec:has(#inv:checked) .inv-fields{display:grid}

/* option cards */
.opts{display:flex;flex-direction:column;gap:10px}
.opt{
  position:relative;display:flex;align-items:center;gap:14px;border:1.5px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--sp-md);cursor:pointer;transition:border-color .15s,background .15s;
}
.opt:hover{border-color:var(--color-primary)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .dot{
  width:22px;height:22px;border-radius:50%;border:2px solid var(--color-line);flex:none;
  display:grid;place-items:center;transition:border-color .15s;
}
.opt .dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--color-primary);transform:scale(0);transition:transform .15s}
.opt:has(input:checked){border-color:var(--color-primary);background:var(--color-mist);box-shadow:inset 0 0 0 1px var(--color-primary)}
.opt:has(input:checked) .dot{border-color:var(--color-primary)}
.opt:has(input:checked) .dot::after{transform:none}
.opt:has(input:focus-visible){outline:3px solid var(--color-accent);outline-offset:2px}
.opt__body{flex:1;min-width:0}
.opt__title{font-weight:800;font-size:var(--text-body-sm);color:var(--color-ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.opt__note{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600;margin-top:2px}
.opt__price{font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--color-primary-deep);white-space:nowrap}
.opt__price.free{color:var(--color-moss)}
.opt__icon{flex:none;width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-mist);display:grid;place-items:center;color:var(--color-primary)}
.opt:has(input:checked) .opt__icon{background:var(--color-accent);color:var(--color-primary-deep)}
.opt .pays{margin:0 0 0 auto}
.opt .pay{border-color:var(--color-line);color:var(--color-slate);font-size:10px;padding:4px 8px}

/* terms + submit */
.terms{display:flex;gap:12px;align-items:flex-start;margin-block:var(--sp-lg);font-size:var(--text-body-sm);font-weight:600;color:var(--color-slate)}
.terms a{color:var(--color-primary);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.place{padding-block:20px;font-size:15px}

/* order summary */
.osum{position:sticky;top:24px;display:flex;flex-direction:column;gap:var(--sp-md)}
@media(max-width:1020px){.osum{position:static}}
.osum__box{border:2px solid var(--color-primary);border-radius:var(--radius-lg);overflow:hidden}
.osum__head{background:var(--color-primary);color:var(--color-paper);padding:14px var(--sp-lg);font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}
.osum__head svg{color:var(--color-accent)}
.osum__body{padding:var(--sp-lg)}
.oitem{display:flex;align-items:center;gap:var(--sp-md);padding-block:10px}
.oitem + .oitem{border-top:1px dashed var(--color-line)}
.oitem__thumb{position:relative;width:56px;height:56px;background:var(--color-mist);border-radius:var(--radius-md);display:grid;place-items:center;padding:8px;flex:none}
.oitem__qty{
  position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:var(--radius-full);
  background:var(--color-primary);color:var(--color-paper);font-size:11px;font-weight:800;
  display:grid;place-items:center;padding-inline:5px;border:2px solid var(--color-paper);
}
.oitem__name{font-weight:700;font-size:var(--text-label-sm);line-height:1.35}
.oitem__price{margin-left:auto;font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--color-primary-deep);white-space:nowrap}
.osum__rows{margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--color-line);display:flex;flex-direction:column;gap:10px}
.osum__rows .sumrow{display:flex;justify-content:space-between;font-size:var(--text-body-sm);font-weight:600;color:var(--color-slate)}
.osum__rows .sumrow b{color:var(--color-ink)}
.osum__grand{display:flex;justify-content:space-between;align-items:center;border-top:2px solid var(--color-line);margin-top:var(--sp-sm);padding-top:14px;font-weight:800}
.osum__grand .grand{font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--color-primary-deep)}
.osum__vat{font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600;margin-top:8px}
.osum-trust{display:flex;flex-direction:column;gap:10px;border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg)}
.osum-trust .mini-trust{display:flex;align-items:center;gap:10px;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate)}
.osum-trust .mini-trust svg{color:var(--color-primary);flex:none}
.osum-help{background:var(--color-primary-deep);color:var(--color-cloud);border-radius:var(--radius-lg);padding:var(--sp-lg);position:relative;overflow:hidden}
.osum-help::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--stripes)}
.osum-help h3{color:var(--color-paper);font-size:var(--text-headline-sm)}
.osum-help p{font-size:var(--text-body-sm);margin-top:6px}
.osum-help a{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--color-accent);font-family:var(--font-display);font-weight:800;font-size:20px}

/* slim footer */
.chk-footer{border-top:1px solid var(--color-line);padding-block:var(--sp-lg);background:var(--color-paper)}
.chk-footer__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);flex-wrap:wrap;font-size:var(--text-label-sm);color:var(--color-slate);font-weight:600}
.chk-footer__links{display:flex;gap:var(--sp-lg)}
.chk-footer a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
/* ============================================================
   WOOCOMMERCE LAYER — μεταφράζει το native Woo markup στο design system
   ============================================================ */

/* ---------- global woo resets προς tokens ---------- */
.woocommerce-page main a, .woocommerce main a{text-decoration:none}
.woocommerce .button, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.wc-block-components-button{
  background:var(--color-primary);color:var(--color-paper);border:0;border-radius:var(--radius-md);
  font-family:var(--font-body);font-size:var(--text-label-sm);font-weight:800;
  letter-spacing:var(--tracking-label-sm);text-transform:uppercase;padding:13px 20px;
  transition:background .2s,transform .2s;
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover{
  background:var(--color-accent);color:var(--color-primary-deep);transform:translateY(-2px);
}
.woocommerce .button.alt, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #payment #place_order, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  background:var(--color-accent);color:var(--color-primary-deep);box-shadow:var(--shadow-sign);
  font-size:var(--text-label-lg);letter-spacing:var(--tracking-label-lg);padding:16px 26px;
}
.woocommerce .button.alt:hover, .woocommerce #payment #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:var(--color-accent-press);color:var(--color-primary-deep);
  transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(7,26,54,.18);
}
.woocommerce .button:disabled, .woocommerce .button.disabled{background:var(--color-line);color:var(--color-slate)}

/* τιμές */
.woocommerce .price, .woocommerce span.price, .woocommerce div.product p.price{
  font-family:var(--font-display);font-weight:800;color:var(--color-primary);letter-spacing:.2px;
}
.woocommerce .price del{color:var(--color-slate);font-weight:500;opacity:1}
.woocommerce .price ins{text-decoration:none}

/* αστέρια */
.woocommerce .star-rating span::before, .woocommerce .star-rating::before{color:var(--color-accent-press)}
.woocommerce p.stars a{color:var(--color-accent-press)}

/* sale badge */
.woocommerce span.onsale{
  background:var(--color-accent);color:var(--color-primary-deep);border-radius:var(--radius-sm);
  font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;
  min-height:0;min-width:0;line-height:1;padding:6px 9px;top:10px;left:10px;
}

/* φόρμες */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce-page form .form-row input.input-text,
.woocommerce .input-text, .woocommerce select{
  background:var(--color-mist);border:1.5px solid transparent;border-radius:var(--radius-md);
  padding:13px 16px;color:var(--color-ink);font:inherit;transition:border-color .2s,background .2s;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{border-color:var(--color-primary);background:var(--color-paper);outline:0}
.woocommerce form .form-row label{
  font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);
  text-transform:uppercase;color:var(--color-slate);
}
.woocommerce form .form-row .required{color:var(--color-accent-press)}

/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top:0;border-left:6px solid var(--color-accent);background:var(--color-mist);
  border-radius:var(--radius-md);color:var(--color-ink);font-weight:600;font-size:var(--text-body-sm);
}
.woocommerce-message::before, .woocommerce-info::before{color:var(--color-primary)}
.woocommerce-error{border-left-color:#c0392b}
.woocommerce-message .button, .woocommerce-info .button{background:var(--color-primary);color:var(--color-paper)}

/* breadcrumb (woo native — χρησιμοποιούμε δικά μας crumbs, ασφάλεια αν εμφανιστεί) */
.woocommerce .woocommerce-breadcrumb{font-size:var(--text-body-sm);color:var(--color-slate)}
.woocommerce .woocommerce-breadcrumb a{color:var(--color-primary)}

/* quantity */
.woocommerce .quantity .qty{
  width:64px;height:46px;text-align:center;background:var(--color-paper);
  border:1.5px solid var(--color-line);border-radius:var(--radius-md);
  font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--color-ink);
}

/* ---------- ΑΡΧΕΙΟ / LOOP ---------- */
.woocommerce ul.products{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md)}
.woocommerce ul.products li.product{margin:0;width:auto;float:none}
@media(max-width:860px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce .woocommerce-result-count{font-weight:800;color:var(--color-primary-deep);font-size:var(--text-body-md)}
.woocommerce .woocommerce-ordering select{
  background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:var(--radius-md);
  padding:10px 40px 10px 14px;font:inherit;font-weight:600;
}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  min-width:46px;height:46px;padding:0 12px;border-radius:var(--radius-md);border:1.5px solid var(--color-line);
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:17px;color:var(--color-primary);
}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--color-mist);color:var(--color-primary)}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--color-primary);border-color:var(--color-primary);color:var(--color-paper);box-shadow:var(--shadow-sign);
}

/* κάρτα προϊόντος (override content-product.php χρησιμοποιεί .product-card) */
.product-card{
  position:relative;background:var(--color-paper);border:1px solid var(--color-line);
  border-radius:var(--radius-lg);padding:var(--sp-md);display:flex;flex-direction:column;height:100%;
  transition:transform .22s ease,box-shadow .22s ease;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.product-card__media{
  position:relative;background:var(--color-mist);border-radius:var(--radius-md);
  aspect-ratio:1/.92;display:grid;place-items:center;overflow:hidden;
}
.product-card__media img{width:78%;height:88%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s ease}
.product-card:hover .product-card__media img{transform:translateY(-5px) rotate(-1.5deg)}
.product-card__media .onsale{position:absolute}
.product-card__cat{margin-top:var(--sp-md);font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.product-card__title{margin-top:6px;font-family:var(--font-body);font-weight:700;font-size:var(--text-body-md);line-height:1.35;color:var(--color-ink);text-transform:none;letter-spacing:0;min-height:2.7em}
.product-card__title a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.product-card .star-rating{margin-top:8px;font-size:.75em}
.product-card__buy{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-sm);margin-top:auto;padding-top:var(--sp-md);border-top:1px solid var(--color-line)}
.product-card__buy .price{display:flex;flex-direction:column;line-height:1.1;font-size:var(--text-price)}
.product-card__buy .price del{font-size:var(--text-body-sm)}
.product-card__buy .button{padding:11px 14px;font-size:var(--text-label-sm)}
.product-card__buy .added_to_cart{
  font-size:var(--text-label-sm);font-weight:800;color:var(--color-moss);text-transform:uppercase;letter-spacing:var(--tracking-label-sm);
}

/* ---------- SINGLE PRODUCT ---------- */
.single-product div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-2xl);align-items:start}
@media(max-width:1020px){.single-product div.product{grid-template-columns:1fr;gap:var(--sp-xl)}}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.single-product div.product .entry-summary{width:100%!important;float:none!important;margin:0!important}
.single-product div.product .woocommerce-product-gallery__wrapper{
  background:var(--color-mist);border-radius:var(--radius-xl);overflow:hidden;
}
.single-product div.product .woocommerce-product-gallery__image img{mix-blend-mode:multiply;object-fit:contain}
.single-product div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.single-product div.product .flex-control-thumbs li{width:auto;float:none}
.single-product div.product .flex-control-thumbs img{
  background:var(--color-mist);border:2px solid transparent;border-radius:var(--radius-md);
  opacity:1;transition:border-color .15s;
}
.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs img:hover{border-color:var(--color-primary)}
.single-product .product_title{
  font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--color-primary-deep);line-height:1.02;
}
.single-product div.product p.price{font-size:clamp(30px,3vw,42px);color:var(--color-primary-deep);margin-block:var(--sp-md)}
.single-product div.product p.price del{font-size:.55em}
.single-product .woocommerce-product-details__short-description{color:var(--color-slate);font-size:var(--text-body-md)}
.single-product div.product form.cart{
  display:flex;gap:var(--sp-md);align-items:center;flex-wrap:wrap;
  margin-block:var(--sp-lg);padding-block:var(--sp-lg);border-block:1px solid var(--color-line);
}
.single-product div.product form.cart .button{flex:1;min-width:220px;padding-block:17px;font-size:var(--text-label-lg);letter-spacing:var(--tracking-label-lg);background:var(--color-accent);color:var(--color-primary-deep);box-shadow:var(--shadow-sign)}
.single-product div.product form.cart .button:hover{background:var(--color-accent-press);transform:translate(2px,2px);box-shadow:2px 2px 0 rgba(7,26,54,.18)}
.single-product .product_meta{font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate);text-transform:uppercase;letter-spacing:var(--tracking-label-sm);display:flex;flex-direction:column;gap:6px}
.single-product .product_meta a{color:var(--color-primary)}
/* tabs */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:var(--sp-xl)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 var(--sp-lg);border-bottom:2px solid var(--color-line);display:flex;gap:4px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:0;border-radius:0;margin:0;padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:14px 22px;font-family:var(--font-display);font-weight:700;font-size:var(--text-headline-sm);
  letter-spacing:.4px;text-transform:uppercase;color:var(--color-slate);position:relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--color-accent);
  transform:scaleX(0);transition:transform .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--color-primary-deep)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after{transform:none}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:var(--text-headline-md);color:var(--color-primary-deep);margin-bottom:var(--sp-md)}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--color-slate)}
.woocommerce table.woocommerce-product-attributes{border:1px solid var(--color-line);border-radius:var(--radius-md)}
.woocommerce table.woocommerce-product-attributes th{
  font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);
  text-transform:uppercase;color:var(--color-slate);background:var(--color-mist);
}
/* related */
.woocommerce .related.products, .woocommerce .up-sells{grid-column:1/-1;margin-top:var(--sp-2xl)}
.woocommerce .related.products > h2, .woocommerce .up-sells > h2{
  font-family:var(--font-display);font-size:var(--text-headline-lg);font-weight:800;
  text-transform:uppercase;color:var(--color-primary-deep);margin-bottom:var(--sp-lg);
}
/* stock */
.woocommerce div.product .stock.in-stock{color:var(--color-moss);font-weight:800;font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:var(--tracking-label-sm)}
.woocommerce div.product .stock.out-of-stock{color:var(--color-slate);font-weight:800}

/* ---------- CART ---------- */
.woocommerce table.shop_table{border:1.5px solid var(--color-line);border-radius:var(--radius-lg);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{
  background:var(--color-mist);font-size:var(--text-label-sm);font-weight:800;
  letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate);padding:14px 16px;
}
.woocommerce table.shop_table td{border-top:1px solid var(--color-line);padding:16px;vertical-align:middle}
.woocommerce-cart table.cart img{width:76px;background:var(--color-mist);border-radius:var(--radius-md);mix-blend-mode:multiply}
.woocommerce-cart table.cart td.product-name a{font-weight:800;color:var(--color-ink);font-size:var(--text-body-sm)}
.woocommerce-cart table.cart td.product-name a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.woocommerce a.remove{
  color:var(--color-slate)!important;width:36px;height:36px;line-height:32px;
  border:1.5px solid var(--color-line);border-radius:var(--radius-full);font-weight:600;transition:all .15s;
}
.woocommerce a.remove:hover{background:none!important;color:var(--color-primary)!important;border-color:var(--color-primary);transform:rotate(90deg)}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:180px;margin-right:8px}
.woocommerce .cart_totals{width:100%!important;float:none!important}
.woocommerce-cart .cart-collaterals .cart_totals h2{
  background:var(--color-primary);color:var(--color-paper);margin:0;
  padding:14px var(--sp-lg);font-family:var(--font-display);font-weight:800;font-size:20px;
  letter-spacing:.8px;text-transform:uppercase;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.woocommerce-cart .cart-collaterals .cart_totals{border:2px solid var(--color-primary);border-radius:var(--radius-lg)}
.woocommerce-cart .cart-collaterals .cart_totals table{border:0;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals table th{background:none}
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount{
  font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--color-primary-deep);
}
.woocommerce-cart .wc-proceed-to-checkout{padding:var(--sp-md) var(--sp-lg) var(--sp-lg)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%}
/* layout καλαθιού: πίνακας + totals σε 2 στήλες */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 380px;gap:var(--sp-xl);align-items:start}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > .shipbar-wrap{grid-column:1/-1}
@media(max-width:1020px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}}

/* ---------- CHECKOUT ---------- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1fr 400px;gap:var(--sp-xl);align-items:start}
@media(max-width:1020px){.woocommerce-checkout form.checkout{grid-template-columns:1fr}}
.woocommerce-checkout #customer_details{display:flex;flex-direction:column;gap:var(--sp-lg)}
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{
  width:100%;float:none;border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg);
}
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading{
  font-family:var(--font-display);font-size:var(--text-headline-sm);font-weight:700;
  text-transform:uppercase;color:var(--color-primary-deep);margin-bottom:var(--sp-md);
}
.woocommerce-checkout #order_review_heading{
  background:var(--color-primary);color:var(--color-paper);margin:0;padding:14px var(--sp-lg);
  font-size:20px;letter-spacing:.8px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
}
.woocommerce-checkout #order_review{border:2px solid var(--color-primary);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--sp-lg);background:var(--color-paper)}
.woocommerce-checkout #order_review .shop_table{border:0}
.woocommerce-checkout #order_review .shop_table th{background:none}
.woocommerce-checkout #order_review .order-total .amount{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--color-primary-deep)}
.woocommerce-checkout #payment{background:var(--color-mist);border-radius:var(--radius-md)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--color-line);padding:var(--sp-md)}
.woocommerce-checkout #payment ul.payment_methods li{
  background:var(--color-paper);border:1.5px solid var(--color-line);border-radius:var(--radius-md);
  padding:12px 14px;margin-bottom:8px;
}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:800;font-size:var(--text-body-sm);text-transform:none;letter-spacing:0;color:var(--color-ink)}
.woocommerce-checkout #payment div.payment_box{background:var(--color-mist);color:var(--color-slate);font-size:var(--text-body-sm)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--color-mist)}
#add_payment_method #payment div.form-row, .woocommerce-cart #payment div.form-row, .woocommerce-checkout #payment div.form-row{padding:var(--sp-md)}
.woocommerce-checkout .woocommerce-shipping-methods li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:var(--text-body-sm)}

/* steps bar wrapper (hook markup) */
.steps-band{background:var(--color-primary-deep);position:relative;overflow:hidden;margin-bottom:var(--sp-xl)}
.steps-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--stripes)}
.steps-band .steps-bar{padding-block:var(--sp-lg)}

/* free shipping progress (hook markup — classes από cart mockup) */
.shipbar{border:1.5px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-lg);display:flex;flex-direction:column;gap:12px;margin-bottom:var(--sp-lg);background:var(--color-paper)}
.shipbar__label{display:flex;align-items:center;gap:10px;font-size:var(--text-body-sm);font-weight:700;color:var(--color-ink);flex-wrap:wrap}
.shipbar__label svg{color:var(--color-primary);flex:none}
.shipbar__label b{color:var(--color-primary)}
.shipbar__label .done{color:var(--color-moss)}
.shipbar__track{height:12px;background:var(--color-line);border-radius:var(--radius-full);overflow:hidden}
.shipbar__fill{height:100%;border-radius:var(--radius-full);background:repeating-linear-gradient(-45deg,var(--color-accent) 0 10px,var(--color-accent-press) 10px 20px);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.shipbar__scale{display:flex;justify-content:space-between;font-size:var(--text-label-sm);font-weight:700;color:var(--color-slate)}

/* ---------- MY ACCOUNT ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;flex-direction:column;gap:6px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 16px;border-radius:var(--radius-md);font-weight:700;color:var(--color-ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--color-mist);color:var(--color-primary)}

/* ---------- layout wrappers ---------- */
.site-main{padding-block:var(--sp-xl) var(--sp-2xl)}
.page-generic .entry-content h2{color:var(--color-primary-deep);margin-block:var(--sp-lg) var(--sp-sm)}
.page-generic .entry-content p{margin-bottom:var(--sp-md);color:var(--color-slate)}
/* αρχείο: πλέγμα με sidebar */
.shop-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-xl);align-items:start}
@media(max-width:1020px){.shop-layout{grid-template-columns:1fr}}
.shop-side{display:flex;flex-direction:column;gap:var(--sp-lg);position:sticky;top:96px}
@media(max-width:1020px){.shop-side{position:static}}
.shop-side .fblock ul{margin-top:var(--sp-md);display:flex;flex-direction:column;gap:8px}
.shop-side .fblock li a{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink);padding:6px 8px;border-radius:var(--radius-sm)}
.shop-side .fblock li a:hover{background:var(--color-mist);color:var(--color-primary)}
.shop-side .fblock li .count{color:var(--color-slate);font-weight:700;font-size:var(--text-label-sm)}
.shop-side .fblock li.current-cat > a{background:var(--color-mist);color:var(--color-primary);font-weight:800}

/* ============================================================
   FIXES v1.0.1 — feedback Γιώργου 16/07
   ============================================================ */
/* 1: sticky header κάτω από τη WP admin bar */
body.admin-bar .header{top:32px}
@media(max-width:782px){body.admin-bar .header{top:46px}}

/* 2: ghost κουμπί πάνω σε σκούρο hero (η light εκδοχή κέρδιζε) */
.hero .btn--ghost{color:var(--color-paper);box-shadow:inset 0 0 0 2px rgba(201,214,232,.4)}
.hero .btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--color-accent);color:var(--color-accent)}

/* 5: το Woo clearfix ::before γινόταν φάντασμα-κελί στα CSS grids */
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important}

/* 4: το .summary του cart mockup κολλούσε το entry-summary του single product */
.single-product div.product .summary.entry-summary{position:static!important;top:auto}

/* 3α: δέντρο κατηγοριών sidebar (custom renderer) */
.shop-side .fblock .cat-tree{margin-top:var(--sp-md);display:flex;flex-direction:column;gap:2px}
.shop-side .cat-tree a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--text-body-sm);font-weight:600;color:var(--color-ink);padding:8px 10px;border-radius:var(--radius-sm)}
.shop-side .cat-tree a:hover{background:var(--color-mist);color:var(--color-primary)}
.shop-side .cat-tree .count{color:var(--color-slate);font-weight:700;font-size:var(--text-label-sm);background:var(--color-mist);border-radius:var(--radius-full);padding:2px 8px}
.shop-side .cat-tree a:hover .count{background:var(--color-line)}
.shop-side .cat-tree .is-current > a{background:var(--color-primary);color:var(--color-paper);font-weight:800}
.shop-side .cat-tree .is-current > a .count{background:var(--color-accent);color:var(--color-primary-deep)}
.shop-side .cat-tree ul{margin:2px 0 6px 12px;padding-left:10px;border-left:2px solid var(--color-line);display:flex;flex-direction:column;gap:2px}

/* 3β: Woo price filter widget στα tokens */
.shop-side .widget_price_filter .price_slider{height:6px;background:var(--color-line);border-radius:var(--radius-full);position:relative;margin:18px 8px 26px}
.shop-side .widget_price_filter .ui-slider-range{position:absolute;height:100%;background:var(--color-primary);border-radius:var(--radius-full)}
.shop-side .widget_price_filter .ui-slider-handle{position:absolute;top:-7px;width:20px;height:20px;background:var(--color-accent);border:3px solid var(--color-primary-deep);border-radius:50%;margin-left:-10px;cursor:grab}
.shop-side .widget_price_filter .ui-slider-handle:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}
.shop-side .widget_price_filter .price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--text-body-sm);font-weight:700;color:var(--color-slate)}
.shop-side .widget_price_filter .price_slider_amount .button{background:var(--color-primary);color:var(--color-paper);border-radius:var(--radius-md);padding:9px 16px;font-size:var(--text-label-sm);font-weight:800;letter-spacing:var(--tracking-label-sm);text-transform:uppercase}
.shop-side .widget_price_filter .price_slider_amount .button:hover{background:var(--color-accent);color:var(--color-primary-deep)}
.shop-side .widget_price_filter .clear{display:none}

/* 5β: το columns-N width του Woo νικούσε το grid (30.79% × κελί = 86px κάρτες) */
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}

/* 4β: η γενική .products (mockup grid) χτυπούσε το <section class="related products"> του Woo */
section.related.products,section.up-sells.products{display:block!important}

/* πιστή αντιστοίχιση columns-N του Woo στο grid */
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1020px){.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-2{grid-template-columns:1fr}}

/* ============================================================
   PET PARADISE — identity layer (η ψυχή πάνω στον κοινό σκελετό)
   ============================================================ */
/* ζεστό χαρτί αντί για ψυχρό λευκό */
body{background:var(--color-cream)}
.header{background:var(--color-cream)}
.section--tint{background:var(--color-mist)}

/* Comfortaa: πεζά, μαλακά, max weight 700 */
h1,h2,h3,.h-xl,.h-lg,.h-md,.h-sm{text-transform:none;letter-spacing:0;font-weight:700}
.h-xl{line-height:1.02}
.price b,.logo__name,.action__value,.step__num,.cat__idx,.pest__name,.plate,.band__count,.ticker__seq span,.buybar__price,.rev__num,.hstep__num{font-weight:700}
.pest__name{text-transform:none;letter-spacing:.2px;font-size:17px}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{text-transform:none;letter-spacing:.2px}
.band h1{font-weight:700}

/* όλα στρογγυλά σαν μπισκότο */
.btn,.add,.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{border-radius:var(--radius-full)}
.badge,.woocommerce span.onsale{border-radius:var(--radius-full)}
.pager a,.pager span,.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:var(--radius-full)}
.qty,.woocommerce .quantity .qty{border-radius:var(--radius-full)}
.news{border-radius:var(--radius-full)}
.news button{border-radius:var(--radius-full)}

/* hero: ατμός φούρνου αντί για blueprint/ραντάρ κινδύνου */
.hero{color:var(--color-cream)}
.hero::before{background-image:radial-gradient(circle at 18% 25%,rgba(249,143,46,.10),transparent 42%),radial-gradient(circle at 82% 72%,rgba(249,143,46,.07),transparent 46%)}
.radar::before,.radar::after{border-color:rgba(249,143,46,.16)}
.radar__core{border-color:rgba(249,143,46,.30)}
.hero__lead{color:var(--color-cloud)}
.hero__chip{background:rgba(249,143,46,.10);border-color:rgba(249,143,46,.30);color:var(--color-cloud)}
.hero h1{color:var(--color-cream)}

/* pet badges: καμία «απαγόρευση» — φιλικοί κύκλοι */
.sign__slash,.pest__slash{display:none!important}
.sign--main{border-color:var(--color-accent)}
.sign--sm{border-color:var(--color-primary)}
.pest__sign{border-width:4px}
.pest:hover{transform:translateY(-6px)}
.pest:hover .pest__sign{border-color:var(--color-accent)}

/* λοιπές λεπτομέρειες */
.logo__name{text-transform:none;font-size:25px}
.logo__name em{color:var(--color-accent);-webkit-text-stroke:0}
.logo__sub{letter-spacing:3px}
.crumbs .sep{border-radius:50%}
.step::after{border-radius:2px}
.steps-help b{color:var(--color-primary)}
.bio-note{display:none}

/* ============================================================
   SUBCATEGORY BROWSE TILES — parent category pages
   ============================================================ */
.subcats-browse{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-md);margin-bottom:var(--sp-xl)}
@media(max-width:1020px){.subcats-browse{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.subcats-browse{grid-template-columns:1fr}}
.subcat-card{display:flex;align-items:center;gap:var(--sp-md);background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--sp-md);transition:transform .2s,box-shadow .2s,border-color .2s}
.subcat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--color-primary)}
.subcat-card__media{width:54px;height:54px;flex:none;border-radius:var(--radius-md);overflow:hidden;background:var(--color-mist)}
.subcat-card__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.subcat-card__body{flex:1;min-width:0}
.subcat-card__name{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--text-headline-sm);line-height:1.15;color:var(--color-primary-deep);text-transform:none;letter-spacing:0}
.subcat-card__meta{display:block;margin-top:3px;font-size:var(--text-label-sm);font-weight:700;letter-spacing:var(--tracking-label-sm);text-transform:uppercase;color:var(--color-slate)}
.subcat-card__arrow{width:40px;height:40px;flex:none;border-radius:var(--radius-full);background:var(--color-mist);color:var(--color-primary);display:grid;place-items:center;transition:background .2s,color .2s,transform .2s}
.subcat-card:hover .subcat-card__arrow{background:var(--color-accent);color:var(--color-primary-deep);transform:translateX(3px)}

/* hero photo test (client images) */
.hero__visual--photo{display:flex;align-items:center;justify-content:center;position:relative;min-height:auto}
.hero__photo{width:100%;max-width:540px;aspect-ratio:5/4;object-fit:cover;object-position:center 60%;border-radius:var(--radius-xl);box-shadow:0 22px 50px rgba(58,35,19,.35);border:6px solid rgba(255,255,255,.92)}
.hero__photo--poster{aspect-ratio:4/5;object-position:center;max-width:430px}
.hero__visual--photo .plate{position:absolute;bottom:6%;right:4%;z-index:2}
@media(max-width:1020px){.hero__photo{max-width:460px}}

/* prevent off-screen mega-dropdowns from creating horizontal scroll (clip keeps sticky working) */
html,body{overflow-x:clip}

/* ============================================================
   HERO — βιτρίνα με τέντα: σκύλος, γάτα & βάζο λιχουδιών
   (δικό του γραφικό — όχι το «ραντάρ με πινακίδες» του Safe & Easy)
   ============================================================ */
.hero__visual--pet{display:block;min-height:0;width:100%;max-width:560px;margin-inline:auto}
.petscene{display:block;width:100%;height:auto;overflow:visible}
.hero__visual--pet .plate{bottom:1.5%;right:auto;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .ps-tail-dog{transform-box:fill-box;transform-origin:100% 100%;animation:ps-wag .55s ease-in-out infinite alternate}
  .ps-tail-cat{transform-box:fill-box;transform-origin:0% 100%;animation:ps-sway 2.8s ease-in-out infinite alternate}
  .ps-float{animation:ps-float 3.4s ease-in-out infinite alternate}
  .ps-float--2{animation-delay:-1.7s}
  .ps-lid{transform-box:fill-box;transform-origin:0% 100%;animation:ps-lid 2.6s ease-in-out infinite}
  .ps-blink{transform-box:fill-box;transform-origin:50% 50%;animation:ps-blink 5s infinite}
  .ps-twinkle{transform-box:fill-box;transform-origin:50% 50%;animation:ps-twinkle 2.4s ease-in-out infinite}
  .ps-twinkle--2{animation-delay:-1.2s}
}
@keyframes ps-wag{from{transform:rotate(-12deg)}to{transform:rotate(16deg)}}
@keyframes ps-sway{from{transform:rotate(-4deg)}to{transform:rotate(6deg)}}
@keyframes ps-float{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@keyframes ps-lid{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-3deg)}}
@keyframes ps-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ps-twinkle{0%,100%{transform:scale(.6);opacity:.4}50%{transform:scale(1.1);opacity:1}}
@media(max-width:1020px){.hero__visual--pet{max-width:480px}}
@media(max-width:520px){.hero__visual--pet .plate{font-size:12px;padding:8px 14px;bottom:-7%}}

/* ============================================================
   Καλάθι/ταμείο (blocks) + BOX NOW
   ============================================================ */
/* χωρίς «Εξοικονομήστε Χ €» — μόνο σβησμένη + νέα τιμή (απαίτηση πελάτη) */
.wc-block-components-sale-badge{display:none!important}
/* κουμπί επιλογής θυρίδας BOX NOW στο ύφος του brand (το plugin βάζει inline χρώμα/padding) */
#box_now_delivery_button_blocks,#box_now_delivery_button{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.2px;padding:10px 20px!important;margin-top:10px!important;border-radius:var(--radius-full)!important}
#box_now_delivery_button_blocks:hover,#box_now_delivery_button:hover{filter:brightness(1.2)}
#box_now_selected_locker_details_blocks,#box_now_selected_locker_details{font-size:14px;line-height:1.5}
