/* Green Power — tokens & base */
:root {

  --bg:#FFFFFF;

  --bg-2:#F6F4EE;

  --bg-3:#FFFFFF;

  --ink:#22372B;

  --ink-2:#3E5C3A;

  --muted:#7F8074;

  --coral:#7abb26;

  --coral-2:#a8e855;

  --beige:#CEA074;

  --line:rgba(34,55,43,.12);

  --line-2:rgba(34,55,43,.22);

  --r-sm:12px;

  --r-md:20px;

  --r-lg:28px;

  --r-xl:40px;

  --shadow-sm:0 1px 2px rgba(34,55,43,.06);

  --shadow-md:0 6px 24px rgba(34,55,43,.08);

  --shadow-lg:0 20px 60px rgba(34,55,43,.14);

  --container:1280px;


}

* {
  box-sizing:border-box
  }

*:focus,*:focus-visible {
  outline:none!important;
  box-shadow:none!important
  }

button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent
  }

html{scroll-behavior:smooth}
html,body {
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.5;
  font-feature-settings:"ss01","cv11"
  }

body {
  overflow-x:hidden
  }

img {
  max-width:100%;
  display:block
  }

a {
  color:inherit;
  text-decoration:none
  }

button {
  font-family:inherit;
  cursor:pointer;
  border:none;
  background:none;
  color:inherit
  }

.container {
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px
  }

.h1,h1 {
  font-family:'Inter Tight',sans-serif;
  font-weight:700;
  font-size: 34px;
  line-height: 1;
  letter-spacing:-.02em;
  margin:0;
  color:var(--ink)
  }

.h2,h2 {
  font-family:'Inter Tight',sans-serif;
  font-weight:500;
  font-size:clamp(30px,3.2vw,46px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0;
  color:var(--ink)
  }

.h3 {
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  font-size:clamp(22px,2.2vw,30px);
  line-height:1.1;
  letter-spacing:-.01em;
  margin:0;
  color:var(--ink)
  }

.eyebrow {
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted)
  }

.lead {
  font-size:clamp(17px,1.4vw,20px);
  line-height:1.5;
  color:var(--ink-2)
  }

.dim {
  color:var(--muted)
  }

.mono {
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--muted)
  }

section {
  padding:75px 0;
  position:relative
  }

@media(min-width:1440px) {
  :root {
  --container:1400px
  }

  }

@media(min-width:1920px) {
  :root {
  --container:1800px
  }

  }

@media(max-width:720px) {
  section {
  padding:64px 0
  }
  .container {
  padding:0 18px
  }

  }

/* Buttons */
.btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 26px;
  border-radius:999px;
  font-weight:600;
  font-size:15px;
  transition:.2s transform,.2s background,.2s color,.2s box-shadow;
  white-space:nowrap
  }

.btn-primary {
  background:var(--ink);
  color:var(--bg-3)
  }

.btn-primary:hover {
  background:#2f4a3b;
  transform:translateY(-1px);
  box-shadow:var(--shadow-md)
  }

.btn-coral {
  background:var(--coral);
  color:var(--ink)
  }

.btn-coral:hover {
  background:var(--coral-2);
  transform:translateY(-1px);
  box-shadow:var(--shadow-md)
  }

.btn-ghost {
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--line-2)
  }

.btn-ghost:hover {
  background:var(--ink);
  color:var(--bg-3);
  border-color:var(--ink)
  }

.btn-lg {
  padding:20px 32px;
  font-size:16px
  }

.btn .arrow {
  display:inline-flex;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  align-items:center;
  justify-content:center;
  font-size:11px
  }

.btn-ghost .arrow {
  background:var(--ink);
  color:var(--bg-3)
  }

/* Chips */
.chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 14px;
  border-radius:999px;
  background: var(--bg-2);;
  color:var(--ink);
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  transition:.15s;
  white-space:nowrap
  }

.search-chips .chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid var(--line-2);
  background:transparent;
  color:var(--ink);
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  transition:.15s;
  white-space:nowrap
  }

.chip:hover {
  background:var(--ink);
  color:var(--bg-3);
  border-color:var(--ink)
  }

.chip.active {
  background:var(--coral);
  color:var(--bg-3);
  border-color:var(--coral)
  }

.chip.coral.active {
  background:var(--coral);
  border-color:var(--coral)
  }

/* Badges */
.badge-30 {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid var(--line-2);
  background:var(--bg-3);
  font-size:12px;
  font-weight:600;
  color:var(--ink);
  letter-spacing:.02em
  }

.badge-30::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--coral)
  }

/* Cards */
.card {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:24px;
  border:1px solid var(--line)
  }

/* Utility */
.row {
  display:flex;
  gap:16px;
  align-items:center
  }

.grid {
  display:grid;
  gap:20px
  }

.sep {
  height:1px;
  background:var(--line);
  width:100%
  }

.fade {
  opacity:.55
  }

/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar {
  display:none
  }

.no-scrollbar {
  scrollbar-width:none
  }

/* marquee */
@keyframes marquee {
  0% {
  transform:translateX(0)
  }
  100% {
  transform:translateX(-50%)
  }

  }

.marquee {
  display:flex;
  gap:14px;
  width:max-content;
  animation:marquee 60s linear infinite
  }

.marquee.fast {
  animation-duration:40s
  }

.marquee.rev {
  animation-direction:reverse
  }

/* shake for cart */
@keyframes pop {
  0% {
  transform:scale(1)
  }
  40% {
  transform:scale(1.3)
  }
  100% {
  transform:scale(1)
  }

  }

.pop {
  animation:pop .35s ease
  }

/* reveal */
.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease,transform .7s ease
  }

.reveal.in {
  opacity:1;
  transform:none
  }


/* HEADER V2 */
.header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:50;
  padding:22px 0;
  transition:background .25s,backdrop-filter .25s,padding .3s
  }

.header.sticky {
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:none;
  padding:10px 0
  }

.logo-box svg {
  width:84px!important;
  height:82px!important;
  transition:width .3s ease,height .3s ease
  }

.header.sticky .logo-box svg {
  width:44px!important;
  height:42px!important
  }

.header-v2 {
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  gap:40px
  }

.logo-box {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  border-radius:14px;
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  font-size:13px;
  color:var(--ink);
  letter-spacing:.01em
  }

.nav-v2 {
  display:flex;
  gap:32px;
  flex:1;
  justify-content:flex-start
  }

.nav-v2 a {
  font-family:'Inter Tight',sans-serif;
  font-weight:500;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
  position:relative;
  white-space:nowrap
  }

.nav-v2 a:hover {
  color:var(--coral)
  }

.header-right-v2 {
  display:flex;
  align-items:center;
  gap:12px
  }

.header-phone {
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  font-size:14px;
  color:var(--ink);
  letter-spacing:-.01em;
  white-space:nowrap;
  padding:0 10px;
  transition:color .2s
  }

.header-phone:hover {
  color:var(--coral)
  }

@media(max-width:1100px) {
  .header-phone {
  display:none
  }

  }

.icon-btn {
  width:40px;
  height:40px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  transition:.2s
  }

.icon-btn svg {
  width:22px;
  height:22px
  }

.icon-btn:hover {
  background:rgba(34,55,43,.06)
  }

.cart-ghost {
  width:40px;
  height:40px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  color:var(--ink);
  transition:.2s
  }

.cart-ghost:hover {
  background:rgba(34,55,43,.06)
  }

.cart-ghost svg {
  width:22px;
  height:22px
  }

.cart-ghost .count {
  position:absolute;
  top:-4px;
  right:-6px;
  background:var(--ink);
  color:var(--bg-3);
  font-size:10px;
  font-weight:700;
  min-width:20px;
  height:20px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border:2px solid var(--bg)
  }

@media(max-width:820px) {
  .nav-v2 {
  display:none
  }
  .header-v2 {
  padding:0 20px
  }

  }


/* HERO V2 */
.hero-v2 {
  padding-top:120px;
  padding-bottom:80px;
  display:flex;
  align-items:center;
  background:var(--bg-1)
  }

.hero-v2 .container {
  width:100%
  }

.hero-v2-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:stretch
  }

.hero-v2-left {
  display:flex;
  flex-direction:column;
  gap:64px;
  padding-right:20px;
  align-items:center;
  justify-content:center
  }

.bottle-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  width:100%;
  max-width:460px
  }

.bottle-card {
  aspect-ratio:3/4;
  min-width:0;
  background:#EFEBE2;
  background-size:cover;
  background-position:center;
  border-radius:28px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 1px 2px rgba(34,55,43,.04)
  }

.bottle-card:hover {
  transform:translateY(-6px) scale(1.02)
  }

.bottle-card .bc-inner {
  display:none
  }

.bottle-card .bc-photo {
  display:none
  }

.bottle-card::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.18));
  pointer-events:none
  }

.hero-v2-text {
  text-align:center;
  max-width:560px;
  margin:0 auto
  }

.hero-v2-h1 {
  font-family:'Inter Tight',sans-serif;
  font-weight:500;
  font-size:clamp(34px,4.2vw,52px);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0
  }

.hero-v2-sub {
  margin-top:26px;
  font-family:'Inter Tight',sans-serif;
  font-size:17px;
  line-height:1.55;
  color:var(--ink-2)
  }

.hl-100 {
  display:inline-block;
  background:var(--coral);
  color:#fff;
  padding:2px 12px;
  border-radius:999px;
  font-weight:700;
  font-family:'Inter Tight',sans-serif;
  letter-spacing:-.01em;
  transform:translateY(-1px)
  }

.btn-v2 {
  margin-top:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 42px;
  background:transparent;
  border:1.4px solid var(--ink);
  border-radius:999px;
  font-family:'Inter Tight',sans-serif;
  font-weight:500;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  transition:background .25s,color .25s,border-color .25s
  }

.btn-v2:hover {
  background:var(--ink);
  color:var(--bg-3)
  }


.hero-v2-right {
  height:100%;
  min-height:720px
  }

.video-panel {
  width:100%;
  height:100%;
  background:#D6D3CE center/cover no-repeat;
  border-radius:28px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .3s
  }

.video-panel>video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0
  }

.video-panel .video-play {
  position:relative;
  z-index:2;
  transition:transform .4s
  }

.video-panel:hover {
  transform:scale(1.01);
  background:#CFCCC6
  }

.video-panel::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.25),transparent 70%)
  }

.video-play {
  position:relative;
  z-index:2;
  width:96px;
  height:96px;
  border-radius:50%;
  background:rgba(34,55,43,.92);
  color:var(--bg-3);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  transform:scale(.92);
  transition:opacity .3s,transform .3s
  }

.video-play svg {
  width:36px;
  height:36px;
  margin-left:4px
  }

.video-panel:hover .video-play {
  opacity:1;
  transform:scale(1)
  }

.video-caption {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-family:'Inter Tight',sans-serif;
  font-size:13px;
  color:rgba(34,55,43,.55);
  transition:opacity .3s
  }

.video-panel:hover .video-caption {
  opacity:0
  }


@media(max-width:820px) {

  .hero-v2-grid {
    grid-template-columns:1fr;
    gap:40px;
    min-height:auto
    }

  .hero-v2-right {
    min-height:380px;
    aspect-ratio:4/5
    }

  .hero-v2-left {
    gap:40px;
    padding-right:0
    }


}

/* CATALOG */
.catalog-intro {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:end;
  margin-bottom:48px
  }
  
.catalog-intro h2 em {
  color:var(--coral);
  font-style:normal
  }
  
.catalog-intro .fade-line {
  color:var(--coral)
  }
  
.founder-quote {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:28px
  }
  
.founder-quote p {
  margin:0 0 20px;
  font-size:16px;
  line-height:1.55;
  color:var(--ink-2)
  }
  
.founder-sig {
  display:flex;
  gap:14px;
  align-items:center
  }
  
.founder-ph {
  width:64px;
  height:64px;
  border-radius:16px;
  background:url('../img/osn.jpg') center/cover no-repeat;
  flex-shrink:0
  }
