/* ============================================================
   ЛЮМО Page-Specific Styles — Premium Edition
   ============================================================ */

/* === HUB / INDEX PAGE === */
.hub{
  min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:var(--space-8);
  background:linear-gradient(170deg, var(--bg) 0%, var(--bg-subtle) 40%, var(--bg) 100%);
}
.hub__logo{margin-bottom:var(--space-8)}
.hub__logo img{height:48px;width:auto;animation:fade-up .6s var(--ease-out) both}
.hub__title{font-size:var(--fs-2xl);text-align:center;margin-bottom:var(--space-2);animation:fade-up .6s .1s var(--ease-out) both}
.hub__subtitle{font-size:var(--fs-base);color:var(--muted);text-align:center;margin-bottom:var(--space-10);animation:fade-up .6s .2s var(--ease-out) both}

.hub__group{margin-bottom:var(--space-8);width:100%;max-width:900px}
.hub__group-title{
  font-size:var(--fs-sm);font-weight:var(--fw-semibold);
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-bottom:var(--space-4);
  padding-left:var(--space-2);
}
.hub__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}

.hub__card{
  display:flex;align-items:center;gap:var(--space-4);
  padding:var(--space-5);
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  transition:all var(--t-base) var(--ease-out);
  animation:fade-up .5s var(--ease-out) both;
}
.hub__card:hover{
  border-color:transparent;
  box-shadow:var(--shadow-lg), 0 0 40px rgba(109,20,24,.15);
  transform:translateY(-6px) scale(1.02);
  background:var(--bg-card);
}
.hub__card-icon{
  width:48px;height:48px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-soft);
  border-radius:var(--r-squircle);
}
.hub__card-icon .icon{width:24px;height:24px;color:var(--accent)}
.hub__card-info{flex:1;min-width:0}
.hub__card-name{font-family:var(--ff-heading);font-weight:var(--fw-semibold);font-size:var(--fs-base);margin-bottom:2px}
.hub__card-desc{font-size:var(--fs-xs);color:var(--muted)}
.hub__card-arrow{color:var(--muted-light);transition:all var(--t-fast) var(--ease-out)}
.hub__card:hover .hub__card-arrow{color:var(--accent);transform:translateX(4px)}

/* === HOME PAGE === */

/* === HERO — Editorial Premium === */
.home-hero{margin-bottom:var(--space-section)}
.home-hero .hero__slide{
  aspect-ratio:auto;
  min-height:clamp(440px,38vw,560px);
  position:relative;overflow:hidden;
}
.home-hero .hero__slide-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(95deg, rgba(8,4,5,.88) 0%, rgba(8,4,5,.6) 42%, rgba(8,4,5,.18) 70%, transparent 100%),
    linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.35) 100%);
}
/* Decorative atmosphere — blob + grain + dotgrid */
.hero__slide-blob{
  position:absolute;left:-12%;bottom:-30%;
  width:60vw;max-width:780px;aspect-ratio:1/1;
  background:radial-gradient(circle at center, rgba(160,32,40,.55) 0%, rgba(109,20,24,.25) 35%, transparent 65%);
  filter:blur(40px);
  z-index:1;pointer-events:none;
  animation:hero-blob-drift 18s ease-in-out infinite;
}
@keyframes hero-blob-drift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(4%,-6%) scale(1.08)}
}
.hero__slide-grain{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:256px 256px;
  opacity:.07;mix-blend-mode:overlay;
}
.hero__slide-grid{
  position:absolute;right:0;bottom:0;width:42%;height:55%;z-index:1;pointer-events:none;
  background-image:radial-gradient(circle, rgba(255,255,255,.18) 1px, transparent 1px);
  background-size:18px 18px;
  mask-image:linear-gradient(135deg, transparent 0%, #000 60%, #000 100%);
  -webkit-mask-image:linear-gradient(135deg, transparent 0%, #000 60%, #000 100%);
  opacity:.55;
}

/* Vertical typographic "spine" — текст центрируется по вертикали через flex,
   поворот происходит вокруг собственного центра */
.hero__slide-spine{
  position:absolute;
  left:0;top:0;bottom:0;
  width:60px;
  display:flex;align-items:center;justify-content:center;
  z-index:3;
  pointer-events:none;
}
.hero__slide-spine-text{
  display:inline-flex;align-items:center;gap:14px;
  transform:rotate(-90deg);
  white-space:nowrap;
  font-family:var(--ff-heading);font-size:10px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.32em;
  color:rgba(255,255,255,.42);
}
.hero__slide-spine-dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--accent-light);
  box-shadow:0 0 8px rgba(160,32,40,.6);
}
@media(max-width:1199px){.hero__slide-spine{display:none}}

/* Inner layout — content left, visual right */
.home-hero .hero__slide-inner{
  position:relative;z-index:2;height:100%;
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;gap:var(--space-8);
  padding-block:var(--space-8);
}
@media(max-width:767px){
  .home-hero .hero__slide-inner{
    grid-template-columns:1fr;
    padding-block:var(--space-6);gap:var(--space-4);
  }
}

.home-hero .hero__slide-content{
  max-width:600px;
  display:flex;flex-direction:column;gap:var(--space-4);
  animation:hero-content-in .8s var(--ease-out) both;
}
@keyframes hero-content-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Meta row: eyebrow + slide index */
.hero__slide-meta{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
}
.hero__slide-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--ff-heading);font-size:10.5px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:rgba(255,255,255,.92);
}
.hero__slide-eyebrow-line{
  display:inline-block;
  width:36px;height:1.5px;
  background:linear-gradient(90deg, var(--accent-light), rgba(255,255,255,.9));
  border-radius:2px;
  flex-shrink:0;
  position:relative;
}
.hero__slide-eyebrow-line::after{
  content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;
  background:var(--accent-light);
  box-shadow:0 0 0 0 rgba(160,32,40,.6);
  animation:hero-eyebrow-pulse 2.2s infinite cubic-bezier(.66,0,0,1);
}
@keyframes hero-eyebrow-pulse{
  0%{box-shadow:0 0 0 0 rgba(160,32,40,.55)}
  70%{box-shadow:0 0 0 9px rgba(160,32,40,0)}
  100%{box-shadow:0 0 0 0 rgba(160,32,40,0)}
}
.hero__slide-eyebrow-text{white-space:nowrap}

.hero__slide-index{
  display:inline-flex;align-items:baseline;gap:3px;
  font-family:var(--ff-heading);font-feature-settings:'tnum';
  color:rgba(255,255,255,.45);
  letter-spacing:.02em;
}
.hero__slide-index-num{
  font-size:20px;font-weight:var(--fw-extrabold);
  color:#fff;
}
.hero__slide-index-sep{
  font-size:14px;font-weight:var(--fw-medium);
  margin:0 4px;
  color:rgba(255,255,255,.35);
}
.hero__slide-index-total{font-size:12px;font-weight:var(--fw-semibold)}

/* Title — large display with accent on last word */
.hero__slide-title{
  font-size:clamp(2rem,4.2vw,3.4rem);
  font-weight:var(--fw-extrabold);
  color:#fff;
  line-height:1.02;
  letter-spacing:-.035em;
  text-shadow:0 2px 32px rgba(0,0,0,.35);
  margin:0;
  display:flex;flex-direction:column;gap:.05em;
}
.hero__slide-title-main{display:inline-block}
.hero__slide-title-accent{
  display:inline-block;
  position:relative;
  color:#fff;
  padding-right:.15em;
}
.hero__slide-title-accent::before{
  content:"";position:absolute;left:-.1em;right:0;bottom:.06em;
  height:.32em;
  background:linear-gradient(95deg, rgba(160,32,40,.95), rgba(109,20,24,.65));
  border-radius:2px 16px 4px 12px;
  z-index:-1;
  filter:blur(.5px);
  transform:skewX(-6deg);
}
.hero__slide-title-accent::after{
  content:"";position:absolute;right:-.18em;top:0;
  width:.15em;height:.18em;
  background:var(--accent-light);
  border-radius:50%;
  box-shadow:0 0 12px rgba(160,32,40,.8);
}

.hero__slide-subtitle{
  font-size:clamp(var(--fs-base),1.1vw,var(--fs-lg));
  color:rgba(255,255,255,.78);
  font-weight:var(--fw-regular);
  line-height:1.5;
  max-width:46ch;
  margin:0;
  letter-spacing:.005em;
}

/* Features — vertical list with hairline dividers */
.hero__slide-features{
  display:flex;flex-direction:column;gap:0;
  list-style:none;
  margin:var(--space-1) 0 var(--space-2);
  padding:0;
  max-width:420px;
  border-top:1px solid rgba(255,255,255,.12);
}
.hero__slide-feature{
  display:flex;align-items:center;gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-family:var(--ff-body);
  font-size:13.5px;font-weight:var(--fw-medium);
  color:rgba(255,255,255,.92);
  letter-spacing:.005em;
  transition:padding-left var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out);
}
.hero__slide-feature:hover{padding-left:6px;color:#fff}
.hero__slide-feature-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  border-radius:8px;
  background:rgba(160,32,40,.18);
  border:1px solid rgba(160,32,40,.35);
  color:#fff;
  flex-shrink:0;
  transition:background var(--t-base) var(--ease-out),border-color var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-spring);
}
.hero__slide-feature-icon .icon{width:14px;height:14px;stroke-width:2}
.hero__slide-feature:hover .hero__slide-feature-icon{
  background:var(--accent-gradient);
  border-color:transparent;
  transform:rotate(-6deg) scale(1.06);
}
.hero__slide-feature-text{flex:1;min-width:0}

/* Footer — price + CTAs as one editorial block */
.hero__slide-footer{
  display:flex;align-items:center;gap:var(--space-5);
  margin-top:var(--space-3);
  flex-wrap:wrap;
}
.hero__slide-price{
  display:inline-flex;flex-direction:column;gap:2px;
  padding:0;background:none;border:none;
}
.hero__slide-price__label{
  font-family:var(--ff-heading);
  font-size:10px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.55);
}
.hero__slide-price__row{
  display:inline-flex;align-items:baseline;gap:8px;
  margin-top:2px;
}
.hero__slide-price__from{
  font-size:14px;font-weight:var(--fw-medium);
  color:rgba(255,255,255,.55);
  letter-spacing:.01em;
}
.hero__slide-price__value{
  font-family:var(--ff-heading);
  font-size:clamp(1.5rem,2.2vw,2rem);
  font-weight:var(--fw-extrabold);
  color:#fff;letter-spacing:-.025em;
  font-feature-settings:'tnum';
  line-height:1;
}
.hero__slide-footer-divider{
  width:1px;align-self:stretch;
  margin-block:6px;
  background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,.22) 50%, transparent 100%);
}

/* CTA buttons — primary glass + ghost text-with-arrow */
.hero__slide-actions{
  display:flex;align-items:center;gap:var(--space-3);
  flex-wrap:wrap;
}
.hero__slide-cta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-heading);font-weight:var(--fw-semibold);
  letter-spacing:.005em;
  transition:transform var(--t-base) var(--ease-spring),
             background var(--t-base) var(--ease-out),
             color var(--t-base) var(--ease-out),
             box-shadow var(--t-base) var(--ease-out),
             border-color var(--t-base) var(--ease-out);
  white-space:nowrap;
}
.hero__slide-cta-label{position:relative;z-index:1}
.hero__slide-cta-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform var(--t-base) var(--ease-spring);
}
.hero__slide-cta-arrow .icon{width:16px;height:16px;stroke-width:2}

.hero__slide-cta--primary{
  padding:14px 24px 14px 28px;
  font-size:14px;
  color:#fff;
  background:linear-gradient(135deg, #c83a40 0%, var(--accent) 50%, #57080c 100%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-btn);
  box-shadow:
    0 14px 30px rgba(109,20,24,.45),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.25);
  position:relative;overflow:hidden;
}
.hero__slide-cta--primary::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.22) 50%, transparent 70%);
  transform:translateX(-100%);
  transition:transform .7s var(--ease-out);
  pointer-events:none;
}
.hero__slide-cta--primary:hover{
  transform:translateY(-2px);
  box-shadow:
    0 18px 40px rgba(109,20,24,.55),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.3);
}
.hero__slide-cta--primary:hover::before{transform:translateX(100%)}
.hero__slide-cta--primary:hover .hero__slide-cta-arrow{transform:translateX(4px)}
.hero__slide-cta--primary:active{transform:translateY(0) scale(.98)}

