/*
Theme Name: Djamal Parfumes — Luxury Edition
Theme URI: https://djamalparfumes.ru
Description: Ultra-premium dark luxury perfume boutique theme
Version: 3.0.0
Author: Djamal Parfumes
Text Domain: djamal
*/

:root {
  --void:         #05040A;
  --deep:         #080612;
  --bg:           #0A0815;
  --surface:      #110E1C;
  --surface2:     #16122A;
  --border:       rgba(201,168,76,0.12);
  --border-h:     rgba(201,168,76,0.35);
  --gold:         #D4B45A;
  --gold-l:       #F0D492;
  --gold-d:       #B89448;
  --gold-pale:    rgba(201,168,76,0.07);
  --gold-glow:    rgba(201,168,76,0.20);
  --text:         #F7F0E0;
  --text-2:       rgba(247, 240, 224, 0.88);
  --text-3:       rgba(247, 240, 224, 0.72);
  --muted:        rgba(247, 240, 224, 0.78);
  --smoke:        rgba(237,227,204,0.04);
  --f-display:    'Cormorant Garamond', Georgia, serif;
  --f-serif:      'Playfair Display', Georgia, serif;
  --f-notes:      'Lora', Georgia, serif;
  --f-ui:         'Raleway', sans-serif;
  --f-arabic:     'Noto Naskh Arabic', serif;
  --gap:          clamp(3rem, 7vw, 7rem);
  --gap-sm:       clamp(1.5rem, 3vw, 3rem);
  --wrap:         1360px;
  --r:            2px;
  --ease:         cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-in:      cubic-bezier(0.4, 0, 1, 1);
  --ease-out:     cubic-bezier(0, 0, 0.2, 1);
  --dur:          0.45s;
  --dur-s:        0.25s;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  text-rendering: optimizeLegibility;
}

body {
  background: var(--void);
  color: var(--text);
  font-family: var(--f-ui);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}

/* Custom cursor */
.cursor-dot, .cursor-ring {
  position: fixed; pointer-events: none; z-index: 9999;
  border-radius: 50%; transform: translate(-50%,-50%);
}
.cursor-dot { width:5px; height:5px; background:var(--gold); transition: opacity 0.3s; }
.cursor-ring {
  width:36px; height:36px; border:1px solid rgba(201,168,76,0.5);
  transition: transform 0.12s var(--ease), width 0.3s var(--ease), height 0.3s var(--ease), border-color 0.3s, opacity 0.3s;
}
.cursor-ring.hovered { width:56px; height:56px; border-color:var(--gold); }
@media(hover:none){.cursor-dot,.cursor-ring{display:none}}

a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font-family:inherit; }
input, textarea, select { font-family:inherit; }
ul, ol { list-style:none; }

/* Layout */
.wrap { width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,4rem); }
.section { padding-block:var(--gap); position:relative; }

.sec-label { display:flex; align-items:center; gap:1.2rem; margin-bottom:1rem; }
.sec-label__line { flex:0 0 40px; height:1px; background:linear-gradient(to right,var(--gold),transparent); }
.sec-label__text { font-family:var(--f-ui); font-size:0.62rem; font-weight:500; letter-spacing:0.42em; text-transform:uppercase; color:var(--gold); }

.sec-title { font-family:var(--f-display); font-size:clamp(2.2rem,4.5vw,4rem); font-weight:300; line-height:1.1; color:var(--text); }
.sec-title em { font-style:italic; color:var(--gold-l); }

/* Buttons */
.btn-lux {
  display:inline-flex; align-items:center; gap:0.9rem;
  font-family:var(--f-ui); font-size:0.62rem; font-weight:500; letter-spacing:0.32em; text-transform:uppercase;
  padding:1.1rem 2.4rem; border:none; position:relative; overflow:hidden;
  transition:all var(--dur) var(--ease);
}
.btn-lux::before { content:''; position:absolute; inset:0; transform:translateX(-105%); transition:transform 0.6s var(--ease); }
.btn-lux:hover::before { transform:translateX(0); }
.btn-lux--gold { background:linear-gradient(135deg,var(--gold-d),var(--gold),var(--gold-l)); color:var(--void); }
.btn-lux--gold::before { background:rgba(255,255,255,0.15); }
.btn-lux--gold:hover { box-shadow:0 8px 40px rgba(201,168,76,0.35); }
.btn-lux--ghost { background:transparent; color:var(--text-2); border:1px solid var(--border-h); }
.btn-lux--ghost::before { background:var(--gold-pale); }
.btn-lux--ghost:hover { color:var(--gold); border-color:var(--gold); }
.btn-arr { display:inline-flex; transition:transform 0.3s var(--ease); }
.btn-lux:hover .btn-arr { transform:translateX(5px); }

/* Header */
#site-header {
  position:fixed; top:0; left:0; right:0; z-index:900;
  transition:background var(--dur) var(--ease), backdrop-filter var(--dur), border-color var(--dur);
  border-bottom:1px solid transparent;
}
#site-header.scrolled {
  background:rgba(8,6,18,0.92);
  backdrop-filter:blur(24px) saturate(1.5);
  border-color:var(--border);
}
.hdr {
  display:flex; align-items:center; justify-content:space-between; height:80px; gap:2rem;
  padding-inline:clamp(1.5rem,5vw,4rem); max-width:var(--wrap); margin-inline:auto;
}
.logo { display:flex; flex-direction:column; gap:1px; transition:opacity var(--dur-s); }
.logo:hover { opacity:0.75; }
.logo__name { font-family:var(--f-display); font-size:1.65rem; font-weight:300; letter-spacing:0.22em; color:var(--text); line-height:1; }
.logo__sub { font-family:var(--f-ui); font-size:0.52rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-d); line-height:1; }

.main-nav { display:flex; align-items:center; gap:0.25rem; }
.main-nav a { font-family:var(--f-ui); font-size:0.62rem; font-weight:400; letter-spacing:0.25em; text-transform:uppercase; color:var(--text-2); padding:0.5rem 1rem; position:relative; transition:color var(--dur-s); }
.main-nav a::after { content:''; position:absolute; bottom:-2px; left:50%; right:50%; height:1px; background:var(--gold); transition:left var(--dur) var(--ease),right var(--dur) var(--ease); }
.main-nav a:hover { color:var(--gold); }
.main-nav a:hover::after { left:1rem; right:1rem; }

.hdr__actions { display:flex; align-items:center; gap:0.5rem; }
.btn-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:var(--text-2); font-size:1.1rem; position:relative; transition:color var(--dur-s); }
.btn-icon:hover { color:var(--gold); }
.btn-icon svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.5; }

.cart-badge { position:absolute; top:7px; right:7px; width:16px; height:16px; background:var(--gold); color:var(--void); border-radius:50%; font-family:var(--f-ui); font-size:0.52rem; font-weight:600; display:flex; align-items:center; justify-content:center; }

.burger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:8px; }
.burger span { display:block; width:22px; height:1px; background:var(--text-2); transition:all var(--dur-s) var(--ease); }
.burger.active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.burger.active span:nth-child(2) { opacity:0; }
.burger.active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

.mobile-nav {
  position:fixed; inset:0; z-index:890; background:rgba(5,4,10,0.97); backdrop-filter:blur(24px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem;
  transform:translateX(100%); transition:transform 0.5s var(--ease);
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav a { font-family:var(--f-display); font-size:clamp(1.8rem,5vw,3rem); font-weight:300; color:var(--text-2); letter-spacing:0.1em; transition:color var(--dur-s); padding:0.3rem 1rem; }
.mobile-nav a:hover { color:var(--gold); }

/* Hero */
#hero-lux { position:relative; width:100%; min-height:100vh; min-height:100dvh; display:flex; align-items:center; overflow:hidden; background:var(--void); }

.hlx-bg {
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 80% 80% at 65% 45%, rgba(40,25,5,0.55) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 60%, rgba(20,12,2,0.4) 0%, transparent 50%),
    radial-gradient(ellipse 70% 70% at 50% 50%, rgba(15,10,25,0.8) 0%, transparent 60%);
}
.hlx-grain { position:absolute; inset:0; z-index:1; opacity:0.04; pointer-events:none; }
.hlx-light { position:absolute; right:5%; top:-20%; width:70%; height:130%; background:radial-gradient(ellipse 55% 60% at 75% 50%, rgba(201,168,76,0.065) 0%, transparent 65%); z-index:1; pointer-events:none; }

.hlx-lines { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.hlx-lines::before, .hlx-lines::after { content:''; position:absolute; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,rgba(201,168,76,0.12),transparent); }
.hlx-lines::before { top:22%; }
.hlx-lines::after  { bottom:22%; }

.hlx-ar-bg { position:absolute; right:-2%; top:50%; transform:translateY(-52%); font-family:var(--f-arabic); font-size:clamp(16rem,30vw,30rem); color:rgba(201,168,76,0.025); z-index:1; pointer-events:none; line-height:1; user-select:none; }

.hlx-inner {
  position:relative; z-index:5; width:100%; max-width:var(--wrap); margin-inline:auto;
  padding-inline:clamp(1.5rem,5vw,4rem); padding-top:100px;
  display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,6vw,6rem);
  min-height:100vh; min-height:100dvh;
}
.hlx-copy { max-width:620px; }

.hlx-eyebrow { display:flex; align-items:center; gap:1.4rem; margin-bottom:2.2rem; opacity:0; transform:translateY(16px); animation:fadeUp 1s var(--ease) 0.2s forwards; }
.hlx-rule { width:48px; height:1px; background:linear-gradient(to right,transparent,var(--gold)); }
.eyebrow { font-family:var(--f-ui); font-size:0.6rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--gold-d); }

.hlx-heading { margin-bottom:2rem; overflow:hidden; }
.hlx-h1 { display:block; font-family:var(--f-display); font-size:clamp(2.75rem,5.5vw,5.5rem); font-weight:300; line-height:1.05; letter-spacing:-0.01em; color:var(--text); opacity:0; transform:translateY(60px); }
.hlx-h1:nth-child(1) { animation:slideUp 1s var(--ease) 0.35s forwards; }
.hlx-h1:nth-child(2) { animation:slideUp 1s var(--ease) 0.5s forwards; }
.hlx-h1:nth-child(3) { animation:slideUp 1s var(--ease) 0.65s forwards; }
.hlx-h1--gold { color:var(--gold-l); }
.hlx-h1--italic { font-style:italic; color:var(--gold-l); }