#distModal .founder-ph{background-image:url('../img/anna.jpg')}
  
.founder-sig strong {
  display:block;
  font-size:14px;
  font-weight:700
  }
  
.founder-sig span {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:2px
  }
  

.catalog-grid {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:32px;
  align-items:flex-start
  }
  
@media(max-width:900px) {
  .catalog-grid {
  grid-template-columns:1fr
  }
  .catalog-intro {
  grid-template-columns:1fr
  }
  
  }
  
.filters {
  display:flex;
  flex-direction:column;
  gap:22px
  }
  
.filter {
  background:var(--bg-3);
  border-radius:var(--r-md);
  padding:20px
  }
  
.filter h4 {
  margin:0 0 14px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:center
  }
  
.filter h4 button {
  font-size:11px;
  color:var(--muted);
  font-weight:500;
  letter-spacing:0;
  text-transform:none
  }
  
.filter h4 button:hover {
  color:var(--coral)
  }
  
.price-range {
  display:flex;
  justify-content:space-between;
  font-size:13px;
  margin-bottom:10px;
  font-weight:600
  }
  
.price-slider {
  position:relative;
  height:4px;
  background:var(--line);
  border-radius:4px;
  margin:14px 0 6px
  }
  
.price-slider .fill {
  position:absolute;
  top:0;
  bottom:0;
  background:var(--coral);
  border-radius:4px;
  left:5%;
  right:15%
  }
  
.price-slider .knob {
  position:absolute;
  top:50%;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--ink);
  transform:translate(-50%,-50%);
  border:3px solid var(--bg-3);
  box-shadow:0 0 0 1px var(--line)
  }
  
.chips-wrap {
  display:flex;
  flex-wrap:wrap;
  gap:6px
  }
  
.chips-wrap .chip {
  font-size:12px;
  padding:6px 11px
  }
  

.products {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
  }
  
.products-main {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
  }
  
#wl-grid {
  grid-template-columns:repeat(3,1fr)
  }
  
@media(max-width:1100px) {
  .products {
  grid-template-columns:repeat(2,1fr)
  }
  .products-main {
  grid-template-columns:repeat(2,1fr)
  }
  
  }
  

  
.product {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:18px;
  position:relative;
  transition:.25s;
  display:flex;
  flex-direction:column;
  gap:14px
  }
  
.product:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow-md)
  }
  
.product .ph {
  aspect-ratio:1/1;
  border-radius:var(--r-md);
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--coral);
  transition:background .3s
  }
  
.product:hover .ph {
  background:transparent
  }
  .product .ph .bottle {
  height:82%;
  position:relative;
  z-index:1;
  transition:.4s
  }
  
.product .ph .bottle-img {
  height:94%;
  width:auto;
  object-fit:contain
  }
  
.product:hover .ph .bottle {
  transform:scale(1.04)
  }
  
.product .ph .noise {
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.03) 0 2px,transparent 2px 8px);
  mix-blend-mode:multiply
  }
  
.product .fav {
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--bg-3);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border:1px solid var(--line);
  z-index:12;
  opacity:0;
  transition:opacity .2s,background .15s
  }
  
.product:hover .fav {
  opacity:1
  }
  
.product .fav.active {
  opacity:1
  }
  
.product .fav:hover {
  background:var(--bg)
  }
  
.product .fav.active svg {
  fill:var(--coral);
  stroke:var(--coral)
  }
  
.product .num {
  display:none
  }
  
.product .vol-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 16px 10px 20px;
  background:var(--bg);
  border-radius:999px;
  border:1px solid var(--line);
  transition:.2s;
  cursor:pointer;
  touch-action:manipulation;
  width:100%;
  font-family:inherit;
  text-align:left;
  -webkit-appearance:none;
  appearance:none
  }
  
.product .vol-row:hover {
  background:var(--bg-3);
  border-color:var(--coral);
  box-shadow:var(--shadow-sm)
  }
  
.product .vol-row:hover .add-mini {
  background:var(--coral);
  color:var(--ink);
  transform:rotate(90deg)
  }
  
.product .vol-row .vol-label {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.01em
  }
  
.product .vol-row .vol-price {
  font-family:'Inter Tight',sans-serif;
  font-size:16px;
  font-weight:700;
  color:var(--coral);
  margin-left:8px
  }
  
.product .vol-row .add-mini {
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--ink);
  color:var(--bg-3);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
  flex-shrink:0;
  pointer-events:none
  }
  
.product .vol-row .add-mini svg {
  width:16px;
  height:16px
  }
  
.product .vol-row .add-mini.loading {
  background:var(--coral)
  }
  
.product .vol-row .add-mini.loading svg {
  display:none
  }
  
.product .vol-row .add-mini.loading::after {
  content:'';
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .6s linear infinite
  }
  
@keyframes spin {
  to {
  transform:rotate(360deg)
  }
  
  }
  
.product .vol-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto
  }
  
.product .eyebrow-sm {
  font-family:'Inter Tight',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--coral);
  margin-bottom:-8px;
  margin-top:5px
  }
  
.product h3 {
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:700;
  margin:0;
  letter-spacing:-.02em;
  line-height:1.1
  }
  
.product .desc {
  font-size:13px;
  line-height:1.45;
  color:var(--ink-2);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
  }
  
.product .tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px
  }
  
.product .tags span {
  font-size:11px;
  background:#f7f8f8;
  padding:5px 11px;
  border-radius:999px;
  color:var(--ink);
  letter-spacing:0;
  font-family:'Inter Tight',sans-serif;
  font-weight:500
  }
  
.product .tags .tag-more {
  background:transparent;
  color:var(--muted);
  padding:5px 8px;
  text-decoration:underline;
  text-decoration-color:rgba(34,55,43,.2);
  text-underline-offset:3px;
  cursor:pointer;
  transition:.2s
  }
  
.product .tags .tag-more:hover {
  color:var(--coral);
  text-decoration-color:currentColor
  }
  
.product .vol-sel {
  display:flex;
  gap:6px;
  background:var(--bg);
  border-radius:999px;
  padding:4px;
  width:fit-content;
  border:1px solid var(--line)
  }
  
.product .vol-sel button {
  font-size:12px;
  font-weight:600;
  padding:6px 12px;
  border-radius:999px;
  color:var(--muted);
  transition:.15s
  }
  
.product .vol-sel button.active {
  background:var(--ink);
  color:var(--bg-3)
  }
  
.product .foot {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:auto
  }
  
.product .price {
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:600;
  letter-spacing:-.01em
  }
  
.product .add {
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--ink);
  color:var(--bg-3);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s
  }
  
.product .add:hover {
  background:var(--coral);
  transform:rotate(90deg)
  }
  
.product .add svg {
  width:18px;
  height:18px
  }
  

/* TAG CLOUD */
.tag-cloud {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:40px
  }
  
.tag-cloud .tag {
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:12px 18px;
  background:var(--bg-3);
  border-radius:999px;
  border:1px solid var(--line);
  font-weight:500;
  font-size:15px;
  transition:.2s
  }
  
.tag-cloud .tag:hover {
  background:var(--ink);
  color:var(--bg-3);
  transform:translateY(-2px)
  }
  
.tag-cloud .tag .ico {
  font-size:18px
  }
  

/* QUOTE divider */
.quote-big {
  padding:80px 0 40px;
  text-align:center
  }
  
.quote-big .q {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(28px,3.8vw,52px);
  line-height:1.1;
  font-weight:500;
  letter-spacing:-.02em;
  max-width:1000px;
  margin:0 auto;
  color:var(--ink)
  }
  
.quote-big .q em {
  color:var(--coral);
  font-style:normal
  }
  

/* ADVANTAGES */
.adv-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:48px
  }
  
@media(max-width:980px) {
  .adv-grid {
  grid-template-columns:repeat(2,1fr)
  }
  
  }
  
@media(max-width:560px) {
  .adv-grid {
  grid-template-columns:1fr
  }
  
  }
  
.adv {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:26px;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:280px;
  transition:.2s
  }
  
.adv:hover {
  background:var(--ink);
  color:var(--bg-3)
  }
  
.adv:hover h4,.adv:hover p {
  color:inherit
  }
  
.adv:hover .adv-num {
  background:var(--coral);
  color:var(--ink)
  }
  
.adv-num {
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:700;
  transition:.2s
  }
  
.adv h4 {
  font-family:'Inter Tight',sans-serif;
  font-size:19px;
  font-weight:600;
  margin:0;
  letter-spacing:-.01em;
  line-height:1.2
  }
  
.adv p {
  font-size:14px;
  line-height:1.5;
  color:var(--ink-2);
  margin:0
  }
  

.big-num {
  display:flex;
  align-items:baseline;
  gap:16px;
  margin-top:48px;
  padding:32px;
  background:var(--ink);
  color:var(--bg-3);
  border-radius:var(--r-lg)
  }
  
.big-num .num {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(60px,9vw,140px);
  font-weight:700;
  line-height:.9;
  color:var(--coral);
  letter-spacing:-.04em
  }
  
.big-num .txt {
  font-size:17px;
  line-height:1.4;
  max-width:400px
  }
  

/* TECH STEPS */
.tech {
  background:var(--ink);
  color:var(--bg-3);
  border-radius:var(--r-xl);
  padding:60px 40px;
  margin-top:40px;
  position:relative;
  overflow:hidden
  }
  
.tech h2 {
  color:var(--bg-3)
  }
  
.tech-eyebrow {
  color:var(--coral)
  }
  
.tech-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-top:48px
  }
  
@media(max-width:900px) {
  .tech-steps {
  grid-template-columns:repeat(2,1fr)
  }
  
  }
  
@media(max-width:560px) {
  .tech-steps {
  grid-template-columns:1fr
  }
  
  }
  
.tech-step {
  background:var(--ink);
  padding:28px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:220px;
  transition:.2s;
  border:1px solid rgba(255,255,255,.06);
  border-radius:24px
  }
  
.tech-step:hover {
  background:#1a2d22
  }
  
.tech-step .n {
  font-family:'Inter Tight',sans-serif;
  font-size:38px;
  font-weight:700;
  color:var(--coral);
  letter-spacing:-.03em;
  line-height:1
  }
  
.tech-step h4 {
  font-family:'Inter Tight',sans-serif;
  font-size:17px;
  font-weight:600;
  margin:0;
  line-height:1.2;
  color:var(--bg-3)
  }
  
.tech-step p {
  font-size:13px;
  line-height:1.5;
  color:rgba(243,238,227,.7);
  margin:0
  }
  
.tech-final {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:40px;
  margin-top:48px;
  align-items:center
  }
  
@media(max-width:900px) {
  .tech-final {
  grid-template-columns:1fr
  }
  
  }
  
.tech-final h3 {
  color:var(--bg-3);
  font-size:30px
  }
  
.tech-final ul {
  list-style:none;
  padding:0;
  margin:20px 0 0;
  display:flex;
  flex-direction:column;
  gap:10px
  }
  
.tech-final li {
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border-radius:12px;
  font-size:15px;
  display:flex;
  gap:12px;
  align-items:center
  }
  
.tech-final li::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--coral);
  flex-shrink:0
  }
  
.tech-big {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(80px,14vw,100px);
  font-weight:700;
  color:var(--coral);
  letter-spacing:-.05em;
  line-height:.85
  }
  
.tech-big .sm {
  font-size:.25em;
  color:rgba(243,238,227,.65);
  display:block;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:8px;
  font-weight:500
  }
  

/* VIDEO */
.video-blk {
  background:var(--bg-3);
  border-radius:var(--r-xl);
  overflow:hidden;
  margin-top:40px;
  position:relative;
  aspect-ratio:16/8;
  background:linear-gradient(135deg,#3E5C3A 0%,#22372B 100%);
  display:flex;
  align-items:center;
  justify-content:center
  }
  
.video-blk::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 2px,transparent 2px 8px)
  }
  
.video-blk .play {
  width:88px;
  height:88px;
  border-radius:50%;
  background:var(--coral);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
  transition:.2s;
  cursor:pointer
  }
  