.hero__slide-cta--ghost{
  padding:14px 18px;
  font-size:13.5px;
  color:rgba(255,255,255,.92);
  background:transparent;
  border:none;
  position:relative;
}
.hero__slide-cta--ghost::after{
  content:"";position:absolute;left:18px;right:18px;bottom:11px;
  height:1px;background:rgba(255,255,255,.45);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base) var(--ease-out);
}
.hero__slide-cta--ghost:hover{color:#fff}
.hero__slide-cta--ghost:hover::after{transform:scaleX(1)}
.hero__slide-cta--ghost:hover .hero__slide-cta-arrow{transform:translateX(4px)}

/* Product visual — halo + orbital drift */
.hero__slide-visual{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  height:100%;min-height:280px;
}
.hero__slide-visual-halo{
  position:absolute;
  width:88%;max-width:480px;aspect-ratio:1/1;
  border-radius:50%;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.12) 0%, rgba(160,32,40,.18) 30%, transparent 70%);
  filter:blur(8px);
  z-index:0;
  animation:hero-halo-breathe 5s ease-in-out infinite;
}
@keyframes hero-halo-breathe{
  0%,100%{transform:scale(1);opacity:.85}
  50%{transform:scale(1.06);opacity:1}
}
.home-hero .hero__slide-product{
  position:relative;z-index:1;
  max-height:82%;max-width:80%;
  filter:drop-shadow(0 32px 50px rgba(0,0,0,.55)) drop-shadow(0 0 60px rgba(160,32,40,.28));
  animation:hero-product-orbit 9s ease-in-out infinite;
  transform-origin:center center;
  transition:filter var(--t-slow) var(--ease-out);
}
.home-hero .hero__slide-product:hover{
  animation-play-state:paused;
  filter:drop-shadow(0 38px 70px rgba(0,0,0,.65)) drop-shadow(0 0 80px rgba(160,32,40,.45));
}
@keyframes hero-product-orbit{
  0%{transform:translate(0,0) rotate(-2.5deg) scale(1)}
  25%{transform:translate(-8px,-10px) rotate(-1deg) scale(1.02)}
  50%{transform:translate(6px,-16px) rotate(1.5deg) scale(1.03)}
  75%{transform:translate(10px,-4px) rotate(.5deg) scale(1.01)}
  100%{transform:translate(0,0) rotate(-2.5deg) scale(1)}
}

/* === Hero responsive === */
@media(max-width:1023px){
  .home-hero .hero__slide{min-height:520px}
  .home-hero .hero__slide-inner{gap:var(--space-5)}
  .hero__slide-features{max-width:none}
  .hero__slide-title{font-size:clamp(1.8rem,4vw,2.6rem)}
  .hero__slide-visual{min-height:220px}
}
@media(max-width:767px){
  .home-hero .hero__slide{min-height:560px}
  .home-hero .hero__slide-overlay{
    background:linear-gradient(180deg, rgba(8,4,5,.6) 0%, rgba(8,4,5,.85) 60%, rgba(8,4,5,.95) 100%);
  }
  .home-hero .hero__slide-inner{padding-block:var(--space-5)}
  .home-hero .hero__slide-content{order:2;gap:var(--space-3)}
  .hero__slide-visual{order:1;min-height:180px;max-height:200px}
  .home-hero .hero__slide-product{max-width:60%}
  .hero__slide-title{font-size:clamp(1.6rem,7vw,2.2rem);letter-spacing:-.03em}
  .hero__slide-subtitle{font-size:var(--fs-sm)}
  .hero__slide-feature{font-size:12.5px;padding:8px 0}
  .hero__slide-feature-icon{width:24px;height:24px}
  .hero__slide-feature-icon .icon{width:12px;height:12px}
  .hero__slide-grid{width:65%;height:40%}
  .hero__slide-footer{gap:var(--space-3)}
  .hero__slide-footer-divider{display:none}
  .hero__slide-cta--primary{padding:12px 20px 12px 22px;font-size:13px}
  .hero__slide-cta--ghost{padding:12px 14px;font-size:12.5px}
  .hero__slide-price__value{font-size:1.4rem}
}

/* Categories section */
.section-categories{
  position:relative;
  background:
    radial-gradient(1200px 500px at 15% 0%, rgba(109,20,24,.06), transparent 60%),
    radial-gradient(900px 500px at 90% 100%, rgba(160,32,40,.07), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-subtle) 45%, var(--bg) 100%);
  border-radius:var(--r-section);
  margin:0 var(--container-px);
  padding:var(--space-section) 0 !important;
  overflow:hidden;
}
.section-categories::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(20,20,20,.08) .8px,transparent .8px);
  background-size:22px 22px;
  opacity:.35;
  mask-image:radial-gradient(ellipse 80% 60% at center,#000 40%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at center,#000 40%,transparent 100%);
  pointer-events:none;
}
.section-categories > .container{position:relative;z-index:1}
.section-categories .grid{
  grid-template-columns:repeat(6,1fr);
  gap:var(--space-4);
}
@media(max-width:1023px){.section-categories .grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}
@media(max-width:639px){.section-categories .grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}
@media(max-width:359px){.section-categories .grid{grid-template-columns:1fr}}

/* Installment / Benefit banner (formerly guarantee) */
.guarantee-banner{
  position:relative;
  background:
    radial-gradient(900px 400px at 10% 0%, rgba(160,32,40,.5), transparent 60%),
    radial-gradient(700px 400px at 90% 100%, rgba(109,20,24,.4), transparent 60%),
    linear-gradient(135deg, #0f0405 0%, #1a0808 30%, #2d0e10 70%, #0d0202 100%);
  color:#fff;
  border-radius:var(--r-section);
  margin:0 var(--container-px);
  padding:calc(var(--space-section) * .85) 0;
  overflow:hidden;
}
.guarantee-banner::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:32px 32px;
  opacity:.4;pointer-events:none;
  mask-image:radial-gradient(ellipse 80% 70% at center,#000 20%,transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at center,#000 20%,transparent 90%);
}
.guarantee-banner::after{
  content:"";position:absolute;top:-200px;left:-200px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(160,32,40,.35),transparent 60%);
  border-radius:50%;
  filter:blur(60px);pointer-events:none;
  animation:banner-glow 12s ease-in-out infinite alternate;
}
@keyframes banner-glow{0%{transform:translate(0,0)}100%{transform:translate(200px,150px)}}

.guarantee-banner__eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  padding:0;
  background:none;border:none;border-radius:0;
  margin-bottom:var(--space-5);
  justify-content:center;flex-wrap:wrap;
}
.guarantee-banner__eyebrow-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:.45rem .9rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-pill);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:var(--ff-mono,ui-monospace,monospace);
  font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:#fff;
}
.guarantee-banner__eyebrow-dot{
  width:7px;height:7px;border-radius:50%;
  background:#4ade80;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(74,222,128,.55);
  animation:usp-eyebrow-ping 2s ease-in-out infinite;
}
.guarantee-banner__eyebrow-line{
  width:32px;height:1px;background:rgba(255,255,255,.25);flex-shrink:0;
}
.guarantee-banner__eyebrow-bank{
  font-family:var(--ff-mono,ui-monospace,monospace);
  font-size:11px;font-weight:var(--fw-semibold);
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.55);
}
@media(max-width:640px){
  .guarantee-banner__eyebrow-line{display:none}
  .guarantee-banner__eyebrow-bank{font-size:10px}
}

.guarantee-banner__stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);
  text-align:center;margin-top:var(--space-10);
  max-width:880px;margin-left:auto;margin-right:auto;
}
.guarantee-banner__stat{
  position:relative;
  padding:var(--space-6) var(--space-4);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:all var(--t-base) var(--ease-out);
}
.guarantee-banner__stat:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.07);
  border-color:rgba(160,32,40,.4);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.guarantee-banner__stat-num{
  display:inline-flex;align-items:baseline;gap:4px;
  font-family:var(--ff-heading);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:var(--fw-extrabold);
  letter-spacing:-.04em;line-height:1;
  font-feature-settings:'tnum';
  color:#fff;
}
.guarantee-banner__stat-num > *{color:#fff}
.guarantee-banner__stat-suffix{
  font-size:.6em;font-weight:var(--fw-bold);
}
.guarantee-banner__stat-label{
  font-size:var(--fs-sm);color:rgba(255,255,255,.65);margin-top:var(--space-2);
  font-weight:var(--fw-medium);
}
.guarantee-banner__cta{
  display:flex;gap:var(--space-3);justify-content:center;
  margin-top:var(--space-8);flex-wrap:wrap;
}
@media(max-width:767px){
  .guarantee-banner__stats{grid-template-columns:1fr;gap:var(--space-3)}
}

/* Brands — clean premium strip */
.brands-row{
  display:flex;align-items:center;justify-content:center;
  gap:var(--space-6);flex-wrap:wrap;
  padding:var(--space-8) var(--space-6);
  background:linear-gradient(135deg, var(--bg-card) 0%, var(--bg-subtle) 100%);
  border:1px solid var(--line);
  border-radius:var(--r-section);
  position:relative;overflow:hidden;
}
.brands-row::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,var(--accent-soft),transparent);
  opacity:.4;
}
.brands-row__label{
  position:relative;
  font-family:var(--ff-heading);font-size:var(--fs-xs);
  font-weight:var(--fw-bold);text-transform:uppercase;
  letter-spacing:.15em;color:var(--muted);
  padding-right:var(--space-6);
  border-right:1px solid var(--line-strong);
}
.brands-row__items{
  position:relative;
  display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap;
  justify-content:center;
}
.brands-row__item{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:0 var(--space-3);
  color:var(--ink-secondary);opacity:.7;
  transition:all var(--t-base) var(--ease-out);
  filter:grayscale(20%);
}
.brands-row__item:hover{opacity:1;filter:grayscale(0);transform:scale(1.05)}
.brands-row__item svg{width:auto;height:100%;max-width:140px}
.brands-row__item--text{
  font-family:var(--ff-heading);font-weight:var(--fw-extrabold);
  font-size:var(--fs-xl);letter-spacing:-.02em;
  color:var(--ink);
}
@media(max-width:767px){
  .brands-row{flex-direction:column;padding:var(--space-6)}
  .brands-row__label{border-right:none;border-bottom:1px solid var(--line-strong);padding:0 0 var(--space-3) 0}
}

/* USP section — trust/service layout (left stats card + right feature list) */
.section-usp{
  position:relative;
  background:
    radial-gradient(1200px 400px at 15% 10%,rgba(160,32,40,.06) 0%,transparent 55%),
    radial-gradient(1000px 360px at 90% 90%,rgba(160,32,40,.05) 0%,transparent 50%),
    linear-gradient(180deg,#f7efeb 0%,#faf2ee 50%,#f4e9e3 100%);
  border-radius:0;
  margin:calc(var(--space-section) * -0.35) 0 !important;
  padding:calc(var(--space-section) + 3vw) 0 calc(var(--space-section) + 3vw);
  border-top:none;
  border-bottom:none;
  width:100%;
  overflow:hidden;
  clip-path:polygon(0 3.5%,100% 0,100% 96.5%,0 100%);
  -webkit-clip-path:polygon(0 3.5%,100% 0,100% 96.5%,0 100%);
}
.section-usp::before{
  content:"";position:absolute;left:0;right:0;top:4%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,32,40,.28),transparent);
  z-index:1;pointer-events:none;
}
.section-usp::after{
  content:"";position:absolute;left:0;right:0;bottom:4%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,32,40,.28),transparent);
  z-index:1;pointer-events:none;
}
/* Decorative grain/pattern */
.section-usp > .container{position:relative;z-index:2}
.section-usp__eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  padding:.4rem 1rem;
  background:var(--accent-soft);border:1px solid rgba(109,20,24,.15);
  border-radius:var(--r-pill);
  font-size:var(--fs-xs);font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.12em;color:var(--accent);
}
.section-usp__eyebrow .icon{width:14px;height:14px}
.section-usp__header{text-align:center;margin-bottom:var(--space-10)}

/* Two-column layout: stats + feature list */
.usp-layout{
  display:grid;grid-template-columns:minmax(280px,400px) 1fr;
  gap:var(--space-8);align-items:stretch;
}
@media(max-width:1023px){.usp-layout{grid-template-columns:1fr;gap:var(--space-6)}}