.hlx-divider { width:0; height:1px; background:linear-gradient(to right,var(--gold),transparent); margin:2rem 0; animation:expandWidth 1s var(--ease) 0.9s forwards; }
.hlx-sub { font-family:var(--f-ui); font-size:0.88rem; font-weight:300; line-height:1.85; color:var(--text-2); margin-bottom:3rem; opacity:0; transform:translateY(16px); animation:fadeUp 1s var(--ease) 0.8s forwards; }
.hlx-ctas { display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; opacity:0; animation:fadeUp 1s var(--ease) 1s forwards; }

.hlx-stats { display:flex; gap:3rem; margin-top:4.5rem; padding-top:2.5rem; border-top:1px solid var(--border); opacity:0; animation:fadeUp 1s var(--ease) 1.2s forwards; }
.hlx-stat__num { font-family:var(--f-display); font-size:1.9rem; font-weight:300; color:var(--gold); line-height:1; display:block; }
.hlx-stat__label { font-family:var(--f-ui); font-size:0.58rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--muted); margin-top:0.3rem; display:block; }

.hlx-visual { position:relative; display:flex; align-items:center; justify-content:center; min-height:540px; }
.hlx-bottle-wrap { position:relative; width:100%; max-width:360px; display:flex; align-items:center; justify-content:center; opacity:0; animation:bottleReveal 1.4s var(--ease) 0.6s forwards; }
.hlx-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:300px; height:300px; background:radial-gradient(circle,rgba(201,168,76,0.15) 0%,transparent 70%); border-radius:50%; animation:pulseGlow 4s ease-in-out infinite; pointer-events:none; }
.hlx-orbit { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:380px; height:380px; border:1px solid rgba(201,168,76,0.06); border-radius:50%; animation:spinOrbit 30s linear infinite; }
.hlx-orbit::before { content:''; position:absolute; top:-3px; left:50%; transform:translateX(-50%); width:5px; height:5px; background:var(--gold); border-radius:50%; box-shadow:0 0 8px var(--gold); }
.hlx-bottle-svg { width:100%; max-width:260px; filter:drop-shadow(0 30px 60px rgba(0,0,0,0.6)) drop-shadow(0 0 30px rgba(201,168,76,0.12)); animation:bottleFloat 6s ease-in-out infinite; }
.hlx-corner { position:absolute; width:50px; height:50px; opacity:0.3; pointer-events:none; }
.hlx-corner--tl { top:10%; left:10%; border-top:1px solid var(--gold); border-left:1px solid var(--gold); }
.hlx-corner--br { bottom:10%; right:10%; border-bottom:1px solid var(--gold); border-right:1px solid var(--gold); }

.hlx-scroll { position:absolute; bottom:3rem; left:50%; transform:translateX(-50%); z-index:5; display:flex; flex-direction:column; align-items:center; gap:0.8rem; opacity:0; animation:fadeUp 1s var(--ease) 1.5s forwards; }
.hlx-scroll__text { font-family:var(--f-ui); font-size:0.54rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--muted); writing-mode:vertical-lr; transform:rotate(180deg); }
.hlx-scroll__line { width:1px; height:60px; background:linear-gradient(to bottom,var(--gold),transparent); animation:scrollLine 2s ease-in-out infinite; transform-origin:top; }

/* Marquee */
.marquee-strip { border-block:1px solid var(--border); padding:1.4rem 0; overflow:hidden; position:relative; background:var(--deep); }
.marquee-strip::before, .marquee-strip::after { content:''; position:absolute; top:0; bottom:0; width:15%; z-index:2; pointer-events:none; }
.marquee-strip::before { left:0; background:linear-gradient(to right,var(--deep),transparent); }
.marquee-strip::after  { right:0; background:linear-gradient(to left,var(--deep),transparent); }
.marquee-track { display:flex; gap:3.5rem; animation:marqueeScroll 35s linear infinite; white-space:nowrap; }
.marquee-item { font-family:var(--f-ui); font-size:0.6rem; font-weight:500; letter-spacing:0.38em; text-transform:uppercase; flex-shrink:0; display:flex; align-items:center; gap:3.5rem; background:linear-gradient(90deg,#C6A55C,#E8D08A,#C6A55C); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:drop-shadow(0 0 6px rgba(198,165,92,0.35)); }
.marquee-item::after { content:'✦'; background:linear-gradient(90deg,#C6A55C,#E8D08A,#C6A55C); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-size:0.45rem; }

/* Products */
.products-section { background:var(--deep); }
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:4rem; }
.prod-card__name { font-family:var(--f-display); font-size:1.25rem; font-weight:400; color:var(--text); line-height:1.25; margin-bottom:0.6rem; }
.prod-card__cta { display:flex; align-items:center; gap:0.7rem; font-family:var(--f-ui); font-size:0.58rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-top:1rem; opacity:0; transform:translateY(10px); transition:opacity 0.4s var(--ease),transform 0.4s var(--ease); }
.prod-card__cta span { display:inline-block; width:24px; height:1px; background:var(--gold); transition:width 0.3s var(--ease); vertical-align:middle; }
.prod-card:hover .prod-card__cta { opacity:1; transform:translateY(0); }
.prod-card:hover .prod-card__cta span { width:42px; }

.prod-card { position:relative; background:var(--surface); overflow:visible; }
.prod-card__img-wrap { position:relative; aspect-ratio:3/4; overflow:hidden; background:linear-gradient(160deg,#12101e,#0a0812); display:block; }
.prod-card__img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s var(--ease); display:block; }
.prod-card__img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,#12101e 0%,#0d0b18 50%,#080612 100%); transition:transform 0.8s var(--ease); }
.prod-card::before { content:''; position:absolute; inset:0; border:1px solid transparent; z-index:3; transition:border-color 0.4s var(--ease); pointer-events:none; }
.prod-card:hover::before { border-color:rgba(201,168,76,0.35); }
.prod-card__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,4,10,0.6) 0%,rgba(5,4,10,0.1) 60%,transparent 100%); z-index:1; transition:opacity var(--dur); pointer-events:none; }
.prod-card:hover .prod-card__overlay { opacity:0.7; }
.prod-card__glow { position:absolute; bottom:-30%; left:50%; transform:translateX(-50%); width:80%; height:150px; background:radial-gradient(ellipse,rgba(201,168,76,0.15) 0%,transparent 70%); z-index:2; opacity:0; transition:opacity 0.5s,bottom 0.5s var(--ease); pointer-events:none; }
.prod-card:hover .prod-card__glow { opacity:1; bottom:-10%; }
.prod-card:hover .prod-card__img-wrap img, .prod-card:hover .prod-card__img-placeholder { transform:scale(1.06); }

.prod-card__info { position:relative; z-index:4; padding:1.4rem 1.6rem 1.8rem; background:var(--surface); }
.prod-card__brand { font-family:var(--f-ui); font-size:0.54rem; letter-spacing:0.38em; text-transform:uppercase; color:var(--gold-d); margin-bottom:0.5rem; display:block; }
.prod-card__price { font-family:var(--f-display); font-size:1.1rem; font-weight:300; color:var(--gold); }
.prod-card__price small { font-size:0.65rem; color:var(--muted); margin-left:0.4rem; font-family:var(--f-ui); }
.prod-card__badge { position:absolute; top:1rem; right:1rem; z-index:10; font-family:var(--f-ui); font-size:0.52rem; letter-spacing:0.3em; text-transform:uppercase; padding:0.4rem 0.9rem; background:var(--gold); color:var(--void); font-weight:600; pointer-events:none; }
.products-view-all { display:flex; align-items:center; justify-content:center; margin-top:4rem; gap:2rem; }
.products-view-all::before, .products-view-all::after { content:''; flex:1; max-width:120px; height:1px; }
.products-view-all::before { background:linear-gradient(to right,transparent,var(--border)); }
.products-view-all::after  { background:linear-gradient(to left,transparent,var(--border)); }

/* Story */
.story-section { background:var(--void); overflow:hidden; }
.story-inner { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,8rem); align-items:center; }
.story-visual { position:relative; aspect-ratio:4/5; }
.story-img-placeholder { width:100%; height:100%; background:linear-gradient(160deg,#14101f 0%,#0d0b18 50%,#090612 100%); display:flex; align-items:center; justify-content:center; }
.story-visual::before { content:''; position:absolute; top:-16px; left:-16px; right:16px; bottom:16px; border:1px solid var(--border); z-index:-1; pointer-events:none; }
.story-visual::after  { content:''; position:absolute; top:16px; left:16px; right:-16px; bottom:-16px; border:1px solid rgba(201,168,76,0.05); z-index:-1; pointer-events:none; }
.story-quote { position:absolute; bottom:2rem; left:2rem; right:2rem; padding:1.4rem 1.6rem; background:rgba(5,4,10,0.88); backdrop-filter:blur(12px); border-left:2px solid var(--gold); z-index:2; }
.story-quote p { font-family:var(--f-display); font-size:0.95rem; font-style:italic; color:var(--text-2); line-height:1.6; }
.story-quote cite { display:block; margin-top:0.6rem; font-family:var(--f-ui); font-size:0.55rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-d); font-style:normal; }
.story-text p { font-size:0.92rem; color:var(--text-2); line-height:1.9; margin-bottom:1.4rem; }
.story-features { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:2.5rem 0; }
.story-feat { border:1px solid var(--border); padding:1.4rem 1.2rem; transition:border-color var(--dur-s),background var(--dur-s); }
.story-feat:hover { border-color:var(--border-h); background:var(--gold-pale); }
.story-feat__icon { font-size:1.3rem; margin-bottom:0.7rem; display:block; }
.story-feat__title { font-family:var(--f-ui); font-size:0.62rem; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.4rem; }
.story-feat__text { font-size:0.78rem; color:var(--text-3); line-height:1.6; }

/* Showcase */
.showcase-section { background:var(--deep); overflow:hidden; }
.showcase-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:auto auto; gap:1.5px; margin-top:4rem; }
.showcase-item { position:relative; overflow:hidden; background:var(--surface); }
.showcase-item--large { grid-row:span 2; min-height:520px; }
.showcase-item--small { min-height:255px; }
.showcase-item__bg { position:absolute; inset:0; background:linear-gradient(160deg,#141020 0%,#0a0815 100%); transition:transform 0.8s var(--ease); }
.showcase-item:hover .showcase-item__bg { transform:scale(1.05); }
.showcase-item__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(5,4,10,0.94) 0%,rgba(5,4,10,0.60) 45%,rgba(5,4,10,0.14) 100%); z-index:1; }
.showcase-item__content { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:2rem 1.8rem; text-shadow:0 2px 10px rgba(0,0,0,0.75); }
.showcase-item__tag { font-family:var(--f-ui); font-size:0.54rem; letter-spacing:0.38em; text-transform:uppercase; color:#E1BF72; font-weight:600; margin-bottom:0.6rem; display:block; }
.showcase-item__title { font-family:var(--f-display); font-size:1.5rem; font-weight:600; color:#fff; margin-bottom:0.5rem; font-style:italic; text-shadow:0 3px 14px rgba(0,0,0,0.85); }
.showcase-item--small .showcase-item__title { font-size:1.1rem; }
.showcase-item__desc { font-size:0.78rem; color:rgba(255,255,255,0.9); font-weight:500; line-height:1.6; max-width:320px; }
.showcase-bottle { display:flex; align-items:center; justify-content:center; }

/* Reviews */
.reviews-section { background:var(--void); overflow:hidden; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; }
.review-card { padding:3rem 2.5rem; background:var(--surface); position:relative; transition:background var(--dur-s); }
.review-card:hover { background:var(--surface2); }
.review-card__stars { display:flex; gap:0.3rem; margin-bottom:1.5rem; }
.review-card__stars span { color:var(--gold); font-size:0.75rem; }
.review-card__text { font-family:var(--f-display); font-size:1.05rem; font-style:italic; font-weight:300; color:var(--text-2); line-height:1.75; margin-bottom:2rem; }
.review-card__author { display:flex; align-items:center; gap:1rem; }
.review-card__avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--gold-d),var(--gold)); display:flex; align-items:center; justify-content:center; font-family:var(--f-display); font-size:0.9rem; color:var(--void); font-weight:500; flex-shrink:0; }
.review-card__name { font-family:var(--f-ui); font-size:0.68rem; font-weight:500; letter-spacing:0.12em; color:var(--text); display:block; text-transform:uppercase; }
.review-card__city { font-size:0.68rem; color:var(--muted); display:block; margin-top:0.15rem; }
.review-card::before { content:'"'; position:absolute; top:2rem; right:2rem; font-family:var(--f-display); font-size:5rem; color:rgba(201,168,76,0.07); line-height:1; }