.video-blk .play:hover {
  transform:scale(1.08)
  }
  
.video-blk .play svg {
  width:30px;
  height:30px;
  margin-left:4px
  }
  
.video-blk .label {
  position:absolute;
  top:24px;
  left:24px;
  color:var(--bg-3);
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.8
  }
  
.video-blk .duration {
  position:absolute;
  bottom:24px;
  right:24px;
  color:var(--bg-3);
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:500;
  background:rgba(0,0,0,.3);
  padding:6px 12px;
  border-radius:999px
  }
  

/* INVITATION */
.invite {
  background:linear-gradient(135deg,#22372B 0%,#1a2d22 100%);
  color:var(--bg-3);
  border-radius:var(--r-xl);
  padding:64px 48px;
  margin-top:40px;
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:40px;
  align-items:center;
  position:relative;
  overflow:hidden
  }
  
@media(max-width:900px) {
  .invite {
  grid-template-columns:1fr;
  padding:40px 28px
  }
  
  }
  
.invite::before {
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:400px;
  height:400px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(206,160,116,.18),transparent 70%)
  }
  
.invite h2 {
  color:var(--bg-3);
  max-width:600px;
  position:relative
  }
  
.invite p {
  color:rgba(243,238,227,.75);
  margin:20px 0 28px;
  line-height:1.55;
  position:relative;
  max-width:500px
  }
  
.invite .cta-wrap {
  position:relative;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center
  }
  
.invite .cta-wrap .btn-coral {
  padding:20px 28px;
  font-size:15px
  }
  
.invite-side {
  position:relative;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);
  padding:28px;
  backdrop-filter:blur(10px)
  }
  
.invite-side .ph {
  aspect-ratio:4/5;
  border-radius:var(--r-md);
  background:linear-gradient(180deg,#4a6d4a,#22372B);
  margin-bottom:16px;
  position:relative;
  overflow:hidden
  }
  
.invite-side .ph::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.3))
  }
  
.invite-side .ph::before {
  content:"основатель";
  position:absolute;
  bottom:12px;
  left:12px;
  font-family:ui-monospace,monospace;
  font-size:10px;
  color:rgba(255,255,255,.5);
  letter-spacing:.04em;
  z-index:1
  }
  
.invite-side strong {
  display:block;
  font-family:'Inter Tight',sans-serif;
  font-size:17px
  }
  
.invite-side span {
  display:block;
  font-size:13px;
  color:rgba(243,238,227,.55);
  margin-top:3px
  }
  

/* JOURNAL */
.journal-head {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:40px;
  margin-bottom:40px;
  align-items:end
  }
  
@media(max-width:900px) {
  .journal-head {
  grid-template-columns:1fr
  }
  
  }
  
.journal-head p {
  max-width:500px;
  color:var(--ink-2);
  font-size:16px;
  line-height:1.5
  }
  
.journal-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
  }
  
@media(max-width:1000px) {
  .journal-grid {
  grid-template-columns:repeat(2,1fr)
  }
  
  }
  
@media(max-width:600px) {
  .journal-grid {
  grid-template-columns:1fr
  }
  
  }
  
.article {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line);
  transition:.2s;
  display:flex;
  flex-direction:column
  }
  
.article:hover {
  transform:translateY(-3px);
  box-shadow:var(--shadow-md)
  }
  
.article-img {
  aspect-ratio:4/3;
  position:relative;
  background:url('../img/photo-5.jpg') center/cover no-repeat
  }
  
.article-img.v2 {
  background:url('../img/photo-6.jpg') center/cover no-repeat
  }
  
.article-img.v3 {
  background:url('../img/photo-8.jpg') center/cover no-repeat
  }
  
.article-img.v4 {
  background:url('../img/photo-1.jpg') center/cover no-repeat
  }
  
.article-img::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.18))
  }
  
.article-img .tag {
  position:absolute;
  top:14px;
  left:14px;
  padding:6px 12px;
  background:var(--bg-3);
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em
  }
  
.article-body {
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:14px;
  flex:1
  }
  
.article-body .lead {
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
  letter-spacing:.02em
  }
  
.article-body h3 {
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:600;
  line-height:1.2;
  margin:0;
  letter-spacing:-.01em
  }
  
.article-body .read {
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:12px;
  color:var(--muted)
  }
  

/* RECIPES */
.recipes {
  background:var(--bg-3);
  border-radius:var(--r-xl);
  padding:64px 48px;
  margin-top:40px;
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:40px;
  align-items:center
  }
  
@media(max-width:900px) {
  .recipes {
  grid-template-columns:1fr;
  padding:40px 28px
  }
  
  }
  
.recipes-img-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px
  }
  
.recipes-img-grid .r {
  aspect-ratio:1/1;
  border-radius:var(--r-md);
  position:relative;
  overflow:hidden
  }
  
.recipes-img-grid .r:nth-child(1) {
  background:url('../img/photo-3.jpg') center/cover no-repeat
  }
  
.recipes-img-grid .r:nth-child(2) {
  background:url('../img/photo-2.jpg') center/cover no-repeat;
  grid-row:span 2
  }
  
.recipes-img-grid .r:nth-child(3) {
  background:url('../img/photo-9.jpg') center/cover no-repeat
  }
  
.recipes-img-grid .r:nth-child(4) {
  background:url('../img/photo-4.jpg') center/cover no-repeat
  }
  
.recipes-img-grid .r:nth-child(5) {
  background:url('../img/photo-8.jpg') center/cover no-repeat
  }
  
.recipes-img-grid .r::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.25))
  }
  
.recipes-img-grid .r .caption {
  position:absolute;
  bottom:10px;
  left:10px;
  font-family:ui-monospace,monospace;
  font-size:9px;
  color:rgba(255,255,255,.8);
  letter-spacing:.04em
  }
  

/* SLIDER quote */
.slider-quote {
  padding:80px 0;
  text-align:center;
  background:var(--ink);
  color:var(--bg-3);
  border-radius:var(--r-xl);
  margin-top:40px;
  position:relative;
  overflow:hidden
  }
  
.slider-quote::before {
  content:"";
  position:absolute;
  top:-120px;
  left:50%;
  transform:translateX(-50%);
  width:500px;
  height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(184,194,80,.12),transparent 70%)
  }
  
.slider-quote .q {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(26px,3.6vw,48px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.02em;
  max-width:1000px;
  margin:0 auto;
  padding:0 24px;
  position:relative
  }
  
.slider-quote .q em {
  color:var(--coral);
  font-style:normal
  }
  
.slider-quote .mark {
  margin:0 auto 28px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--coral);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Inter Tight',sans-serif;
  font-size:32px;
  line-height:1
  }


  @media(max-width:640px) {

  .product .desc {
    font-size: 12px;
  }
  .products-main, .products {
  grid-template-columns:repeat(2,1fr);
  gap:6px
  }
  .vol-main-price {
  display:flex;
  flex-direction:column
  }
  .product .vol-row .vol-price {
  margin-left:0
  }
  .product .vol-row .vol-label {
  font-size:12px
  }
  .product h3 {
  font-size:18px
  }
  .product .vol-row .vol-price {
  font-size:15px
  }
  .product .vol-row {
  gap:5px;
  padding:10px 12px 10px 16px
  }
  .product {
  padding:12px
  }
  
  }
  

/* NUTRITIONIST */
.nutri {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:40px;
  align-items:center;
  margin-top:40px;
  padding:48px;
  background:var(--bg-3);
  border-radius:var(--r-xl);
  border:1px solid var(--line)
  }
  
@media(max-width:700px) {
  .nutri {
  grid-template-columns:1fr;
  padding:32px 24px
  }
  
  }
  
.nutri-ph {
  aspect-ratio:1/1;
  border-radius:50%;
  background:linear-gradient(135deg,#CEA074,#8f6a40);
  position:relative;
  overflow:hidden;
  max-width:260px
  }
  
.nutri-ph::after {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 8px)
  }
  
.nutri-ph::before {
  content:"нутрициолог";
  position:absolute;
  bottom:20px;
  left:20px;
  font-family:ui-monospace,monospace;
  font-size:10px;
  color:rgba(255,255,255,.7);
  letter-spacing:.04em;
  z-index:1
  }
  
.nutri q {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(20px,2.2vw,28px);
  font-weight:400;
  line-height:1.3;
  color:var(--ink);
  display:block;
  letter-spacing:-.01em;
  quotes:"«" "»"
  }
  
.nutri .sig {
  margin-top:24px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px
  }
  
.nutri .sig strong {
  font-weight:700
  }
  
.nutri .sig span {
  color:var(--muted)
  }
  

/* DIST MODAL */
.dist-modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px
  }
  
.dist-modal.open {
  display:flex
  }
  
.dist-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(34,55,43,.6);
  backdrop-filter:blur(4px);
  animation:fadeIn .25s ease
  }
  
.dist-modal-body {
  position:relative;
  width:100%;
  max-width:1100px;
  max-height:92vh;
  overflow-y:auto;
  border-radius:var(--r-xl);
  animation:distPop .3s cubic-bezier(.4,0,.2,1)
  }
  
.dist-modal-body .dist {
  margin-top:0
  }
  
.dist-modal-close {
  position:absolute;
  top:20px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
  transition:.2s
  }
  
.dist-modal-close:hover {
  background:#fff;
  transform:rotate(90deg)
  }
  
.dist-modal-close svg {
  width:20px;
  height:20px
  }
  
@keyframes fadeIn {
  from {
  opacity:0
  }
  to {
  opacity:1
  }
  
  }
  
@keyframes distPop {
  from {
  opacity:0;
  transform:translateY(20px) scale(.97)
  }
  to {
  opacity:1;
  transform:translateY(0) scale(1)
  }
  
  }
  
body.dist-open {
  overflow:hidden
  }
  

/* DISTRIBUTORS */
.dist {
  background:linear-gradient(135deg,#CEA074 0%,#b88a5e 100%);
  border-radius:var(--r-xl);
  padding:64px 48px;
  margin-top:40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  color:var(--ink);
  position:relative;
  overflow:hidden
  }
  
@media(max-width:900px) {
  .dist {
  grid-template-columns:1fr;
  padding:40px 28px
  }
  
  }
  
.dist h2 {
  max-width:500px
  }
  
.dist .quote {
  margin-top:28px;
  padding:24px;
  background:rgba(255,255,255,.25);
  border-radius:var(--r-md);
  backdrop-filter:blur(10px)
  }
  
.dist .quote p {
  font-size:14px;
  line-height:1.55;
  margin:0 0 16px
  }
  
.dist-form {
  background:linear-gradient(135deg,#00000070 0%,#0000004d 100%);
  color:var(--bg-3);
  border-radius:var(--r-lg);
  padding:32px
  }
  
.dist-form h3 {
  color:var(--bg-3);
  font-size:22px;
  margin:0 0 20px;
  font-family:'Inter Tight',sans-serif;
  font-weight:600
  }
  
.dist-form .field {
  margin-bottom:16px
  }
  
.dist-form input[type=text],.dist-form input[type=tel],.dist-form input[type=email],.dist-form textarea {
  width:100%;
  padding:14px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);
  color:var(--bg-3);
  font-family:inherit;
  font-size:14px;
  outline:none;
  transition:.15s
  }
  
.dist-form textarea {
  width:100%;
  min-height:90px;
  padding:14px 18px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);
  color:var(--bg-3);
  font-family:inherit;
  font-size:14px;
  outline:none;
  resize:vertical;
  transition:.15s
  }

.dist-form input:focus {
  border-color:var(--coral);
  background:rgba(255,255,255,.08)
  }
  
.dist-form input::placeholder,.dist-form textarea::placeholder {
  color:rgba(243,238,227,.4)
  }
  
.dist-form .check {
  display:flex;
  gap:10px;
  align-items:start;
  font-size:12px;
  color:rgba(243,238,227,.6);
  margin-top:12px;
  line-height:1.4;
  cursor:pointer
  }
  