/* Trust/stats card */
.usp-trust{
  position:relative;overflow:hidden;
  padding:var(--space-8) var(--space-6);
  border-radius:var(--r-section);
  background:
    radial-gradient(600px 300px at 20% 0%, rgba(160,32,40,.45), transparent 60%),
    radial-gradient(500px 300px at 100% 100%, rgba(109,20,24,.4), transparent 60%),
    linear-gradient(145deg,#140506 0%,#1f0809 45%,#2d0e10 100%);
  color:#fff;
  display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);
}
.usp-trust::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:24px 24px;opacity:.35;pointer-events:none;
  mask-image:radial-gradient(ellipse 80% 80% at center,#000 20%,transparent 90%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at center,#000 20%,transparent 90%);
}
.usp-trust__eyebrow{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;gap:10px;
  padding:0;background:none;border:none;border-radius:0;
  font-family:var(--ff-mono,ui-monospace,monospace);
  font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:rgba(255,255,255,.95);
  align-self:flex-start;
}
.usp-trust__eyebrow-dot{
  width:8px;height:8px;border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 0 0 rgba(74,222,128,.55);
  animation:usp-eyebrow-ping 2s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes usp-eyebrow-ping{
  0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.55);transform:scale(1)}
  50%{box-shadow:0 0 0 7px rgba(74,222,128,0);transform:scale(1.15)}
}
.usp-trust__eyebrow-sep{
  width:18px;height:1px;background:rgba(255,255,255,.3);flex-shrink:0;
}
.usp-trust__eyebrow .icon{width:14px;height:14px;color:var(--accent-light)}
.usp-trust__title{
  position:relative;z-index:1;
  font-family:var(--ff-heading);font-size:clamp(1.75rem,2.5vw,2.4rem);
  font-weight:var(--fw-extrabold);letter-spacing:-.02em;line-height:1.1;
}
.usp-trust__desc{
  position:relative;z-index:1;
  font-size:var(--fs-sm);color:rgba(255,255,255,.75);line-height:1.6;
}
.usp-trust__stats{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);
  padding-top:var(--space-4);
  border-top:1px solid rgba(255,255,255,.12);
}
.usp-trust__stat-num{
  font-family:var(--ff-heading);font-size:clamp(1.6rem,2.5vw,2.2rem);
  font-weight:var(--fw-extrabold);color:#fff;letter-spacing:-.02em;
  font-feature-settings:'tnum';line-height:1;
  display:flex;align-items:baseline;gap:2px;
}
.usp-trust__stat-num small{font-size:.6em;color:var(--accent-light);font-weight:var(--fw-bold)}
.usp-trust__stat-label{
  font-size:12px;color:rgba(255,255,255,.65);
  margin-top:6px;line-height:1.3;
}
.usp-trust__rating{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:var(--space-3);
  padding:var(--space-3) var(--space-4);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);
}
.usp-trust__rating-score{
  font-family:var(--ff-heading);font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);
  color:#fff;font-feature-settings:'tnum';line-height:1;
}
.usp-trust__rating-stars{display:flex;gap:2px;color:#ffc93d;margin:2px 0}
.usp-trust__rating-stars .icon{width:14px;height:14px;fill:#ffc93d;stroke:#ffc93d}
.usp-trust__rating-text{font-size:12px;color:rgba(255,255,255,.7)}

/* Feature list (right column) */
.usp-list{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);
}
@media(max-width:767px){.usp-list{grid-template-columns:1fr}}
.usp-item{
  position:relative;
  display:flex;gap:var(--space-4);
  padding:var(--space-5);
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  transition:all var(--t-base) var(--ease-out);
  overflow:hidden;
  isolation:isolate;
}
.usp-item::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--accent-gradient);
  opacity:0;transition:opacity var(--t-base) var(--ease-out);
}
.usp-item:hover{
  transform:translateY(-4px);
  border-color:transparent;
  box-shadow:0 20px 48px rgba(20,20,20,.08),0 0 32px rgba(109,20,24,.08);
}
.usp-item:hover::before{opacity:1}
.usp-item__icon{
  width:52px;height:52px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--accent-soft);
  border-radius:var(--r-squircle);
  position:relative;transition:all var(--t-base) var(--ease-out);
  z-index:1;
}
.usp-item__icon::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:var(--accent-gradient);
  opacity:0;transition:opacity var(--t-base) var(--ease-out);
  z-index:-1;
}
.usp-item:hover .usp-item__icon{transform:scale(1.08) rotate(-4deg)}
.usp-item:hover .usp-item__icon::after{opacity:1}
.usp-item__icon .icon{width:26px;height:26px;color:var(--accent);transition:color var(--t-base) var(--ease-out);position:relative;z-index:1}
.usp-item:hover .usp-item__icon .icon{color:#fff}
.usp-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.usp-item__title{
  font-family:var(--ff-heading);font-size:var(--fs-base);font-weight:var(--fw-bold);
  letter-spacing:-.01em;
}
.usp-item__text{
  font-size:var(--fs-sm);color:var(--muted);line-height:1.55;
}
.usp-item__chip{
  display:inline-flex;align-items:center;gap:var(--space-1);
  padding:.2rem .55rem;
  background:var(--success-soft);color:var(--success);
  border-radius:var(--r-pill);
  font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.06em;
  align-self:flex-start;
  white-space:nowrap;
  flex-shrink:0;
}

/* Head row combining title + chip */
.usp-item__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;
  margin-bottom:2px;
}

/* Feature list */
.usp-item__features{
  list-style:none;
  margin:6px 0 4px;padding:0;
  display:flex;flex-direction:column;gap:6px;
}
.usp-item__features li{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:var(--fw-semibold);
  color:var(--ink);
  line-height:1.3;
}
.usp-item__features li .icon{
  width:14px;height:14px;flex-shrink:0;
  color:var(--accent);
  padding:2px;border-radius:50%;
  background:var(--accent-soft);
  box-sizing:content-box;
  transition:all var(--t-base) var(--ease-out);
}
.usp-item:hover .usp-item__features li .icon{
  background:var(--accent);color:#fff;
  transform:scale(1.1);
}

/* Inline link CTA */
.usp-item__link{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:6px;
  font-size:13px;font-weight:var(--fw-bold);
  color:var(--accent);letter-spacing:.01em;
  padding:4px 0;border-radius:6px;
  align-self:flex-start;
  transition:gap var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out);
  position:relative;
}
.usp-item__link::after{
  content:"";position:absolute;left:0;bottom:2px;
  width:0;height:1.5px;background:var(--accent);
  transition:width var(--t-base) var(--ease-out);
}
.usp-item__link:hover{gap:10px;color:#791821}
.usp-item__link:hover::after{width:100%}
.usp-item__link .icon{width:14px;height:14px;transition:transform var(--t-fast) var(--ease-out)}
.usp-item__link:hover .icon{transform:translateX(3px)}

/* Section head — premium split row with eyebrow, title, sub, CTA + counter */
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--space-6);flex-wrap:wrap;
  margin-bottom:var(--space-6);
  position:relative;
}
.section-head__left{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:0}
/* New eyebrow concept: mono-style tag with sliding accent dash + animated dot */
.section-head__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-mono,'JetBrains Mono',ui-monospace,monospace);
  font-size:11px;font-weight:var(--fw-bold);
  color:var(--accent);
  text-transform:uppercase;letter-spacing:.22em;
  align-self:flex-start;
  padding:0;background:none;border:none;border-radius:0;
  position:relative;
}
.section-head__eyebrow::before{
  content:"";display:inline-block;
  width:28px;height:2px;border-radius:2px;
  background:var(--accent-gradient);
  transition:width var(--t-base) var(--ease-out);
}
.section-head__eyebrow::after{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 rgba(160,32,40,.5);
  animation:eyebrow-ping 2s ease-in-out infinite;
}
@keyframes eyebrow-ping{
  0%,100%{box-shadow:0 0 0 0 rgba(160,32,40,.45);transform:scale(1)}
  50%{box-shadow:0 0 0 6px rgba(160,32,40,0);transform:scale(1.15)}
}
.section-head__eyebrow .icon{width:14px;height:14px;color:var(--accent)}
.section-head:hover .section-head__eyebrow::before{width:44px}
.section-head__title{
  font-family:var(--ff-heading);
  font-size:clamp(var(--fs-2xl),3.5vw,var(--fs-4xl));
  font-weight:var(--fw-extrabold);letter-spacing:-.03em;line-height:1.05;
}
.section-head__sub{
  font-size:var(--fs-sm);color:var(--muted);line-height:1.55;
  max-width:none;width:100%;
}
.section-head__right{
  display:flex;align-items:center;gap:var(--space-3);
}
.section-head__count{
  display:inline-flex;align-items:center;gap:var(--space-2);
  padding:.35rem .8rem;
  background:var(--bg-subtle);border:1px solid var(--line);
  border-radius:var(--r-pill);
  font-size:12px;color:var(--muted);font-weight:var(--fw-medium);
  font-feature-settings:'tnum';
}
.section-head__count strong{color:var(--ink);font-weight:var(--fw-bold)}
.section-head__link{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--ff-heading);font-weight:var(--fw-semibold);
  font-size:var(--fs-sm);color:var(--accent);
  padding:.55rem 1rem;border-radius:var(--r-pill);
  border:1.5px solid var(--accent);
  transition:all var(--t-fast) var(--ease-out);
}
.section-head__link:hover{background:var(--accent);color:#fff;transform:translateX(2px);box-shadow:0 8px 24px rgba(109,20,24,.25)}
.section-head__link .icon{width:16px;height:16px;transition:transform var(--t-fast) var(--ease-out)}
.section-head__link:hover .icon{transform:translateX(3px)}

/* Category card extras — meta row with count / tags / arrow */
.category-card{padding:var(--space-5) var(--space-4) var(--space-4) !important;justify-content:space-between !important}
.category-card__img{width:110px;height:110px;margin-top:var(--space-2);margin-bottom:var(--space-3)}
.category-card__head{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:var(--space-2)}
.category-card__tag{
  font-size:10px;font-weight:var(--fw-bold);
  color:var(--accent);background:var(--accent-soft);
  padding:.2rem .55rem;border-radius:var(--r-pill);
  text-transform:uppercase;letter-spacing:.06em;
}
.category-card__arrow{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--bg-subtle);color:var(--muted);
  transition:all var(--t-fast) var(--ease-out);
}
.category-card__arrow .icon{width:14px;height:14px}
.category-card:hover .category-card__arrow{background:var(--accent);color:#fff;transform:translate(4px,-2px)}
.category-card__body{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left}
.category-card__name{font-size:var(--fs-lg) !important;margin-bottom:0 !important;text-align:left}
.category-card__meta{
  display:flex;align-items:center;gap:var(--space-2);
  font-size:11px;color:var(--muted);font-feature-settings:'tnum';
  text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-semibold);
}
.category-card__meta-sep{width:3px;height:3px;border-radius:50%;background:var(--muted-light)}
.category-card__price{text-align:left !important;font-size:var(--fs-sm) !important;color:var(--accent) !important;font-weight:var(--fw-bold) !important}

/* Carousel */
.carousel{position:relative;overflow-x:clip;overflow-y:visible}
.carousel__track{display:flex;gap:var(--space-4);transition:transform var(--t-slower) var(--ease-out)}
.carousel__slide{flex:0 0 calc(25% - var(--space-4) * 3 / 4);min-width:260px}
.carousel__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-card);border:1px solid var(--line);
  border-radius:var(--r-squircle);
  box-shadow:var(--shadow-md);
  transition:all var(--t-fast) var(--ease-out);
  z-index:3;
}
.carousel__nav:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-glow)}
.carousel__nav--prev{left:calc(-1 * var(--space-4))}
.carousel__nav--next{right:calc(-1 * var(--space-4))}
@media(max-width:1023px){.carousel__slide{flex:0 0 calc(33.33% - var(--space-4) * 2/3);min-width:220px}}
@media(max-width:767px){.carousel__slide{flex:0 0 calc(75%);min-width:0}}

/* === CATALOG PAGE === */
.catalog-header{
  padding:var(--space-8) 0 var(--space-6);
}
.catalog-header__title{
  font-size:clamp(var(--fs-3xl),4vw,var(--fs-4xl));
  margin-bottom:var(--space-2);
}
.catalog-header__count{font-size:var(--fs-sm);color:var(--muted)}