/* Loyalty */
.loyalty-section { background:var(--deep); overflow:hidden; position:relative; }
.loyalty-section::before { content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:600px; height:1px; background:linear-gradient(to right,transparent,var(--gold-d),transparent); }
.loyalty-inner { max-width:900px; margin-inline:auto; text-align:center; }
.loyalty-inner .sec-label { justify-content:center; }
.loyalty-inner .sec-title { text-align:center; margin-bottom:1.2rem; }
.loyalty-subtitle { font-size:0.88rem; color:var(--text-2); margin-bottom:4rem; line-height:1.8; }
.loyalty-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-bottom:4rem; }
.loyalty-step { padding:2.8rem 2rem; background:var(--surface); text-align:left; transition:background var(--dur-s); }
.loyalty-step:hover { background:var(--surface2); }
.loyalty-step__num { font-family:var(--f-display); font-size:3.5rem; font-weight:300; color:rgba(201,168,76,0.12); line-height:1; margin-bottom:1.2rem; }
.loyalty-step__icon { font-size:1.5rem; display:block; margin-bottom:1.1rem; }
.loyalty-step__title { font-family:var(--f-ui); font-size:0.64rem; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-bottom:0.8rem; }
.loyalty-step__text { font-size:0.82rem; color:var(--text-2); line-height:1.75; }

/* Newsletter */
.newsletter-section { background:var(--void); position:relative; overflow:hidden; }
.newsletter-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(201,168,76,0.04) 0%,transparent 70%); pointer-events:none; }
.newsletter-inner { text-align:center; max-width:680px; margin-inline:auto; position:relative; }
.newsletter-inner .sec-label { justify-content:center; }
.newsletter-inner .sec-title { text-align:center; margin-block:1rem 1.2rem; }
.newsletter-inner p { font-size:0.88rem; color:var(--text-2); line-height:1.8; margin-bottom:3rem; }
.newsletter-form { display:flex; gap:0; max-width:500px; margin-inline:auto; border:1px solid var(--border-h); transition:border-color var(--dur-s); }
.newsletter-form:focus-within { border-color:var(--gold); }
.newsletter-form input { flex:1; background:transparent; border:none; outline:none; padding:1.1rem 1.5rem; font-family:var(--f-ui); font-size:0.82rem; color:var(--text); }
.newsletter-form input::placeholder { color:var(--muted); }
.newsletter-form button { background:var(--gold); color:var(--void); border:none; padding:1.1rem 1.8rem; font-family:var(--f-ui); font-size:0.6rem; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; transition:background var(--dur-s); }
.newsletter-form button:hover { background:var(--gold-l); }
.newsletter-note { font-size:0.68rem; color:var(--text-3); margin-top:1.2rem; }

/* Footer */
#site-footer { background:var(--deep); border-top:1px solid var(--border); }
.footer-main { padding:var(--gap) 0 calc(var(--gap)*0.6); display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,5rem); }
.footer-main > * { min-width:0; }
.footer-brand .logo__name { font-size:2rem; margin-bottom:0.4rem; display:block; }
.footer-brand .logo__sub { display:block; margin-bottom:1.6rem; }
.footer-brand p { font-size:0.8rem; color:var(--text-3); line-height:1.85; max-width:280px; margin-bottom:1.8rem; }
.footer-social { display:flex; gap:0.8rem; }
.footer-social a { width:38px; height:38px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--muted); transition:border-color var(--dur-s),color var(--dur-s),background var(--dur-s); }
.footer-social a:hover { border-color:var(--gold); color:var(--gold); background:var(--gold-pale); }
.footer-payments { margin-top:1.1rem; max-width:100%; }
.footer-payments .dj-payment-logos--strip { margin:0; }
.footer-col h4 { font-family:var(--f-ui); font-size:0.58rem; font-weight:600; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-d); margin-bottom:1.8rem; }
.footer-col ul { display:flex; flex-direction:column; gap:0.85rem; }
.footer-col ul li a { font-size:0.82rem; color:var(--text-3); transition:color var(--dur-s); }
.footer-col ul li a, .store-item__addr { overflow-wrap:anywhere; }
.footer-col ul li a:hover { color:var(--gold); }
.footer-stores { display:flex; flex-direction:column; gap:1.4rem; }
.store-item { display:block; border-left:1px solid var(--border); padding-left:1rem; text-decoration:none; color:inherit; transition:border-color var(--dur-s); cursor:pointer; }
.store-item:hover { border-color:var(--gold-d); }
.store-item:hover .store-item__addr { color:var(--text-2); }
.store-item__city { font-family:var(--f-ui); font-size:0.56rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-d); margin-bottom:0.25rem; }
.store-item__addr { font-size:0.78rem; color:var(--text-3); line-height:1.5; }
.footer-bottom { border-top:1px solid var(--border); padding:1.6rem 0; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer-bottom p, .footer-bottom a { font-size:0.7rem; color:var(--text-3); }
.footer-bottom a:hover { color:var(--gold); }
.footer-bottom__links { display:flex; gap:2rem; }
.footer-bottom__inner { display:flex; flex-direction:column; align-items:center; gap:1.25rem; width:100%; text-align:center; }

.dj-payment-logos { display:flex; flex-direction:column; gap:0.65rem; margin:1.5rem 0 2rem; }
.dj-payment-logos--strip {
  flex-direction:row; flex-wrap:wrap; align-items:center;
  gap:0.45rem 0.55rem; margin:0;
}
.dj-payment-logos__row { display:flex; flex-wrap:wrap; align-items:center; gap:0.75rem 1rem; }
.dj-payment-logos img { display:block; height:auto; max-height:26px; width:auto; background:#fff; border-radius:3px; padding:2px 4px; }
.dj-payment-logos--strip img { max-height:22px; padding:2px 3px; }

.dj-payment-page h3 { margin-top:2rem; margin-bottom:0.75rem; font-family:var(--f-display); font-size:1.15rem; font-weight:400; color:var(--gold); }
.dj-payment-page ul, .dj-payment-page ol { margin:0.5rem 0 1rem 1.25rem; }
.dj-payment-page li { margin-bottom:0.35rem; }
.dj-payment-page__links { margin-top:2.5rem; font-size:0.85rem; }
.dj-payment-page__links a { color:var(--gold-d); text-decoration:none; }
.dj-payment-page__links a:hover { color:var(--gold); }

.dj-legal-requisites { margin-top:2.5rem; padding:1.5rem 1.75rem; border:1px solid var(--border); background:rgba(8,6,18,0.6); }
.dj-legal-requisites h3 { margin:0 0 1rem; font-size:1rem; color:var(--gold); }
.dj-legal-requisites dl { display:grid; grid-template-columns:minmax(8rem,11rem) 1fr; gap:0.45rem 1.25rem; margin:0; font-size:0.92rem; line-height:1.55; }
.dj-legal-requisites dt { color:var(--muted); font-family:var(--f-ui); font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; margin:0; padding-top:0.15rem; }
.dj-legal-requisites dd { margin:0; color:var(--text-2); }
.dj-legal-requisites a { color:var(--gold-d); text-decoration:none; }
.dj-legal-requisites a:hover { color:var(--gold); }
@media (max-width:640px){
  .dj-legal-requisites dl { grid-template-columns:1fr; gap:0.2rem 0; }
  .dj-legal-requisites dt { padding-top:0.65rem; }
  .dj-payment-logos img { max-height:24px; }
}

/* Cart sidebar */
#cart-overlay { position:fixed; inset:0; z-index:980; background:rgba(5,4,10,0.7); backdrop-filter:blur(4px); opacity:0; pointer-events:none; transition:opacity var(--dur); }
#cart-overlay.open { opacity:1; pointer-events:all; }
#cart-sidebar { position:fixed; top:0; right:0; bottom:0; z-index:990; width:420px; max-width:100%; background:var(--deep); border-left:1px solid var(--border); display:flex; flex-direction:column; transform:translateX(100%); transition:transform 0.55s var(--ease); }
#cart-sidebar.open { transform:translateX(0); }
.cart__head { display:flex; align-items:center; justify-content:space-between; padding:1.8rem 2rem; border-bottom:1px solid var(--border); flex-shrink:0; }
.cart__title { font-family:var(--f-display); font-size:1.2rem; font-weight:300; letter-spacing:0.08em; }
.cart__close { width:38px; height:38px; background:none; border:1px solid var(--border); color:var(--muted); font-size:1.2rem; display:flex; align-items:center; justify-content:center; transition:all var(--dur-s); }
.cart__close:hover { border-color:var(--gold); color:var(--gold); }
.cart__body { flex:1; overflow-y:auto; padding:1.5rem 2rem; }
.cart__foot { padding:1.5rem 2rem 2rem; border-top:1px solid var(--border); flex-shrink:0; }
.cart__total-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; }
.cart__total-label { font-family:var(--f-ui); font-size:0.62rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--muted); }
.cart__total-amount { font-family:var(--f-display); font-size:1.5rem; font-weight:300; color:var(--gold); }

