/* ───── Tokens ───── */
:root{
  --brand: #0033A0;        /* Zappos-like blue */
  --brand-dark:#002578;
  --brand-50:#EAF0FF;
  --accent:#FFC72C;        /* sale yellow */
  --hot:#E5252A;
  --ink:#1A1A1A;
  --ink-2:#3A3A3A;
  --muted:#6B6B6B;
  --line:#E5E5E5;
  --line-2:#F1F1F1;
  --bg:#FFFFFF;
  --bg-alt:#F7F8FA;
  --footer:#101418;
  --shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
  --radius: 10px;
  --radius-lg: 16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-size:15px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
h1{font-size:clamp(40px, 5.4vw, 68px); line-height:1.05; letter-spacing:-.03em}
h2{font-size:clamp(24px, 2.4vw, 32px)}
h3{font-size:18px}

.container{max-width:1280px;margin:0 auto;padding:0 24px}

.link{color:var(--brand);font-weight:600}
.link:hover{text-decoration:underline}

/* ───── Buttons ───── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 24px;border-radius:999px;
  font-weight:700;font-size:15px;letter-spacing:.01em;
  transition:transform .05s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--brand);color:#fff}
.btn--primary:hover{background:var(--brand-dark)}
.btn--ghost{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(4px)}
.btn--ghost:hover{background:#fff;color:var(--brand)}
.btn--outline{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}
.btn--outline:hover{background:var(--brand);color:#fff}

/* ───── Top bar ───── */
.topbar{background:#0E1116;color:#D9DEE6;font-size:12.5px}
.topbar__inner{display:flex;align-items:center;gap:12px;height:36px}
.topbar__sep{opacity:.4}
.topbar__right{margin-left:auto;display:flex;gap:18px}
.topbar__link{opacity:.85}
.topbar__link:hover{opacity:1;text-decoration:underline}
@media (max-width:780px){
  .topbar .topbar__item:nth-child(3),
  .topbar .topbar__sep{display:none}
}

/* ───── Header ───── */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;height:78px}
.logo{display:flex;align-items:center;gap:8px}
.logo__img{
  width:40px;height:40px;
  display:block;flex:none;
  object-fit:contain;
}
.logo__text{
  font-family:'Unbounded','Inter',sans-serif;
  font-weight:600;font-size:22px;letter-spacing:-.02em;
  color:var(--brand);line-height:1;
}
.logo__badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:#FFC72C;color:#1a1a1a;
  font-family:'Unbounded','Inter',sans-serif;
  font-weight:700;font-size:10px;letter-spacing:.02em;
  line-height:1;
  margin-left:2px;flex:none;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}
@media (max-width:520px){ .logo__badge{width:20px;height:20px;font-size:9px} }

/* search */
.search{
  display:flex;align-items:stretch;
  background:#F2F4F8;border-radius:999px;border:1.5px solid transparent;
  height:46px;padding:0 6px 0 18px;transition:border-color .15s, background .15s;
}
.search:focus-within{background:#fff;border-color:var(--brand)}
.search input{
  flex:1;border:0;background:transparent;outline:none;font-size:15px;
}
.search button{
  width:42px;height:38px;align-self:center;
  background:var(--brand);color:#fff;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
}
.search button:hover{background:var(--brand-dark)}

/* icons */
.header__icons{display:flex;align-items:center;gap:6px}
.iconbtn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px 12px;border-radius:8px;color:var(--ink);font-size:11px;font-weight:600;
  position:relative;
}
.iconbtn:hover{background:var(--bg-alt);color:var(--brand)}
.iconbtn svg{margin-bottom:3px}
.iconbtn__badge{
  position:absolute;top:2px;right:6px;
  background:var(--hot);color:#fff;font-size:10px;font-weight:700;
  width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
@media (max-width:980px){
  .iconbtn span:not(.iconbtn__badge){display:none}
}

/* main nav */
.mainnav{border-top:1px solid var(--line-2);background:#fff}
.mainnav__inner{display:flex;align-items:center;gap:4px;height:48px;overflow-x:auto}
.mainnav__link{
  padding:0 14px;height:48px;display:inline-flex;align-items:center;
  font-weight:600;font-size:14px;color:var(--ink-2);
  border-bottom:3px solid transparent;
  white-space:nowrap;
}
.mainnav__link:hover{color:var(--brand);border-bottom-color:var(--brand)}
.mainnav__link--sale{color:var(--hot)}
.mainnav__link--sale:hover{border-bottom-color:var(--hot)}

@media (max-width:780px){
  .header__inner{grid-template-columns:auto 1fr auto;gap:14px;height:64px}
  .search{height:42px}
  .logo__text{font-size:20px}
}

/* ───── Hero ───── */
.hero{
  background: linear-gradient(135deg, #0033A0 0%, #002578 65%, #1a1a3a 100%);
  color:#fff;position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(800px 500px at 85% 20%, rgba(255,199,44,.18), transparent 60%),
    radial-gradient(600px 400px at 10% 90%, rgba(255,255,255,.08), transparent 60%);
  pointer-events:none;
}
.hero__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:80px 24px 90px;
}
.hero__copy{max-width:540px}
.hero__eyebrow{
  display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:18px;
}
.hero__title{color:#fff;margin-bottom:18px}
.hero__sub{font-size:17px;color:rgba(255,255,255,.85);margin:0 0 32px;max-width:480px}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.hero__usp{font-size:13px;color:rgba(255,255,255,.7);font-weight:500}

/* hero visual */
.hero__visual{position:relative;height:520px}
.hero__photo{
  position:absolute;border-radius:var(--radius-lg);
  background-size:cover;background-position:center;
  box-shadow:0 30px 60px rgba(0,0,0,.35);
}
.hero__photo--1{
  inset:0 0 0 0;
  width:78%;height:100%;left:auto;right:0;
  background-color:#3a3a55;
}
.hero__photo--2{
  width:46%;height:55%;
  bottom:-30px;left:-20px;
  border:6px solid #fff;
  background-color:#5a4a3a;
}
.hero__sticker{
  position:absolute;top:20px;left:30%;
  width:96px;height:96px;border-radius:50%;
  background:var(--accent);color:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-weight:800;letter-spacing:-.02em;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  transform:rotate(-8deg);
}
.hero__sticker strong{font-size:24px;line-height:1}
.hero__sticker span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}

@media (max-width:900px){
  .hero__inner{grid-template-columns:1fr;padding:48px 24px 60px}
  .hero__visual{height:380px;order:-1}
  .hero__photo--1{width:88%}
}

/* ───── Brand strip ───── */
.brandstrip{background:#fff;border-bottom:1px solid var(--line)}
.brandstrip__inner{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  padding:22px 24px;
}
.brandstrip__inner > div{display:flex;align-items:center;gap:12px}
.brandstrip__inner span{font-size:24px}
.brandstrip__inner strong{display:block;font-size:14px;font-weight:700}
.brandstrip__inner small{color:var(--muted);font-size:12.5px}
@media (max-width:780px){
  .brandstrip__inner{grid-template-columns:repeat(2,1fr)}
}

/* ───── Section head ───── */
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:24px;
  margin-bottom:24px;
}
.section-head__sub{margin:6px 0 0;color:var(--muted);font-size:14px}

/* chips */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  height:36px;padding:0 16px;border-radius:999px;
  background:#fff;border:1.5px solid var(--line);
  font-weight:600;font-size:13px;color:var(--ink-2);
}
.chip:hover{border-color:var(--brand);color:var(--brand)}
.chip--active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ───── Categories ───── */
.cats{padding:56px 0 24px}
.cats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat{
  position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);
  background-size:cover;background-position:center;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:28px;color:#fff;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.cat:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.18)}
.cat__label{font-size:24px;font-weight:800;letter-spacing:-.02em}
.cat__cta{display:inline-block;margin-top:6px;font-weight:600;opacity:.9}
@media (max-width:780px){.cats__grid{grid-template-columns:1fr}}

/* ───── Catalog grid ───── */
.catalog{padding:48px 0 64px}
.grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px 20px;
}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:780px){.grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}}