.catalog-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);
  padding:var(--space-3) var(--space-5);
  background:linear-gradient(135deg, var(--bg-subtle) 0%, var(--bg-card) 100%);
  border-radius:var(--r-section);
  margin-bottom:var(--space-6);
}
.catalog-toolbar__chips{display:flex;gap:var(--space-2);overflow-x:auto;flex:1}
.catalog-toolbar__sort{display:flex;align-items:center;gap:var(--space-2)}
.catalog-toolbar__sort select{
  appearance:none;-webkit-appearance:none;
  padding:.4rem 2rem .4rem .75rem;
  background:var(--bg-card) 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='%236B6462' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .6rem center;
  border:1px solid var(--line-strong);
  border-radius:var(--r-pill);
  font-size:var(--fs-sm);cursor:pointer;
}
.catalog-view-toggle{
  display:flex;border:1px solid var(--line-strong);border-radius:var(--r-squircle);overflow:hidden;
}
.catalog-view-toggle__btn{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--t-fast) var(--ease-out);
}
.catalog-view-toggle__btn.is-active{background:var(--accent);color:#fff}
.catalog-view-toggle__btn:not(.is-active):hover{background:var(--bg-subtle)}
.catalog-view-toggle__btn .icon{width:18px;height:18px}

.load-more{
  text-align:center;padding:var(--space-10) 0;
}

/* === SUBCATEGORY PAGE === */
.subcat-hero{
  position:relative;
  background:var(--bg-subtle);
  border-radius:0 0 40px 40px;
  padding:var(--space-12) 0;
  margin-bottom:var(--space-8);
  overflow:visible;
  text-align:center;
}
.subcat-hero__img{
  margin:-30px auto 0;
  max-width:320px;
  position:relative;z-index:2;
  background:radial-gradient(circle at center, rgba(109,20,24,.08) 0%, transparent 70%);
  border-radius:50%;
  padding:var(--space-4);
}
.subcat-hero__title{
  font-size:clamp(var(--fs-4xl),5vw,var(--fs-5xl));
  margin-bottom:var(--space-2);
  font-weight:var(--fw-extrabold);
  letter-spacing:-.02em;
}

.subcat-layout{
  display:grid;
  grid-template-columns:var(--sidebar-w) 1fr;
  gap:var(--space-8);
}
@media(max-width:1023px){.subcat-layout{grid-template-columns:1fr}}

.filter-panel{
  position:sticky;top:calc(var(--header-h) + var(--space-4));
  background:var(--bg-card);
  border:1px solid var(--line);
  border-top:3px solid transparent;
  border-image:linear-gradient(90deg, var(--accent), var(--accent-light)) 1;
  border-image-slice:1 0 0 0;
  border-radius:var(--r-filter-panel);
  padding:var(--space-5);
  max-height:calc(100vh - var(--header-h) - var(--space-8));
  overflow-y:auto;
  align-self:start;
}
@media(max-width:1023px){.filter-panel{display:none}}

.filter-group{margin-bottom:var(--space-6)}
.filter-group__title{
  font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);margin-bottom:var(--space-3);
}

/* ============================================================
   === PRODUCT PAGE — Editorial Premium ===
   ============================================================ */

.breadcrumbs-wrap{
  background:var(--bg);
  border-bottom:1px solid var(--line);
  padding-block:14px;
}

.product-page{padding-block:var(--space-8) var(--space-12)}
.product-page__grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(380px,460px);
  gap:clamp(var(--space-6),4vw,var(--space-12));
  align-items:start;
}
@media(max-width:1023px){
  .product-page__grid{grid-template-columns:1fr;gap:var(--space-8)}
}

/* ──────── Gallery ──────── */
.product-page__gallery{display:flex;flex-direction:column;gap:var(--space-5)}
.product-gallery{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:var(--space-4);
  position:relative;
  align-items:stretch;
}

/* Thumbs: vertical column desktop / horizontal scroll mobile */
.product-gallery__thumbs{
  display:flex;flex-direction:column;gap:10px;
  max-height:560px;overflow-y:auto;
  scrollbar-width:none;-ms-overflow-style:none;
  padding:2px;
}
.product-gallery__thumbs::-webkit-scrollbar{display:none}
.product-gallery__thumb{
  width:80px;height:80px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#fff 0%,var(--bg-subtle) 100%);
  border:1.5px solid var(--line);
  border-radius:14px;
  cursor:pointer;padding:6px;
  position:relative;
  transition:border-color var(--t-fast) var(--ease-out),
             box-shadow var(--t-base) var(--ease-out),
             transform var(--t-fast) var(--ease-spring);
}
.product-gallery__thumb::after{
  content:"";position:absolute;inset:-1px;
  border-radius:inherit;
  background:var(--accent-gradient);
  z-index:-1;opacity:0;
  transition:opacity var(--t-base) var(--ease-out);
}
.product-gallery__thumb img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.08));
}
.product-gallery__thumb:hover{
  border-color:var(--line-strong);
  transform:translateX(2px);
  box-shadow:0 6px 16px rgba(20,20,20,.08);
}
.product-gallery__thumb.is-active{
  border-color:transparent;
  box-shadow:0 0 0 2px var(--accent),0 8px 20px rgba(109,20,24,.18);
}

/* Main image — большая asymmetric card с halo + grid bg */
.product-gallery__main{
  position:relative;
  background:linear-gradient(165deg,#fff 0%,var(--bg-subtle) 60%,#efeae8 100%);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;cursor:zoom-in;
  min-width:0;
  box-shadow:
    0 24px 60px rgba(20,20,20,.06),
    0 8px 20px rgba(109,20,24,.04),
    inset 0 1px 0 rgba(255,255,255,.7);
}

/* На мобильном — main сверху, thumbs ниже горизонтальной лентой */
@media(max-width:639px){
  .product-gallery{
    display:flex;flex-direction:column;gap:var(--space-3);
  }
  .product-gallery__main{order:1}
  .product-gallery__thumbs{
    order:2;flex-direction:row;
    max-height:none;overflow-x:auto;overflow-y:hidden;
    padding-bottom:6px;
  }
  .product-gallery__thumb{width:64px;height:64px;flex-shrink:0}
}
.product-gallery__halo{
  position:absolute;
  width:60%;aspect-ratio:1/1;
  background:radial-gradient(circle at center, var(--accent-soft) 0%, transparent 65%);
  filter:blur(20px);
  z-index:0;pointer-events:none;
  animation:hero-halo-breathe 6s ease-in-out infinite;
}
.product-gallery__grid-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(circle, rgba(20,20,20,.08) 1px, transparent 1px);
  background-size:24px 24px;
  mask-image:radial-gradient(ellipse 70% 60% at center, #000 30%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at center, #000 30%, transparent 100%);
  opacity:.5;
}
.product-gallery__main img{
  position:relative;z-index:1;
  width:78%;height:78%;object-fit:contain;
  transition:transform var(--t-slow) var(--ease-out),opacity .25s var(--ease-out);
  filter:drop-shadow(0 28px 36px rgba(20,20,20,.18)) drop-shadow(0 0 28px rgba(109,20,24,.08));
}
.product-gallery__main:hover img{transform:scale(1.04) rotate(-1deg)}

.product-gallery__badges{
  position:absolute;top:18px;left:18px;z-index:2;
  display:flex;flex-direction:column;gap:6px;align-items:flex-start;
}
.product-gallery__badge{
  display:inline-flex;align-items:center;
  padding:6px 12px;
  font-family:var(--ff-heading);font-size:11px;font-weight:var(--fw-extrabold);
  letter-spacing:.04em;
  border-radius:var(--r-badge);
  background:var(--bg-card);color:var(--ink);
  box-shadow:0 4px 12px rgba(20,20,20,.1);
}
.product-gallery__badge--sale{
  background:var(--accent-gradient);color:#fff;
  box-shadow:0 6px 16px rgba(109,20,24,.32);
}
.product-gallery__badge--hit{
  background:#1a1a1a;color:#fff;
}
.product-gallery__badge--new{
  background:var(--success);color:#fff;
}

.product-gallery__zoom{
  position:absolute;right:18px;bottom:18px;z-index:2;
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line);
  border-radius:50%;color:var(--ink);
  transition:transform var(--t-base) var(--ease-spring),background var(--t-fast) var(--ease-out);
}
.product-gallery__zoom:hover{background:#fff;transform:scale(1.1) rotate(-8deg)}
.product-gallery__zoom .icon{width:18px;height:18px}

/* Gallery trust-strip — 3 карточки под изображением */
.product-gallery__trust{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--space-3);
  margin-top:var(--space-2);
}
@media(max-width:767px){.product-gallery__trust{grid-template-columns:1fr}}
.product-gallery__trust-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-base) var(--ease-out);
}
.product-gallery__trust-item:hover{
  border-color:var(--accent-soft);
  box-shadow:0 8px 20px rgba(109,20,24,.06);
}
.product-gallery__trust-item .icon{
  width:24px;height:24px;color:var(--accent);
  flex-shrink:0;
}
.product-gallery__trust-item > div{display:flex;flex-direction:column;gap:1px;min-width:0}
.product-gallery__trust-title{
  font-family:var(--ff-heading);font-size:12.5px;font-weight:var(--fw-bold);
  color:var(--ink);letter-spacing:.005em;
}
.product-gallery__trust-sub{
  font-size:11.5px;color:var(--muted);line-height:1.3;
}

/* ──────── Info (sticky right column) ──────── */
.product-page__info{
  position:sticky;top:calc(var(--header-h) + var(--quicknav-h) + var(--space-3));
  align-self:start;
}
@media(max-width:1023px){
  .product-page__info{position:static}
}
.product-info{
  display:flex;flex-direction:column;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  box-shadow:0 24px 60px rgba(20,20,20,.06),0 4px 12px rgba(109,20,24,.03);
}

/* Sections — каждая секция с padding и тонким border-bottom */
.product-info__section{
  padding:18px clamp(20px,2vw,28px);
  border-bottom:1px solid var(--line);
}
.product-info__section:last-of-type{border-bottom:none}
.product-info__section--head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-block:14px;
}
.product-info__section--title{padding-top:18px}
.product-info__section--price{padding-block:22px}
.product-info__section--variants{display:flex;flex-direction:column;gap:18px}
.product-info__section--actions{display:flex;flex-direction:column;gap:10px}

/* ── Eyebrow + Share ── */
.product-info__eyebrow{
  font-family:var(--ff-heading);
  font-size:10.5px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--accent);
}
.product-info__share{
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--ink-secondary);
  background:transparent;
  transition:background var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out),
             border-color var(--t-fast) var(--ease-out);
  flex-shrink:0;
}
.product-info__share:hover{
  background:var(--accent-soft);color:var(--accent);
  border-color:var(--accent-soft);
}
.product-info__share .icon{width:16px;height:16px}

/* ── Title ── */
.product-info__title{
  font-size:clamp(1.35rem,2vw,1.7rem);
  font-weight:var(--fw-extrabold);
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 10px;
}
.product-info__status{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  font-size:13px;color:var(--muted);
  font-weight:var(--fw-medium);
  line-height:1.4;
}
.product-info__status strong{color:var(--success);font-weight:var(--fw-bold)}
.product-info__status-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--success);
  box-shadow:0 0 0 0 rgba(26,125,69,.5);
  animation:topbar-pulse 2.2s infinite cubic-bezier(.66,0,0,1);
  flex-shrink:0;
}
.product-info__status-sep{color:var(--line-strong);font-weight:400}

/* ── Price ── */
.product-info__price{
  display:flex;flex-direction:column;gap:4px;
  margin-bottom:14px;
}
.product-info__price-label{
  font-family:var(--ff-heading);
  font-size:10.5px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);
  margin-bottom:2px;
}
.product-info__price-row{
  display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;
}
.product-info__price-value{
  font-family:var(--ff-heading);
  font-size:clamp(1.85rem,3vw,2.3rem);
  font-weight:var(--fw-extrabold);
  color:var(--ink);
  letter-spacing:-.025em;
  font-feature-settings:'tnum';
  line-height:1;
}
.product-info__price-discount{
  padding:4px 11px;
  background:var(--accent-gradient);color:#fff;
  border-radius:var(--r-pill);
  font-family:var(--ff-heading);font-size:11px;font-weight:var(--fw-extrabold);
  letter-spacing:.02em;
  line-height:1;
  box-shadow:0 4px 10px rgba(109,20,24,.22);
  flex-shrink:0;
}
.product-info__price-extra{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:13px;margin-top:4px;
}
.product-info__price-old{
  color:var(--muted);text-decoration:line-through;
  text-decoration-color:var(--accent-light);
  text-decoration-thickness:1px;
  font-weight:var(--fw-medium);font-feature-settings:'tnum';
}
.product-info__price-save{
  color:var(--success);font-weight:var(--fw-semibold);
  font-size:12.5px;
}

/* Installment */
.product-info__installment{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;
  background:linear-gradient(135deg, var(--accent-soft) 0%, rgba(109,20,24,.02) 100%);
  border:1px solid var(--accent-soft);
  border-radius:var(--r-md);
}
.product-info__installment-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:10px;
  background:var(--accent-gradient);color:#fff;
  flex-shrink:0;
  box-shadow:0 4px 10px rgba(109,20,24,.2);
}
.product-info__installment-icon .icon{width:16px;height:16px}
.product-info__installment > div{display:flex;flex-direction:column;gap:1px;min-width:0}
.product-info__installment-line{
  font-size:13px;color:var(--ink);
  font-weight:var(--fw-medium);
  line-height:1.35;
}
.product-info__installment-line strong{color:var(--ink);font-weight:var(--fw-bold)}
.product-info__installment-value{color:var(--accent);font-feature-settings:'tnum'}
.product-info__installment-term{
  font-size:11.5px;color:var(--muted);
  font-weight:var(--fw-medium);
}