/* Auth modal */
.modal-wrap { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; background:rgba(5,4,10,0.85); backdrop-filter:blur(16px); opacity:0; pointer-events:none; transition:opacity var(--dur); padding:1.5rem; }
.modal-wrap.open { opacity:1; pointer-events:all; }
.modal-box { background:var(--deep); border:1px solid var(--border-h); width:100%; max-width:460px; padding:2.5rem; position:relative; transform:translateY(20px); transition:transform var(--dur) var(--ease); }
.modal-wrap.open .modal-box { transform:translateY(0); }
.modal-close { position:absolute; top:1.2rem; right:1.2rem; background:none; border:1px solid var(--border); color:var(--muted); width:34px; height:34px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:all var(--dur-s); }
.modal-close:hover { border-color:var(--gold); color:var(--gold); }
.modal-tabs { display:flex; gap:0; margin-bottom:2rem; border-bottom:1px solid var(--border); }
.m-tab { flex:1; background:none; border:none; padding:0.8rem; font-family:var(--f-ui); font-size:0.62rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid transparent; margin-bottom:-1px; transition:all var(--dur-s); }
.m-tab.on { color:var(--gold); border-bottom-color:var(--gold); }
.fg { margin-bottom:1.2rem; }
.fl { display:block; font-family:var(--f-ui); font-size:0.56rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--muted); margin-bottom:0.55rem; }
.fi { width:100%; background:rgba(255,255,255,0.03); border:1px solid var(--border); color:var(--text); padding:0.9rem 1.1rem; font-size:0.88rem; outline:none; transition:border-color var(--dur-s),background var(--dur-s); }
.fi:focus { border-color:var(--gold); background:rgba(201,168,76,0.03); }
.fh { display:block; font-size:0.68rem; color:var(--muted); margin-top:0.5rem; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:0.8rem; }

/* Toast */
#toast-wrap { position:fixed; bottom:2rem; right:2rem; z-index:1100; display:flex; flex-direction:column; gap:0.75rem; pointer-events:none; }

/* Cookie consent banner */
.dj-cookie-banner {
  position:fixed; left:0; right:0; bottom:0; z-index:12000;
  padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
  background:rgba(8,6,18,0.96);
  border-top:1px solid var(--border-h);
  backdrop-filter:blur(12px);
  transform:translateY(110%);
  opacity:0;
  transition:transform 0.4s var(--ease), opacity 0.4s var(--ease);
  pointer-events:none;
}
.dj-cookie-banner.is-visible {
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.dj-cookie-banner[hidden] { display:none !important; }
.dj-cookie-banner__inner {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.25rem 1.75rem; flex-wrap:wrap;
}
.dj-cookie-banner__text {
  flex:1 1 280px; margin:0;
  font-family:var(--f-ui); font-size:0.78rem; font-weight:400;
  line-height:1.65; color:var(--text-2); letter-spacing:0.02em;
}
.dj-cookie-banner__text a {
  color:var(--gold); text-decoration:underline; text-underline-offset:0.18em;
}
.dj-cookie-banner__text a:hover { color:var(--gold-l); }
.dj-cookie-banner__btn {
  flex:0 0 auto;
  font-family:var(--f-ui); font-size:0.62rem; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase;
  padding:0.85rem 1.6rem;
  border:none; cursor:pointer;
  background:linear-gradient(135deg,var(--gold-d),var(--gold),var(--gold-l));
  color:var(--void);
  transition:box-shadow var(--dur-s), transform var(--dur-s);
}
.dj-cookie-banner__btn:hover {
  box-shadow:0 8px 28px rgba(201,168,76,0.32);
  transform:translateY(-1px);
}
@media (max-width:640px) {
  .dj-cookie-banner__inner { flex-direction:column; align-items:stretch; }
  .dj-cookie-banner__btn { width:100%; text-align:center; }
}
.toast { background:var(--surface); border:1px solid var(--border-h); border-left:3px solid var(--gold); padding:1.1rem 1.5rem; min-width:280px; opacity:0; transform:translateX(16px); transition:all 0.35s var(--ease); pointer-events:all; }
.toast.visible { opacity:1; transform:translateX(0); }
.toast-title { font-family:var(--f-ui); font-size:0.7rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:0.2rem; }
.toast-body { font-size:0.78rem; color:var(--text-2); }

/* Scroll reveal */
.reveal { opacity:0; transform:translateY(40px); transition:opacity 0.9s var(--ease),transform 0.9s var(--ease); }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal--left { transform:translateX(-40px); }
.reveal--left.visible { transform:translateX(0); }
.reveal--right { transform:translateX(40px); }
.reveal--right.visible { transform:translateX(0); }
.reveal--scale { transform:scale(0.95) translateY(20px); }
.reveal--scale.visible { transform:scale(1) translateY(0); }
.reveal[data-delay="1"]{transition-delay:0.1s} .reveal[data-delay="2"]{transition-delay:0.2s}
.reveal[data-delay="3"]{transition-delay:0.3s} .reveal[data-delay="4"]{transition-delay:0.4s}
.reveal[data-delay="5"]{transition-delay:0.5s} .reveal[data-delay="6"]{transition-delay:0.6s}

/* WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  display:inline-flex; align-items:center; gap:0.8rem; background:transparent; border:1px solid var(--border-h); color:var(--text-2);
  font-family:var(--f-ui); font-size:0.6rem; font-weight:500; letter-spacing:0.3em; text-transform:uppercase;
  padding:0.95rem 2rem; transition:all var(--dur-s); border-radius:0;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background:var(--gold-pale); border-color:var(--gold); color:var(--gold); }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit.alt, .btn-gold {
  background:linear-gradient(135deg,var(--gold-d),var(--gold),var(--gold-l)) !important;
  border-color:transparent !important; color:var(--void) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { box-shadow:0 8px 35px rgba(201,168,76,0.3); opacity:0.92; }

/* Archive */
.archive-header { padding-top:140px; padding-bottom:4rem; background:var(--void); border-bottom:1px solid var(--border); }
.archive-header h1 { font-family:var(--f-display); font-size:clamp(2rem,5vw,4rem); font-weight:300; margin-bottom:0.6rem; }
.catalog-layout { display:grid; grid-template-columns:260px 1fr; gap:4rem; padding-block:4rem; }
.catalog-filters h3 { font-family:var(--f-ui); font-size:0.58rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-d); margin-bottom:1.2rem; margin-top:2rem; }
.catalog-filters h3:first-child { margin-top:0; }
.filter-option { display:flex; align-items:center; gap:0.7rem; font-size:0.8rem; color:var(--text-3); margin-bottom:0.6rem; transition:color var(--dur-s); }
.filter-option:hover { color:var(--text); }
.filter-option input[type="checkbox"] { accent-color:var(--gold); }
.catalog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.5px; }

/* Catalog archive cards: frame follows source image ratio */
body.post-type-archive-product .prod-card__img-wrap,
body.tax-product_cat .prod-card__img-wrap {
  aspect-ratio: auto !important;
  height: auto;
}
body.post-type-archive-product .prod-card__img-wrap img,
body.tax-product_cat .prod-card__img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center;
}
body.post-type-archive-product .prod-card:hover .prod-card__img-wrap img,
body.tax-product_cat .prod-card:hover .prod-card__img-wrap img {
  transform: none !important;
}
body.post-type-archive-product .prod-card__img-placeholder,
body.tax-product_cat .prod-card__img-placeholder {
  position: relative;
  background:
    radial-gradient(ellipse at 50% 78%, rgba(201,168,76,.14) 0%, rgba(201,168,76,0) 60%),
    linear-gradient(160deg,#12101e 0%,#0d0b18 50%,#080612 100%);
}
body.post-type-archive-product .prod-card__img-placeholder svg,
body.tax-product_cat .prod-card__img-placeholder svg {
  width: clamp(120px, 44%, 190px);
  height: auto;
  opacity: .92;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.55));
}
body.post-type-archive-product .prod-card__img-wrap.is-placeholder .prod-card__overlay,
body.tax-product_cat .prod-card__img-wrap.is-placeholder .prod-card__overlay {
  display: none;
}
body.post-type-archive-product .prod-card__fallback-note,
body.tax-product_cat .prod-card__fallback-note {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 4;
  font-family: var(--f-ui);
  font-size: 0.5rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(201,168,76,.82);
  border: 1px solid rgba(201,168,76,.24);
  background: rgba(8,6,18,.52);
  padding: .3rem .55rem;
  backdrop-filter: blur(2px);
}

