/* Enjoy Spa — блок «Зоны салона» v1.2 (2026-10-15) */
.esz{--esz-gold:#c9a96e;--esz-cream:#f3ebdd;--esz-text:rgba(243,235,221,.72);--esz-card:#141210;--esz-cta:#30dcdc;position:relative}
.esz.esz{background:linear-gradient(180deg,#0c0b09 0,#030303 140px,#030303 calc(100% - 140px),#0c0b09 100%)!important}
.esz.esz,.esz.esz>*{color:var(--esz-cream)}
.esz.esz h2#esz-h{color:var(--esz-cream)!important;-webkit-text-fill-color:var(--esz-cream);background:none!important;text-shadow:0 0 28px rgba(201,169,110,.25)}
.esz.esz p.esz-lead{color:rgba(243,235,221,.78)!important;-webkit-text-fill-color:rgba(243,235,221,.78)}
.esz.esz .esz-card h3{color:var(--esz-cream)!important}
.esz.esz .esz-card p{color:var(--esz-text)!important}
.esz .esz-wrap{max-width:1100px;margin:0 auto}
.esz .esz-lead{color:var(--esz-text)}
.esz .esz-stage,.esz .esz-dots{display:none}

/* Без JS — обычная сетка карточек */
.esz .esz-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.esz .esz-card{background:var(--esz-card);border:1px solid rgba(201,169,110,.18);border-radius:18px;padding:24px 22px;text-align:left}
.esz .esz-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:28px;line-height:1.15;color:var(--esz-cream);margin:0 0 10px}
.esz .esz-card p{font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.65;color:var(--esz-text);margin:0 0 18px}
.esz .esz-btns{display:flex;flex-wrap:wrap;gap:10px}
.esz .esz-b{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:999px;font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.esz .esz-b1{border:1px solid rgba(201,169,110,.55);color:var(--esz-gold)}@media (hover:hover) and (pointer:fine){.esz .esz-b1:hover{background:rgba(201,169,110,.12);border-color:var(--esz-gold)}}
.esz .esz-b2{background:var(--esz-cta);color:#0c0b09;border:1px solid var(--esz-cta)}
.esz .esz-b2:hover{background:#5ee6e6}

/* С JS — карусель капсул */
.esz.esz-js .esz-stage{display:block;position:relative;height:340px;overflow:hidden;margin:8px -16px 0;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.esz.esz-js .esz-dots{display:flex;justify-content:center;gap:10px;margin:6px 0 18px}
.esz.esz-js .esz-cards{display:grid;grid-template-columns:minmax(0,1fr);max-width:560px;margin:0 auto;text-align:center}
.esz.esz-js .esz-card{grid-area:1/1;visibility:hidden;opacity:0;background:none;border:0;padding:0;text-align:center}
.esz.esz-js .esz-card.is-on{visibility:visible;opacity:1;animation:esz-in .6s ease both}
.esz.esz-js .esz-btns{justify-content:center}
.esz-dot{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:rgba(243,235,221,.22);cursor:pointer;transition:all .4s}
.esz-dot.is-on{width:24px;background:var(--esz-gold)}
.esz-dot:focus-visible{outline:2px solid var(--esz-gold);outline-offset:3px}

.esz-bg{position:absolute;inset:0;opacity:0;transition:opacity .9s;pointer-events:none}
.esz-row{position:absolute;left:0;right:0;top:30px;height:240px;-webkit-box-reflect:below -18px linear-gradient(transparent 62%,rgba(0,0,0,.28))}
.esz-it{position:absolute;left:50%;top:60px;width:100px;height:160px;margin-left:-50px;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s;cursor:pointer;-webkit-tap-highlight-color:transparent}
.esz-pl{position:relative;z-index:2;height:100%;border-radius:999px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#f6eee6;box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:box-shadow .7s}
.esz-pd,.esz-pb{position:absolute;inset:0}
.esz-pb{opacity:0;transition:opacity .7s}
.esz-pl>span,.esz-pl>svg,.esz-pl>b{position:relative}
.esz-nm{position:absolute!important;top:12px;font:400 11px Montserrat,Arial,sans-serif;opacity:.55}
.esz-pl svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.esz-pl b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:20px;line-height:1}
.esz-pl .esz-sub{font:400 10px Montserrat,Arial,sans-serif;letter-spacing:.12em;opacity:.7}
.esz-it.is-on .esz-pb{opacity:1}
.esz-it.is-on .esz-pl{box-shadow:0 0 0 1px rgba(255,255,255,.55),0 0 20px 3px var(--c),0 0 70px 18px var(--c2)}

.esz-fx{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .6s;pointer-events:none}
.esz-it.is-on .esz-fx{opacity:1}
.esz-fx>*{position:absolute;animation-play-state:paused!important}
.esz-it.is-on .esz-fx>*{animation-play-state:running!important}
.esz.esz-off .esz-fx>*{animation-play-state:paused!important}

.esz-w{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.6),rgba(190,240,230,.25) 40%,transparent 70%);filter:blur(4px);animation:esz-steam 3s ease-out infinite}
.esz-rg{border-radius:50%;border:1.5px solid rgba(160,240,225,.45);border-left-color:transparent;border-bottom-color:transparent;animation:esz-spin 5s linear infinite}
.esz-fl{width:28px;height:46px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;transform-origin:50% 100%;background:radial-gradient(ellipse at 50% 85%,#fff4c2,#ffb13b 25%,#f0521e 50%,rgba(200,30,10,0) 72%);mix-blend-mode:screen;filter:blur(1.5px);animation:esz-flame 1s ease-out infinite}
.esz-em{width:3px;height:3px;border-radius:50%;background:#ffc36b;box-shadow:0 0 6px #ff8a2a;animation:esz-ember 2s linear infinite}
.esz-sk{background:#ffe2cf;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:esz-twinkle 2.2s ease-in-out infinite}
.esz-dt{width:3px;height:3px;border-radius:50%;background:#ffd2b8;box-shadow:0 0 5px #f2a27a;animation:esz-ember 3s linear infinite}
.esz-lotus{left:-80px;top:-15px;overflow:visible;filter:drop-shadow(0 0 10px rgba(255,140,180,.55));transform-origin:50% 90%;animation:esz-breathe 4s ease-in-out infinite}
.esz-lotus path{transform:scale(0);transform-box:fill-box;transform-origin:50% 100%;transition:transform .9s cubic-bezier(.2,1.25,.4,1)}
.esz-it.is-on .esz-lotus path{transform:scale(1)}

@keyframes esz-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes esz-steam{0%{transform:translate(0,30px) scale(.6);opacity:0}30%{opacity:.85}100%{transform:translate(var(--dx),-85px) scale(2.4);opacity:0}}
@keyframes esz-spin{to{transform:rotate(360deg)}}
@keyframes esz-flame{0%{transform:translateY(10px) scale(.8,.6);opacity:0}25%{opacity:1}100%{transform:translateY(-40px) scale(.4,1.4);opacity:0}}
@keyframes esz-ember{0%{transform:translate(0,0);opacity:0}20%{opacity:1}100%{transform:translate(var(--dx),-110px);opacity:0}}
@keyframes esz-twinkle{0%,100%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(45deg);opacity:1}}
@keyframes esz-breathe{50%{transform:scale(1.04)}}

@media (min-width:768px){
  .esz.esz-js .esz-stage{height:430px;margin:8px 0 0}
  .esz-row{top:50px;height:290px}
  .esz .esz-card h3{font-size:34px}
}
@media (prefers-reduced-motion:reduce){
  .esz-fx>*{animation:none!important}
  .esz-it,.esz-bg,.esz-lotus path{transition:none!important}
  .esz.esz-js .esz-card.is-on{animation:none}
}