/* ── Variant groups ── */
.product-info__group{display:flex;flex-direction:column;gap:10px}
.product-info__group-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
}
.product-info__group-label{
  font-family:var(--ff-heading);
  font-size:10.5px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);
}
.product-info__group-current{
  font-family:var(--ff-heading);font-size:13px;font-weight:var(--fw-semibold);
  color:var(--ink);
}

/* Color swatches — простой круг + ring при active */
.product-info__swatches{
  display:flex;flex-wrap:wrap;gap:12px;
}
.product-info__swatch{
  position:relative;
  display:block;
  width:36px;height:36px;
  border-radius:50%;
  background:var(--swatch-color);
  cursor:pointer;flex-shrink:0;
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.08),
    inset 0 2px 4px rgba(255,255,255,.35),
    inset 0 -3px 6px rgba(0,0,0,.12);
  transition:transform var(--t-fast) var(--ease-spring);
}
.product-info__swatch::after{
  content:"";
  position:absolute;inset:-5px;
  border-radius:50%;
  border:2px solid transparent;
  transition:border-color var(--t-fast) var(--ease-out);
  pointer-events:none;
}
.product-info__swatch:hover{transform:scale(1.1)}
.product-info__swatch:hover::after{border-color:var(--line-strong)}
.product-info__swatch.is-active::after{border-color:var(--accent)}

/* Memory chips — крупные с двумя строками */
.product-info__chips{
  display:flex;flex-wrap:wrap;gap:8px;
}
.product-info__chips--inline{gap:6px}
.product-info__chip{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:10px 16px;
  min-width:100px;
  background:#fff;
  border:1.5px solid var(--line-strong);
  border-radius:14px;
  cursor:pointer;
  color:var(--ink);
  transition:border-color var(--t-fast) var(--ease-out),
             background var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out);
}
.product-info__chip:hover{
  border-color:var(--accent);
  color:var(--accent);
}
.product-info__chip.is-active{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  box-shadow:0 6px 14px rgba(109,20,24,.22);
}
.product-info__chip-label{
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-bold);
  color:inherit;letter-spacing:.005em;
  font-feature-settings:'tnum';line-height:1.1;
}
.product-info__chip-sub{
  font-size:11px;color:var(--muted);
  font-weight:var(--fw-medium);
  font-feature-settings:'tnum';
  line-height:1;
}
.product-info__chip.is-active .product-info__chip-sub{color:rgba(255,255,255,.75)}

/* Inline-вариант (для SIM/eSIM) — одна строка, без min-width */
.product-info__chip--inline{
  flex-direction:row;align-items:center;
  padding:9px 16px;
  min-width:auto;
}
.product-info__chip--inline .product-info__chip-label{font-size:13px}

/* ── Actions ── */
.product-info__cta-primary{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;
  padding:16px 18px 16px 14px;
  background:var(--accent);
  border:none;
  border-radius:14px;
  color:#fff;
  font-family:var(--ff-heading);font-weight:var(--fw-bold);
  letter-spacing:.005em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(109,20,24,.28),inset 0 1px 0 rgba(255,255,255,.16);
  transition:background var(--t-base) var(--ease-out),
             transform var(--t-fast) var(--ease-spring),
             box-shadow var(--t-base) var(--ease-out);
}
.product-info__cta-primary:hover{
  background:linear-gradient(135deg,#7c1a1f 0%,var(--accent) 100%);
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(109,20,24,.38),inset 0 1px 0 rgba(255,255,255,.2);
}
.product-info__cta-primary:active{transform:translateY(0) scale(.99)}
.product-info__cta-primary-left{
  display:inline-flex;align-items:center;gap:12px;
  min-width:0;
}
.product-info__cta-primary-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;
  background:rgba(255,255,255,.18);
  border-radius:10px;
  flex-shrink:0;
}
.product-info__cta-primary-icon .icon{width:16px;height:16px;color:#fff}
.product-info__cta-primary-label{
  font-size:15px;font-weight:var(--fw-bold);
  color:#fff;letter-spacing:.005em;
}
.product-info__cta-primary-price{
  font-family:var(--ff-heading);
  font-size:15px;font-weight:var(--fw-extrabold);
  font-feature-settings:'tnum';
  color:#fff;
  white-space:nowrap;
  flex-shrink:0;
}

.product-info__cta-ghost{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;
  padding:13px 16px;
  background:transparent;
  border:1.5px solid var(--line-strong);
  border-radius:14px;
  color:var(--ink);
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-semibold);
  letter-spacing:.005em;
  cursor:pointer;
  transition:border-color var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out),
             background var(--t-fast) var(--ease-out);
}
.product-info__cta-ghost .icon{
  width:16px;height:16px;
  transition:transform var(--t-base) var(--ease-spring);
}
.product-info__cta-ghost:hover{
  border-color:var(--accent);color:var(--accent);
  background:var(--accent-soft);
}
.product-info__cta-ghost:hover .icon{transform:translateX(4px)}

/* Icon row — В избранное / К сравнению */
.product-info__icon-row{
  display:flex;gap:6px;
  margin-top:4px;
}
.product-info__icon-btn{
  flex:1;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 8px;
  background:var(--bg-subtle);
  border:1px solid transparent;
  border-radius:12px;
  font-family:var(--ff-heading);font-size:12px;font-weight:var(--fw-semibold);
  color:var(--ink-secondary);
  cursor:pointer;
  transition:background var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out),
             border-color var(--t-fast) var(--ease-out);
}
.product-info__icon-btn .icon{width:16px;height:16px;color:var(--muted-light)}
.product-info__icon-btn:hover{
  background:var(--bg-card);
  border-color:var(--accent);
  color:var(--accent);
}
.product-info__icon-btn:hover .icon{color:var(--accent)}
.product-info__icon-btn.is-active{
  background:var(--accent-soft);
  border-color:var(--accent);
  color:var(--accent);
}
.product-info__icon-btn.is-active .icon{color:var(--accent);fill:currentColor}

/* ── Benefits ── */
.product-info__benefits{
  display:flex;flex-direction:column;gap:8px;
  padding:18px clamp(20px,2vw,28px);
  margin:0;
  background:var(--bg-subtle);
  border-radius:0 0 var(--r-xl) var(--r-xl);
  list-style:none;
}
.product-info__benefits li{
  display:flex;align-items:center;gap:10px;
  font-size:12.5px;color:var(--ink-secondary);
  line-height:1.4;
}
.product-info__benefits .icon{
  width:15px;height:15px;color:var(--accent);
  flex-shrink:0;
}

/* ============================================================
   === TABS section ===
   ============================================================ */
.product-tabs-section{
  padding-block:var(--space-8) var(--space-section);
  background:linear-gradient(180deg, var(--bg) 0%, var(--bg-subtle) 100%);
}
.product-tabs{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-section);
  overflow:hidden;
  box-shadow:0 24px 60px rgba(20,20,20,.05);
}
.product-tabs__head{
  display:flex;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fdfbfa 0%,#f8f5f3 100%);
  overflow-x:auto;
  scrollbar-width:none;-ms-overflow-style:none;
}
.product-tabs__head::-webkit-scrollbar{display:none}
.product-tabs__tab{
  position:relative;
  display:inline-flex;align-items:center;gap:10px;
  padding:18px 28px;
  background:transparent;border:none;cursor:pointer;
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-semibold);
  color:var(--muted);
  white-space:nowrap;
  letter-spacing:.005em;
  transition:color var(--t-base) var(--ease-out),background var(--t-base) var(--ease-out);
  flex-shrink:0;
}
.product-tabs__tab-num{
  font-family:var(--ff-mono);font-size:10.5px;font-weight:var(--fw-bold);
  color:var(--muted-light);
  letter-spacing:.05em;
  transition:color var(--t-base) var(--ease-out);
}
.product-tabs__tab-label{font-size:14px;font-weight:inherit}
.product-tabs__tab::after{
  content:"";position:absolute;left:28px;right:28px;bottom:0;
  height:2px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-base) var(--ease-out);
}
.product-tabs__tab:hover{color:var(--ink);background:rgba(255,255,255,.6)}
.product-tabs__tab:hover .product-tabs__tab-num{color:var(--accent)}
.product-tabs__tab.is-active{color:var(--accent);background:var(--bg-card)}
.product-tabs__tab.is-active::after{transform:scaleX(1)}
.product-tabs__tab.is-active .product-tabs__tab-num{color:var(--accent)}

.product-tabs__panels{padding:clamp(var(--space-5),3vw,var(--space-8))}
.product-tabs__panel{display:none;animation:fade-up .35s var(--ease-out)}
.product-tabs__panel.is-active{display:block}

.product-tabs__description{
  font-size:var(--fs-base);line-height:1.7;
  color:var(--ink-secondary);
  max-width:78ch;
}
.product-tabs__description h2,
.product-tabs__description h3{
  font-family:var(--ff-heading);
  margin:var(--space-5) 0 var(--space-3);
  color:var(--ink);
}
.product-tabs__description h2{font-size:1.5rem}
.product-tabs__description h3{font-size:1.2rem}
.product-tabs__description p{margin:0 0 var(--space-3);max-width:78ch}
.product-tabs__description ul,.product-tabs__description ol{
  margin:0 0 var(--space-3);padding-left:1.4em;list-style:disc;
}
.product-tabs__description li{margin-bottom:.4em}
.product-tabs__description strong{color:var(--ink);font-weight:var(--fw-semibold)}
.product-tabs__description img{
  max-width:100%;height:auto;border-radius:var(--r-md);
  margin:var(--space-4) 0;
}

.product-tabs__empty{
  display:flex;align-items:flex-start;gap:14px;
  padding:24px;
  background:var(--bg-subtle);
  border-radius:var(--r-md);
  color:var(--ink-secondary);
}
.product-tabs__empty .icon{
  width:24px;height:24px;color:var(--accent);
  flex-shrink:0;margin-top:2px;
}
.product-tabs__empty strong{
  display:block;color:var(--ink);font-family:var(--ff-heading);
  font-weight:var(--fw-semibold);margin-bottom:4px;
}
.product-tabs__empty p{margin:0;font-size:var(--fs-sm);color:var(--muted)}

/* Specs grouped */
.product-specs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:var(--space-6);
}
.product-specs__group{
  display:flex;flex-direction:column;gap:0;
}
.product-specs__group-title{
  font-family:var(--ff-heading);font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--accent);
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--accent-soft);
  position:relative;
}
.product-specs__group-title::after{
  content:"";position:absolute;left:0;bottom:-1px;width:40px;height:1.5px;
  background:var(--accent);
}
.product-specs__list{margin:0;display:flex;flex-direction:column}
.product-specs__row{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:var(--space-3);
  padding:10px 0;
  border-bottom:1px dashed var(--line);
  align-items:baseline;
}
.product-specs__row:last-child{border-bottom:none}
.product-specs__key{
  font-size:13px;color:var(--muted);
  font-weight:var(--fw-medium);
  letter-spacing:.005em;
}
.product-specs__val{
  font-family:var(--ff-body);font-size:13.5px;
  color:var(--ink);font-weight:var(--fw-semibold);
  margin:0;text-align:right;
}

/* Delivery panel — 4 cards */
.product-delivery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--space-4);
}
.product-delivery__item{
  display:flex;flex-direction:column;gap:8px;
  padding:24px;
  background:linear-gradient(165deg,#fff 0%,var(--bg-subtle) 100%);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  position:relative;overflow:hidden;
  transition:transform var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out);
}
.product-delivery__item::before{
  content:"";position:absolute;top:0;left:0;width:60px;height:4px;
  background:var(--accent-gradient);
  border-radius:0 0 4px 0;
}
.product-delivery__item:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(20,20,20,.08);
}
.product-delivery__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;
  background:var(--accent-soft);
  border-radius:var(--r-squircle);
  margin-bottom:6px;
}
.product-delivery__icon .icon{width:24px;height:24px;color:var(--accent)}
.product-delivery__item h3{
  font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:var(--fw-semibold);
  margin:0;color:var(--ink);
}
.product-delivery__item p{
  font-size:var(--fs-sm);color:var(--muted);
  line-height:1.5;margin:0;max-width:none;
}
.product-delivery__price{
  display:inline-block;
  margin-top:auto;padding-top:8px;
  font-family:var(--ff-heading);font-size:12.5px;font-weight:var(--fw-bold);
  color:var(--accent);
  letter-spacing:.005em;
  font-feature-settings:'tnum';
}