/* Catalog cards: keep full product image visible */
body.page-template-page-catalog #catalog-grid .pcard-img {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 85%, rgba(201,168,76,.07), transparent 65%);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-template-page-catalog #catalog-grid .pcard-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center;
  display: block;
}
body.page-template-page-catalog #catalog-grid .pcard:hover .pcard-img img {
  transform: none !important;
}

/* Single product */
.product-hero { padding-top:100px; background:var(--void); }
.product-layout { display:grid; grid-template-columns:1fr 1fr; gap:6rem; padding-block:5rem; align-items:start; }
.product-gallery { position:relative; top:auto; }
@media (min-width:901px){
  .product-gallery.is-pinned--fixed{position:fixed;z-index:25}
  .product-layout{align-items:stretch}
  .product-gallery.is-pinned--end{position:absolute;left:0;right:0;width:100%!important}
}
.product-gallery__main { aspect-ratio:auto !important; height:auto !important; background:linear-gradient(160deg,#12101e,#080612); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.product-gallery__main #gallery-main-img { width:100% !important; height:auto !important; object-fit:initial !important; object-position:center; transform:none !important; }
.product-gallery__thumbs { display:flex; gap:0.5rem; }
.product-gallery__thumb { width:70px; height:70px; background:var(--surface); border:1px solid var(--border); transition:border-color var(--dur-s); }
.product-gallery__thumb.active, .product-gallery__thumb:hover { border-color:var(--gold); }
.product-details h1 { font-family:var(--f-display); font-size:clamp(2rem,4vw,3.2rem); font-weight:300; line-height:1.15; margin-bottom:0.5rem; }
.product-details .brand-link { font-family:var(--f-ui); font-size:0.6rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-d); display:block; margin-bottom:1.5rem; }
.product-price { font-family:var(--f-display); font-size:2rem; font-weight:300; color:var(--gold); margin-bottom:2rem; }
.product-price small { font-family:var(--f-ui); font-size:0.65rem; color:var(--muted); margin-left:0.4rem; }
.product-volumes { display:flex; gap:0.6rem; margin-bottom:2.5rem; flex-wrap:wrap; }
.volume-btn { padding:0.7rem 1.2rem; border:1px solid var(--border); background:transparent; font-family:var(--f-ui); font-size:0.72rem; color:var(--text-2); transition:all var(--dur-s); }
.volume-btn.active, .volume-btn:hover { border-color:var(--gold); color:var(--gold); background:var(--gold-pale); }
.scent-pyramid { margin-top:3rem; border-top:1px solid var(--border); padding-top:2rem; }
.scent-pyramid h4 { font-family:var(--f-ui); font-size:0.58rem; letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-d); margin-bottom:1.5rem; }
.scent-row { display:flex; align-items:flex-start; gap:1.2rem; margin-bottom:1.1rem; }
.scent-label { font-family:var(--f-ui); font-size:0.58rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--muted); width:65px; flex-shrink:0; padding-top:0.1rem; }
.scent-notes { display:flex; flex-wrap:wrap; gap:0.5rem; }
.scent-note { font-family:var(--f-notes); font-size:1.05rem; font-style:italic; font-weight:500; letter-spacing:0.02em; color:var(--gold-l); background:rgba(201,168,76,0.08); border:1px solid rgba(201,168,76,0.45); padding:0.45rem 1rem; transition:border-color var(--dur-s),color var(--dur-s),background var(--dur-s); }
.scent-note:hover { border-color:var(--gold); color:var(--text); background:rgba(201,168,76,0.14); }

/* Keyframes */
@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }
@keyframes slideUp { to { opacity:1; transform:translateY(0); } }
@keyframes expandWidth { to { width:80px; } }
@keyframes bottleReveal { 0%{opacity:0;transform:scale(0.92) translateY(20px)} 100%{opacity:1;transform:scale(1) translateY(0)} }
@keyframes bottleFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-14px)} }
@keyframes pulseGlow { 0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.7} 50%{transform:translate(-50%,-50%) scale(1.15);opacity:1} }
@keyframes spinOrbit { from{transform:translate(-50%,-50%) rotate(0deg)} to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes marqueeScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes scrollLine { 0%{transform:scaleY(1);transform-origin:top} 50%{transform:scaleY(0);transform-origin:top} 50.001%{transform:scaleY(0);transform-origin:bottom} 100%{transform:scaleY(1);transform-origin:bottom} }

/* Responsive */
@media(max-width:1100px){
  .hlx-inner{grid-template-columns:1fr;gap:3rem;padding-top:120px}
  .hlx-copy{max-width:none}
  .hlx-visual{min-height:360px}
  .hlx-stats{gap:2rem}
  .footer-main{grid-template-columns:1fr 1fr;gap:3rem}
  .story-inner{grid-template-columns:1fr}
  .story-visual{max-width:500px;margin-inline:auto;aspect-ratio:1/1}
  .showcase-grid{grid-template-columns:1fr 1fr}
  .showcase-item--large{grid-row:span 1}
}
@media(max-width:768px){
  .main-nav{display:none}
  .burger{display:flex}
  .hlx-inner{padding-top:100px;min-height:auto;padding-bottom:5rem}
  .hlx-h1{font-size:clamp(2.5rem,10vw,4rem)}
  .hlx-stats{gap:1.5rem;flex-wrap:wrap}
  .hlx-stat__num{font-size:1.5rem}
  .hlx-bottle-wrap{max-width:240px}
  .products-grid{grid-template-columns:1fr 1fr;gap:1px}
  .reviews-grid{grid-template-columns:1fr}
  .loyalty-steps{grid-template-columns:1fr}
  .showcase-grid{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr;gap:2.5rem}
  .footer-bottom{flex-direction:column;text-align:center;gap:0.6rem}
  .newsletter-form{flex-direction:column}
  #cart-sidebar{width:100%}
  .hlx-scroll{display:none}
  .catalog-layout{grid-template-columns:1fr}
}
@media(max-width:480px){
  .products-grid{grid-template-columns:1fr}
  .hlx-ctas{flex-direction:column;align-items:flex-start}
  .story-features{grid-template-columns:1fr}
}

/* Mobile-only layout fixes (no desktop impact) */
@media(max-width:768px){
  html, body { overflow-x: hidden; }

  /* 1) Compact header */
  .hdr{
    height:62px;
    gap:0.8rem;
    padding-inline:0.9rem;
  }
  .logo__name{
    font-size:1.18rem;
    letter-spacing:0.14em;
  }
  .logo__sub{
    font-size:0.43rem;
    letter-spacing:0.22em;
  }
  .hdr__actions{ gap:0.25rem; }
  .btn-icon{
    width:36px;
    height:36px;
    font-size:0.95rem;
  }
  .burger{ padding:6px; }
  .burger span{ width:19px; }
  .cart-badge{
    top:4px;
    right:4px;
    width:14px;
    height:14px;
    font-size:0.47rem;
  }

  /* 2) Compact mobile menu */
  .mobile-nav{
    justify-content:flex-start;
    align-items:stretch;
    gap:0.15rem;
    padding:5.2rem 1rem 1.2rem;
    overflow-y:auto;
  }
  .mobile-nav a{
    width:100%;
    text-align:left;
    font-size:1.02rem;
    line-height:1.25;
    letter-spacing:0.12em;
    padding:0.45rem 0.15rem;
  }

  /* 3) Force two-column sections to one column */
  .story-inner,
  .product-layout,
  .sp-layout,
  body[class*="page-template-page-about"] [style*="display:grid"][style*="grid-template-columns:1fr 1fr"],
  body[class*="page-template-page-contacts"] [style*="display:grid"][style*="grid-template-columns:1fr 1fr"],
  body[class*="page-template-page-catalog"] [style*="display:grid"][style*="grid-template-columns:260px 1fr"]{
    grid-template-columns:1fr !important;
    gap:1.4rem !important;
  }
  body[class*="page-template-page-contacts"] [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > *{
    width:100% !important;
    min-width:0 !important;
  }
  body[class*="page-template-page-contacts"] [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child{
    margin-bottom:1.5rem !important;
  }

  /* Contacts: phone block and buttons */
  body[class*="page-template-page-contacts"] [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"]{
    width:100% !important;
    margin-bottom:1.5rem !important;
  }
  body[class*="page-template-page-contacts"] [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"] > a{
    flex:1 1 100% !important;
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Contacts: store cards strictly vertical, no fixed widths */
  body[class*="page-template-page-contacts"] [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"]{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0.75rem !important;
  }
  body[class*="page-template-page-contacts"] [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"] > a{
    width:100% !important;
    align-self:stretch !important;
    text-align:center !important;
  }

  /* 4) Catalog cards without horizontal shift */
  .catalog-grid,
  #catalog-grid,
  body[class*="page-template-page-catalog"] .grid-3{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:1px !important;
  }
  .catalog-grid > *,
  #catalog-grid > *,
  body[class*="page-template-page-catalog"] .grid-3 > *{
    min-width:0;
    width:100%;
  }

  /* 5) Decorative/media overlap fixes */
  .hlx-ar-bg,
  .hlx-orbit,
  .hlx-corner,
  .hlx-light,
  .hlx-lines{
    display:none;
  }
  .story-quote{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:1rem;
  }
  body[class*="page-template-page-about"] [style*="position:absolute"][style*="bottom:2rem"][style*="left:2rem"][style*="right:2rem"]{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin-top:1rem !important;
  }
  body[class*="page-template-page-contacts"] [aria-hidden="true"][style*="position:absolute"][style*="font-size:14rem"]{
    display:none !important;
  }
  svg, iframe, video{
    max-width:100%;
    height:auto;
  }

  /* 6) Floating buttons/popup move away from content */
  #dj-float{
    right:0.75rem !important;
    bottom:0.75rem !important;
    gap:0.45rem !important;
    z-index:950 !important;
  }
  #dj-float a{
    width:40px !important;
    height:40px !important;
  }
  #dj-popup{
    right:0.75rem !important;
    left:0.75rem !important;
    bottom:4.4rem !important;
    width:auto !important;
    max-width:none !important;
  }
  body[class*="page-template-page-contacts"] .section:last-of-type{
    padding-bottom:7rem;
  }
  body[class*="page-template-page-contacts"]{
    overflow-x:hidden !important;
  }
  body[class*="page-template-page-contacts"] *{
    max-width:100%;
    min-width:0;
    word-break:break-word;
  }

  /* 7) Guard against right shift on wrappers */
  .wrap,
  .section,
  .product-layout,
  .sp-layout{
    min-width:0;
  }
}

@media(max-width:560px){
  .catalog-grid,
  #catalog-grid,
  body[class*="page-template-page-catalog"] .grid-3{
    grid-template-columns:1fr !important;
  }
}

/* ── Search overlay ── */
#btn-close-search { cursor:pointer; transition:color .2s; }
#btn-close-search:hover { color:var(--gold) !important; }

/* Contacts page: mobile-only fix */
@media (max-width:768px){
  body.page-template-page-contacts,
  body.page-template-page-contacts-php{
    overflow-x:hidden !important;
  }

  body.page-template-page-contacts .wrap,
  body.page-template-page-contacts-php .wrap{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* Main contacts two-column container -> one column */
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"]{
    display:flex !important;
    flex-direction:column !important;
    gap:24px !important;
    width:100% !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* Left block spacing */
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child{
    margin-bottom:24px !important;
  }

  /* Phone CTA buttons full-width */
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"]{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    width:100% !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"] > a,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child [style*="display:flex"][style*="margin-top:1rem"][style*="flex-wrap:wrap"] > a{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 !important;
  }

  /* Store cards remain vertical and fluid */
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="flex-direction:column"][style*="gap:1px"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="flex-direction:column"][style*="gap:1px"]{
    width:100% !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"]{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    width:100% !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"] > a,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"] > a{
    width:100% !important;
    align-self:stretch !important;
    text-align:center !important;
  }

  /* Floating buttons don't overlap content */
  body.page-template-page-contacts #dj-float,
  body.page-template-page-contacts-php #dj-float{
    right:10px !important;
    bottom:10px !important;
    gap:8px !important;
    z-index:950 !important;
  }
  body.page-template-page-contacts #dj-float a,
  body.page-template-page-contacts-php #dj-float a{
    width:40px !important;
    height:40px !important;
  }

  body.page-template-page-contacts #dj-popup,
  body.page-template-page-contacts-php #dj-popup{
    left:10px !important;
    right:10px !important;
    bottom:60px !important;
    width:auto !important;
    max-width:none !important;
  }
}