.dist-form .check input {
  width:16px;
  height:16px;
  accent-color:var(--coral);
  flex-shrink:0;
  margin-top:1px
  }
  
.dist-form .btn {
  width:100%;
  justify-content:center;
  margin-top:16px
  }
  
.dist-form .success {
  color:#ffffff;
  padding:0;
  border-radius:var(--r-md);
  margin-top:0;
  display:none
  }
  
.dist-form.sent .form-inner {
  display:none
  }
  
.dist-form.sent .success {
  display:block
  }
  
.dist-form .success strong {
  display:block;
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  margin-bottom:6px
  }
  

/* TELEGRAM */
.tg {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:40px;
  margin-top:0;
  padding:48px;
  background:var(--bg-3);
  border-radius:var(--r-xl);
  align-items:start;
  position:relative
  }
  
@media(max-width:900px) {
  .tg {
  grid-template-columns:1fr;
  padding:32px 24px
  }
  
  }
  
.tg-head h2 {
  margin-bottom:16px
  }
  
.tg-head .tg-handle {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 18px;
  background:var(--bg-3);
  border-radius:999px;
  font-weight:600;
  font-size:14px;
  border:1px solid var(--line);
  margin-top:16px
  }
  
.tg-posts {
  display:grid;
  gap:14px
  }
  
.tg-post {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:22px;
  border:1px solid var(--line);
  display:grid;
  grid-template-columns:56px 1fr;
  gap:16px;
  align-items:start
  }
  
.tg-post .avatar {
  width:56px;
  height:56px;
  border-radius:50%;
  background:linear-gradient(135deg,#22372B,#4a6d4a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--coral);
  font-family:'Inter Tight',sans-serif;
  font-weight:700;
  font-size:17px
  }
  
.tg-post .head {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px
  }
  
.tg-post .head strong {
  color:var(--ink);
  font-size:13px;
  font-weight:700
  }
  
.tg-post p {
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:var(--ink-2)
  }
  
.tg-post p .more {
  color:var(--coral);
  font-weight:600;
  cursor:pointer
  }
  
.tg-post .meta {
  display:flex;
  gap:16px;
  margin-top:12px;
  font-size:12px;
  color:var(--muted);
  align-items:center
  }
  
.tg-post .meta span {
  display:inline-flex;
  align-items:center;
  gap:5px
  }
  

/* FOOTER */
footer {
  background:#ede9df;
  color:var(--bg-3);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  padding:30px 48px 32px;
  margin-top:60px
  }
  
@media(max-width:720px) {
  footer {
  padding:40px 24px 24px
  }
  
  }
  
.footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px
  }
  
@media(max-width:900px) {
  .footer-grid {
  grid-template-columns:1fr 1fr;
  gap:32px
  }
  
  }
  
@media(max-width:520px) {
  .footer-grid {
  grid-template-columns:1fr
  }
  
  }
  
.footer-grid h5 {
  font-family:'Inter Tight',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--coral);
  margin:0 0 16px
  }
  
.footer-grid ul {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:14px;
  color:rgba(243,238,227,.7)
  }
  
.footer-grid ul a {
  transition:.15s
  }
  
.footer-grid ul a:hover {
  color:var(--bg-3)
  }
  
.footer-logo {
  display:flex;
  align-items:center;
  gap:12px;
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:14px
  }
  
.footer-logo svg {
  width:42px;
  height:42px
  }
  
.footer-logo svg path[fill="#22372B"], .footer-logo svg path[fill="#7F8074"] {
  fill:#CEA074 !important
  }
  
.footer-logo svg path[fill="#CEA074"] {
  fill:#F3EEE3 !important
  }
  
.footer-grid .tag-line {
  color:rgba(243,238,227,.55);
  font-size:13px;
  max-width:280px;
  line-height:1.5
  }
  
.footer-phone {
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:600;
  letter-spacing:-.01em;
  margin-bottom:14px;
  color:var(--bg-3);
  display:block
  }
  
.addr {
  font-size:13px;
  color:rgba(243,238,227,.7);
  line-height:1.5;
  margin-bottom:10px
  }
  
.addr a {
  color:var(--coral);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
  font-size:12px
  }
  
.socials {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px
  }
  
.socials a {
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.15s;
  color:var(--bg-3)
  }
  
.socials a:hover {
  background:var(--coral)
  }
  
.legal {
  font-size:11px;
  color:rgba(243,238,227,.45);
  line-height:1.6
  }
  
.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  font-size:12px;
  color:rgba(243,238,227,.45)
  }
  
.footer-bottom a {
  transition:.15s
  }
  
.footer-bottom a:hover {
  color:var(--bg-3)
  }
  
.footer-bottom .links {
  display:flex;
  gap:20px;
  flex-wrap:wrap
  }
  

/* CART DRAWER */
.cart-drawer {
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:440px;
  max-width:92vw;
  background:var(--bg-3);
  z-index:200;
  transform:translateX(110%);
  transition:.35s cubic-bezier(.7,0,.3,1);
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-lg)
  }
  
.cart-drawer.open {
  transform:translateX(0)
  }
  
.cart-backdrop {
  position:fixed;
  inset:0;
  background:rgba(34,55,43,.4);
  z-index:199;
  opacity:0;
  pointer-events:none;
  transition:.3s
  }
  
.cart-backdrop.open {
  opacity:1;
  pointer-events:auto
  }
  
.cart-head {
  padding:24px;
  border-bottom:1px solid var(--line)
  }
  
.cart-head .row {
  justify-content:space-between
  }
  
.cart-head h3 {
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  margin:0;
  font-weight:600
  }
  
.cart-close {
  width:36px;
  height:36px;
  font-size: 20px;
  border-radius:50%;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center
  }
  
.cart-timer {
  margin-top:14px;
  padding:12px 16px;
  background:#FFE8DC;
  border-radius:var(--r-md);
  display:flex;
  gap:10px;
  align-items:center;
  font-size:13px;
  font-weight:500
  }
  
.cart-timer .fire {
  font-size:18px
  }
  
.cart-timer strong {
  font-weight:700
  }
  
.cart-progress {
  margin-top:14px
  }
  
.cart-progress .bar {
  height:8px;
  background:var(--bg);
  border-radius:999px;
  overflow:hidden
  }
  
.cart-progress .bar i {
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--coral),var(--coral));
  transition:.4s width
  }
  
.cart-progress .txt {
  font-size:12px;
  margin-top:8px;
  color:var(--muted)
  }
  
.cart-items {
  flex:1;
  overflow-y:scroll;
  padding:16px 24px;
  scrollbar-width:thin;
  scrollbar-color:#84cc28 #f0f0f0
  }
  
.cart-items::-webkit-scrollbar {
  width:4px
  }
  
.cart-items::-webkit-scrollbar-track {
  background:#f0f0f0;
  border-radius:4px
  }
  
.cart-items::-webkit-scrollbar-thumb {
  background:#84cc28;
  border-radius:4px
  }
  
.cart-items::-webkit-scrollbar-thumb:hover {
  background:#6aaa1e
  }
  
.cart-empty {
  text-align:center;
  padding:40px 20px;
  color:var(--muted)
  }
  
.cart-empty svg {
  margin:0 auto 16px;
  opacity:.4
  }
  
.cart-item {
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  align-items:center
  }
  
.cart-item .ph {
  width:70px;
  height:70px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#84cc28
  }
  
.cart-item .ph .bottle {
  height:90%
  }
  
.cart-item .name {
  font-family:'Inter Tight',sans-serif;
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  margin-bottom:4px
  }
  
.cart-item .v {
  font-size:11px;
  color:var(--muted)
  }
  
.cart-item .fresh {
  display:inline-block;
  font-size:10px;
  font-weight:600;
  background:var(--coral);
  color:var(--ink);
  padding:2px 6px;
  border-radius:4px;
  margin-top:4px;
  letter-spacing:.02em
  }
  
.cart-item .qty {
  display:flex;
  align-items:center;
  gap:6px;
  background:var(--bg);
  border-radius:999px;
  padding:3px;
  margin-top:6px;
  width:fit-content
  }
  
.cart-item .qty button {
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px
  }
  
.cart-item .qty button:hover {
  background:var(--ink);
  color:var(--bg-3)
  }
  
.cart-item .qty span {
  font-size:12px;
  font-weight:700;
  min-width:20px;
  text-align:center
  }
  
.cart-item .price {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:600
  }
  
.cart-item .remove {
  font-size:11px;
  color:var(--muted);
  display:block;
  margin-top:4px;
  text-align:right
  }
  
.cart-item .remove:hover {
  color:var(--coral)
  }
  
.cart-foot {
  padding:20px 24px;
  border-top:1px solid var(--line);
  background:var(--bg-3)
  }
  
.cart-total {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:14px;
  font-family:'Inter Tight',sans-serif
  }
  
.cart-total .lbl {
  font-size:14px;
  color:var(--muted);
  font-weight:500
  }
  
.cart-total .sum {
  font-size:26px;
  font-weight:600
  }
  
.cart-foot .actions {
  display:flex;
  gap:10px
  }

.cart-foot .actions .btn {
  flex:1;
  justify-content:center
  }
  
.cart-search {
  padding:0 24px 16px
  }
  
.cart-search h6 {
  font-size:11px;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 10px
  }
  
.cart-search .chips-wrap {
  max-height:110px;
  overflow:hidden
  }
  
.cart-search .chip {
  font-size:11px;
  padding:5px 10px
  }
  

/* TWEAKS */
.tweaks-panel {
  position:fixed;
  bottom:24px;
  right:24px;
  width:280px;
  background:var(--bg-3);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:18px;
  z-index:150;
  box-shadow:var(--shadow-lg);
  display:none;
  font-size:13px
  }
  
.tweaks-panel.show {
  display:block
  }
  
.tweaks-panel h6 {
  margin:0 0 14px;
  font-family:'Inter Tight',sans-serif;
  font-size:13px;
  font-weight:600;
  display:flex;
  justify-content:space-between;
  align-items:center
  }
  
.tweaks-panel h6 button {
  font-size:16px;
  color:var(--muted);
  line-height:1
  }
  
.tweaks-panel label {
  display:block;
  font-size:11px;
  font-weight:600;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:12px 0 6px
  }
  
.tweaks-panel .swatches {
  display:flex;
  gap:6px
  }
  
.tweaks-panel .swatches button {
  width:28px;
  height:28px;
  border-radius:50%;
  border:2px solid transparent;
  transition:.15s
  }
  
.tweaks-panel .swatches button.active {
  border-color:var(--ink)
  }
  
.tweaks-panel .seg {
  display:flex;
  gap:4px;
  background:var(--bg);
  padding:3px;
  border-radius:999px
  }
  
.tweaks-panel .seg button {
  flex:1;
  padding:6px 10px;
  font-size:11px;
  font-weight:600;
  border-radius:999px
  }
  
.tweaks-panel .seg button.active {
  background:var(--ink);
  color:var(--bg-3)
  }
  

/* dark mode */
body.dark {
  --bg:#0F1A14;
  --bg-2:#16241B;
  --bg-3:#1a2d22;
  --ink:#F3EEE3;
  --ink-2:#CEC8BA;
  --muted:#8a9b8e;
  --line:rgba(243,238,227,.08);
  --line-2:rgba(243,238,227,.18)
  }
  
body.dark .adv:hover {
  background:var(--coral);
  color:var(--ink)
  }
  
body.dark .tech {
  background:#081108
  }
  
body.dark .invite {
  background:linear-gradient(135deg,#081108 0%,#16241B 100%)
  }
  
body.dark footer {
  background:#081108
  }
  
body.dark .slider-quote {
  background:#081108
  }
  
body.dark .cart-item .fresh {
  color:#081108
  }
  


/* CATALOG SECTION */
#catalog {
  padding:75px 0;
  background:#f7f8f8;
  border-radius:42px 42px 0 0;
  margin-top:-32px;
  z-index:2;
  position:relative
  }
  
#catalog h2.catalog-h2 {
  margin-top:16px
  }
  