/* Warranty */
.product-warranty{display:flex;flex-direction:column;gap:var(--space-5);max-width:760px}
.product-warranty__head{
  display:flex;gap:16px;align-items:flex-start;
  padding:24px;
  background:linear-gradient(135deg, var(--accent-soft) 0%, transparent 100%);
  border:1px solid var(--accent-soft);
  border-left:3px solid var(--accent);
  border-radius:var(--r-md);
}
.product-warranty__head .icon{
  width:32px;height:32px;color:var(--accent);
  flex-shrink:0;margin-top:2px;
}
.product-warranty__head h3{
  font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:var(--fw-extrabold);
  margin:0 0 6px;color:var(--ink);
}
.product-warranty__head p{
  font-size:var(--fs-sm);color:var(--ink-secondary);margin:0;line-height:1.55;
}
.product-warranty__list{
  list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0;
}
.product-warranty__list li{
  position:relative;
  padding:14px 14px 14px 36px;
  border-bottom:1px dashed var(--line);
  font-size:14px;color:var(--ink-secondary);
  line-height:1.5;
}
.product-warranty__list li:last-child{border-bottom:none}
.product-warranty__list li::before{
  content:"";
  position:absolute;left:8px;top:18px;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--accent-soft);
  border:1.5px solid var(--accent);
}
.product-warranty__list li::after{
  content:"";
  position:absolute;left:12px;top:22px;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--accent);
}

/* ============================================================
   === MOBILE STICKY BAR ===
   ============================================================ */
.product-stickybar{
  position:fixed;left:0;right:0;
  bottom:calc(-1 * (var(--mobile-nav-h, 0px) + 80px));
  z-index:calc(var(--z-sticky) - 1);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-top:1px solid var(--line);
  box-shadow:0 -8px 24px rgba(20,20,20,.08);
  transition:bottom var(--t-base) var(--ease-out);
  display:none;
}
.product-stickybar.is-visible{bottom:var(--mobile-nav-h,0px)}
.product-stickybar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:10px var(--container-px);
}
.product-stickybar__info{
  display:flex;align-items:center;gap:12px;
  min-width:0;flex:1;
}
.product-stickybar__img{
  width:48px;height:48px;
  object-fit:contain;
  background:var(--bg-subtle);
  border-radius:10px;padding:4px;
  flex-shrink:0;
}
.product-stickybar__info > div{
  display:flex;flex-direction:column;gap:2px;min-width:0;
}
.product-stickybar__title{
  font-family:var(--ff-heading);font-size:12.5px;font-weight:var(--fw-semibold);
  color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:180px;
}
.product-stickybar__price{
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-extrabold);
  color:var(--accent);font-feature-settings:'tnum';
}
.product-stickybar__cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;
  background:var(--accent-gradient);color:#fff;
  border:none;border-radius:var(--r-btn);
  font-family:var(--ff-heading);font-size:13px;font-weight:var(--fw-bold);
  letter-spacing:.01em;
  flex-shrink:0;
  box-shadow:0 8px 18px rgba(109,20,24,.28);
}
.product-stickybar__cta .icon{width:16px;height:16px}
.product-stickybar__cta:active{transform:scale(.96)}
@media(max-width:1023px){.product-stickybar{display:block}}

/* ============================================================
   === ADAPTIVE refinements ===
   ============================================================ */
@media(max-width:767px){
  .product-page{padding-block:var(--space-5) var(--space-8)}
  .product-info__section{padding:14px 18px}
  .product-info__section--price{padding-block:18px}
  .product-info__title{font-size:clamp(1.2rem,5vw,1.5rem)}
  .product-info__price-value{font-size:clamp(1.6rem,7vw,2rem)}
  .product-info__cta-primary{padding:14px 16px 14px 12px;gap:12px}
  .product-info__cta-primary-icon{width:30px;height:30px}
  .product-info__cta-primary-icon .icon{width:14px;height:14px}
  .product-info__cta-primary-label{font-size:14px}
  .product-info__cta-primary-price{font-size:14px}
  .product-info__cta-ghost{padding:12px 14px;font-size:13px}
  .product-info__icon-btn span{display:none}
  .product-info__icon-btn{padding:11px;flex:0 0 auto;width:44px}
  .product-info__benefits{padding:14px 18px}
  .product-tabs__tab{padding:14px 18px}
  .product-tabs__tab-label{font-size:13px}
  .product-tabs__panels{padding:var(--space-4)}
  .product-specs__row{grid-template-columns:1fr;gap:2px}
  .product-specs__val{text-align:left}
  .product-warranty__head{padding:18px;gap:12px}
}

/* ============================================================
   === CART PAGE — Editorial Premium ===
   ============================================================ */
.cart-page{padding-block:var(--space-8) var(--space-section)}

/* ── Header ── */
.cart-page__head{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  margin-bottom:var(--space-8);
  max-width:760px;
}
.cart-page__eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--ff-heading);font-size:10.5px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--accent);
}
.cart-page__eyebrow-line{
  width:32px;height:1.5px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
  border-radius:2px;
}
.cart-page__title{
  font-family:var(--ff-heading);
  font-size:clamp(1.8rem,3.6vw,2.6rem);
  font-weight:var(--fw-extrabold);
  letter-spacing:-.03em;
  line-height:1.05;
  margin:6px 0 2px;
  color:var(--ink);
}
.cart-page__sub{
  font-size:var(--fs-base);color:var(--muted);
  margin:0;max-width:64ch;
}

/* Steps progress */
.cart-steps{
  display:flex;align-items:center;gap:8px;
  list-style:none;margin:18px 0 0;padding:0;
  width:100%;max-width:680px;
  flex-wrap:wrap;
}
.cart-steps__item{
  flex:1;min-width:0;
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  font-family:var(--ff-heading);
  position:relative;
  transition:all var(--t-base) var(--ease-out);
}
.cart-steps__num{
  font-family:var(--ff-mono);font-size:11px;font-weight:var(--fw-extrabold);
  color:var(--muted-light);
  letter-spacing:.04em;
}
.cart-steps__label{
  font-size:12.5px;font-weight:var(--fw-semibold);
  color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cart-steps__item.is-active{
  background:var(--accent-soft);
  border-color:var(--accent-soft);
}
.cart-steps__item.is-active .cart-steps__num{color:var(--accent)}
.cart-steps__item.is-active .cart-steps__label{color:var(--accent)}
.cart-steps__item.is-done{
  background:var(--bg-card);
  border-color:var(--accent-soft);
}
.cart-steps__item.is-done .cart-steps__num{color:var(--success)}
.cart-steps__item.is-done .cart-steps__label{color:var(--ink-secondary)}
@media(max-width:639px){
  .cart-steps__item{padding:8px 12px}
  .cart-steps__label{font-size:11px}
}

/* ── Skeleton (initial) ── */
.cart-skeleton{display:flex;flex-direction:column;gap:14px}
.cart-skeleton__row{
  height:96px;
  background:linear-gradient(90deg, var(--bg-subtle) 25%, #efeae8 50%, var(--bg-subtle) 75%);
  background-size:200% 100%;
  border-radius:var(--r-md);
  animation:skeleton-shimmer 1.4s linear infinite;
}
@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── Grid layout ── */
.cart-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 420px);
  gap:clamp(var(--space-5),3vw,var(--space-8));
  align-items:start;
}
@media(max-width:1023px){.cart-grid{grid-template-columns:1fr}}

.cart-grid__main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}

/* ── Card ── */
.cart-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  box-shadow:0 24px 60px rgba(20,20,20,.05);
}
.cart-card__head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:18px clamp(20px,2vw,28px);
  border-bottom:1px solid var(--line);
}
.cart-card__title{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:var(--fw-bold);
  letter-spacing:-.005em;
  color:var(--ink);
  margin:0;
}
.cart-card__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  background:var(--accent-soft);color:var(--accent);
  border-radius:8px;
  font-family:var(--ff-mono);font-size:11px;font-weight:var(--fw-extrabold);
  letter-spacing:.04em;
}
.cart-card__count{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 7px;
  background:var(--accent);color:#fff;
  border-radius:var(--r-pill);
  font-family:var(--ff-heading);font-size:11px;font-weight:var(--fw-extrabold);
  font-feature-settings:'tnum';
  margin-left:4px;
}
.cart-card__action{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;
  background:transparent;border:none;cursor:pointer;
  font-family:var(--ff-heading);font-size:12px;font-weight:var(--fw-semibold);
  color:var(--muted);
  border-radius:8px;
  transition:color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);
}
.cart-card__action .icon{width:14px;height:14px}
.cart-card__action:hover{color:var(--accent);background:var(--accent-soft)}

.cart-card__foot{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:16px clamp(20px,2vw,28px);
  border-top:1px solid var(--line);
  background:linear-gradient(180deg, #fff 0%, var(--bg-subtle) 100%);
  border-radius:0 0 var(--r-xl) var(--r-xl);
}
.cart-card__continue{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ff-heading);font-size:13px;font-weight:var(--fw-semibold);
  color:var(--ink-secondary);
}
.cart-card__continue .icon{width:14px;height:14px;transition:transform var(--t-base) var(--ease-spring)}
.cart-card__continue:hover{color:var(--accent)}
.cart-card__continue:hover .icon{transform:translateX(-3px)}
.cart-card__subtotal{
  display:inline-flex;align-items:baseline;gap:10px;
  font-family:var(--ff-heading);
}
.cart-card__subtotal span{font-size:12px;color:var(--muted);letter-spacing:.005em}
.cart-card__subtotal strong{
  font-size:1.2rem;font-weight:var(--fw-extrabold);
  color:var(--ink);font-feature-settings:'tnum';
  letter-spacing:-.02em;
}

/* ── Cart items ── */
.cart-items{display:flex;flex-direction:column}
.cart-item{
  display:grid;
  grid-template-columns:88px 1fr auto auto 32px;
  gap:18px;
  align-items:center;
  padding:18px clamp(20px,2vw,28px);
  border-bottom:1px solid var(--line);
  transition:opacity .25s var(--ease-out),transform .25s var(--ease-out),background var(--t-fast) var(--ease-out);
}
.cart-item:last-child{border-bottom:none}
.cart-item:hover{background:linear-gradient(90deg, var(--bg-subtle) 0%, transparent 100%)}
.cart-item.is-removing{opacity:0;transform:translateX(40px)}
.cart-item__thumb{
  display:flex;align-items:center;justify-content:center;
  width:88px;height:88px;
  background:linear-gradient(160deg, #fff 0%, var(--bg-subtle) 100%);
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
  flex-shrink:0;
}
.cart-item__thumb img{
  max-width:100%;max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.1));
}
.cart-item__body{display:flex;flex-direction:column;gap:8px;min-width:0}
.cart-item__title{
  font-family:var(--ff-heading);font-size:14.5px;font-weight:var(--fw-semibold);
  color:var(--ink);
  line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
  transition:color var(--t-fast) var(--ease-out);
}
.cart-item__title:hover{color:var(--accent)}
.cart-item__meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:12px;
}
.cart-item__unit{
  color:var(--muted);
  font-family:var(--ff-heading);
  font-feature-settings:'tnum';
  font-weight:var(--fw-medium);
}
.cart-item__unit small{font-size:11px;opacity:.7;margin-left:1px}
.cart-item__stock{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--success);font-weight:var(--fw-semibold);
  font-size:11.5px;
}
.cart-item__stock-dot{
  width:6px;height:6px;border-radius:50%;background:var(--success);
  box-shadow:0 0 0 0 rgba(26,125,69,.5);
  animation:topbar-pulse 2.2s infinite cubic-bezier(.66,0,0,1);
}

.cart-item__qty{
  display:inline-flex;align-items:center;
  background:var(--bg-subtle);
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  padding:3px;
  flex-shrink:0;
}
.cart-item__qty-btn{
  width:30px;height:30px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  color:var(--ink-secondary);
  border-radius:50%;
  transition:background var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out);
}
.cart-item__qty-btn .icon{width:13px;height:13px}
.cart-item__qty-btn:hover{background:var(--bg-card);color:var(--accent)}
.cart-item__qty-btn:active{transform:scale(.9)}
.cart-item__qty-input{
  width:34px;
  text-align:center;border:none;background:transparent;
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-bold);
  color:var(--ink);
  font-feature-settings:'tnum';
  -moz-appearance:textfield;
}
.cart-item__qty-input::-webkit-outer-spin-button,
.cart-item__qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cart-item__qty-input:focus{outline:none}