@media (max-width:768px){
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"]{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    width:100% !important;
    max-width:100% !important;
    gap:24px !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child,
  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:first-child,
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:0 0 auto !important;
  }

  body.page-template-page-contacts .section .wrap [style*="grid-template-columns"],
  body.page-template-page-contacts-php .section .wrap [style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
  }

  body.page-template-page-contacts .section .wrap [style*="width:50%"],
  body.page-template-page-contacts .section .wrap [style*="width: 50%"],
  body.page-template-page-contacts .section .wrap [style*="width:600px"],
  body.page-template-page-contacts .section .wrap [style*="width: 600px"],
  body.page-template-page-contacts-php .section .wrap [style*="width:50%"],
  body.page-template-page-contacts-php .section .wrap [style*="width: 50%"],
  body.page-template-page-contacts-php .section .wrap [style*="width:600px"],
  body.page-template-page-contacts-php .section .wrap [style*="width: 600px"]{
    width:100% !important;
    max-width:100% !important;
  }

  body.page-template-page-contacts [aria-hidden="true"][style*="position:absolute"][style*="font-size:14rem"],
  body.page-template-page-contacts-php [aria-hidden="true"][style*="position:absolute"][style*="font-size:14rem"]{
    display:none !important;
    position:static !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="flex-direction:column"][style*="gap:1px"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="flex-direction:column"][style*="gap:1px"]{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    overflow-x:hidden !important;
  }

  body.page-template-page-contacts .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"],
  body.page-template-page-contacts-php .section .wrap > [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] > div:last-child [style*="display:flex"][style*="gap:1.2rem"][style*="align-items:flex-start"]{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
  }

  body.page-template-page-contacts #dj-float,
  body.page-template-page-contacts-php #dj-float{
    bottom:8px !important;
  }
  body.page-template-page-contacts #dj-float a,
  body.page-template-page-contacts-php #dj-float a{
    width:36px !important;
    height:36px !important;
  }
}

/* =========================================================
   SYSTEMIC MOBILE LAYER (mobile-only, desktop untouched)
   Ranges: 431-768, 376-430, 320-375
========================================================= */
@media (max-width:768px){
  html, body{
    overflow-x:hidden !important;
    max-width:100%;
  }

  .wrap, .section, #site-header, #site-footer, .woocommerce, .product-hero, .sp-wrap{
    max-width:100%;
    min-width:0;
  }

  img, svg, video, canvas, iframe{
    max-width:100%;
    height:auto;
  }

  /* Better touch targets */
  .btn-icon, .burger, .btn-lux, .volume-btn, .sp-vol, .sp-fmt-tab, .btn-atc,
  .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
    min-height:44px;
    touch-action:manipulation;
  }

  /* Compact but readable header/menu */
  .hdr{
    height:60px !important;
    padding-inline:0.85rem !important;
    gap:0.65rem !important;
  }
  .logo__name{ font-size:1.12rem !important; letter-spacing:0.12em !important; }
  .logo__sub{ font-size:0.42rem !important; letter-spacing:0.2em !important; }
  .btn-icon{ width:38px !important; height:38px !important; }
  .mobile-nav{
    padding:4.9rem 0.95rem 1.2rem !important;
    gap:0.18rem !important;
  }
  .mobile-nav a{
    font-size:1rem !important;
    line-height:1.24 !important;
    padding:0.48rem 0.12rem !important;
  }

  /* Heavy decorative overlays that break mobile flow */
  .hlx-ar-bg, .hlx-orbit, .hlx-corner, .hlx-lines, .hlx-light, .hlx-grain{ display:none !important; }

  /* General grids -> one column on mobile */
  .story-inner, .story-features, .showcase-grid, .reviews-grid, .loyalty-steps,
  .footer-main, .product-layout, .sp-layout, .sp-benefits, .sp-why,
  .frow, .newsletter-form{
    grid-template-columns:1fr !important;
    flex-direction:column !important;
  }

  /* Inline grid/flex problem blocks in templates */
  body [style*="display:grid"][style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important;
    gap:1rem !important;
    width:100% !important;
  }
  body [style*="display:grid"][style*="grid-template-columns:260px 1fr"]{
    grid-template-columns:1fr !important;
    gap:1rem !important;
    width:100% !important;
  }
  body [style*="display:grid"][style*="grid-template-columns:1fr 380px"]{
    grid-template-columns:1fr !important;
    gap:1rem !important;
    width:100% !important;
  }
  body [style*="display:grid"][style*="grid-template-columns:repeat(3,1fr)"],
  body [style*="display:grid"][style*="grid-template-columns:repeat(4,1fr)"],
  body [style*="display:grid"][style*="grid-template-columns:repeat(5,1fr)"]{
    grid-template-columns:1fr !important;
    gap:0.8rem !important;
  }

  /* Story quote absolute overlay -> normal flow */
  .story-quote{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin-top:0.9rem !important;
  }

  /* Catalog/cards */
  .catalog-layout{ grid-template-columns:1fr !important; gap:1rem !important; }
  .catalog-grid, #catalog-grid, .products-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:1px !important;
  }
  .catalog-grid > *, #catalog-grid > *, .products-grid > *{
    min-width:0;
    width:100%;
  }
  .prod-card__info{ padding:1rem 0.95rem 1.1rem !important; }
  .prod-card__name{ font-size:1.05rem !important; line-height:1.2 !important; }
  .prod-card__price{ font-size:1rem !important; }

  /* Woo/cart/checkout mobile flow */
  #cart-sidebar{ width:100% !important; max-width:100% !important; }
  .cart__head, .cart__body, .cart__foot{ padding-inline:1rem !important; }
  body.woocommerce-cart [style*="width:200px"]{ width:100% !important; }
  body.woocommerce-cart [style*="min-width:90px"]{ min-width:0 !important; }
  body.woocommerce-cart [style*="width:80px;height:80px"]{
    width:64px !important; height:64px !important;
  }
  .woocommerce table.shop_table_responsive tr td,
  .woocommerce-page table.shop_table_responsive tr td{
    word-break:break-word;
  }

  /* Single product readability */
  .product-hero{ min-height:auto !important; }
  .product-layout{ gap:1.2rem !important; padding-block:1.6rem !important; }
  .product-details h1{ font-size:1.65rem !important; line-height:1.18 !important; }
  .product-price{ font-size:1.45rem !important; }
  .scent-row{ gap:0.7rem !important; }
  .scent-label{ width:58px !important; font-size:0.52rem !important; }

  /* Footer clarity */
  .footer-bottom{
    flex-direction:column !important;
    text-align:center !important;
    gap:0.6rem !important;
  }
  .footer-bottom__links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.8rem !important;
  }

  /* Floating contact widgets: smaller and less intrusive */
  #dj-float{ right:10px !important; bottom:10px !important; z-index:940 !important; }
  #dj-float a{ width:38px !important; height:38px !important; }
  #dj-popup{
    left:10px !important;
    right:10px !important;
    bottom:56px !important;
    width:auto !important;
    max-width:none !important;
  }
}

/* 376-430 px */
@media (min-width:376px) and (max-width:430px){
  .wrap{ padding-inline:0.9rem !important; }
  .hlx-h1{ font-size:2.35rem !important; }
  .hlx-sub{ font-size:0.82rem !important; line-height:1.65 !important; }
  .sec-title{ font-size:1.85rem !important; }
  .catalog-grid, #catalog-grid, .products-grid{ grid-template-columns:1fr !important; }
}