/* HERO BOTTLE CARDS */
.bottle-card:nth-child(1) {
  background-image:url('../img/photo-3.jpg')
  }
  
.bottle-card:nth-child(2) {
  background-image:url('../img/photo-4.jpg')
  }
  
.bottle-card:nth-child(3) {
  background-image:url('../img/photo-9.jpg')
  }
  

/* HERO VIDEO PANEL */
.hero-v2-right .video-panel {
  background-image:url('../img/photo-9.jpg')
  }
  

/* LOGO SVG SIZE */
.logo-box a svg {
  width:56px;
  height:54px;
  display:block
  }
  

/* RESET CHIP */
.chip-reset {
  border:none;
  color:var(--muted);
  text-decoration:underline
  }
  

/* BENEFITS SECTION */
#benefits {
  padding-top:75px;
  padding-bottom:0
  }
  
.section-header {
  text-align:center;
  max-width:900px;
  margin:0 auto
  }
  

/* TEXT UTILITIES */
.text-coral {
  color:var(--coral)
  }
  
.text-olive {
  color:var(--coral);
  font-style:normal
  }
  
.text-right {
  text-align:right
  }
  

/* TECH SECTION */
.tech-h2 {
  margin-top:16px;
  max-width:800px
  }
  

/* DIST MODAL */
.eyebrow-dark {
  color:var(--ink)
  }
  
.dist-lead {
  margin-top:20px;
  color:var(--ink)
  }
  

/* FOOTER */
.container-flush {
  padding:0
  }
  
.footer-logo svg {
  width:48px;
  height:46px;
  display:block
  }
  
.badge-30-dark {
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
  color:var(--bg-3)
  }
  
.addr-title {
  color:var(--bg-3)
  }
  
.h5-mt {
  margin-top:24px
  }
  
.mt-20 {
  margin-top:20px
  }
  

/* STATIC BOTTLE SVG FALLBACKS */
svg.bottle {
  height:100%;
  width:auto
  }
  

/* PRICE SLIDER KNOB POSITIONS */
.price-slider .knob-start {
  left:5%
  }
  
.price-slider .knob-end {
  left:85%
  }
  

/* PRODUCT HOVER PHOTO */
.product .ph .bottle-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4%;
  opacity:0;
  transition:opacity .35s;
  z-index:2;
  border-radius:inherit
  }
  
.product:hover .ph .bottle-photo {
  opacity:1
  }
  
.product:hover .ph .bottle-img {
  opacity:0
  }
  
.product .ph .bottle-img {
  transition:opacity .35s,transform .4s
  }
  

/* SEARCH MODAL */
.search-modal {
  position:fixed;
  inset:0;
  z-index:1100;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:80px;
  pointer-events:none;
  opacity:0;
  transition:opacity .25s
  }
  
.search-modal.open {
  opacity:1;
  pointer-events:all
  }
  
.search-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(4px)
  }
  
.search-modal-body {
  position:relative;
  z-index:1;
  background:var(--bg);
  border-radius:24px;
  padding:40px;
  width:min(640px,90vw);
  box-shadow:0 24px 64px rgba(0,0,0,.18);
  transform:translateY(-16px);
  transition:transform .25s
  }

  @media(max-width:640px) {
    .search-modal-body {
      padding:20px;
    }
  }
.search-modal.open .search-modal-body {
  transform:translateY(0)
  }
  
.search-form {
  display:flex;
  align-items:center;
  gap:0;
  border:1.5px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:var(--bg-2)
  }
  
.search-form input {
  flex:1;
  border:none;
  background:transparent;
  padding:14px 20px;
  font-size:1rem;
  color:var(--text);
  outline:none
  }
  
.search-form input::placeholder {
  color:var(--text-muted)
  }
  
.search-form button {
  background:transparent;
  border:none;
  padding:14px 18px;
  cursor:pointer;
  color:var(--text-muted);
  display:flex;
  align-items:center
  }
  
.search-form button:hover {
  color:var(--coral)
  }
  
.search-form svg {
  width:20px;
  height:20px
  }
  
.search-popular {
  margin-top:28px
  }
  
.search-popular-title {
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:14px
  }
  
.search-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px
  }
  
.search-chips .chip {
  padding:6px 16px;
  border-radius:999px;
  border: 1px solid #e7e5df;
  font-size:.88rem;
  cursor:pointer;
  color:var(--text);
  transition:background .2s
  }
  
.search-chips .chip:hover {
  background:var(--coral);
  border-color:var(--coral);
  color:#fff
  }
  

/* CATALOGUE PAGE */
.catalogue-page-header {
  padding:0;
  border-bottom:none
  }
  
.catalogue-page-header .chip {
  background:#fff
  }

.catalogue-page-header .catalogue-search-bar {
  background:#fff
  }

.catalogue-page-header .chip.active {
    background: var(--coral);
    color: var(--bg-3);
    border-color: var(--coral);
}


.catalogue-page-header .chip:hover {
    background: var(--ink);
    color: var(--bg-3);
    border-color: var(--ink);
}

.catalogue-search-bar {
  display:flex;
  align-items:center;
  border:1.5px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:var(--bg-2);
  max-width:640px
  }
  
.catalogue-search-bar input {
  flex:1;
  border:none;
  background:transparent;
  padding:14px 20px;
  font-size:1rem;
  color:var(--text);
  outline:none
  }
  
.catalogue-search-bar input::placeholder {
  color:var(--text-muted)
  }
  
.catalogue-search-bar button {
  background:transparent;
  border:none;
  padding:14px 18px;
  cursor:pointer;
  color:var(--text-muted);
  display:flex;
  align-items:center
  }
  
.catalogue-search-bar button:hover {
  color:var(--coral)
  }
  
.catalogue-search-bar svg {
  width:20px;
  height:20px
  }
  
.catalogue-query-info {
  margin:16px 0 20px;
  color:var(--text-muted);
  font-size:.95rem
  }
  
.catalogue-chips {
  margin-top:4px
  }
  
.catalogue-products {
  padding:48px 0 80px
  }
  

/* ── Product Detail Page ── */
.pd-main {
  padding:40px 0 75px;
  margin-top:120px;
  background:#f7f8f8;
  border-radius:42px 42px 0 0
  }
  
.pd-breadcrumb {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--muted);
  margin-bottom:48px;
  flex-wrap:wrap
  }
  
.pd-breadcrumb a {
  color:var(--muted);
  transition:color .2s
  }
  
.pd-breadcrumb a:hover {
  color:var(--ink)
  }
  
.pd-breadcrumb span {
  color:var(--ink);
  font-weight:500
  }
  
.pd-grid {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:72px;
  align-items:start;
  margin-bottom:80px
  }
  
.pd-photo-col {
  position:sticky;
  top:96px
  }
  
.pd-photos-row {
  display:flex;
  gap:12px;
  align-items:stretch
  }
  
.pd-photo-wrap {
  flex:1;
  min-width:0;
  aspect-ratio:1/1;
  border-radius:24px;
  background:var(--coral);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  transition:background .3s
  }
  
.pd-svg {
  height:78%;
  width:auto;
  object-fit:contain;
  transition:transform .4s
  }
  
.pd-photo-wrap:hover .pd-svg {
  transform:scale(1.04)
  }
  
.pd-photo-real {
  background:#fff
  }
  
.pd-photo-real img {
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8%
  }
  
.pd-photo-wrap .fav {
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border:1px solid var(--line);
  z-index:10;
  transition:.2s
  }
  
.pd-photo-wrap .fav:hover {
  background:#fff;
  box-shadow:var(--shadow-sm)
  }
  
.pd-photo-wrap .fav.active {
  background:#fff;
  border-color:var(--coral)
  }
  
.pd-photo-wrap .fav.active svg {
  fill:var(--coral);
  stroke:var(--coral)
  }
  
.pd-info-col {
  display:flex;
  flex-direction:column;
  gap:22px;
  padding-top:8px
  }
  
.pd-h1 {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(34px,3.6vw,52px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1;
  margin:0;
  color:var(--ink)
  }
  
.pd-short-desc {
  font-size:16px;
  line-height:1.65;
  color:var(--ink-2)
  }
  
.pd-chips-group {
  display:flex;
  flex-direction:column;
  gap:8px
  }
  
.pd-chips-label {
  font-family:'Inter Tight',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted)
  }
  
.pd-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px
  }
  
.chip-sm {
  font-size:12px;
  padding:6px 12px
  }
  
.chip-cuisine {
  background:unset;
  border-color:unset
  }
  
.pd-variants {
  display:flex;
  flex-direction:column;
  gap:10px
  }
  
.pd-vol-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px 10px 22px;
  background:var(--bg);
  border-radius:999px;
  border:1px solid var(--line);
  transition:.2s;
  cursor:pointer;
  font-size:15px;
  touch-action:manipulation;
  width:100%;
  font-family:inherit;
  text-align:left;
  -webkit-appearance:none;
  appearance:none
  }
  
.pd-vol-row:hover {
  background:var(--bg-3);
  border-color:var(--coral);
  box-shadow:var(--shadow-sm)
  }
  
.pd-vol-row .vol-label {
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-.01em
  }
  
.pd-vol-row .vol-price {
  font-family:'Inter Tight',sans-serif;
  font-size:24px;
  font-weight:700;
  color:var(--coral);
  margin-left:12px
  }


@media(max-width:640px) {
  .pd-vol-row .vol-price {
    margin-left: 0;
}
}
.pd-vol-row .add-mini {
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--ink);
  color:var(--bg-3);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
  flex-shrink:0;
  pointer-events:none
  }
  
.pd-vol-row:hover .add-mini {
  background:var(--coral);
  transform:rotate(90deg)
  }
  
.pd-vol-row .add-mini svg {
  width:16px;
  height:16px
  }
  
.pd-vol-row .add-mini.loading {
  background:var(--coral)
  }
  
.pd-vol-row .add-mini.loading svg {
  display:none
  }
  
.pd-vol-row .add-mini.loading::after {
  content:'';
  width:14px;
  height:14px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .6s linear infinite;
  display:block
  }
  
.btn-add-cart {
  display:inline-flex;
  align-items:center;
  gap:20px;
  padding:10px 10px 10px 20px;
  background:var(--coral);
  color:var(--ink);
  border:none;
  border-radius:999px;
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:-.01em;
  cursor:pointer;
  transition:.2s;
  white-space:nowrap;
  flex-shrink:0
  }
  
.btn-add-cart:hover {
  opacity:.85
  }
  
.btn-add-cart .add-mini {
  pointer-events:none
  }
  
.pd-benefits {
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:22px 0 0;
  border-top:1px solid var(--line)
  }
  
.pd-benefit-item {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  color:var(--ink-2);
  line-height:1.4
  }
  
.pd-benefit-item svg {
  flex-shrink:0
  }
  
.pd-divider {
  border:none;
  border-top:1px solid var(--line);
  margin:60px 0
  }
  
.pd-about {
  display:grid;
  grid-template-columns:1fr 1.8fr;
  gap:64px;
  margin-bottom:80px;
  padding-top:60px;
  border-top:1px solid var(--line)
  }
  
.pd-about-head {
  position:sticky;
  top:96px
  }
  
.pd-about-label {
  font-family:'Inter Tight',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--coral);
  margin-bottom:16px
  }
  
.pd-about-title {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(24px,2.4vw,32px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.1;
  color:var(--ink);
  margin:0
  }
  
.pd-about-text {
  font-size:15px;
  line-height:1.75;
  color:var(--ink-2)
  }
  
.pd-about-text p {
  margin:0 0 16px
  }
  
.pd-related {
  padding-top:60px;
  border-top:1px solid var(--line)
  }
  
.pd-related-title {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(24px,2.4vw,32px);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 36px
  }
  
@media(max-width:960px) {
  .pd-grid {
  grid-template-columns:1fr;
  gap:36px
  }
  .pd-photo-col {
  position:static
  }
  .pd-about {
  grid-template-columns:1fr;
  gap:24px
  }
  .pd-about-head {
  position:static
  }
  
  }
  

/* ===== Footer GP ===== */
.footer-gp {
  background:#ede9df
  }
  
.footer-gp-top {
  padding:24px 0
  }
  
.footer-gp-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
  }