.cart-item__total{
  font-family:var(--ff-heading);
  font-size:15px;font-weight:var(--fw-extrabold);
  color:var(--ink);
  font-feature-settings:'tnum';
  letter-spacing:-.02em;
  min-width:100px;
  text-align:right;
  white-space:nowrap;
}

.cart-item__remove{
  width:32px;height:32px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  color:var(--muted-light);
  border-radius:50%;
  transition:background var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out),
             transform var(--t-fast) var(--ease-spring);
}
.cart-item__remove .icon{width:14px;height:14px}
.cart-item__remove:hover{
  background:var(--danger-soft);color:var(--danger);
  transform:rotate(90deg);
}

@media(max-width:767px){
  .cart-item{
    grid-template-columns:64px 1fr 32px;
    grid-template-areas:
      "thumb body remove"
      "thumb qty total";
    gap:10px 14px;
    padding:14px 16px;
  }
  .cart-item__thumb{grid-area:thumb;width:64px;height:64px}
  .cart-item__body{grid-area:body}
  .cart-item__qty{grid-area:qty;justify-self:start}
  .cart-item__total{grid-area:total;justify-self:end;font-size:14px;min-width:auto}
  .cart-item__remove{grid-area:remove}
  .cart-item__title{font-size:13.5px}
  .cart-item__meta{gap:10px;font-size:11.5px}
}

/* ── Form section ── */
.cart-card--form{padding:0}
.cart-form{
  display:flex;flex-direction:column;gap:var(--space-5);
  padding:24px clamp(20px,2vw,28px) 28px;
}
.cart-form__section{display:flex;flex-direction:column;gap:12px}
.cart-form__section-title{
  font-family:var(--ff-heading);font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--muted);
  margin:0;
}
.cart-form__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:639px){.cart-form__grid{grid-template-columns:1fr}}

/* Input — floating label-like */
.cart-input{display:flex;flex-direction:column;gap:4px}
.cart-input--full{grid-column:1 / -1}
.cart-input__label{
  font-family:var(--ff-heading);
  font-size:11px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
}
.cart-input__label small{
  font-weight:var(--fw-medium);
  text-transform:none;letter-spacing:.01em;
  font-size:10.5px;
  margin-left:4px;
  opacity:.8;
}
.cart-input input,
.cart-input textarea{
  width:100%;
  padding:13px 16px;
  background:var(--bg-subtle);
  border:1.5px solid transparent;
  border-radius:12px;
  font-family:var(--ff-body);font-size:14px;
  color:var(--ink);
  resize:vertical;
  transition:border-color var(--t-fast) var(--ease-out),
             background var(--t-fast) var(--ease-out),
             box-shadow var(--t-base) var(--ease-out);
}
.cart-input input::placeholder,
.cart-input textarea::placeholder{color:var(--muted-light);opacity:1}
.cart-input input:hover,
.cart-input textarea:hover{background:#fff;border-color:var(--line-strong)}
.cart-input input:focus,
.cart-input textarea:focus{
  outline:none;
  background:#fff;
  border-color:var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft);
}

/* Radio cards (delivery / payment) */
.cart-radio-cards{display:flex;flex-direction:column;gap:10px}
.cart-radio-cards--compact{gap:8px}
.cart-radio-card{
  position:relative;
  display:block;
  cursor:pointer;
}
.cart-radio-card input{
  position:absolute;opacity:0;pointer-events:none;
}
.cart-radio-card__inner{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;
  background:var(--bg-subtle);
  border:1.5px solid transparent;
  border-radius:14px;
  transition:border-color var(--t-fast) var(--ease-out),
             background var(--t-fast) var(--ease-out),
             box-shadow var(--t-base) var(--ease-out);
  position:relative;
}
.cart-radio-card__inner::before{
  content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;
  border:2px solid var(--line-strong);
  border-radius:50%;
  background:#fff;
  transition:border-color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out);
}
.cart-radio-card__inner::after{
  content:"";position:absolute;right:19px;top:50%;transform:translateY(-50%) scale(0);
  width:8px;height:8px;border-radius:50%;
  background:var(--accent);
  transition:transform var(--t-base) var(--ease-spring);
}
.cart-radio-card:hover .cart-radio-card__inner{
  background:#fff;
  border-color:var(--line-strong);
}
.cart-radio-card input:checked + .cart-radio-card__inner{
  background:#fff;
  border-color:var(--accent);
  box-shadow:0 8px 20px rgba(109,20,24,.08);
}
.cart-radio-card input:checked + .cart-radio-card__inner::before{
  border-color:var(--accent);
}
.cart-radio-card input:checked + .cart-radio-card__inner::after{
  transform:translateY(-50%) scale(1);
}
.cart-radio-card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--accent);
  flex-shrink:0;
  transition:background var(--t-fast) var(--ease-out),transform var(--t-base) var(--ease-spring);
}
.cart-radio-card__icon .icon{width:18px;height:18px}
.cart-radio-card input:checked + .cart-radio-card__inner .cart-radio-card__icon{
  background:var(--accent-gradient);
  border-color:transparent;
  color:#fff;
  transform:rotate(-6deg);
}
.cart-radio-card__body{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:2px;
  padding-right:30px; /* место для радио-индикатора справа */
}
.cart-radio-card__title{
  font-family:var(--ff-heading);font-size:13.5px;font-weight:var(--fw-bold);
  color:var(--ink);
  letter-spacing:.005em;
}
.cart-radio-card__desc{
  font-size:12px;color:var(--muted);line-height:1.4;
}
.cart-radio-card__price{
  font-family:var(--ff-heading);
  font-size:13px;font-weight:var(--fw-bold);
  color:var(--accent);
  font-feature-settings:'tnum';
  white-space:nowrap;
  margin-right:30px; /* отступ от радио-индикатора */
}

/* Consent checkbox */
.cart-consent{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px;
  background:var(--bg-subtle);
  border-radius:10px;
  cursor:pointer;
  transition:background var(--t-fast) var(--ease-out);
}
.cart-consent:hover{background:#f0eae8}
.cart-consent input{
  position:absolute;opacity:0;pointer-events:none;
}
.cart-consent__box{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;
  background:#fff;
  border:1.5px solid var(--line-strong);
  border-radius:6px;
  flex-shrink:0;margin-top:1px;
  color:transparent;
  transition:background var(--t-fast) var(--ease-out),
             border-color var(--t-fast) var(--ease-out),
             color var(--t-base) var(--ease-out);
}
.cart-consent__box .icon{width:14px;height:14px;stroke-width:2.5}
.cart-consent input:checked + .cart-consent__box{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.cart-consent__text{
  font-size:12.5px;line-height:1.45;color:var(--ink-secondary);
}
.cart-consent__text a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.cart-consent__text a:hover{text-decoration:none}

/* ── Sticky summary ── */
.cart-grid__aside{
  position:sticky;
  top:calc(var(--header-h) + var(--quicknav-h) + var(--space-3));
  align-self:start;
}
@media(max-width:1023px){.cart-grid__aside{position:static}}

.cart-summary{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(20,20,20,.06),0 4px 12px rgba(109,20,24,.04);
  overflow:hidden;
}
.cart-summary__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:20px clamp(20px,2vw,24px) 14px;
}
.cart-summary__title{
  font-family:var(--ff-heading);font-size:var(--fs-md);font-weight:var(--fw-extrabold);
  color:var(--ink);margin:0;letter-spacing:-.005em;
}
.cart-summary__count{
  font-family:var(--ff-heading);font-size:11.5px;font-weight:var(--fw-semibold);
  color:var(--muted);
}

/* Mini items list */
.cart-summary__items{
  list-style:none;margin:0;padding:0 clamp(20px,2vw,24px);
  display:flex;flex-direction:column;gap:10px;
  max-height:240px;overflow-y:auto;
  scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;
  padding-bottom:14px;
  border-bottom:1px dashed var(--line-strong);
}
.cart-summary__items::-webkit-scrollbar{width:4px}
.cart-summary__items::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}
.cart-summary__item{
  display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;
}
.cart-summary__item-img{
  width:36px;height:36px;
  object-fit:contain;padding:3px;
  background:var(--bg-subtle);
  border-radius:8px;
}
.cart-summary__item-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.cart-summary__item-title{
  font-family:var(--ff-heading);font-size:11.5px;font-weight:var(--fw-semibold);
  color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cart-summary__item-meta{
  font-size:11px;color:var(--muted);
  font-feature-settings:'tnum';
}
.cart-summary__item-total{
  font-family:var(--ff-heading);font-size:12.5px;font-weight:var(--fw-bold);
  color:var(--ink);font-feature-settings:'tnum';
  white-space:nowrap;
}

/* Summary lines */
.cart-summary__lines{
  margin:0;padding:14px clamp(20px,2vw,24px) 0;
  display:flex;flex-direction:column;gap:8px;
}
.cart-summary__line{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.cart-summary__line dt{
  font-size:13px;color:var(--muted);
  font-weight:var(--fw-medium);
  margin:0;
}
.cart-summary__line dd{
  font-family:var(--ff-heading);font-size:13.5px;font-weight:var(--fw-bold);
  color:var(--ink);
  font-feature-settings:'tnum';
  margin:0;
}
.cart-summary__line--surcharge dd{color:var(--warning)}

.cart-summary__total{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px clamp(20px,2vw,24px);
  margin-top:14px;
  background:linear-gradient(135deg, var(--accent-soft) 0%, rgba(109,20,24,.02) 100%);
  border-top:1px solid var(--accent-soft);
  border-bottom:1px solid var(--accent-soft);
}
.cart-summary__total-label{
  font-family:var(--ff-heading);font-size:13px;font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
}
.cart-summary__total-value{
  font-family:var(--ff-heading);
  font-size:1.7rem;font-weight:var(--fw-extrabold);
  color:var(--ink);
  letter-spacing:-.025em;
  font-feature-settings:'tnum';
  line-height:1;
}

.cart-summary__installment{
  display:flex;align-items:center;gap:10px;
  padding:12px clamp(20px,2vw,24px);
  font-size:12.5px;color:var(--ink-secondary);
  border-bottom:1px solid var(--line);
  transition:background var(--t-base) var(--ease-out);
}
.cart-summary__installment.is-active{background:var(--accent-soft)}
.cart-summary__installment-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:8px;
  background:var(--accent-soft);color:var(--accent);
  flex-shrink:0;
}
.cart-summary__installment-icon .icon{width:14px;height:14px}
.cart-summary__installment strong{color:var(--accent);font-feature-settings:'tnum'}

/* CTA */
.cart-summary__cta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:18px clamp(20px,2vw,24px) 14px;
  padding:16px 18px;
  background:var(--accent);
  border:none;
  border-radius:14px;
  color:#fff;
  font-family:var(--ff-heading);font-weight:var(--fw-bold);
  letter-spacing:.005em;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(109,20,24,.32),inset 0 1px 0 rgba(255,255,255,.18);
  transition:background var(--t-base) var(--ease-out),
             transform var(--t-fast) var(--ease-spring),
             box-shadow var(--t-base) var(--ease-out);
}
.cart-summary__cta:hover{
  background:linear-gradient(135deg, #7c1a1f 0%, var(--accent) 100%);
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(109,20,24,.42),inset 0 1px 0 rgba(255,255,255,.24);
}
.cart-summary__cta:active{transform:translateY(0) scale(.99)}
.cart-summary__cta:disabled,
.cart-summary__cta.is-loading{
  opacity:.7;cursor:wait;
  transform:none;
}
.cart-summary__cta-label{font-size:15px}
.cart-summary__cta-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;
  background:rgba(255,255,255,.18);
  border-radius:50%;
  transition:transform var(--t-base) var(--ease-spring);
}
.cart-summary__cta-icon .icon{width:14px;height:14px;color:#fff}
.cart-summary__cta:hover .cart-summary__cta-icon{transform:translateX(4px) rotate(-8deg)}

/* Benefits list */
.cart-summary__benefits{
  list-style:none;margin:0;
  padding:0 clamp(20px,2vw,24px) 16px;
  display:flex;flex-direction:column;gap:6px;
}
.cart-summary__benefits li{
  display:flex;align-items:center;gap:10px;
  font-size:12px;color:var(--ink-secondary);
  line-height:1.4;
}
.cart-summary__benefits .icon{width:14px;height:14px;color:var(--accent);flex-shrink:0}

/* Phone */
.cart-summary__phone{
  display:flex;align-items:center;gap:12px;
  padding:14px clamp(20px,2vw,24px);
  border-top:1px solid var(--line);
  background:var(--bg-subtle);
  font-size:12px;color:var(--muted);
  line-height:1.4;
}
.cart-summary__phone .icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.cart-summary__phone strong{
  display:block;color:var(--ink);font-family:var(--ff-heading);
  font-size:13.5px;font-weight:var(--fw-extrabold);
  font-feature-settings:'tnum';
  margin-top:1px;
}
.cart-summary__phone:hover strong{color:var(--accent)}

/* ── Empty state ── */
.cart-empty{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(40px, 6vw, 80px) 24px;
  max-width:560px;margin:0 auto;
}
.cart-empty__visual{
  position:relative;
  width:140px;height:140px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:28px;
}
.cart-empty__icon{
  position:relative;z-index:1;
  width:64px;height:64px;
  color:var(--accent);
}
.cart-empty__halo{
  position:absolute;inset:0;
  border-radius:50%;
  background:radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);
  animation:hero-halo-breathe 4s ease-in-out infinite;
}
.cart-empty h2{
  font-family:var(--ff-heading);
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:var(--fw-extrabold);
  letter-spacing:-.025em;
  margin:0 0 12px;
}
.cart-empty p{
  font-size:var(--fs-base);color:var(--muted);
  line-height:1.55;max-width:46ch;
  margin:0 0 24px;
}
.cart-empty__actions{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
}