/* 320-375 px */
@media (max-width:375px){
  .wrap{ padding-inline:0.75rem !important; }
  .hdr{ height:56px !important; }
  .logo__name{ font-size:1rem !important; }
  .logo__sub{ display:none !important; }
  .mobile-nav{ padding-top:4.5rem !important; }
  .mobile-nav a{ font-size:0.92rem !important; }
  .sec-title{ font-size:1.6rem !important; line-height:1.16 !important; }
  .hlx-h1{ font-size:2rem !important; }
  .hlx-sub{ font-size:0.78rem !important; line-height:1.6 !important; }
  .btn-lux{
    width:100% !important;
    justify-content:center !important;
    font-size:0.52rem !important;
    letter-spacing:0.18em !important;
    padding:0.82rem 0.9rem !important;
  }
  .catalog-grid, #catalog-grid, .products-grid{ grid-template-columns:1fr !important; }
  .prod-card__badge{
    top:0.6rem !important;
    right:0.6rem !important;
    font-size:0.44rem !important;
    padding:0.28rem 0.5rem !important;
    letter-spacing:0.16em !important;
  }
  .toast{
    min-width:0 !important;
    width:calc(100vw - 1.5rem) !important;
    max-width:none !important;
  }
  #toast-wrap{ right:0.75rem !important; left:0.75rem !important; bottom:0.75rem !important; }
  body:has(.dj-cookie-banner.is-visible) #toast-wrap{ bottom:7.5rem !important; }
}

@media (max-width: 768px) {

  /* контейнер контактов */
  .contacts-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 24px !important;
  }

  /* левая и правая колонка */
  .contacts-col--left,
  .contacts-col--right {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  /* карточки магазинов */
  .contacts-stores-list,
  .contacts-store-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .contacts-stores-list {
    overflow-x: hidden !important;
  }

  .contacts-store-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .contacts-store-card > a {
    width: 100% !important;
    align-self: stretch !important;
    text-align: center !important;
  }

  .contacts-grid [style*="width:50%"],
  .contacts-grid [style*="width: 50%"],
  .contacts-grid [style*="width:600px"],
  .contacts-grid [style*="width: 600px"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .contacts-hero-decor {
    display: none !important;
    position: static !important;
  }

  #dj-float {
    bottom: 8px !important;
  }

  #dj-float a {
    width: 36px !important;
    height: 36px !important;
  }

  body {
    overflow-x: hidden !important;
  }
}

@media (max-width: 768px) {
  .hlx-heading {
    margin-bottom: 1rem !important;
    overflow: visible !important;
  }

  .hlx-h1 {
    font-size: clamp(1.75rem, 7.5vw, 2.45rem) !important;
    line-height: 1.24 !important;
    margin: 0 0 0.18rem 0 !important;
    padding: 0 !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important;
  }

  .hlx-sub {
    font-size: 0.84rem !important;
    line-height: 1.7 !important;
    margin: 0.7rem 0 1.4rem 0 !important;
    padding: 0 !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important;
  }

  .hlx-visual {
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .hlx-bottle-wrap {
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 auto !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important;
  }

  .hlx-bottle-svg {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
    animation: none !important;
  }

  .hlx-glow {
    display: none !important;
  }

  .marquee-strip {
    background: var(--deep) !important;
  }

  .marquee-item,
  .marquee-item::after {
    background: linear-gradient(90deg, #C6A55C, #E8D08A, #C6A55C) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: transparent !important;
    opacity: 1 !important;
    filter: drop-shadow(0 0 6px rgba(198, 165, 92, 0.35)) !important;
  }
}

@media (max-width: 768px) {
  /* Header */
  #site-header,
  #site-header.scrolled {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    transform: none !important;
  }
  #site-header .hdr {
    height: 58px !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 10px !important;
    gap: 8px !important;
    transform: none !important;
  }
  #site-header .logo,
  #site-header .logo__name,
  #site-header .logo__sub {
    transform: none !important;
  }

  /* Hero bottle / animation stabilization */
  #hero-lux .hlx-visual {
    position: relative !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
  }
  #hero-lux .hlx-bottle-wrap {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    max-width: 220px !important;
    width: 100% !important;
    margin: 0 auto !important;
    animation: none !important;
  }
  #hero-lux .hlx-bottle-svg {
    position: relative !important;
    display: block !important;
    transform: none !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    animation: none !important;
  }
  #hero-lux .hlx-glow,
  #hero-lux .hlx-orbit,
  #hero-lux .hlx-corner {
    display: none !important;
    animation: none !important;
    transform: none !important;
  }

  /* Brand strip fixed gold background */
  .marquee-strip {
    background: #C9A84C !important;
    border-block: 1px solid rgba(201, 168, 76, 0.55) !important;
  }
  .marquee-strip::before,
  .marquee-strip::after {
    display: none !important;
    background: none !important;
    content: none !important;
  }
  .marquee-strip .marquee-item,
  .marquee-strip .marquee-item::after {
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #0A0A0A !important;
    color: #0A0A0A !important;
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
  }
}
@media (max-width: 768px) {

  /* КОНТАКТЫ В 1 КОЛОНКУ */
  .page-contacts .container,
  .page-contacts .row,
  .page-contacts .contacts,
  .page-contacts .contacts-wrapper {
    display: flex !important;
    flex-direction: column !important;
  }

  /* ВСЕ БЛОКИ НА ВСЮ ШИРИНУ */
  .page-contacts div {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* КНОПКИ */
  .page-contacts a,
  .page-contacts button {
    width: 100% !important;
  }

  /* УБИРАЕМ СЪЕЗД */
  body {
    overflow-x: hidden !important;
  }

  /* ПЛАВАЮЩИЕ КНОПКИ */
  #dj-float {
    right: 10px !important;
    bottom: 80px !important;
    transform: scale(0.8);
  }

}

/* =========================================================
   PAGE: Оформление заказа (ID 129)
   Local visual polish only for this page.
========================================================= */
body.page-id-129 .entry-content,
body.page-oformlenie-zakaza .entry-content,
body.page-id-105 .entry-content,
body.page-id-130 .entry-content,
body.page-delivery .entry-content,
body.page-payment .entry-content,
body.page-publichnaya-oferta .entry-content,
body.page-kontakty-faq .entry-content,
body.page-refund .entry-content,
body.page-privacy-policy .entry-content,
body.page-id-108 .entry-content,
body.page-id-18 .entry-content,
body.page-id-3 .entry-content,
body.page-id-131 .entry-content {
  max-width: 920px !important;
  margin: 0 auto !important;
  text-align: left !important;
  line-height: 1.9 !important;
  color: var(--text-2) !important;
  position: relative;
  z-index: 1;
}

body.page-id-129 .section .container,
body.page-oformlenie-zakaza .section .container,
body.page-id-105 .section .container,
body.page-id-130 .section .container,
body.page-delivery .section .container,
body.page-payment .section .container,
body.page-publichnaya-oferta .section .container,
body.page-kontakty-faq .section .container,
body.page-refund .section .container,
body.page-privacy-policy .section .container,
body.page-id-108 .section .container,
body.page-id-18 .section .container,
body.page-id-3 .section .container,
body.page-id-131 .section .container {
  max-width: 980px !important;
  margin-inline: auto !important;
}

body.page-id-129,
body.page-oformlenie-zakaza,
body.page-id-105,
body.page-id-130,
body.page-delivery,
body.page-payment,
body.page-publichnaya-oferta,
body.page-kontakty-faq,
body.page-refund,
body.page-privacy-policy,
body.page-id-108,
body.page-id-18,
body.page-id-3,
body.page-id-131 {
  position: relative;
  overflow-x: hidden;
}

body.page-id-129::before,
body.page-id-129::after,
body.page-oformlenie-zakaza::before,
body.page-oformlenie-zakaza::after,
body.page-id-105::before,
body.page-id-105::after,
body.page-id-130::before,
body.page-id-130::after,
body.page-delivery::before,
body.page-delivery::after,
body.page-payment::before,
body.page-payment::after,
body.page-publichnaya-oferta::before,
body.page-publichnaya-oferta::after,
body.page-kontakty-faq::before,
body.page-kontakty-faq::after,
body.page-refund::before,
body.page-refund::after,
body.page-privacy-policy::before,
body.page-privacy-policy::after,
body.page-id-108::before,
body.page-id-108::after,
body.page-id-18::before,
body.page-id-18::after,
body.page-id-3::before,
body.page-id-3::after,
body.page-id-131::before,
body.page-id-131::after {
  content: "";
  position: fixed;
  inset: -20%;
  pointer-events: none;
  z-index: 0;
}

body.page-id-129 .entry-content::before,
body.page-oformlenie-zakaza .entry-content::before,
body.page-id-105 .entry-content::before,
body.page-id-130 .entry-content::before,
body.page-delivery .entry-content::before,
body.page-payment .entry-content::before,
body.page-publichnaya-oferta .entry-content::before,
body.page-kontakty-faq .entry-content::before,
body.page-refund .entry-content::before,
body.page-privacy-policy .entry-content::before,
body.page-id-108 .entry-content::before,
body.page-id-18 .entry-content::before,
body.page-id-3 .entry-content::before,
body.page-id-131 .entry-content::before {
  content: none;
}

body.page-id-129::before,
body.page-oformlenie-zakaza::before,
body.page-id-105::before,
body.page-id-130::before,
body.page-delivery::before,
body.page-payment::before,
body.page-publichnaya-oferta::before,
body.page-kontakty-faq::before,
body.page-refund::before,
body.page-privacy-policy::before,
body.page-id-108::before,
body.page-id-18::before,
body.page-id-3::before,
body.page-id-131::before {
  background:
    radial-gradient(3.2px 3.2px at 12% 22%, rgba(201, 168, 76, 0.62), transparent 62%),
    radial-gradient(3.8px 3.8px at 31% 68%, rgba(232, 201, 126, 0.56), transparent 62%),
    radial-gradient(3.2px 3.2px at 57% 35%, rgba(201, 168, 76, 0.52), transparent 62%),
    radial-gradient(4.2px 4.2px at 79% 58%, rgba(232, 201, 126, 0.46), transparent 62%),
    radial-gradient(3.2px 3.2px at 46% 84%, rgba(201, 168, 76, 0.52), transparent 62%);
  background-size: 220px 220px, 300px 300px, 260px 260px, 360px 360px, 320px 320px;
  opacity: 0.72;
  filter: drop-shadow(0 0 5px rgba(201, 168, 76, 0.25));
  animation: page129DustA 34s linear infinite;
}