.footer-gp-logo img {
  width:80px;
  height:80px;
  display:block
  }
  
.footer-gp-nav {
  display:flex;
  align-items:center;
  gap:48px
  }
  
.footer-gp-nav a {
  font-family:'Inter Tight',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
  transition:opacity .2s
  }
  
.footer-gp-nav a:hover {
  opacity:.55
  }
  
.footer-gp-social-top {
  display:flex;
  gap:10px
  }
  
.footer-gp-social-icon {
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  text-decoration:none;
  transition:.2s;
  flex-shrink:0
  }
  
.footer-gp-social-icon:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
  }
  
.footer-gp-social-icon svg {
  width:20px;
  height:20px
  }
  
.footer-gp-phone-block {
  text-align:center;
  padding:0 0 36px 0
  }
  
.footer-gp-phone {
  font-family:'Inter Tight',sans-serif;
  font-size:clamp(44px,7vw,92px);
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--ink);
  text-decoration:none;
  transition:opacity .2s
  }
  
.footer-gp-phone:hover {
  opacity:.7
  }
  
.footer-gp-addresses {
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:44px
  }
  
.footer-gp-address {
  text-align:center;
  padding:0 56px
  }
  
.footer-gp-address-sep {
  width:1px;
  height:70px;
  background:rgba(0,0,0,.18);
  flex-shrink:0;
  rotate:22deg
  }
  
.footer-gp-address-label {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:rgba(0,0,0,.45);
  margin-bottom:6px
  }
  
.footer-gp-address-city {
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:5px
  }
  
.footer-gp-address-map {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px
  }
  
.footer-gp-messengers {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding-bottom:44px;
  flex-wrap:wrap
  }
  
.footer-gp-messenger-btn {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 26px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.14);
  font-family:'Manrope',sans-serif;
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
  transition:.2s
  }
  
.footer-gp-messenger-btn:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
  }
  
.footer-gp-messenger-btn svg {
  width:19px;
  height:19px;
  flex-shrink:0
  }
  
.footer-gp-messenger-btn:hover svg {
  color:#fff
  }
  
.footer-gp-messenger-icon {
  width:19px;
  height:19px;
  flex-shrink:0
  }
  
.footer-gp-legal {
  text-align:center;
  font-family:'Manrope',sans-serif;
  font-size:11px;
  color:rgba(0,0,0,.38);
  line-height:1.8;
  padding-bottom:28px
  }
  
.footer-gp-bottom {
  padding:18px 0
  }
  
.footer-gp-bottombar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px
  }
  
.footer-gp-bottombar a {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:rgba(0,0,0,.38);
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:3px;
  transition:.2s
  }
  
.footer-gp-bottombar a:hover {
  color:var(--ink);
  text-decoration-color:var(--ink)
  }
  
@media(max-width:768px) {
  .footer-gp-topbar {
  flex-direction:column;
  gap:16px;
  text-align:center
  }
  .footer-gp-nav {
    display: none;
  }
  .footer-gp-addresses {
  flex-direction:column;
  gap:24px
  }
  .footer-gp-address-sep {
    display: none;
  }
  .footer-gp-address {
  padding:0
  }
  .footer-gp-bottombar {
  justify-content:center;
  text-align:center
  }
  
  }
  

/* ===== Account pages ===== */
.acc-main {
  margin-top:96px;
  padding:40px 0 75px;
  background:#f7f8f8;
  border-radius:42px 42px 0 0;
  min-height:60vh
  }
  
.acc-wrap {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:start
  }
  
.acc-sidebar {
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  padding:24px 16px;
  position:sticky;
  top:96px
  }
  
.acc-avatar {
  width:60px;
  height:60px;
  border-radius:50%;
  background:var(--coral);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:700;
  margin:0 auto 12px
  }
  
.acc-user-name {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  text-align:center;
  line-height:1.2
  }
  
.acc-user-email {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  text-align:center;
  margin-top:3px;
  margin-bottom:20px
  }
  
.acc-nav {
  display:flex;
  flex-direction:column;
  gap:3px
  }
  
.acc-nav-sep {
  height:1px;
  background:var(--line);
  margin:8px 0
  }
  
.acc-nav-link {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:12px;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--muted);
  transition:.18s;
  text-decoration:none
  }
  
.acc-nav-link svg {
  width:16px;
  height:16px;
  flex-shrink:0
  }
  
.acc-nav-link:hover,.acc-nav-link.active {
  background:var(--ink);
  color:#fff
  }
  
.acc-nav-link.danger:hover {
  background:#fee2e2;
  color:#b91c1c
  }
  
.acc-content {

}

.acc-page-title {
  font-family:'Inter Tight',sans-serif;
  font-size:26px;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 24px
  }
  
.acc-card {
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  padding:28px;
  margin-bottom:16px
  }
  
.acc-card-title {
  font-family:'Inter Tight',sans-serif;
  font-size:17px;
  font-weight:700;
  color:var(--ink);
  margin:0 0 20px
  }
  
.acc-card-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:0
  }
  
.acc-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
}
  
.acc-data-item {

}

.acc-data-label {
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px
  }
  
.acc-data-value {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:500;
  color:var(--ink)
  }
  
.acc-field {
  margin-bottom:14px
  }
  
.acc-label {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  margin-bottom:5px;
  display:block
  }
  
.acc-input {
  width:100%;
  padding:11px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:var(--ink);
  outline:none;
  transition:.18s;
  background:#fff;
  box-sizing:border-box
  }
  
.acc-input:focus {
  border-color:var(--ink)
  }
  
.acc-error {
  font-size:12px;
  color:#b91c1c;
  margin-top:3px
  }
  
.acc-alert-error {
  background:#fee2e2;
  color:#b91c1c;
  padding:10px 16px;
  border-radius:12px;
  font-size:13px;
  margin-bottom:16px
  }
  
.acc-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px
  }
  
.acc-link {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  font-weight:500;
  color:var(--muted);
  text-decoration:none;
  transition:.18s
  }
  
.acc-link:hover {
  color:var(--ink)
  }
  
.acc-btn-sm {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 18px;
  min-width:124px;
  border-radius:999px;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  font-weight:500;
  border:1px solid var(--line);
  color:var(--ink);
  transition:.18s;
  text-decoration:none;
  cursor:pointer;
  background:#fff
  }
  
.acc-btn-sm:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
  }
  
.acc-btn-sm.danger:hover {
  background:#fee2e2;
  color:#b91c1c;
  border-color:#fca5a5
  }



  
/* Login page */
.login-main {
  margin-top:120px;
  padding:60px 0 80px;
  background:#f7f8f8;
  border-radius:42px 42px 0 0;
  min-height:60vh
  }
  
.login-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:#fff;
  border-radius:28px;
  border:1px solid var(--line);
  overflow:hidden
  }
  
.login-col {
  padding:48px 44px
}

.login-col:first-child {
  border-right:1px solid var(--line)
  }
  
.login-eyebrow {
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:8px
  }
  
.login-title {
  font-family:'Inter Tight',sans-serif;
  font-size:24px;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--ink);
  margin:0 0 6px
  }
  
.login-sub {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted);
  margin:0 0 28px
  }
  
.login-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:14px;
  flex-wrap:wrap;
  gap:8px
  }
  
/* Orders */
.order-card {
  background:#fff;
  border-radius:20px;
  border:1px solid var(--line);
  padding:22px 24px;
  margin-bottom:12px;
  transition:.18s
  }
  
.order-card:hover {
  border-color:var(--coral);
  box-shadow:var(--shadow-sm)
  }
  
.order-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:14px
  }
  
.order-meta {
  display:flex;
  flex-wrap:wrap;
  gap:24px
  }
  
.order-meta-item {

}

.order-meta-label {
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:3px
  }
  
.order-meta-value {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:600;
  color:var(--ink)
  }
  
.order-badge {
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted)
  }
  
.order-lines {
  display:flex;
  flex-wrap:wrap;
  gap:6px
  }
  
.order-line-chip {
  padding:3px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted)
  }
  
.order-empty,.acc-empty {
  text-align:center;
  padding:60px 24px;
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line)
  }
  
.order-empty svg,.acc-empty svg {
  margin:0 auto 20px;
  color:var(--muted)
  }
  
.order-empty-title,.acc-empty-title {
  font-family:'Inter Tight',sans-serif;
  font-size:20px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:8px
  }
  
.order-empty-sub,.acc-empty-sub {
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:var(--muted);
  margin-bottom:24px
  }
  
/* Order detail */
.order-line-row {
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
  }
  
.order-line-row:last-child {
  border-bottom:none
  }
  
.order-line-img {
  width:56px;
  height:56px;
  border-radius:12px;
  background:var(--bg-2);
  overflow:hidden;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center
  }
  
.order-line-img img {
  width:100%;
  height:100%;
  object-fit:cover
  }
  
.order-total-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 0;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted)
  }
  
.order-total-row.final {
  border-top:1px solid var(--line);
  margin-top:8px;
  padding-top:14px;
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:700;
  color:var(--ink)
  }
  
/* Addresses */
.addr-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
  }
  
.addr-card {
  background:#fff;
  border-radius:20px;
  border:1px solid var(--line);
  padding:22px;
  position:relative;
  transition:.18s
  }
  
.addr-card:hover {
  border-color:var(--coral)
  }
  
.addr-default {
  position:absolute;
  top:14px;
  right:14px;
  padding:3px 10px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:600
  }
  
.addr-name {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:8px
  }
  
.addr-text {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted);
  line-height:1.65;
  margin-bottom:14px
  }
  
.addr-actions {
  display:flex;
  gap:8px
  }
  
/* Pagination */
.acc-pagination {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:28px
  }
  
.acc-page-btn {
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--ink);
  transition:.18s;
  text-decoration:none
  }
  
.acc-page-btn:hover,.acc-page-btn.active {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
  }
  
@media(max-width:900px) {
  .acc-wrap {
  grid-template-columns:1fr
  }
  .acc-sidebar {
  position:static
  }
  .acc-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
}
  .addr-grid {
  grid-template-columns:1fr
  }
  .login-grid {
  grid-template-columns:1fr
  }
  .login-col:first-child {
  border-right:none;
  border-bottom:1px solid var(--line)
  }
  .login-col {
  padding:32px 24px
  }
  .order-meta {
  gap:14px
  }
  
  }
  
/* CHECKOUT */
.co-page {
  padding:48px 0 80px
  }
  
.co-steps {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:40px
  }
  
.co-step {
  display:flex;
  align-items:center;
  gap:10px
  }
  
.co-step-n {
  width:30px;
  height:30px;
  border-radius:50%;
  border:2px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Inter Tight',sans-serif;
  font-size:13px;
  font-weight:700;
  color:var(--muted);
  transition:.2s;
  flex-shrink:0
  }
  
.co-step-label {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--muted);
    transition: .2s;
    margin-bottom: 5px;
}
  
.co-step.active .co-step-n {
  border-color:var(--ink);
  background:var(--ink);
  color:#fff
  }

.co-step.active .co-step-label {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--muted);
    transition: .2s;
    margin-bottom: 5px;
}
  
.co-step.done .co-step-n {
  border-color:var(--coral);
  background:var(--coral);
  color:#fff
  }
  
.co-step.done .co-step-label {
    font-family: 'Manrope', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: var(--muted);
    transition: .2s;
    margin-bottom: 5px;
}
  
.co-step-sep {
  flex:1;
  height:1px;
  background:var(--line);
  max-width:48px
  }
  
.co-wrap {
  display:grid;
  grid-template-columns:1fr 380px;
  gap:40px;
  align-items:start
  }
  
.co-main {

}

.co-section {
  background:#fff;
  border-radius:20px;
  padding:32px;
  margin-bottom:20px
  }
  
.co-section-title {
  font-family:'Inter Tight',sans-serif;
  font-size:20px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.02em;
  margin-bottom:6px
  }
  