/* ── Success state ── */
.cart-success{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:clamp(40px, 6vw, 80px) 24px;
  max-width:560px;margin:0 auto;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  box-shadow:0 24px 60px rgba(20,20,20,.06);
}
.cart-success__check{
  position:relative;
  width:96px;height:96px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:24px;
}
.cart-success__check .icon{
  position:relative;z-index:1;
  width:42px;height:42px;color:#fff;
  background:linear-gradient(135deg, #2ecc71 0%, var(--success) 100%);
  border-radius:50%;padding:18px;box-sizing:content-box;
  box-shadow:0 14px 30px rgba(26,125,69,.32);
  animation:success-pop .5s var(--ease-spring) both;
}
.cart-success__halo{
  position:absolute;inset:-10px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(26,125,69,.18) 0%, transparent 70%);
  animation:hero-halo-breathe 3s ease-in-out infinite;
}
@keyframes success-pop{
  0%{transform:scale(0);opacity:0}
  60%{transform:scale(1.1);opacity:1}
  100%{transform:scale(1);opacity:1}
}
.cart-success__title{
  font-family:var(--ff-heading);
  font-size:clamp(1.6rem,3.2vw,2.2rem);
  font-weight:var(--fw-extrabold);
  letter-spacing:-.025em;
  margin:0 0 6px;
}
.cart-success__sub{
  font-size:var(--fs-base);color:var(--muted);
  margin:0 0 22px;
}
.cart-success__sub strong{
  color:var(--accent);font-family:var(--ff-mono);font-weight:var(--fw-extrabold);
  font-feature-settings:'tnum';
  letter-spacing:.02em;
}
.cart-success__amount{
  display:inline-flex;flex-direction:column;align-items:center;gap:2px;
  padding:14px 28px;
  background:var(--accent-soft);
  border-radius:14px;
  margin-bottom:20px;
}
.cart-success__amount span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:var(--fw-bold)}
.cart-success__amount strong{
  font-family:var(--ff-heading);
  font-size:1.6rem;font-weight:var(--fw-extrabold);
  color:var(--accent);letter-spacing:-.02em;
  font-feature-settings:'tnum';
}
.cart-success__note{
  font-size:var(--fs-sm);color:var(--muted);
  max-width:48ch;margin:0 0 24px;line-height:1.55;
}
.cart-success__actions{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
}

/* ── Shared button utilities for cart ── */
.btn-primary-lumo{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 22px;
  background:var(--accent-gradient);color:#fff;
  border:none;border-radius:14px;
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-bold);
  letter-spacing:.005em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(109,20,24,.28),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-base) var(--ease-out);
}
.btn-primary-lumo .icon{width:16px;height:16px;color:#fff}
.btn-primary-lumo:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(109,20,24,.38)}
.btn-primary-lumo:active{transform:translateY(0) scale(.98)}
.btn-ghost-lumo{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 18px;
  background:transparent;
  border:1.5px solid var(--line-strong);
  border-radius:14px;
  color:var(--ink);
  font-family:var(--ff-heading);font-size:14px;font-weight:var(--fw-semibold);
  cursor:pointer;
  transition:border-color var(--t-fast) var(--ease-out),
             color var(--t-fast) var(--ease-out),
             background var(--t-fast) var(--ease-out);
}
.btn-ghost-lumo .icon{width:16px;height:16px}
.btn-ghost-lumo:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}

/* Empty state */
.empty-state{
  text-align:center;
  padding:var(--space-20) var(--space-8);
}
.empty-state__icon{
  width:120px;height:120px;
  margin:0 auto var(--space-6);
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-subtle);
  border-radius:var(--r-squircle);
}
.empty-state__icon .icon{width:56px;height:56px;color:var(--muted-light)}
.empty-state__title{font-size:var(--fs-xl);margin-bottom:var(--space-2)}
.empty-state__text{color:var(--muted);margin-bottom:var(--space-6)}

/* === FAVORITES PAGE === */
.favorites-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);flex-wrap:wrap;
  margin-bottom:var(--space-6);
}
.favorites-toolbar__left{display:flex;align-items:center;gap:var(--space-3)}
.favorites-toolbar__count{font-size:var(--fs-sm);color:var(--muted)}
.favorites-toolbar__actions{display:flex;gap:var(--space-2)}

.fav-card__meta{
  display:flex;align-items:center;gap:var(--space-2);
  font-size:var(--fs-xs);color:var(--muted-light);
  padding:0 var(--space-4);margin-bottom:var(--space-2);
}
.fav-card__price-change{
  display:inline-flex;align-items:center;gap:var(--space-1);
  padding:.3rem .7rem;
  font-size:var(--fs-sm);font-weight:var(--fw-bold);
  border-radius:var(--r-badge);
}
.fav-card__price-change--down{background:var(--success-soft);color:var(--success)}
.fav-card__price-change--up{background:var(--warning-soft);color:var(--warning)}

/* === COMPARE PAGE === */
.compare-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);flex-wrap:wrap;
  padding:var(--space-6) 0;
}
.compare-toggle{
  display:flex;border:1.5px solid var(--line-strong);
  border-radius:var(--r-pill);overflow:hidden;
}
.compare-toggle__btn{
  padding:var(--space-2) var(--space-5);
  font-size:var(--fs-sm);font-weight:var(--fw-medium);
  transition:all var(--t-fast) var(--ease-out);
}
.compare-toggle__btn.is-active{background:var(--accent);color:#fff}

.compare-products{
  position:sticky;top:var(--header-h);
  background:var(--bg-card);
  border-bottom:1px solid var(--line);
  z-index:var(--z-base);
  padding:var(--space-4) 0;
}
.compare-products__grid{
  display:grid;gap:var(--space-4);
}
.compare-product-card{
  text-align:center;padding:var(--space-4);
  border:1px solid var(--line);border-radius:var(--r-card);
  position:relative;
}
.compare-product-card__remove{
  position:absolute;top:var(--space-2);right:var(--space-2);
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  transition:all var(--t-fast) var(--ease-out);
  color:var(--muted-light);
}
.compare-product-card__remove:hover{background:var(--danger-soft);color:var(--danger)}
.compare-product-card__remove .icon{width:14px;height:14px}
.compare-product-card__img{
  width:100px;height:100px;margin:0 auto var(--space-2);
  display:flex;align-items:center;justify-content:center;
}
.compare-product-card__img img{max-width:100%;max-height:100%;object-fit:contain}
.compare-product-card__name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}
.compare-product-card__price{font-family:var(--ff-mono);font-size:var(--fs-base);font-weight:var(--fw-bold)}

.compare-table{width:100%;border-collapse:separate;border-spacing:0}
.compare-table__group-header td{
  font-family:var(--ff-heading);font-size:var(--fs-sm);font-weight:var(--fw-bold);
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--accent);
  padding:var(--space-5) var(--space-4) var(--space-2);
}
.compare-table td{
  padding:var(--space-3) var(--space-4);
  font-size:var(--fs-sm);
  border-bottom:1px solid var(--line);
  vertical-align:middle;
}
.compare-table tr:nth-child(even) td{background:rgba(0,0,0,.015)}
.compare-table tr:nth-child(odd) td{background:transparent}
.compare-table td:first-child{
  color:var(--muted);font-weight:var(--fw-medium);
  position:sticky;left:0;background:var(--bg);z-index:1;
  min-width:180px;
}
.compare-table tr.is-different td{background:var(--accent-soft)}
.compare-table .compare-best{
  display:inline-flex;align-items:center;gap:var(--space-1);
  padding:.1rem .4rem;
  background:var(--success-soft);color:var(--success);
  border-radius:var(--r-badge);font-weight:var(--fw-semibold);
  font-size:var(--fs-xs);
}

/* Compare radar chart */
.compare-radar{
  display:flex;justify-content:center;
  padding:var(--space-8) 0;
}
.compare-radar svg{max-width:400px;width:100%}

/* Progress bars for numeric comparison */
.compare-bar{
  display:flex;align-items:center;gap:var(--space-2);
}
.compare-bar__track{
  flex:1;height:6px;
  background:var(--bg-subtle);border-radius:var(--r-pill);
  overflow:hidden;
}
.compare-bar__fill{
  height:100%;border-radius:var(--r-pill);
  background:var(--accent-gradient);
  transition:width var(--t-slower) var(--ease-out);
}
.compare-bar__value{
  font-family:var(--ff-mono);font-size:var(--fs-xs);
  color:var(--muted);min-width:48px;text-align:right;
}

/* Placeholder card for adding product */
.compare-add-card{
  border:2px dashed var(--line-strong);
  border-radius:var(--r-card);
  padding:var(--space-8);
  text-align:center;
  cursor:pointer;
  transition:all var(--t-base) var(--ease-out);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);
}
.compare-add-card:hover{border-color:var(--accent);background:var(--accent-soft)}
.compare-add-card .icon{width:32px;height:32px;color:var(--muted)}
.compare-add-card:hover .icon{color:var(--accent)}

/* ============================================================
   DEALS MARQUEE — auto-scrolling promotional strip
   Placed above categories grid. Loops horizontally (cloned track).
   ============================================================ */
.deals-marquee{
  position:relative;
  margin-bottom:var(--space-10);
  padding:var(--space-4) 0;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(251,247,244,.95) 100%);
  border:1px solid var(--line);
  border-radius:var(--r-card);
  box-shadow:0 10px 32px rgba(0,0,0,.05);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.deals-marquee__track{
  display:flex;gap:var(--space-4);
  width:max-content;
  animation:deals-scroll 38s linear infinite;
}
.deals-marquee:hover .deals-marquee__track{animation-play-state:paused}
@keyframes deals-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - var(--space-4) / 2))}
}
.deal-card{
  flex:0 0 auto;
  display:inline-flex;align-items:center;gap:14px;
  padding:10px 18px 10px 10px;
  background:#fff;
  border-radius:var(--r-pill);
  border:1px solid var(--line);
  box-shadow:0 4px 14px rgba(0,0,0,.04);
  transition:all var(--t-base) var(--ease-out);
  text-decoration:none;color:var(--ink);
  min-width:300px;
}
.deal-card:hover{
  transform:translateY(-3px);
  border-color:var(--accent);
  box-shadow:0 12px 32px rgba(109,20,24,.14);
}
.deal-card__icon{
  width:44px;height:44px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:var(--accent-gradient);color:#fff;
  box-shadow:0 6px 14px rgba(109,20,24,.25);
}
.deal-card__icon .icon{width:22px;height:22px}
.deal-card__body{display:flex;flex-direction:column;gap:1px;line-height:1.2}
.deal-card__tag{
  font-family:var(--ff-mono,ui-monospace,monospace);
  font-size:10px;font-weight:var(--fw-bold);
  color:var(--accent);text-transform:uppercase;letter-spacing:.14em;
}
.deal-card__title{
  font-family:var(--ff-heading);font-weight:var(--fw-bold);
  font-size:var(--fs-sm);color:var(--ink);letter-spacing:-.01em;
}
.deal-card--alt .deal-card__icon{
  background:linear-gradient(135deg,#ffd166,#f8a93a);color:#2a1010;
  box-shadow:0 6px 14px rgba(248,169,58,.35);
}
.deal-card--alt2 .deal-card__icon{
  background:linear-gradient(135deg,#2a1010,#6d1418);color:#fff;
}
.deal-card--alt3 .deal-card__icon{
  background:linear-gradient(135deg,#34a853,#1e8b3a);color:#fff;
  box-shadow:0 6px 14px rgba(52,168,83,.3);
}