body.page-id-129::after,
body.page-oformlenie-zakaza::after,
body.page-id-105::after,
body.page-id-130::after,
body.page-delivery::after,
body.page-payment::after,
body.page-publichnaya-oferta::after,
body.page-kontakty-faq::after,
body.page-refund::after,
body.page-privacy-policy::after,
body.page-id-108::after,
body.page-id-18::after,
body.page-id-3::after,
body.page-id-131::after {
  background:
    radial-gradient(5px 5px at 18% 14%, rgba(232, 201, 126, 0.55), transparent 68%),
    radial-gradient(5.8px 5.8px at 65% 26%, rgba(201, 168, 76, 0.48), transparent 68%),
    radial-gradient(5px 5px at 82% 72%, rgba(232, 201, 126, 0.44), transparent 68%);
  background-size: 380px 380px, 520px 520px, 460px 460px;
  opacity: 0.45;
  filter: drop-shadow(0 0 8px rgba(201, 168, 76, 0.30));
  animation: page129DustB 22s linear infinite;
}

body.page-id-129 .entry-content h2,
body.page-oformlenie-zakaza .entry-content h2,
body.page-id-105 .entry-content h2,
body.page-id-130 .entry-content h2,
body.page-delivery .entry-content h2,
body.page-payment .entry-content h2,
body.page-publichnaya-oferta .entry-content h2,
body.page-kontakty-faq .entry-content h2,
body.page-refund .entry-content h2,
body.page-privacy-policy .entry-content h2,
body.page-id-108 .entry-content h2,
body.page-id-18 .entry-content h2,
body.page-id-3 .entry-content h2,
body.page-id-131 .entry-content h2 {
  text-align: center !important;
  font-family: var(--f-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 300 !important;
  color: var(--gold) !important;
  letter-spacing: 0.02em;
  margin: 0 0 1.1rem !important;
}

body.page-id-129 .entry-content p,
body.page-oformlenie-zakaza .entry-content p,
body.page-id-105 .entry-content p,
body.page-id-130 .entry-content p,
body.page-delivery .entry-content p,
body.page-payment .entry-content p,
body.page-publichnaya-oferta .entry-content p,
body.page-kontakty-faq .entry-content p,
body.page-refund .entry-content p,
body.page-privacy-policy .entry-content p,
body.page-id-108 .entry-content p,
body.page-id-18 .entry-content p,
body.page-id-3 .entry-content p,
body.page-id-131 .entry-content p {
  margin: 0 0 1rem !important;
}

body.page-id-129 .entry-content ol,
body.page-id-129 .entry-content ul,
body.page-oformlenie-zakaza .entry-content ol,
body.page-oformlenie-zakaza .entry-content ul,
body.page-id-105 .entry-content ol,
body.page-id-105 .entry-content ul,
body.page-id-130 .entry-content ol,
body.page-id-130 .entry-content ul,
body.page-delivery .entry-content ol,
body.page-payment .entry-content ol,
body.page-payment .entry-content ul,
body.page-publichnaya-oferta .entry-content ol,
body.page-publichnaya-oferta .entry-content ul,
body.page-kontakty-faq .entry-content ol,
body.page-kontakty-faq .entry-content ul,
body.page-refund .entry-content ol,
body.page-refund .entry-content ul,
body.page-privacy-policy .entry-content ol,
body.page-privacy-policy .entry-content ul,
body.page-id-108 .entry-content ol,
body.page-id-108 .entry-content ul,
body.page-id-18 .entry-content ol,
body.page-id-18 .entry-content ul,
body.page-id-3 .entry-content ol,
body.page-id-3 .entry-content ul,
body.page-id-131 .entry-content ol,
body.page-id-131 .entry-content ul {
  margin: 1.2rem 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 14px !important;
}

body.page-id-129 .entry-content ol > li,
body.page-id-129 .entry-content ul > li,
body.page-oformlenie-zakaza .entry-content ol > li,
body.page-oformlenie-zakaza .entry-content ul > li,
body.page-id-105 .entry-content ol > li,
body.page-id-105 .entry-content ul > li,
body.page-id-130 .entry-content ol > li,
body.page-id-130 .entry-content ul > li,
body.page-delivery .entry-content ol > li,
body.page-payment .entry-content ol > li,
body.page-payment .entry-content ul > li,
body.page-publichnaya-oferta .entry-content ol > li,
body.page-publichnaya-oferta .entry-content ul > li,
body.page-kontakty-faq .entry-content ol > li,
body.page-kontakty-faq .entry-content ul > li,
body.page-refund .entry-content ol > li,
body.page-refund .entry-content ul > li,
body.page-privacy-policy .entry-content ol > li,
body.page-privacy-policy .entry-content ul > li,
body.page-id-108 .entry-content ol > li,
body.page-id-108 .entry-content ul > li,
body.page-id-18 .entry-content ol > li,
body.page-id-18 .entry-content ul > li,
body.page-id-3 .entry-content ol > li,
body.page-id-3 .entry-content ul > li,
body.page-id-131 .entry-content ol > li,
body.page-id-131 .entry-content ul > li {
  list-style: none !important;
  margin: 0 !important;
  background: rgba(17, 14, 28, 0.55);
  border: 1px solid rgba(201, 168, 76, 0.18);
  padding: 1rem 1.1rem;
  border-radius: 10px;
}

body.page-id-129 .entry-content ol > li > strong,
body.page-id-129 .entry-content ul > li > strong,
body.page-id-129 .entry-content ol > li > b,
body.page-id-129 .entry-content ul > li > b,
body.page-oformlenie-zakaza .entry-content ol > li > strong,
body.page-oformlenie-zakaza .entry-content ul > li > strong,
body.page-oformlenie-zakaza .entry-content ol > li > b,
body.page-oformlenie-zakaza .entry-content ul > li > b,
body.page-id-105 .entry-content ol > li > strong,
body.page-id-105 .entry-content ul > li > strong,
body.page-id-105 .entry-content ol > li > b,
body.page-id-105 .entry-content ul > li > b,
body.page-id-130 .entry-content ol > li > strong,
body.page-id-130 .entry-content ul > li > strong,
body.page-id-130 .entry-content ol > li > b,
body.page-id-130 .entry-content ul > li > b,
body.page-delivery .entry-content ol > li > strong,
body.page-payment .entry-content ol > li > strong,
body.page-payment .entry-content ul > li > strong,
body.page-payment .entry-content ol > li > b,
body.page-payment .entry-content ul > li > b,
body.page-publichnaya-oferta .entry-content ol > li > strong,
body.page-publichnaya-oferta .entry-content ul > li > strong,
body.page-publichnaya-oferta .entry-content ol > li > b,
body.page-publichnaya-oferta .entry-content ul > li > b,
body.page-kontakty-faq .entry-content ol > li > strong,
body.page-kontakty-faq .entry-content ul > li > strong,
body.page-kontakty-faq .entry-content ol > li > b,
body.page-kontakty-faq .entry-content ul > li > b,
body.page-refund .entry-content ol > li > strong,
body.page-refund .entry-content ul > li > strong,
body.page-refund .entry-content ol > li > b,
body.page-refund .entry-content ul > li > b,
body.page-privacy-policy .entry-content ol > li > strong,
body.page-privacy-policy .entry-content ul > li > strong,
body.page-privacy-policy .entry-content ol > li > b,
body.page-privacy-policy .entry-content ul > li > b,
body.page-id-108 .entry-content ol > li > strong,
body.page-id-108 .entry-content ul > li > strong,
body.page-id-108 .entry-content ol > li > b,
body.page-id-108 .entry-content ul > li > b,
body.page-id-18 .entry-content ol > li > strong,
body.page-id-18 .entry-content ul > li > strong,
body.page-id-18 .entry-content ol > li > b,
body.page-id-18 .entry-content ul > li > b,
body.page-id-3 .entry-content ol > li > strong,
body.page-id-3 .entry-content ul > li > strong,
body.page-id-3 .entry-content ol > li > b,
body.page-id-3 .entry-content ul > li > b,
body.page-id-131 .entry-content ol > li > strong,
body.page-id-131 .entry-content ul > li > strong,
body.page-id-131 .entry-content ol > li > b,
body.page-id-131 .entry-content ul > li > b {
  display: block;
  color: var(--gold) !important;
  font-family: var(--f-ui);
  font-size: 0.84rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.45rem;
}

body.page-id-129 .entry-content ol > li > p,
body.page-id-129 .entry-content ul > li > p,
body.page-oformlenie-zakaza .entry-content ol > li > p,
body.page-oformlenie-zakaza .entry-content ul > li > p,
body.page-id-105 .entry-content ol > li > p,
body.page-id-105 .entry-content ul > li > p,
body.page-id-130 .entry-content ol > li > p,
body.page-id-130 .entry-content ul > li > p,
body.page-delivery .entry-content ol > li > p,
body.page-payment .entry-content ol > li > p,
body.page-payment .entry-content ul > li > p,
body.page-publichnaya-oferta .entry-content ol > li > p,
body.page-publichnaya-oferta .entry-content ul > li > p,
body.page-kontakty-faq .entry-content ol > li > p,
body.page-kontakty-faq .entry-content ul > li > p,
body.page-refund .entry-content ol > li > p,
body.page-refund .entry-content ul > li > p,
body.page-privacy-policy .entry-content ol > li > p,
body.page-privacy-policy .entry-content ul > li > p,
body.page-id-108 .entry-content ol > li > p,
body.page-id-108 .entry-content ul > li > p,
body.page-id-18 .entry-content ol > li > p,
body.page-id-18 .entry-content ul > li > p,
body.page-id-3 .entry-content ol > li > p,
body.page-id-3 .entry-content ul > li > p,
body.page-id-131 .entry-content ol > li > p,
body.page-id-131 .entry-content ul > li > p {
  margin: 0 !important;
  color: var(--text-2) !important;
}

@keyframes page129DustA {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, -220px, 0); }
}

@keyframes page129DustB {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-90px, -180px, 0); }
}