.card{display:flex;flex-direction:column;cursor:pointer}
.card__media{
  position:relative;aspect-ratio:1/1;border-radius:var(--radius);
  background:#F2F4F8 center/cover no-repeat;
  overflow:hidden;
  transition:transform .25s ease;
}
.card__media--placeholder{
  background:linear-gradient(135deg,#F1ECE3 0%,#E8DDC9 100%);
  display:flex;align-items:center;justify-content:center;
}
.card__media--placeholder::after{
  content:attr(data-icon);font-size:96px;opacity:.4;filter:saturate(.6);
}
.card__media--alt{background:linear-gradient(135deg,#EAEFF7 0%,#C8D6EA 100%)}
.card__media--alt2{background:linear-gradient(135deg,#F7E9EA 0%,#E8C4C7 100%)}
.card__media--alt3{background:linear-gradient(135deg,#E5F0E8 0%,#B6D4BC 100%)}
.card:hover .card__media{transform:translateY(-3px)}
.card__badge{
  position:absolute;top:10px;left:10px;
  font-size:11px;font-weight:800;letter-spacing:.06em;
  padding:5px 9px;border-radius:4px;text-transform:uppercase;
}
.card__badge--new{background:var(--brand);color:#fff}
.card__badge--hot{background:var(--ink);color:#fff}
.card__badge--limited{background:#5B2A86;color:#fff}
.card__badge--sale{background:var(--hot);color:#fff}
.card__fav{
  position:absolute;top:10px;right:10px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:color .15s, transform .15s;
}
.card__fav:hover{color:var(--hot);transform:scale(1.08)}

.card__body{padding:14px 4px 0;display:flex;flex-direction:column;gap:6px}
.card__brand{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}
.card__pair{
  display:inline-flex;align-items:center;
  font-size:11px;font-weight:600;letter-spacing:.02em;
  padding:2px 7px;border-radius:999px;
  background:rgba(0,51,160,.08);color:var(--brand);
}
.card__title{font-size:15px;font-weight:600;line-height:1.3}
.card__rating{font-size:12px;color:var(--ink-2);letter-spacing:1px}
.card__rating span{color:var(--muted);margin-left:4px;letter-spacing:0}
.card__price{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.card__price strong{font-size:17px;font-weight:800}
.card__price s{color:var(--muted);font-size:13px}
.card__swatches{display:flex;gap:5px;margin-top:6px}
.card__swatches span{
  width:14px;height:14px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px var(--line);
}

.catalog__more{display:flex;justify-content:center;margin-top:40px}

/* ───── Banner (full width) ───── */
.banner{margin:24px 0;position:relative}
.banner__inner{position:relative;min-height:380px;display:flex;align-items:center;overflow:hidden}
.banner__media{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05)}
.banner__overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,37,120,.85) 0%, rgba(0,37,120,.55) 60%, rgba(0,37,120,.1) 100%);
}
.banner__copy{position:relative;color:#fff;max-width:600px;padding:60px 24px}
.banner__eyebrow{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;
}
.banner__copy h2{color:#fff;font-size:clamp(28px,3vw,42px);margin-bottom:14px}
.banner__copy p{color:rgba(255,255,255,.9);font-size:16px;margin:0 0 24px;max-width:480px}

/* ───── Promos (2 col) ───── */
.promos{padding:32px 0 16px}
.promos__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.promo{
  display:grid;grid-template-columns:1fr 1fr;
  border-radius:var(--radius-lg);overflow:hidden;
  background:var(--bg-alt);border:1px solid var(--line);
  min-height:220px;
}
.promo__media{background-size:cover;background-position:center}
.promo__copy{padding:28px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.promo__eye{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.promo h3{font-size:20px;line-height:1.25}
@media (max-width:900px){
  .promos__grid{grid-template-columns:1fr}
  .promo{grid-template-columns:1fr;min-height:auto}
  .promo__media{height:200px}
}

/* ───── Reviews ───── */
.reviews{padding:56px 0}
.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{
  margin:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);
  background:#fff;
}
.review__stars{color:var(--accent);letter-spacing:2px;margin-bottom:8px}
.review blockquote{margin:0 0 12px;font-size:15px;line-height:1.5}
.review figcaption{color:var(--muted);font-size:13px;font-weight:600}
@media (max-width:900px){.reviews__grid{grid-template-columns:1fr}}

/* ───── About master ───── */
.master{padding:64px 0 32px}
.master__grid{
  display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;
  background:var(--bg-alt);border-radius:var(--radius-lg);padding:40px;
}
.master__photo{
  width:100%;aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  background-size:cover;background-position:center top;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}
.master__copy{display:flex;flex-direction:column;gap:14px}
.master__copy h2{margin:6px 0 0;font-size:32px}
.master__copy p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.master__sign{font-style:italic;color:var(--muted);margin-top:8px !important}
@media (max-width:900px){
  .master__grid{grid-template-columns:1fr;padding:24px;gap:24px}
  .master__photo{aspect-ratio:1/1;max-width:320px;justify-self:center}
}

/* ───── Socials ───── */
.socials{padding:64px 0 24px}
.section-head--center{flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:36px}
.section-head--center > div{max-width:560px}
.kicker{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brand);background:var(--brand-50);padding:5px 12px;border-radius:999px;margin-bottom:12px;
}

.socials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:980px){.socials__grid{grid-template-columns:1fr}}

.social{
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:12px;
  padding:32px 28px 28px;border-radius:var(--radius-lg);
  color:#fff;min-height:340px;
  transition:transform .25s ease, box-shadow .25s ease;
  isolation:isolate;
}
.social::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:var(--social-bg, #1a1a1a);
}
.social::after{
  content:'';position:absolute;top:-40%;right:-10%;
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.18), transparent 60%);
  z-index:-1;pointer-events:none;
  transition:transform .4s ease;
}
.social:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.18)}
.social:hover::after{transform:scale(1.2) translate(-20px, 20px)}

.social__icon{
  width:72px;height:72px;border-radius:18px;
  background:rgba(255,255,255,.16);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.2);
}
.social__info{display:flex;flex-direction:column;gap:6px;flex:1}
.social__net{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.social__handle{font-size:14px;font-weight:600;opacity:.95;margin-bottom:6px}
.social__title{color:#fff;font-size:22px;line-height:1.2;letter-spacing:-.01em}
.social p{margin:0;font-size:14px;line-height:1.5;opacity:.92}
.social__meta{font-size:13px;opacity:.85;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);margin-top:auto}
.social__meta strong{font-weight:800}

.social__cta{
  display:inline-flex;align-items:center;gap:8px;
  align-self:flex-start;
  padding:12px 22px;border-radius:999px;
  background:#fff;color:var(--social-fg, #1a1a1a);
  font-weight:700;font-size:14px;letter-spacing:.01em;
  transition:transform .15s ease, gap .15s ease;
}
.social:hover .social__cta{gap:12px}
.social__cta svg{flex:none}

/* Brand colors */
.social--yt{
  --social-bg:linear-gradient(135deg,#FF0000 0%,#C40000 60%,#7a0000 100%);
  --social-fg:#C40000;
}
.social--ig{
  --social-bg:linear-gradient(135deg,#FEDA75 0%,#FA7E1E 25%,#D62976 55%,#962FBF 80%,#4F5BD5 100%);
  --social-fg:#D62976;
}
.social--tg{
  --social-bg:linear-gradient(135deg,#37BBFE 0%,#229ED9 50%,#1A7BB0 100%);
  --social-fg:#229ED9;
}

/* ───── Newsletter ───── */
.newsletter{background:var(--brand);color:#fff;padding:56px 0}
.newsletter__inner{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;
}
.newsletter h2{color:#fff}
.newsletter p{margin:8px 0 0;color:rgba(255,255,255,.85)}
.newsletter__form{
  display:flex;gap:8px;background:#fff;border-radius:999px;padding:6px;
}
.newsletter__form input{
  flex:1;border:0;outline:none;padding:0 18px;font-size:15px;background:transparent;color:var(--ink);
}
.newsletter__form .btn{height:46px}
@media (max-width:780px){.newsletter__inner{grid-template-columns:1fr}}

/* ───── Footer ───── */
.footer{background:var(--footer);color:#C8CDD6;margin-top:24px}
.footer__top{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  padding:56px 24px 32px;
}
.footer__col h4{color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.footer__col a{display:block;padding:6px 0;color:#C8CDD6;font-size:14px}
.footer__col a:hover{color:var(--accent)}
.footer__socials{display:flex;gap:10px;margin-top:16px}
.footer__socials a{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:inline-flex;align-items:center;justify-content:center;padding:0;
}
.footer__socials a:hover{background:var(--brand);color:#fff}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0}
.footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:12.5px}
.footer__brand{display:flex;align-items:center;gap:10px}
.footer__pay{display:flex;gap:10px;flex-wrap:wrap}
.footer__pay span{
  background:rgba(255,255,255,.08);padding:4px 10px;border-radius:4px;font-weight:600;font-size:11px;
}
@media (max-width:780px){
  .footer__top{grid-template-columns:repeat(2,1fr);gap:24px;padding:40px 24px 24px}
}

/* ════════════════════════════════════════
   PRODUCT DETAIL PAGE (PDP)
   ════════════════════════════════════════ */

/* Breadcrumbs */
.crumbs{background:var(--bg-alt);border-bottom:1px solid var(--line)}
.crumbs__inner{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--brand);text-decoration:underline}
.crumbs__current{color:var(--ink);font-weight:600}

/* PDP layout */
.pdp{padding:32px 0 48px}
.pdp__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
@media (max-width:1000px){.pdp__grid{grid-template-columns:1fr;gap:32px}}

/* Gallery */
.gallery{display:grid;grid-template-columns:80px 1fr;gap:16px;position:sticky;top:140px}
.gallery--solo{grid-template-columns:1fr}

/* Color picker */
.color-picker{margin:18px 0 6px}
.color-picker__label{font-size:14px;color:#555;margin-bottom:10px}
.color-picker__label strong{margin-left:4px;color:var(--ink)}
.color-picker__swatches{display:flex;flex-wrap:wrap;gap:9px}
.swatch{
  width:32px;height:32px;border-radius:50%;
  border:2px solid #fff;
  box-shadow:0 0 0 1px #d0d0d0;
  cursor:pointer;padding:0;
  transition:transform .12s, box-shadow .12s;
}
.swatch:hover{transform:scale(1.08);box-shadow:0 0 0 1px #888}
.swatch.is-active{box-shadow:0 0 0 2px var(--brand);transform:scale(1.08)}
.color-picker--error .color-picker__label strong{color:#d32f2f}
.color-error{
  margin-top:8px;font-size:14px;font-weight:600;color:#d32f2f;
  display:flex;align-items:center;gap:6px;
}
.color-error[hidden]{display:none}
.color-error::before{content:'⚠'}

/* ===== Info pages (delivery / payment / contacts) ===== */
.info{padding:48px 0 80px}
.info__hero{
  background:linear-gradient(135deg,#0040C8 0%,#002578 100%);
  color:#fff;border-radius:var(--radius-lg);
  padding:48px 44px;margin-bottom:32px;
  position:relative;overflow:hidden;
}
.info__hero::after{
  content:'';position:absolute;right:-60px;bottom:-60px;
  width:240px;height:240px;border-radius:50%;
  background:rgba(255,255,255,.06);
}
.info__hero-emoji{
  position:absolute;right:54px;top:36px;
  font-size:96px;opacity:.2;line-height:1;
}
.info__eyebrow{
  display:inline-block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;background:rgba(255,255,255,.18);
  padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
.info__title{
  font-family:'Unbounded',sans-serif;
  font-size:40px;line-height:1.08;letter-spacing:-.02em;
  margin:0 0 14px;max-width:680px;
}
.info__sub{font-size:17px;line-height:1.55;max-width:600px;opacity:.92;margin:0}

.info__section{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:36px;margin-bottom:20px;
}
.info__h2{
  font-family:'Unbounded',sans-serif;
  font-size:24px;letter-spacing:-.01em;margin:0 0 8px;
}
.info__lead{color:var(--muted);max-width:720px;font-size:15px;margin:0 0 24px;line-height:1.55}

/* Cards grid */
.info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.info-cards--4{grid-template-columns:repeat(4,1fr)}
.info-card{
  background:var(--bg-alt);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:22px;
}
.info-card__icon{font-size:28px;margin-bottom:10px;display:block}
.info-card__title{font-size:16px;font-weight:700;margin:0 0 8px;color:var(--ink)}
.info-card__text{font-size:14px;color:var(--muted);line-height:1.55;margin:0}
.info-card__text strong{color:var(--ink);font-weight:600}

/* Check-list */
.info-list{list-style:none;padding:0;margin:0}
.info-list li{
  padding:12px 0 12px 30px;border-bottom:1px solid var(--line);
  position:relative;font-size:15px;color:#333;line-height:1.5;
}
.info-list li:last-child{border-bottom:none}
.info-list li::before{
  content:'✓';position:absolute;left:0;top:12px;
  color:var(--brand);font-weight:800;
}
.info-list li strong{color:var(--ink)}

/* CTA dark */
.info__cta{
  background:linear-gradient(135deg,#101418,#1f262e);
  color:#fff;border-radius:var(--radius-lg);
  padding:40px;text-align:center;
}
.info__cta h2{font-family:'Unbounded',sans-serif;font-size:26px;margin:0 0 12px;letter-spacing:-.01em}
.info__cta p{opacity:.85;max-width:540px;margin:0 auto 22px;font-size:15px;line-height:1.55}
.info__cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.info__cta .btn--ghost{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff}
.info__cta .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* Contact tiles */
.info-contacts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.info-contact{
  background:var(--bg-alt);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:24px 18px;
  text-align:center;color:inherit;text-decoration:none;
  transition:border-color .12s, transform .12s;
}
.info-contact:hover{border-color:var(--brand);transform:translateY(-2px)}
.info-contact__icon{font-size:30px;margin-bottom:10px;display:block}
.info-contact__label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;display:block}
.info-contact__value{font-size:14px;font-weight:600;color:var(--ink);word-break:break-word}
.info-contact__hint{font-size:12px;color:var(--muted);margin-top:6px;display:block}

/* Payment badges row */
.pay-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pay-badge{
  background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:10px 16px;
  font-weight:700;font-size:14px;color:var(--ink);
  display:inline-flex;align-items:center;gap:6px;
}

@media (max-width:1000px){
  .info__hero{padding:32px 22px}
  .info__title{font-size:28px}
  .info__sub{font-size:15px}
  .info__hero-emoji{font-size:64px;top:18px;right:18px}
  .info__section{padding:22px}
  .info-cards,.info-cards--4{grid-template-columns:1fr}
  .info-contacts{grid-template-columns:repeat(2,1fr)}
  .info__cta{padding:28px 18px}
  .info__cta h2{font-size:22px}
}

/* Cart row: color label */
.citem-row__color{font-size:13px;color:#555;margin-top:2px}
.citem-row__color strong{color:var(--ink);font-weight:600}

.gallery__thumbs{display:flex;flex-direction:column;gap:10px}
.thumb{
  width:80px;height:80px;border-radius:8px;overflow:hidden;
  border:2px solid transparent;background:var(--bg-alt);
  padding:0;transition:border-color .15s;
}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb:hover{border-color:var(--line)}
.thumb.is-active{border-color:var(--brand)}
.gallery__main{
  position:relative;aspect-ratio:1/1;border-radius:var(--radius-lg);
  overflow:hidden;background:var(--bg-alt);
}
.gallery__main img{width:100%;height:100%;object-fit:cover}
.gallery__badge{
  position:absolute;top:16px;left:16px;
  background:var(--brand);color:#fff;
  font-size:12px;font-weight:800;letter-spacing:.06em;
  padding:6px 11px;border-radius:4px;text-transform:uppercase;
}
.gallery__fav{
  position:absolute;top:16px;right:16px;
  width:44px;height:44px;border-radius:50%;
  background:#fff;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.1);
  transition:color .15s, transform .15s;
}
.gallery__fav:hover{color:var(--hot);transform:scale(1.06)}
.gallery__fav.is-active{color:var(--hot)}

@media (max-width:1000px){
  .gallery{position:static;grid-template-columns:1fr}
  .gallery__thumbs{flex-direction:row;order:2;overflow-x:auto;padding-bottom:4px}
  .gallery__main{order:1}
}

/* Buybox */
.buybox{display:flex;flex-direction:column;gap:20px;padding-top:8px}
.buybox__brand{
  font-size:13px;font-weight:600;color:var(--brand);
  text-transform:uppercase;letter-spacing:.08em;
}
.buybox__brand:hover{text-decoration:underline}
.buybox__title{font-size:32px;font-weight:700;line-height:1.15;margin:0;letter-spacing:-.02em}

.buybox__rating{display:flex;align-items:center;gap:10px;font-size:13.5px;flex-wrap:wrap}
.stars{color:var(--accent);letter-spacing:1.5px;font-size:16px}
.rating__link{color:var(--brand);font-weight:600;border-bottom:1px solid currentColor}
.rating__sep{color:var(--line)}
.rating__sku{color:var(--muted)}

.buybox__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.buybox__price strong{font-size:32px;font-weight:800;letter-spacing:-.02em}
.buybox__pay{font-size:13.5px;color:var(--muted)}
.buybox__pay b{color:var(--ink);font-weight:700}

/* Picker */
.picker{display:flex;flex-direction:column;gap:10px}
.picker__head{display:flex;justify-content:space-between;align-items:baseline}
.picker__label{font-size:13px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.picker__val{font-size:14px;font-weight:600;color:var(--ink);margin-left:4px}
.picker__guide{font-size:13px;color:var(--brand);font-weight:600}
.picker__guide:hover{text-decoration:underline}
.picker__row{display:flex;gap:10px;flex-wrap:wrap}

.swatch{
  width:42px;height:42px;border-radius:50%;
  border:2px solid #fff;outline:1.5px solid var(--line);
  cursor:pointer;transition:outline-color .15s, transform .15s;
}
.swatch:hover{outline-color:var(--ink-2);transform:scale(1.05)}
.swatch.is-active{outline:2.5px solid var(--brand);outline-offset:1px}

.sizes{display:flex;gap:8px;flex-wrap:wrap}
.size{
  min-width:88px;height:48px;padding:0 16px;
  border-radius:8px;border:1.5px solid var(--line);
  background:#fff;font-weight:600;font-size:14px;color:var(--ink);
  transition:border-color .15s, background .15s;
}
.size:hover{border-color:var(--ink)}
.size.is-active{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}
.size.is-out{
  color:var(--muted);background:var(--bg-alt);
  text-decoration:line-through;cursor:not-allowed;
}

/* CTA */
.btn--lg{height:56px;font-size:16px;padding:0 28px}
.btn--icon{width:56px;padding:0}

.buybox__cta{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin-top:8px}
.qty{
  display:flex;align-items:center;
  border:1.5px solid var(--line);border-radius:999px;
  height:56px;padding:0 4px;
}
.qty button{
  width:40px;height:40px;border-radius:50%;
  font-size:20px;font-weight:600;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.qty button:hover{background:var(--bg-alt)}
.qty input{
  width:36px;border:0;text-align:center;font-size:16px;font-weight:700;outline:none;background:transparent;
}
.buybox__cta .btn--primary{flex:1;min-width:200px}

/* Ship list */
.ship{list-style:none;padding:18px;margin:8px 0 0;display:flex;flex-direction:column;gap:14px;background:var(--bg-alt);border-radius:var(--radius-lg)}

/* Pair card: candle ↔ form linkage */
.pair-card{
  display:flex;align-items:stretch;gap:14px;
  margin-top:14px;padding:12px;border-radius:var(--radius-lg);
  background:linear-gradient(135deg, rgba(0,51,160,.05), rgba(178,84,53,.05));
  border:1px solid rgba(0,51,160,.15);
  text-decoration:none;color:inherit;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.pair-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,51,160,.12);border-color:rgba(0,51,160,.35)}
.pair-card__media{
  flex:none;width:84px;height:84px;border-radius:10px;overflow:hidden;
  background-color:#f5f0e8;background-size:cover;background-position:center;
}
.pair-card__body{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.pair-card__lead{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--brand);font-weight:600}
.pair-card__title{font-size:15px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pair-card__meta{font-size:13px;color:#666}
.pair-card__cta{font-size:13px;font-weight:600;color:var(--brand);margin-top:2px}
@media (max-width:520px){
  .pair-card__media{width:64px;height:64px}
  .pair-card__title{white-space:normal}
}
.ship li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2);font-size:13.5px}
.ship svg{flex:none;color:var(--brand);margin-top:2px}
.ship strong{display:block;font-size:14px;color:var(--ink);font-weight:700;margin-bottom:2px}
.ship span{display:block;color:var(--muted)}

.share{
  align-self:flex-start;display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:999px;border:1px solid var(--line);
  font-size:13px;font-weight:600;color:var(--ink-2);
}
.share:hover{border-color:var(--ink);color:var(--ink)}

/* ── DETAILS / TABS ── */
.details{padding:48px 0;background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:32px;overflow-x:auto}
.tab{
  padding:14px 24px;font-weight:600;font-size:15px;color:var(--muted);
  border-bottom:3px solid transparent;white-space:nowrap;
}
.tab:hover{color:var(--ink)}
.tab.is-active{color:var(--ink);border-bottom-color:var(--brand)}

.tab-pane{display:none;max-width:820px}
.tab-pane.is-active{display:block;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.prose{font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.prose p{margin:0 0 14px}
.prose strong{color:var(--ink)}
.bullets{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px;margin:14px 0}
.bullets li{position:relative;padding-left:26px}
.bullets li::before{
  content:'✓';position:absolute;left:0;top:0;
  width:18px;height:18px;border-radius:50%;background:var(--brand-50);color:var(--brand);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
}
.specs{width:100%;border-collapse:collapse;font-size:14.5px}
.specs tr{border-bottom:1px solid var(--line)}
.specs th{text-align:left;padding:14px 16px 14px 0;color:var(--muted);font-weight:500;width:42%}
.specs td{padding:14px 0;color:var(--ink);font-weight:600}

/* ── REVIEWS PDP ── */
.reviews-pdp{padding:56px 0}
.reviews-pdp__grid{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
@media (max-width:900px){.reviews-pdp__grid{grid-template-columns:1fr;gap:32px}}

.reviews-pdp__summary{position:sticky;top:140px;display:flex;flex-direction:column;gap:8px}
.bigscore{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.bigstars{color:var(--accent);font-size:22px;letter-spacing:2px}
.reviews-pdp__summary p{margin:0 0 12px;color:var(--muted);font-size:14px}
.bars{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:6px}
.bars li{display:grid;grid-template-columns:32px 1fr 30px;gap:10px;align-items:center;font-size:13px;color:var(--muted)}
.bars div{height:8px;background:var(--bg-alt);border-radius:999px;overflow:hidden}
.bars i{display:block;height:100%;background:var(--accent);border-radius:999px}
.bars b{font-weight:600;color:var(--ink-2);text-align:right}

.reviews-pdp__list{display:flex;flex-direction:column;gap:20px}

.review-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px;display:flex;flex-direction:column;gap:10px;
}
.review-card header{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#0033A0,#5B7FFF);
  color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.avatar--2{background:linear-gradient(135deg,#B25435,#E8A87C)}
.avatar--3{background:linear-gradient(135deg,#5B2A86,#A076C9)}
.review-card header strong{display:block;font-size:14.5px}
.review-card header span{display:block;font-size:12.5px;color:var(--muted)}
.badge-verified{
  margin-left:auto;font-size:11.5px;font-weight:600;color:#137e3a;
  background:#e8f5ed;padding:4px 10px;border-radius:999px;
}
.review-card__stars{color:var(--accent);letter-spacing:2px;font-size:14px}
.review-card h4{margin:0;font-size:16px}
.review-card p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.review-card__photos{display:flex;gap:8px;margin-top:6px}
.review-card__photos img{width:80px;height:80px;border-radius:8px;object-fit:cover}
.review-card footer{display:flex;gap:6px;margin-top:10px;border-top:1px solid var(--line-2);padding-top:12px}
.review-card footer button{
  padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-2);
}
.review-card footer button:hover{background:var(--bg-alt);color:var(--ink)}
.reviews-pdp__more{align-self:flex-start;margin-top:6px}

/* ── Sticky ATC (mobile only) ── */
.atc-sticky{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;
  background:#fff;border-top:1px solid var(--line);
  padding:10px 16px;box-shadow:0 -4px 20px rgba(0,0,0,.08);
  align-items:center;gap:12px;
}
.atc-sticky strong{display:block;font-size:18px;font-weight:800}
.atc-sticky span{display:block;font-size:12px;color:var(--muted)}
.atc-sticky .btn{flex:1;height:48px}
@media (max-width:780px){.atc-sticky{display:flex}}

/* ════════════════════════════════════════
   CATALOG (LISTING) PAGE
   ════════════════════════════════════════ */
.catalog-head{padding:32px 0 16px;background:#fff}
.catalog-head h1{font-size:36px;letter-spacing:-.02em;margin-bottom:8px}
.catalog-head p{margin:0;color:var(--muted);max-width:680px}

.catpage{padding:24px 0 48px}
.catpage__grid{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
@media (max-width:980px){.catpage__grid{grid-template-columns:1fr}}

/* Filters */
.filters{position:sticky;top:140px;display:flex;flex-direction:column;gap:6px;font-size:14px}
@media (max-width:980px){.filters{position:static}}
.filters__head{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:6px}
.filters__head h3{font-size:18px;font-weight:700}
.filters__reset{font-size:13px;color:var(--brand);font-weight:600}
.filters__reset:hover{text-decoration:underline}

.fgroup{border-bottom:1px solid var(--line-2);padding:14px 0}
.fgroup summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  font-weight:600;color:var(--ink);
}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary::after{
  content:'＋';font-size:14px;color:var(--muted);transition:transform .15s;
}
.fgroup[open] summary::after{content:'−'}
.fgroup > *:not(summary){margin-top:14px}

.checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}
.checks label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--ink-2)}
.checks input{accent-color:var(--brand);width:16px;height:16px}
.checks em{color:var(--muted);font-style:normal;font-size:12.5px}

/* price range */
.price-range{display:flex;flex-direction:column;gap:14px}
.price-range__bar{height:4px;background:var(--bg-alt);border-radius:999px;position:relative}
.price-range__bar i{position:absolute;left:15%;right:30%;top:0;bottom:0;background:var(--brand);border-radius:999px}
.price-range__bar::before,
.price-range__bar::after{
  content:'';position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--brand);transform:translate(-50%,-50%);
}
.price-range__bar::before{left:15%}
.price-range__bar::after{left:70%}
.price-range__inputs{display:flex;gap:8px}
.price-range__inputs label{flex:1;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.price-range__inputs input{
  width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;
  font-size:14px;outline:none;background:#fff;
}
.price-range__inputs input:focus{border-color:var(--brand)}

.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.color-dot{
  width:36px;height:36px;border-radius:50%;border:2px solid #fff;outline:1.5px solid var(--line);cursor:pointer;
}
.color-dot:hover{outline-color:var(--ink)}

.size-grid{display:flex;flex-wrap:wrap;gap:6px}
.size-pill{
  min-width:48px;height:36px;padding:0 12px;border-radius:6px;
  border:1.5px solid var(--line);background:#fff;font-weight:600;font-size:13px;
}
.size-pill.is-active{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}

/* Toolbar */
.toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 16px;background:var(--bg-alt);border-radius:var(--radius);margin-bottom:16px;flex-wrap:wrap;
}
.toolbar__count{font-size:14px;color:var(--ink-2)}
.toolbar__count strong{color:var(--ink);font-weight:700}
.toolbar__right{display:flex;align-items:center;gap:14px}
.select{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.select select{
  height:38px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:6px;
  font-size:14px;font-weight:600;background:#fff;cursor:pointer;outline:none;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.select select:focus{border-color:var(--brand)}
.viewmode{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.viewmode__btn{padding:9px 11px;background:#fff;color:var(--muted)}
.viewmode__btn:hover{background:var(--bg-alt)}
.viewmode__btn.is-active{background:var(--ink);color:#fff}

/* Active filters */
.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.afilter{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px 6px 14px;background:var(--brand-50);color:var(--brand);
  border-radius:999px;font-size:13px;font-weight:600;
}
.afilter button{
  width:18px;height:18px;border-radius:50%;background:rgba(0,51,160,.15);color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;
}
.afilter button:hover{background:var(--brand);color:#fff}
.afilter--clear{background:transparent;color:var(--muted);font-weight:500;text-decoration:underline;padding:6px 4px}

.grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){.grid--3{grid-template-columns:repeat(3,1fr)}}
@media (max-width:780px){.grid--3{grid-template-columns:repeat(2,1fr)}}

/* Pager */
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:48px;flex-wrap:wrap}
.pager__btn{
  padding:0 16px;height:40px;border-radius:6px;border:1px solid var(--line);
  font-weight:600;font-size:14px;background:#fff;
}
.pager__btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.pager__btn:disabled{opacity:.4;cursor:not-allowed}
.pager__page{
  width:40px;height:40px;border-radius:6px;font-weight:600;font-size:14px;color:var(--ink-2);
}
.pager__page:hover{background:var(--bg-alt)}
.pager__page.is-active{background:var(--brand);color:#fff}
.pager__dots{padding:0 4px;color:var(--muted)}

/* ════════════════════════════════════════
   CART / CHECKOUT
   ════════════════════════════════════════ */

.steps{background:#fff;border-bottom:1px solid var(--line)}
.steps__inner{display:flex;align-items:center;gap:32px;padding:18px 24px;font-size:14px;color:var(--muted)}
.step{display:flex;align-items:center;gap:10px;font-weight:600}
.step span{
  width:28px;height:28px;border-radius:50%;
  background:var(--bg-alt);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;
}
.step.is-active{color:var(--ink)}
.step.is-active span{background:var(--brand);color:#fff}

.cart{padding:32px 0 64px;background:var(--bg-alt)}
.cart__grid{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
@media (max-width:1000px){.cart__grid{grid-template-columns:1fr}}

.cart__main{display:flex;flex-direction:column;gap:16px}

.cart__head{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.cart__head h1{font-size:32px;letter-spacing:-.02em}
.cart__head-count{color:var(--muted);font-size:14px}

/* Items list */
.cart-items{
  background:#fff;border-radius:var(--radius-lg);
  display:flex;flex-direction:column;divide:1px;
}

.citem{
  display:grid;
  grid-template-columns:96px 1fr auto auto;
  gap:20px;align-items:center;
  padding:20px;border-bottom:1px solid var(--line-2);
}
.citem:last-child{border-bottom:0}
.citem__media{
  width:96px;height:96px;border-radius:8px;
  background:var(--bg-alt) center/cover;flex:none;
}
.citem__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.citem__title{font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}
.citem__title:hover{color:var(--brand)}
.citem__attrs{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:2px}
.citem__attrs b{color:var(--ink-2);font-weight:600}
.citem__stock{font-size:12.5px;color:#137e3a;font-weight:600;margin-top:6px}
.citem__stock--low{color:#C25E00}
.citem__actions{display:flex;gap:14px;margin-top:8px}
.citem__link{font-size:12.5px;color:var(--muted);font-weight:600}
.citem__link:hover{color:var(--brand)}
.citem__link--danger:hover{color:var(--hot)}
.citem__qty{justify-self:center}
.citem__price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:90px;text-align:right}
.citem__price strong{font-size:18px;font-weight:800;letter-spacing:-.01em}
.citem__price s{color:var(--muted);font-size:13px}

@media (max-width:680px){
  .citem{grid-template-columns:80px 1fr;gap:14px;padding:16px}
  .citem__media{width:80px;height:80px}
  .citem__qty{grid-column:1/-1;justify-self:flex-start}
  .citem__price{grid-column:1/-1;align-items:flex-start;text-align:left}
}

.cart__tools{display:flex;justify-content:space-between;align-items:center;padding:0 4px;font-size:14px;flex-wrap:wrap;gap:10px}
.cart__clear{font-size:13px;color:var(--muted);font-weight:600}
.cart__clear:hover{color:var(--hot)}

/* Block (delivery, payment, contacts) */
.block{
  background:#fff;border-radius:var(--radius-lg);padding:28px;
  display:flex;flex-direction:column;gap:18px;
}
.block h2{font-size:20px;font-weight:700;margin:0}

/* Delivery */
.delivery{display:flex;flex-direction:column;gap:10px}
.delopt{
  display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:18px;
  border:1.5px solid var(--line);border-radius:12px;padding:14px 18px;cursor:pointer;
  transition:border-color .15s, box-shadow .15s, background .15s;
  position:relative;
}
.delopt:hover{border-color:var(--ink-2)}
.delopt.is-active{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,51,160,.08);background:#FBFCFF}
.delopt input{position:absolute;opacity:0;pointer-events:none}
.delopt__logo{
  width:80px;height:54px;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;letter-spacing:.02em;
  color:#fff;text-align:center;line-height:1.05;
  flex:none;
}
.delopt__logo--cdek{background:#27B161}
.delopt__logo--post{background:#1E1E66;font-size:11px;letter-spacing:.04em;font-weight:700}
.delopt__logo--yandex{background:#FFCC00;color:#000;font-size:28px}
.delopt__logo--pickup{background:var(--brand-50);color:var(--brand)}
.delopt__info strong{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:2px}
.delopt__info span{font-size:13px;color:var(--muted)}
.delopt__price{font-weight:800;font-size:16px;color:var(--ink);white-space:nowrap}

@media (max-width:600px){
  .delopt{grid-template-columns:60px 1fr;gap:12px;padding:12px}
  .delopt__logo{width:60px;height:44px;font-size:13px}
  .delopt__logo--yandex{font-size:22px}
  .delopt__price{grid-column:2;justify-self:start;font-size:14px}
}

/* Delivery details panes */
.delivery__details{margin-top:6px}
.delivery__pane{display:none;animation:fadeIn .25s ease}
.delivery__pane.is-active{display:block}

.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;position:relative}
.field--full{grid-column:1/-1}
.field span{font-size:13px;font-weight:600;color:var(--ink-2)}
.field span em{color:var(--muted);font-style:normal;font-weight:500}
.field input,.field select,.field textarea{
  height:46px;padding:0 14px;border:1.5px solid var(--line);border-radius:8px;
  font-size:14px;font-family:inherit;outline:none;background:#fff;color:var(--ink);
  transition:border-color .15s;
}
.field textarea{height:auto;padding:12px 14px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}
.field__btn{
  position:absolute;right:6px;bottom:6px;
  height:34px;padding:0 14px;border-radius:6px;
  background:var(--brand);color:#fff;font-size:12.5px;font-weight:600;
}
.field__btn:hover{background:var(--brand-dark)}

.hint{font-size:13px;color:var(--muted);margin-top:6px}
.hint a{color:var(--brand);font-weight:600;text-decoration:underline}

/* Pickup map */
.pickup{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.pickup__map{
  height:200px;border-radius:10px;background-size:cover;background-position:center;position:relative;
}
.pickup__pin{
  position:absolute;top:50%;left:50%;width:24px;height:24px;
  background:var(--brand);border:3px solid #fff;border-radius:50% 50% 50% 0;
  transform:translate(-50%,-100%) rotate(-45deg);
  box-shadow:0 4px 10px rgba(0,0,0,.3);
}
.pickup__pin::after{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff}
.pickup__addr{display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:14px;line-height:1.5}
.pickup__addr strong{font-size:15px;font-weight:700}
.pickup__addr p{margin:0;color:var(--ink-2)}
@media (max-width:680px){.pickup{grid-template-columns:1fr}}

/* Payment grid */
.paygrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.payopt{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  border:1.5px solid var(--line);border-radius:10px;padding:18px 10px;cursor:pointer;
  font-size:13px;font-weight:600;color:var(--ink-2);text-align:center;
  transition:border-color .15s, background .15s;
}
.payopt:hover{border-color:var(--ink-2)}
.payopt.is-active{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}
.payopt input{position:absolute;opacity:0;pointer-events:none}
.payopt__icon{font-size:24px}
@media (max-width:680px){.paygrid{grid-template-columns:repeat(2,1fr)}}

/* Checkboxes */
.check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);cursor:pointer}
.check input{accent-color:var(--brand);width:16px;height:16px}

/* Summary */
.summary{
  position:sticky;top:140px;
  background:#fff;border-radius:var(--radius-lg);padding:24px;
  display:flex;flex-direction:column;gap:14px;
}
@media (max-width:1000px){.summary{position:static}}
.summary h2{font-size:20px;font-weight:700;margin:0}
.summary__rows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.summary__rows li{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink-2)}
.summary__rows em{color:var(--muted);font-style:normal;font-size:13px}
.summary__rows b{color:var(--ink);font-weight:700}
.summary__discount b{color:#137e3a}

.promo{display:flex;gap:8px;padding:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.promo input{
  flex:1;height:42px;padding:0 12px;border:1.5px solid var(--line);border-radius:8px;
  font-size:14px;outline:none;
}
.promo input:focus{border-color:var(--brand)}
.promo button{
  padding:0 18px;border-radius:8px;background:var(--ink);color:#fff;font-weight:600;font-size:13px;
}
.promo button:hover{background:#000}

.summary__total{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:16px;font-weight:600;
}
.summary__total strong{font-size:28px;font-weight:800;letter-spacing:-.02em}
.summary__bonus{font-size:13px;color:var(--muted);margin-top:-6px}
.summary__bonus b{color:var(--brand);font-weight:700}

.summary__cta{width:100%;margin-top:6px}

.summary__usp{list-style:none;padding:14px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink-2);border-top:1px solid var(--line-2)}

.summary__legal{font-size:12px;color:var(--muted);line-height:1.5}
.summary__legal a{color:var(--brand);text-decoration:underline}

/* Admin edit FAB on product page (visible only when admin session present) */
.admin-edit-fab{
  position:fixed;top:18px;right:18px;z-index:1000;
  background:#0033A0;color:#fff;text-decoration:none;
  padding:10px 16px;border-radius:999px;
  font-size:14px;font-weight:600;
  box-shadow:0 6px 20px rgba(0,51,160,.35);
  display:inline-flex;align-items:center;gap:6px;
  transition:transform .15s, box-shadow .15s, background .15s;
}
.admin-edit-fab:hover{background:#002578;transform:translateY(-1px);box-shadow:0 8px 26px rgba(0,51,160,.45)}
.admin-edit-fab[hidden]{display:none}

/* Product details stacked (description + specs + shipping) */
.details__stack{display:flex;flex-direction:column;gap:28px}
.details__block{}
.details__h{font-size:20px;font-weight:700;margin:0 0 12px;color:var(--ink)}
.details__block .specs{width:100%}