.co-section-sub {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted);
  margin-bottom:24px
  }
  
.co-fields-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
  }
  
.co-error {
  padding:12px 16px;
  margin-bottom:20px;
  border-radius:12px;
  background:#fee2e2;
  color:#b91c1c;
  font-size:13px
  }
  
.co-field-error {
  font-size:12px;
  color:#b91c1c;
  margin-top:4px
  }
  
.co-consent {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:20px 0 28px;
  cursor:pointer;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted);
  line-height:1.5
  }
  
.co-consent a {
  color:var(--ink);
  text-decoration:underline
  }
  
.co-checkbox {
  width:16px;
  height:16px;
  flex-shrink:0;
  margin-top:1px;
  accent-color:var(--ink);
  cursor:pointer
  }
  
.co-submit {
  width:100%;
  justify-content:center;
  padding:14px 32px;
  font-size:15px
  }
  
.co-side {

}

.co-summary {
  background:#fff;
  border-radius:20px;
  padding:28px;
  position:sticky;
  top:100px
  }
  
.co-summary-title {
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.02em;
  margin-bottom:20px
  }
  
.co-items {
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:20px
  }
  
.co-item {
  display:flex;
  align-items:center;
  gap:12px
  }
  
.co-item-img {
  position:relative;
  width:52px;
  height:52px;
  border-radius:10px;
  overflow:visible;
  background:var(--bg);
  flex-shrink:0
  }
  
.co-item-img img {
  border-radius:12px
  }
  
.co-item-img img {
  width:100%;
  height:100%;
  object-fit:cover
  }
  
.co-item-qty {
  position:absolute;
  top:-4px;
  right:-4px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center
  }
  
.co-item-info {
  flex:1;
  min-width:0
  }
  
.co-item-name {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  line-height:1.4
  }
  
.co-item-sub {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  margin-top:2px
  }
  
.co-item-price {
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  flex-shrink:0
  }
  
.co-totals {
  border-top:1px solid var(--line);
  padding-top:16px;
  display:flex;
  flex-direction:column;
  gap:10px
  }
  
.co-total-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted)
  }
  
.co-total-final {
  font-family:'Inter Tight',sans-serif;
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  padding-top:10px;
  border-top:1px solid var(--line);
  margin-top:4px
  }
  
.cdek-city-drop {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.1);
  z-index:100;
  margin-top:4px;
  display:none;
  overflow:hidden
  }
  
.cdek-city-drop.show {
  display:block
  }
  
.cdek-city-item {
  padding:10px 16px;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--ink);
  cursor:pointer;
  transition:.15s
  }
  
.cdek-city-item:hover {
  background:var(--bg)
  }
  
.co-method-tabs {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:12px;
  margin-bottom:28px
  }
  
.co-method-tab {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:16px 12px;
  border-radius:16px;
  border:2px solid var(--line);
  background:#fff;
  font-family:'Manrope',sans-serif;
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  cursor:pointer;
  transition:.2s;
  text-align:center
  }
  
.co-method-tab:hover {
  border-color:var(--ink);
  color:var(--ink)
  }
  
.co-method-tab.active {
  border-color:var(--coral);
  background:var(--coral);
  color:#fff
  }
  
.co-delivery-section {
  margin-bottom:8px
  }
  
.co-delivery-title {
  font-family:'Inter Tight',sans-serif;
  font-size:16px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:16px
  }
  
.co-pickup-card {
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border-radius:16px;
  background:var(--bg);
  border:1px solid var(--line);
  color:var(--muted)
  }
  
.co-pickup-title {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:4px
  }
  
.co-pickup-addr {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--ink)
  }
  
.co-pickup-note {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  margin-top:4px
  }
  
.co-nav-btns {
  display:flex;
  gap:12px;
  margin-top:28px;
  align-items:center
  }
  
.co-back-btn {
  padding:12px 24px;
  font-size:14px
  }
  
  @media(max-width:640px) {



.co-nav-btns {
    gap: 4px;
    margin-top: 18px;
}

.co-submit {
    padding: 14px 16px;

}

.co-back-btn {
    padding: 12px 12px;
}

.acc-btn-sm {
    gap: 6px;
}
 


  }

/* checkout: free shipping bar */
.co-free-ship {
  margin-bottom:18px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line)
  }
  
.co-free-ship-bar {
  height:5px;
  background:var(--line);
  border-radius:999px;
  overflow:hidden;
  margin:8px 0 0
  }
  
.co-free-ship-bar i {
  display:block;
  height:100%;
  background:var(--coral);
  border-radius:999px;
  transition:width .4s
  }
  
.co-free-ship-txt {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted)
  }
  
.co-free-ship-done {
  display:flex;
  align-items:center;
  gap:5px;
  font-weight:700;
  color:var(--coral)
  }
  
/* checkout: trust badges */
.co-trust {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line)
  }
  
.co-trust-item {
  display:flex;
  align-items:center;
  gap:8px;
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted)
  }
  
.co-trust-item svg {
  color:var(--coral);
  flex-shrink:0
  }
  
/* checkout: payment block */
.co-pay-card {
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border-radius:16px;
  border:2px solid var(--line);
  background:var(--bg-2);
  margin:20px 0
  }
  
.co-pay-card-icon {
  width:48px;
  height:48px;
  border-radius:12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ink);
  flex-shrink:0;
  border:1px solid var(--line)
  }
  
.co-pay-card-body {
  flex:1
  }
  
.co-pay-card-title {
  font-family:'Manrope',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--ink)
  }
  
.co-pay-card-sub {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  margin-top:2px
  }
  
.co-pay-secure {
  display:flex;
  align-items:center;
  gap:5px;
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:700;
  color:var(--coral);
  letter-spacing:.06em;
  text-transform:uppercase;
  flex-shrink:0
  }
  
.co-pay-loading {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  padding:36px 0 28px
  }
  
.co-pay-spinner {
  width:40px;
  height:40px;
  border:3px solid var(--line);
  border-top-color:var(--coral);
  border-radius:50%;
  animation:co-spin .8s linear infinite
  }
  
.co-pay-loading-txt {
  font-family:'Manrope',sans-serif;
  font-size:13px;
  color:var(--muted)
  }
  
@keyframes co-spin {
  to {
  transform:rotate(360deg)
  }

  }
  

@media(max-width:900px) {
  .co-wrap {
  grid-template-columns:1fr
}
.co-side {
  order:-1
  }
  .co-fields-row {
  grid-template-columns:1fr
  }
  .co-method-tabs {
  grid-template-columns:repeat(2,1fr)
  }
  
  }
  
/* ── Basket page ── */
.bk-wrap {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:40px;
  align-items:start;
  padding-bottom:60px
  }
  
.bk-list {
  min-width:0
  }
  
.bk-item {
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  align-items:center
  }
  
.bk-item-img {
  width:90px;
  height:90px;
  border-radius:14px;
  overflow:hidden;
  flex-shrink:0;
  display:block;
  background:var(--bg)
  }
  
.bk-item-img img {
  width:100%;
  height:100%;
  object-fit:cover
  }
  
.bk-item-info {
  min-width:0
  }
  
.bk-item-name {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:1.3;
  color:var(--ink);
  display:block;
  margin-bottom:4px
  }
  
.bk-item-name:hover {
  color:var(--coral)
  }
  
.bk-item-vol {
  font-size:12px;
  color:var(--muted);
  display:block;
  margin-bottom:10px
  }
  
.bk-qty {
  margin:0 !important;
  width:fit-content;
  display:flex;
  align-items:center;
  gap:6px;
  background:var(--bg);
  border-radius:999px;
  padding:3px
  }
  .bk-qty button {
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  flex-shrink:0
  }
  
.bk-qty-val {
  font-size:12px;
  font-weight:700;
  min-width:20px;
  text-align:center;
  border:none;
  outline:none;
  background:transparent;
  width:32px;
  -moz-appearance:textfield
  }
  .bk-qty-val::-webkit-inner-spin-button,.bk-qty-val::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0
  }
  
.bk-item-right {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  min-width:80px
  }
  
.bk-item-price {
  font-family:'Inter Tight',sans-serif;
  font-size:17px;
  font-weight:600
  }
  
.bk-item-remove {
  font-size:11px;
  color:var(--muted);
  background:none;
  border:none;
  cursor:pointer;
  padding:0
  }
  
.bk-item-remove:hover {
  color:var(--coral)
  }
  
.bk-side {
  background:var(--bg-3);
  border-radius:var(--r-lg);
  padding:24px;
  position:sticky;
  top:100px
  }
  
.bk-progress {
  margin-bottom:20px
  }
  
.bk-progress-bar {
  height:8px;
  background:#e8e8e8;
  border-radius:999px;
  overflow:hidden
  }
  
.bk-progress-bar i {
  display:block;
  height:100%;
  background:var(--coral);
  transition:.4s width
  }
  
.bk-progress-txt {
  font-size:12px;
  margin-top:8px;
  color:var(--muted)
  }
  
.bk-totals {
  border-top:1px solid var(--line);
  padding-top:16px;
  display:flex;
  flex-direction:column;
  gap:10px
  }
  
.bk-total-row {
  display:flex;
  justify-content:space-between;
  font-size:14px;
  color:var(--muted)
  }
  
.bk-discount {
  color:#2d7a2d
  }
  
.bk-delivery-note {
  font-size:12px
  }
  
.bk-total-final {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  font-size:22px;
  margin-top:6px;
  padding-top:14px;
  border-top:1px solid var(--line)
}

.bk-checkout-btn {
  width:100%;
  justify-content:center;
  margin-top:18px
  }
  
.bk-continue {
  display:block;
  text-align:center;
  margin-top:14px;
  font-size:13px;
  color:var(--muted)
  }
  
.bk-continue:hover {
  color:var(--coral)
  }
  
.bk-empty {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:80px 0;
  text-align:center
  }
  
.bk-empty svg {
  color:var(--muted);
  opacity:.5
  }
  
.bk-empty p {
  font-family:'Inter Tight',sans-serif;
  font-size:22px;
  font-weight:600;
  margin:0
  }
  
.bk-empty span {
  font-size:14px;
  color:var(--muted)
  }
  
.bk-empty .btn {
  margin-top:8px
  }
  
@media(max-width:900px) {
  .bk-wrap {
  grid-template-columns:1fr
  }
  .bk-side {
  position:static
  }
  
  }
  
@media(max-width:560px) {
  .bk-item {
  grid-template-columns:70px 1fr auto;
  gap:12px
  }
  .bk-item-img {
  width:70px;
  height:70px
  }
  
  }
  
/* ── CDEK tracking block ── */
.cdek-track-card .acc-card-title {
  display:flex;
  align-items:center
  }
  
.cdek-track-rows {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:4px
  }
  
.cdek-track-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px
  }
  
.cdek-track-label {
  color:var(--muted);
  font-size:12px
  }
  
.cdek-track-number {
  font-family:'Inter Tight',sans-serif;
  font-weight:600;
  color:var(--coral);
  text-decoration:underline
  }
  
.cdek-track-number:hover {
  opacity:.8
  }
  
.cdek-track-status {
  font-weight:600;
  font-size:13px
  }
  
.cdek-status-delivered {
  color:#2d7a2d
  }
  
.cdek-status-not_delivered {
  color:#c0392b
  }
  
.cdek-track-note {
  font-size:12px;
  color:var(--muted);
  font-style:italic
  }
  
.cdek-track-error {
  font-size:13px;
  color:#c0392b
  }
  
/* ── Thank-you page ── */
.ty-wrap {
  max-width:680px;
  margin:0 auto;
  padding-bottom:60px
  }
  
.ty-hero {
  text-align:center;
  padding:48px 0 36px
  }
  
.ty-check {
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--coral);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
  color:#fff
  }
  
.ty-title {
  font-family:'Inter Tight',sans-serif;
  font-size:28px;
  font-weight:700;
  margin:0 0 8px
  }
  
.ty-sub {
  font-size:15px;
  color:var(--muted);
  margin:0 0 6px
  }
  
.ty-email {
  font-size:13px;
  color:var(--muted);
  margin:0
  }
  
.ty-body {
  display:flex;
  flex-direction:column;
  gap:16px
  }
  
.ty-line {
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  align-items:center
  }
  
.ty-line:last-of-type {
  border-bottom:none
  }
  
.ty-line-img {
  width:56px;
  height:56px;
  border-radius:10px;
  overflow:hidden;
  background:var(--bg)
  }
  
.ty-line-img img {
  width:100%;
  height:100%;
  object-fit:cover
  }
  
.ty-line-name {
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  color:var(--ink)
  }
  
.ty-line-qty {
  font-size:12px;
  color:var(--muted);
  margin-top:3px
  }
  
.ty-line-price {
  font-family:'Inter Tight',sans-serif;
  font-size:14px;
  font-weight:600;
  white-space:nowrap
  }
  
.ty-totals {
  border-top:1px solid var(--line);
  margin-top:12px;
  padding-top:14px;
  display:flex;
  flex-direction:column;
  gap:8px
  }
  
.ty-total-row {
  display:flex;
  justify-content:space-between;
  font-size:13px;
  color:var(--muted)
  }
  
.ty-total-final {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-family:'Inter Tight',sans-serif;
  font-weight:700;
  font-size:18px;
  padding-top:10px;
  margin-top:4px;
  border-top:1px solid var(--line)
  }
  
.ty-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
  }
  
.ty-addr {
  font-size:13px;
  color:var(--muted);
  line-height:1.8
  }
  
.ty-details {
  display:flex;
  flex-direction:column;
  gap:10px
  }
  
.ty-detail-row {
  display:flex;
  flex-direction:column;
  gap:2px
  }
  
.ty-actions {
  display:flex;
  gap:12px;
  justify-content:center;
  padding-top:8px
  }
  
@media(max-width:600px) {
  .ty-cards {
  grid-template-columns:1fr
  }
  .ty-actions {
  flex-direction:column
  }
  .ty-actions .btn {
  justify-content:center
  }
  
  }
  

.acc-input-error {
  border-color:#b91c1c!important;
  background:#fff5f5!important
  }
  

.city-check {
  position:absolute;
  right:14px;
  top:64%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--coral);
  color:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  pointer-events:none
  }
  
.city-check.visible {
  display:flex
  }
  

.ty-addr-pvz-label {
  display:block;
  font-family:'Manrope',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--coral);
  margin-bottom:3px
  }
  

/* Gateway (checkout entry) */
.gw-page {
  padding:48px 0 80px
  }
  
.gw-wrap {
  max-width:480px;
  margin:0 auto
  }
  
.gw-header {
  text-align:center;
  margin-bottom:36px
  }
  
.gw-header-icon {
  width:64px;
  height:64px;
  border-radius:20px;
  background:var(--coral);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 18px
  }
  
.gw-title {
  font-family:'Inter Tight',sans-serif;
  font-size:28px;
  font-weight:700;
  color:var(--ink);
  letter-spacing:-.02em;
  margin:0 0 6px
  }
  
.gw-sub {
  font-family:'Manrope',sans-serif;
  font-size:14px;
  color:var(--muted);
  margin:0
  }
  
.gw-options {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:24px
  }
  
.gw-option {
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px 18px;
  border-radius:16px;
  border:2px solid var(--line);
  background:#fff;
  cursor:pointer;
  transition:.18s;
  position:relative;
  user-select:none
  }
  
.gw-option:hover {
  border-color:var(--ink)
  }

.gw-option.active {
  border-color:var(--coral);
  background:rgba(122,187,38,.06)
  }
  
.gw-option-mark {
  width:20px;
  height:20px;
  border-radius:50%;
  border:2px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:1px;
  transition:.18s;
  color:transparent
  }
  
.gw-option.active .gw-option-mark {
  background:var(--coral);
  border-color:var(--coral);
  color:#fff
  }
  
.gw-option-icon {
  width:40px;
  height:40px;
  border-radius:12px;
  background:var(--bg-2);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:var(--ink);
  transition:.18s
  }
  
.gw-option.active .gw-option-icon {
  background:var(--coral);
  color:#fff
  }
  
.gw-option-body {
  flex:1;
  min-width:0
  }
  
.gw-option-title {
  font-family:'Inter Tight',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3
  }
  
.gw-option-sub {
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  margin-top:2px
  }
  
.gw-forgot {
  display:inline-block;
  font-family:'Manrope',sans-serif;
  font-size:12px;
  color:var(--muted);
  text-decoration:none;
  margin-top:6px;
  transition:.15s
  }
  
.gw-forgot:hover {
  color:var(--ink)
  }
  
.gw-submit {
  width:100%;
  justify-content:center;
  padding:14px 32px;
  font-size:15px;
  margin-top:4px
  }
  

.search-chips-row {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px
  }
  

/* ── Бургер-кнопка ── */
.burger-btn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border-radius:50%;background:transparent;border:none;cursor:pointer;padding:0}
.burger-btn span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
@media(max-width:820px){.burger-btn{display:flex}}

/* ── Мобильное меню overlay ── */
.mob-menu{position:fixed;inset:0;z-index:9999;background:#fff;overflow-y:auto;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);visibility:hidden}
.mob-menu.open{transform:translateX(0);visibility:visible}
.mob-menu-inner{display:flex;flex-direction:column;min-height:100%;padding:0 0 40px}
.mob-menu-top{display:flex;align-items:center;justify-content:center;padding:20px 20px;position:relative;border-bottom:1px solid var(--line)}
.mob-menu-close{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--bg-2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mob-menu-close svg{width:20px;height:20px}
.mob-menu-logo img{width:50px;height:48px}
.mob-menu-nav{display:flex;flex-direction:column}
.mob-menu-link{font-family:'Inter Tight',sans-serif;font-size:20px;font-weight:600;color:var(--ink);padding:20px 24px;border-bottom:1px solid var(--line);transition:color .15s}
.mob-menu-link:hover{color:var(--coral)}
.mob-menu-contacts{padding:28px 24px 0}
.mob-menu-phone{font-family:'Inter Tight',sans-serif;font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.02em;display:block;margin-bottom:20px}
.mob-menu-addr-label{font-family:'Inter Tight',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.mob-menu-addr-text{font-size:15px;color:var(--ink-2);margin-top:4px}
.mob-menu-social{display:flex;flex-wrap:wrap;gap:10px;padding:24px 24px 0}
.mob-menu-social-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:500;color:var(--ink);transition:.15s}
.mob-menu-social-btn svg{width:20px;height:20px;flex-shrink:0}
.mob-menu-social-btn:hover{background:var(--bg-3);border-color:var(--coral)}

/* order pay button & timer */
.order-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.order-pay-btn{font-size:13px!important;padding:8px 16px!important}
.order-card-unpaid{border-left:3px solid var(--coral)}
.order-timer-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(232,106,60,.07);border-radius:8px;margin:12px 0 8px;font-size:13px;color:var(--ink)}
.order-timer-bar svg{color:var(--coral);flex-shrink:0}
.order-timer{color:var(--coral);font-variant-numeric:tabular-nums}
.order-badge-ожидает-оплаты{background:#F3F4F6;color:#6B7280}
.order-badge-оплачен{background:#FEF3C7;color:#D97706}
.order-badge-отправлен{background:#DBEAFE;color:#2563EB}
.order-badge-отменен{background:#FEE2E2;color:#DC2626}


/* ── Auth / Password Reset ── */
.auth-wrap { display:flex; justify-content:center; padding:48px 16px 80px; }
.auth-card { width:100%; max-width:440px; background:var(--bg-2,#fff); border:1px solid var(--line,#e8e4de); border-radius:20px; padding:40px 36px; }
.auth-icon { width:64px; height:64px; border-radius:50%; background:var(--bg-3,#f5f2ee); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.auth-icon--success { background:#fff7f5; }
.auth-title { font-size:22px; font-weight:700; text-align:center; margin-bottom:8px; }
.auth-sub { font-size:14px; color:var(--muted,#888); text-align:center; margin-bottom:24px; line-height:1.5; }
.auth-btn { width:100%; margin-top:20px; justify-content:center; }
.auth-error { background:#fff0f0; border:1px solid #ffc5c5; color:#c0392b; border-radius:10px; padding:10px 14px; font-size:13px; margin-bottom:16px; }
.auth-footer { text-align:center; margin-top:20px; font-size:14px; color:var(--muted,#888); }
.auth-footer a { color:var(--coral); text-decoration:none; }
.auth-footer a:hover { text-decoration:underline; }
@media(max-width:480px){ .auth-card { padding:28px 20px; } }

/* ── Delivery groups ── */
.co-delivery-group { margin-bottom:24px; }
.co-delivery-group-label { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted,#888); margin-bottom:10px; }
.co-delivery-group + .co-delivery-group { padding-top:20px; border-top:1px solid var(--line,#e8e4de); }

/* co-step-back */
.co-step-back { margin-bottom:12px; }
.co-step-back button { background:none; border:none; color:var(--muted,#888); font-size:13px; cursor:pointer; padding:0; }
.co-step-back button:hover { color:var(--text,#222); }

.co-method-tab.active svg path { fill: #fff; }

.co-method-tab.active .cdek-logo-path { fill: #fff; }

/* ── Contact method chips ── */
.co-contact-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.co-contact-chip { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:20px; border:1px solid var(--line,#e8e4de); background:#fff; cursor:pointer; font-size:13px; font-weight:500; transition:all .15s; user-select:none; }
.co-contact-chip input[type=radio] { display:none; }
.co-contact-chip:has(input:checked) { background:var(--coral); color:#fff; border-color:var(--coral); }
.co-contact-chip:hover { border-color:var(--coral); }

@media(max-width:600px){ .acc-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
} }

/* ── Video Slider ── */
.vslider-section {
  padding: 64px 0;
  background: #f7f7f5;
}
.vslider-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 24px;
}
.vslider-heading { text-align: left; }
.vslider-heading .eyebrow { display: block; margin-bottom: 6px; }
.vslider-heading h2 {
  font-family: 'Manrope', sans-serif;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}
.vslider-arrows {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.vslider-track-outer {
  overflow: hidden;
  width: 100%;
}
.vslider-track {
  display: flex;
  gap: 16px;
  transition: transform .4s cubic-bezier(.4,0,.2,1);
}
.vslider-card {
  flex: 0 0 calc(25% - 12px);
  min-width: 0;
}
.vslider-video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  border-radius: 16px;
  overflow: hidden;
  background: #111;
  cursor: pointer;
}
.vslider-video-wrap video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.vslider-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.35);
  transition: background .2s;
  z-index: 2;
}
.vslider-overlay:hover { background: rgba(0,0,0,.5); }
.vslider-overlay.hidden { display: none; }
.vslider-play-btn {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--coral);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .2s;
}
.vslider-overlay:hover .vslider-play-btn { transform: scale(1.1); }
.vslider-play-btn svg { margin-left: 4px; }
.vslider-arrow {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #ddd;
  background: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s, background .2s;
  color: #333;
}
.vslider-arrow:hover { border-color: var(--coral); background: var(--coral); color: #fff; }
.vslider-arrow:disabled { opacity: .3; cursor: default; }
.vslider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.vslider-dot {
  width: 12px;
  height: 12px;
  border-radius: 100px;
  background: #ccc;
  cursor: pointer;
  transition: background .2s, transform .2s;
}
.vslider-dot.active { background: var(--coral); transform: scale(1.3); }
@media (max-width: 768px) {
  .vslider-card { flex: 0 0 calc(100% - 0px); }
  .vslider-play-btn { width: 52px; height: 52px; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .vslider-card { flex: 0 0 calc(50% - 8px); } /* tablet */
}

.vslider-card-title { margin: 20px 0 0; font-family: Manrope, sans-serif; font-size: 16px; font-weight: 400; color: #333; text-align: center; padding: 0 15px; }
