/*
Theme Name: Сомова 2026
Theme URI: https://somova-psy.ru
Author: Cowork
Description: Новый дизайн сайта Анны Сомовой (макет 26.09.2026): крем, вино, Cormorant Garamond + Manrope. Дочерняя тема — оплата, бот, кабинеты и все страницы работают из темы «somova».
Template: somova
Version: 1.0
Text Domain: somova
*/

/* ================= Токены ================= */
:root{
  --n-cream:#f4eadf; --n-paper:#f8f0e7; --n-milk:#fbf5ee; --n-ink:#211916; --n-sub:#6f5a52;
  --n-wine:#79051f; --n-wine-l:#9a1634; --n-wine2:#3c0714; --n-line:#dcc8bc; --n-gold:#a07a52;
  --n-grad:linear-gradient(135deg,#9c0b30,#5c0319);
  --n-serif:"Cormorant Garamond","Cormorant",Georgia,serif;
  --n-sans:Manrope,"Montserrat",-apple-system,"Segoe UI",Roboto,sans-serif;
  --n-pad:6.5vw;
  /* переменные старой темы — внутренние страницы перекрашиваются в новую палитру */
  --cream:var(--n-cream); --soft:var(--n-paper); --surface:#fffaf5;
  --ink:#3a1a1c; --sub:var(--n-sub); --cherry:#8f0b2c; --cherry-d:#5c0319;
  --gold:var(--n-gold); --line:#e3d2c6;
}

/* ================= База ================= */
body.theme-2026{background:var(--n-cream); color:var(--n-ink); font-family:var(--n-sans); font-size:17px; letter-spacing:0}
.theme-2026 h1,.theme-2026 h2,.theme-2026 h3,.theme-2026 .serif{font-family:var(--n-serif); font-weight:500}
.theme-2026 :focus-visible{outline:2px solid var(--n-wine-l); outline-offset:3px}
.n-wrap{margin:0 auto; padding:0 var(--n-pad)}
.n-sec{padding:84px var(--n-pad)}
.n-eyebrow{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#8d3043; line-height:1.55; margin:0 0 14px; font-weight:500}
.n-h2{font-family:var(--n-serif); font-weight:500; font-size:clamp(38px,4vw,62px); line-height:.95; letter-spacing:-.01em; text-transform:uppercase; margin:0 0 22px; color:var(--n-ink)}
.n-h2 em,.n-hero h1 em{font-style:normal; color:var(--n-wine-l)}
.n-muted{color:var(--n-sub); line-height:1.6; max-width:640px}
.n-ic{flex:0 0 auto}

/* кнопки */
.n-btn{display:inline-flex; align-items:center; justify-content:center; gap:12px; text-transform:uppercase; letter-spacing:.06em;
  color:#fff; background:var(--n-grad); padding:17px 30px; border-radius:40px; border:1px solid transparent; font:500 13px/1.2 var(--n-sans);
  box-shadow:0 14px 35px rgba(98,4,28,.16); transition:transform .3s, box-shadow .3s, background .3s; cursor:pointer; text-decoration:none}
.n-btn:hover{transform:translateY(-3px); box-shadow:0 20px 40px rgba(98,4,28,.25); color:#fff}
.n-btn-sm{padding:13px 22px; font-size:12px}
.n-btn-ghost{background:transparent; color:var(--n-ink); border-color:#b58b80; box-shadow:none}
.n-btn-ghost:hover{background:var(--n-wine); border-color:var(--n-wine); color:#fff}
.n-btn-ghost-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.7); box-shadow:none}
.n-btn-ghost-light:hover{background:#fff; color:var(--n-wine)}
.n-btn-light{background:#fbf2ea; color:var(--n-wine); box-shadow:none}
.n-btn-light:hover{background:#fff; color:var(--n-wine)}
.n-link{display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--n-ink); border-bottom:1px solid #b58b80; padding-bottom:4px}
.n-link:hover{color:var(--n-wine)}

/* появление при прокрутке (без JS всё видно) */
.js .n-reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease}
.js .n-reveal.on{opacity:1; transform:none}

/* ================= Шапка ================= */
.n-top{position:sticky; top:0; z-index:60; height:78px; padding:0 4vw; display:flex; align-items:center; gap:28px;
  background:rgba(247,238,228,.94); backdrop-filter:blur(12px); border-bottom:1px solid rgba(104,51,47,.08)}
.n-top.is-over{position:absolute; left:0; right:0; background:linear-gradient(180deg,rgba(247,238,228,.9),rgba(247,238,228,0)); border-bottom:0; backdrop-filter:none}
.admin-bar .n-top{top:32px}
.admin-bar .n-top.is-over{top:32px}
.n-brand{display:flex; align-items:center; gap:10px; color:var(--n-ink); min-width:210px; text-decoration:none}
.n-brand b{display:block; font:500 22px/1 var(--n-serif); letter-spacing:.08em}
.n-brand small{display:block; font-size:10px; letter-spacing:.1em; margin-top:4px; color:var(--n-sub)}
.n-brand-light,.n-brand-light small{color:#f3e7de}
.n-nav{display:flex; justify-content:center; gap:2.4vw; flex:1}
.n-nav a{font-size:13px; color:var(--n-ink); text-decoration:none; position:relative; padding:6px 0}
.n-nav a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--n-wine); transition:right .3s}
.n-nav a:hover::after{right:0}
.n-nav-cabinet{display:none}
.n-cabinet{color:#fff; background:linear-gradient(135deg,#4b0718,#8d0a29); border:1px solid rgba(255,255,255,.7); border-radius:25px; padding:11px 26px; font-size:13px; white-space:nowrap}
.n-cabinet:hover{color:#fff; box-shadow:0 10px 26px rgba(98,4,28,.25)}
.n-burger{display:none; margin-left:auto; width:44px; height:44px; border:0; background:none; position:relative; cursor:pointer; padding:0}
.n-burger span{position:absolute; right:8px; width:26px; height:1.5px; background:#443833; transition:transform .3s, top .3s}
.n-burger span:first-child{top:17px}
.n-burger span:last-child{top:26px}
.nav-open .n-burger span:first-child{top:21px; transform:rotate(45deg)}
.nav-open .n-burger span:last-child{top:21px; transform:rotate(-45deg)}

/* ================= Заставка ================= */
.n-hero,.n-club,.n-closing{padding:0}
.n-hero{position:relative; height:min(760px,62vw); min-height:620px; overflow:hidden; background:#efe2d6}
.n-hero-media{position:absolute; inset:0}
.n-hero-bg{position:absolute; inset:0; display:block}
.n-hero-bg img{width:100%; height:100%; object-fit:cover; object-position:62% 30%; animation:n-breath 14s ease-in-out infinite alternate}
.n-hero::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(248,239,229,.97) 0%,rgba(248,239,229,.88) 30%,rgba(248,239,229,.2) 52%,rgba(40,12,12,0) 70%)}
.n-hero-copy{position:absolute; left:var(--n-pad); top:150px; z-index:2; max-width:560px}
.n-hero h1{font-family:var(--n-serif); font-weight:500; text-transform:uppercase; font-size:clamp(52px,5.1vw,84px); line-height:.9; letter-spacing:-.02em; margin:20px 0 22px; color:var(--n-ink)}
.n-lead{font-size:17px; line-height:1.55; margin:0; color:#3c2b26}
.n-hero-actions{display:flex; align-items:center; gap:30px; margin-top:34px}
.n-play{display:flex; align-items:center; gap:12px; background:none; border:0; padding:0; cursor:pointer; color:var(--n-ink); font:13px/1.3 var(--n-sans); text-align:left}
.n-play i,.n-roundplay{width:50px; height:50px; border:1px solid #4d3934; border-radius:50%; display:grid; place-items:center; font-style:normal; background:rgba(255,248,240,.6); transition:transform .3s}
.n-play:hover i,.n-roundplay:hover{transform:scale(1.08)}
.n-play .n-ic{margin-left:3px}
.n-signature{position:absolute; right:6vw; bottom:110px; z-index:2; margin:0; color:#fff; font:italic 26px/1.3 var(--n-serif); transform:rotate(-5deg); text-shadow:0 2px 10px rgba(40,15,12,.7)}
.n-signature b{display:block; margin-top:10px; font-weight:500}

/* направления */
.n-pillars{position:relative; z-index:5; margin:-56px 3vw 0; padding:26px 3vw; border-radius:18px; background:rgba(250,242,234,.9);
  backdrop-filter:blur(18px); display:grid; grid-template-columns:repeat(4,1fr); box-shadow:0 12px 40px rgba(57,25,16,.08)}
.n-pillars article{display:grid; grid-template-columns:52px 1fr; column-gap:14px; align-items:center; padding:4px 2vw; border-right:1px solid rgba(111,50,50,.12)}
.n-pillars article:last-child{border:0}
.n-pillars .n-ic{grid-row:1/3; color:#a20c30; width:46px; height:46px}
.n-pillars b{font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; line-height:1.3}
.n-pillars b br{display:none}
.n-pillars small{font-size:12px; color:var(--n-sub)}

/* ================= Обо мне ================= */
.n-about{display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:center}
.n-about-copy>p:not(.n-eyebrow){max-width:580px; line-height:1.7; margin:0 0 28px}
.n-stats{display:grid; grid-template-columns:repeat(4,1fr); margin-top:38px; border-top:1px solid #d8c4b8; padding-top:22px}
.n-stats div{padding-right:14px; margin-right:14px; border-right:1px solid #d3bfb3}
.n-stats div:last-child{border:0}
.n-stats b{font:500 34px/1.1 var(--n-serif); display:block}
.n-stats span{font-size:12px; color:var(--n-sub)}
.n-about-photo{height:520px; border-radius:14px; overflow:hidden; position:relative; background:#29140f}
.n-about-photo picture{position:absolute; inset:0}
.n-about-photo img{width:100%; height:100%; object-fit:cover; object-position:62% 30%; filter:brightness(.85); transition:transform 1.2s}
.n-about-photo:hover img{transform:scale(1.04)}
.n-about-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(25,8,8,.45),transparent 45%)}
.n-quote{position:absolute; left:36px; top:34px; z-index:1; margin:0; color:#fff; font:italic 32px/1.1 var(--n-serif)}
.n-roundplay{position:absolute; right:34px; bottom:34px; z-index:1; width:64px; height:64px; color:#fff; border-color:#fff; background:rgba(40,12,12,.25); cursor:pointer}

/* ================= С чем я помогаю ================= */
.n-pains{display:grid; grid-template-columns:.9fr 1.1fr; gap:6vw; align-items:start; padding-top:30px}
.n-pains-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 34px; border-top:1px solid #d8c4b8}
.n-pains-list li{display:flex; gap:16px; align-items:baseline; padding:20px 0; border-bottom:1px solid #d8c4b8; font:500 23px/1.2 var(--n-serif); color:var(--n-ink)}
.n-pains-list li span{font:500 12px var(--n-sans); letter-spacing:.12em; color:#9e1031; flex:0 0 auto}

/* ================= Продукты (4 направления) ================= */
.n-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:34px}
.n-head .n-h2{margin-bottom:0}
.n-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.n-card{height:360px; position:relative; border-radius:12px; overflow:hidden; color:#fff; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; background:#32130f; isolation:isolate; text-decoration:none}
.n-card picture{position:absolute; inset:0; z-index:-2}
.n-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .7s}
.n-card::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,5,7,.9),rgba(20,5,7,.05) 65%); z-index:-1}
.n-card:hover img{transform:scale(1.06)}
.n-card h3{font-family:var(--n-serif); font-size:26px; line-height:1.05; margin:0 0 8px; color:#fff; padding-right:40px}
.n-card p{font-size:13px; line-height:1.45; margin:0; max-width:220px; color:#f3e5dd}
.n-card>b{position:absolute; right:18px; bottom:22px; border:1px solid rgba(255,255,255,.8); border-radius:50%; width:36px; height:36px; display:grid; place-items:center}
.n-dots,.n-all{display:none}

/* ================= Каталог с оплатой ================= */
.n-catalog{background:var(--n-milk); padding-top:84px}
.n-group{font-family:var(--n-serif); font-size:32px; margin:46px 0 18px; display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; color:var(--n-ink)}
.n-group small{font:12px var(--n-sans); text-transform:uppercase; letter-spacing:.14em; color:#8d3043}
.n-group:first-of-type{margin-top:10px}
.n-svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.n-svc-grid.g1{grid-template-columns:1fr}
.n-svc{display:grid; grid-template-columns:42% 1fr; background:#fff; border:1px solid #ead9ce; border-radius:16px; overflow:hidden; transition:box-shadow .3s, transform .3s}
.n-svc:hover{box-shadow:0 24px 50px -24px rgba(85,30,30,.35); transform:translateY(-2px)}
.n-svc-grid:not(.g1) .n-svc{grid-template-columns:1fr}
.n-svc-photo{position:relative; display:block; min-height:240px; background:#2b1210}
.n-svc-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.n-svc-grid:not(.g1) .n-svc-photo{height:260px; min-height:0}
.n-tag{position:absolute; left:16px; top:16px; background:rgba(251,245,238,.94); color:var(--n-wine); font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:7px 13px; border-radius:30px}
.n-svc-body{padding:28px 30px 26px; display:flex; flex-direction:column}
.n-svc h3{font-family:var(--n-serif); font-size:30px; line-height:1.05; margin:0 0 10px}
.n-svc h3 a{color:var(--n-ink)}
.n-svc h3 a:hover{color:var(--n-wine)}
.n-svc-desc{margin:0 0 16px; line-height:1.6; font-size:15px; color:#3c2b26}
.n-ba{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:12px 14px; border-radius:12px; background:var(--n-paper); font-size:13px; line-height:1.35; margin-bottom:12px}
.n-ba small{display:block; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--n-sub); margin-bottom:3px}
.n-ba i{font-style:normal; color:var(--n-wine-l)}
.n-ba .is-after{color:var(--n-wine); font-weight:600}
.n-svc-note{font-size:13px; color:var(--n-sub); line-height:1.5; margin:0 0 16px}
.n-svc-row{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:16px; border-top:1px solid #efe1d7}
.n-price{font:600 30px/1 var(--n-serif); color:var(--n-ink); white-space:nowrap}
.n-price-old{font-size:18px; color:var(--n-sub); margin-left:8px; font-weight:400}
.n-credit{margin-top:30px}
.n-paths{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:44px}
.n-path{padding:34px; border-radius:16px; background:var(--n-paper); border:1px solid #ead9ce}
.n-path h3{font-family:var(--n-serif); font-size:30px; margin:0 0 10px}
.n-path p{margin:0 0 22px; line-height:1.6; color:#3c2b26}
.n-path.is-dark{background:linear-gradient(120deg,#3c0714,#79051f); color:#f6e6dc; border:0}
.n-path.is-dark h3{color:#fff}
.n-path.is-dark p{color:#f1d8cf}

/* ================= Бесплатные практики ================= */
.n-free{position:relative; overflow:hidden; color:#fff; padding:64px 0;
  background:radial-gradient(60% 90% at 78% 20%,rgba(214,22,65,.28),transparent 60%),linear-gradient(100deg,#24050c,#63051f 60%,#29040d)}
.n-free-in{display:grid; grid-template-columns:1fr 2fr; gap:48px; align-items:center}
.n-free .n-h2{color:#fff; font-size:clamp(36px,3.2vw,48px)}
.n-free p{font-size:15px; line-height:1.6; color:#f1d8cf; max-width:380px; margin:0 0 26px}
.n-practices{display:grid; grid-template-columns:repeat(5,1fr); gap:10px}
.n-practices a{min-height:160px; border:1px solid rgba(255,231,223,.3); border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:16px 10px;
  text-align:center; color:#fff; font-size:13px; line-height:1.35; background:rgba(78,2,22,.35); backdrop-filter:blur(4px); transition:background .3s, transform .3s}
.n-practices a:hover{background:rgba(255,255,255,.1); transform:translateY(-3px); color:#fff}
.n-practices .n-ic{color:#f4c9cf}

/* ================= Вишнёвый клуб ================= */
.n-club{display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(90deg,#f4e6d8,#ead9c8); min-height:520px; overflow:hidden}
.n-club-copy{padding:70px var(--n-pad)}
.n-club h2{font-family:var(--n-serif); text-transform:uppercase; font-size:clamp(42px,4vw,60px); line-height:.95; color:#951332; margin:0 0 14px}
.n-club-sub{font:500 21px/1.35 var(--n-serif); margin:0 0 26px; text-transform:uppercase; letter-spacing:.02em}
.n-club ul{list-style:none; margin:0 0 34px; padding:0; display:grid; gap:12px}
.n-club li{display:flex; align-items:center; gap:12px; font-size:15px}
.n-club li .n-ic{color:#9e1031}
.n-club-actions{display:flex; align-items:center; gap:28px; flex-wrap:wrap}
.n-club-photo{position:relative}
.n-club-photo picture{position:absolute; inset:0}
.n-club-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% 35%}

.n-closing{display:none}

/* ================= Отзывы ================= */
.n-reviews{background:#fbf4ec; text-align:left}
.n-review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:10px 0 34px}
.n-review-grid blockquote{margin:0; padding:30px; border:1px solid #d6c3b8; border-radius:16px; font:italic 23px/1.3 var(--n-serif); color:var(--n-ink); background:#fffaf5}
.n-review-grid cite{display:block; margin-top:20px; font:normal 12px var(--n-sans); color:#8a6c61; letter-spacing:.04em}

/* ================= Контакты и подвал ================= */
.n-contact{padding:84px 0; background:var(--n-cream)}
.n-contact-in{display:grid; grid-template-columns:1fr 1.2fr; gap:60px; align-items:start}
.n-contact-links{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.n-contact-links a{display:grid; grid-template-columns:1fr auto; align-items:center; padding:18px 24px; border:1px solid #cbb5a9; border-radius:40px; color:var(--n-ink); background:#faf3eb; transition:background .3s, color .3s}
.n-contact-links a span{font-weight:600; font-size:15px}
.n-contact-links a small{grid-row:2; font-size:12px; color:var(--n-sub)}
.n-contact-links a .n-ic{grid-row:1/3; grid-column:2}
.n-contact-links a:hover{background:var(--n-wine); color:#fff; border-color:var(--n-wine)}
.n-contact-links a:hover small{color:#f1d8cf}
.n-contact-links a.is-accent{grid-column:1/-1; background:var(--n-grad); color:#fff; border:0}
.n-contact-links a.is-accent small{color:#f1d8cf}
.n-foot{background:#21100e; color:#eadfd7; padding:46px 0 34px; font-size:13px}
.n-foot a{color:inherit}
.n-foot a:hover{color:#fff}
.n-foot-top{display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap; padding-bottom:26px; border-bottom:1px solid rgba(234,223,215,.15)}
.n-foot-links,.n-foot-legal{display:flex; gap:22px; flex-wrap:wrap}
.n-foot-legal{padding:22px 0 12px; color:#bfaea4}
.n-foot-bottom{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:#a8968c; font-size:12px}

/* ================= Видео ================= */
.n-video{border:0; padding:0; background:#000; width:min(960px,92vw); border-radius:14px; overflow:visible}
.n-video::backdrop{background:rgba(20,6,8,.82)}
.n-video video{display:block; width:100%; max-height:84vh; border-radius:14px}
.n-video-close{position:absolute; right:-12px; top:-46px; width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:transparent; color:#fff; font-size:26px; line-height:1; cursor:pointer}

/* ================= Внутренние страницы (старая разметка в новой палитре) ================= */
.theme-2026 .btn{border-radius:40px; font:500 13px/1.2 var(--n-sans); letter-spacing:.06em; padding:16px 28px}
.theme-2026 .btn-primary{background:var(--n-grad); color:#fff; box-shadow:0 12px 30px rgba(98,4,28,.16)}
.theme-2026 .btn-primary:hover{background:var(--n-grad); filter:brightness(1.08); color:#fff}
.theme-2026 .btn-ghost{border:1px solid #b58b80; color:var(--n-ink)}
.theme-2026 .btn-ghost:hover{background:var(--n-wine); border-color:var(--n-wine); color:#fff}
.theme-2026 .eyebrow{color:#8d3043; font-weight:500}
.theme-2026 .sec-title,.theme-2026 main h1{text-transform:uppercase; letter-spacing:-.01em; line-height:1}
.theme-2026 .site-header{display:none}
/* кнопки WooCommerce (по умолчанию фиолетовые) — как кнопки сайта */
.theme-2026 .woocommerce a.button,.theme-2026 .woocommerce button.button,.theme-2026 .woocommerce input.button,
.theme-2026 .woocommerce a.button.alt,.theme-2026 .woocommerce button.button.alt,.theme-2026 .woocommerce input.button.alt,
.theme-2026 .woocommerce #respond input#submit,.theme-2026 .wc-block-components-button:not(.is-link),
.theme-2026 a.button.add_to_cart_button,.theme-2026 a.button.product_type_simple,.theme-2026 a.button.product_type_external,.theme-2026 a.added_to_cart,
.theme-2026 .single_add_to_cart_button,.theme-2026 #place_order{
  background:var(--n-grad)!important; color:#fff!important; border:0!important; border-radius:40px!important;
  font:500 13px/1.2 var(--n-sans)!important; letter-spacing:.06em; text-transform:uppercase; padding:15px 28px!important;
  box-shadow:0 12px 30px rgba(98,4,28,.16); transition:filter .3s, transform .3s}
.theme-2026 .woocommerce a.button:hover,.theme-2026 .woocommerce button.button:hover,.theme-2026 .single_add_to_cart_button:hover,.theme-2026 #place_order:hover{filter:brightness(1.1); transform:translateY(-2px)}
.theme-2026 .woocommerce .price,.theme-2026 .woocommerce-Price-amount{color:var(--n-wine)}
.theme-2026 .woocommerce-message,.theme-2026 .woocommerce-info{border-top-color:var(--n-wine)}
.theme-2026 .woocommerce-message::before,.theme-2026 .woocommerce-info::before{color:var(--n-wine)}
.theme-2026 .woocommerce-checkout #payment,.theme-2026 #payment{background:var(--n-milk); border:1px solid #ead9ce; border-radius:16px}
.theme-2026 #payment div.payment_box{background:transparent}
.theme-2026 #payment div.payment_box::before{display:none}
.theme-2026 .woocommerce form .form-row input.input-text,.theme-2026 .woocommerce form .form-row textarea{border:1px solid #dcc8bc; border-radius:10px; background:#fffaf5}

/* ================= Анимации ================= */
@keyframes n-breath{to{transform:scale(1.05)}}

/* ================= Планшет ================= */
@media (max-width:1180px){
  .n-nav{gap:1.6vw}
  .n-nav a{font-size:12px}
  .n-brand{min-width:0}
  .n-cards{grid-template-columns:repeat(2,1fr)}
  .n-practices{grid-template-columns:repeat(3,1fr)}
  .n-free-in{grid-template-columns:1fr}
}
@media (max-width:1000px){
  .n-pains{grid-template-columns:1fr; gap:26px}
  .n-top{gap:14px}
  .n-nav,.n-cabinet{display:none}
  .n-burger{display:block}
  .nav-open .n-nav{display:flex; position:fixed; inset:0; z-index:-1; flex-direction:column; justify-content:flex-start; gap:0; padding:110px 26px 30px; overflow-y:auto;
    background:radial-gradient(120% 70% at 50% 0%,#fbf3ee 0%,#f1e0d3 100%)}
  .nav-open .n-nav a{font:500 30px/1.1 var(--n-serif); text-transform:uppercase; padding:14px 0; border-bottom:1px solid rgba(111,50,50,.12)}
  .nav-open .n-nav a::after{display:none}
  .nav-open .n-nav .n-nav-cabinet{display:flex; justify-content:center; margin-top:28px; border:0; border-radius:40px; background:var(--n-grad); color:#fff; font:500 13px/1 var(--n-sans); letter-spacing:.08em; padding:18px}
  .nav-open{overflow:hidden}
  /* backdrop-filter шапки делает её «рамкой» для fixed-меню — на время меню снимаем */
  html.nav-open .n-top{backdrop-filter:none; -webkit-backdrop-filter:none; background:#f8eee3}
  .n-about{grid-template-columns:1fr}
  .n-svc{grid-template-columns:1fr}
  .n-svc-photo{min-height:260px}
  .n-club{grid-template-columns:1fr}
  .n-club-photo{height:380px}
  .n-contact-in{grid-template-columns:1fr; gap:30px}
}

/* ================= Телефон: подход макета, но без наложения текста на лицо ================= */
@media (max-width:760px){
  :root{--n-pad:20px}
  body.theme-2026{font-size:16px}
  .n-sec{padding:52px var(--n-pad)}
  .n-top,.n-top.is-over{position:sticky; height:68px; padding:0 14px 0 18px; background:rgba(248,238,227,.96); backdrop-filter:blur(12px); border-bottom:1px solid rgba(104,51,47,.08)}
  .admin-bar .n-top{top:0}
  .n-brand b{font-size:20px; letter-spacing:.1em}
  .n-brand small{font-size:10px; letter-spacing:.06em}
  .n-h2{font-size:38px; line-height:.95}

  /* заставка: текст на кремовом поле, фото Анны ниже целиком — лицо ничем не закрыто */
  .n-hero{height:auto; min-height:0; display:flex; flex-direction:column; background:#f5eadf}
  .n-hero::before{display:none}
  .n-hero-copy{position:relative; left:auto; top:auto; order:1; padding:26px 20px 0; max-width:none}
  .n-hero .n-eyebrow{font-size:11px; letter-spacing:.14em; margin-bottom:10px}
  .n-hero h1{font-size:44px; line-height:.92; margin:12px 0 14px}
  .n-hero h1 em{display:block}
  .n-lead{font-size:15px; line-height:1.5; max-width:330px}
  .n-lead br{display:none}
  .n-hero-media{position:relative; order:2; height:118vw; max-height:540px; margin-top:-24px}
  .n-hero-bg::before{content:""; position:absolute; inset:0 0 auto; height:80px; z-index:1; background:linear-gradient(180deg,#f5eadf,rgba(245,234,223,0))}
  .n-hero-bg img{object-position:68% 20%; animation:none}
  .n-signature{left:18px; right:auto; bottom:22px; font-size:21px; line-height:1.15; max-width:210px; transform:rotate(-6deg)}
  .n-signature b{font-size:18px; margin-top:6px}
  .n-hero-actions{flex-direction:column; align-items:stretch; gap:14px; margin-top:22px}
  .n-hero-copy .n-hero-actions{display:none}
  .n-hero-actions.is-mob{display:flex; order:3; padding:18px 20px 0; margin:0}
  .n-hero-actions .n-btn{width:100%}
  .n-play{align-self:flex-start}
  .n-play i{width:46px; height:46px}

  .n-pillars{margin:22px 14px 0; padding:8px; grid-template-columns:1fr 1fr; border-radius:14px; gap:0; background:rgba(252,246,239,.96); border:1px solid rgba(134,80,67,.08)}
  .n-pillars article{grid-template-columns:1fr; text-align:left; padding:16px 12px; border-right:0; row-gap:6px}
  .n-pillars article:nth-child(odd){border-right:1px solid rgba(111,50,50,.1)}
  .n-pillars article:nth-child(-n+2){border-bottom:1px solid rgba(111,50,50,.1)}
  .n-pillars .n-ic{grid-row:auto; width:36px; height:36px}
  .n-pillars b{font-size:11.5px; line-height:1.25}
  .n-pillars b br{display:inline}
  .n-pillars small{font-size:11px; line-height:1.3}

  .n-about{padding-top:56px}
  .n-about-copy>p:not(.n-eyebrow){font-size:15px; line-height:1.6}
  .n-about-photo{height:420px; margin:6px -20px 0; border-radius:0}
  .n-quote{font-size:28px; left:22px; top:24px}
  .n-roundplay{width:58px; height:58px; right:22px; bottom:24px}
  .n-stats{grid-template-columns:1fr 1fr; gap:18px 0}
  .n-stats div:nth-child(2n){border-right:0}
  .n-stats b{font-size:30px}

  .n-pains{grid-template-columns:1fr; gap:22px; padding-top:20px}
  .n-pains-list{grid-template-columns:1fr}
  .n-pains-list li{font-size:21px; padding:16px 0}

  /* направления — горизонтальная лента с точками */
  .n-head{display:block; margin-bottom:22px}
  .n-head>.n-link{display:none}
  .n-cards{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin:0 -20px; padding:0 20px 4px; scrollbar-width:none}
  .n-cards::-webkit-scrollbar{display:none}
  .n-card{min-width:80vw; height:300px; scroll-snap-align:center}
  .n-dots{display:flex; justify-content:center; gap:8px; margin:16px 0 22px}
  .n-dots button{width:8px; height:8px; padding:0; border-radius:50%; border:1px solid #9e1031; background:transparent; cursor:pointer; transition:background .3s, width .3s}
  .n-dots button.on{background:#9e1031}
  .n-all{display:flex; width:100%}

  .n-catalog{padding-top:52px}
  .n-group{font-size:28px; margin:38px 0 14px}
  .n-svc-grid{grid-template-columns:1fr; gap:16px}
  .n-svc-photo,.n-svc-grid:not(.g1) .n-svc-photo{height:220px; min-height:0}
  .n-svc-body{padding:22px 20px}
  .n-svc h3{font-size:27px}
  .n-ba{grid-template-columns:1fr; gap:6px}
  .n-ba i{transform:rotate(90deg); width:max-content}
  .n-paths{grid-template-columns:1fr}
  .n-path{padding:26px 22px}

  /* практики — стеклянные плитки 3 + 2 */
  .n-free{padding:46px 0 40px}
  .n-free .n-h2{font-size:38px}
  .n-practices{grid-template-columns:repeat(6,1fr); gap:8px}
  .n-practices a{grid-column:span 2; min-height:128px; font-size:12px; padding:12px 6px; gap:10px}
  .n-practices a:nth-child(4),.n-practices a:nth-child(5){grid-column:span 3}
  .n-practices .n-ic{width:34px; height:34px}
  .n-free-title{display:contents}
  .n-free-in{display:flex; flex-direction:column; gap:0}
  .n-free-title .n-h2{order:1}
  .n-free-title p{order:2}
  .n-practices{order:3}
  .n-free-title .n-btn{order:4; margin-top:22px; width:100%}

  .n-club-copy{padding:46px 20px 28px}
  .n-club h2{font-size:44px}
  .n-club-sub{font-size:18px}
  .n-club-sub br{display:none}
  .n-club-photo{height:280px}
  .n-club li{font-size:14px}
  .n-club-actions{flex-direction:column; align-items:stretch; gap:16px}
  .n-club-actions .n-link{align-self:center}

  /* финальный кадр — как в макете, но фото настоящей Анны и текст в стороне от лица */
  .n-closing{display:block; position:relative; height:440px; overflow:hidden; color:#fff; background:#2b1210}
  .n-closing picture{position:absolute; inset:0}
  .n-closing{height:560px}
  .n-closing img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%}
  .n-closing::after{content:""; position:absolute; inset:0; background:linear-gradient(200deg,rgba(28,5,7,.55),rgba(28,5,7,0) 45%)}
  .n-closing p{position:absolute; right:20px; top:30px; z-index:1; margin:0; text-align:right; font:italic 30px/1.05 var(--n-serif); text-shadow:0 2px 12px rgba(0,0,0,.35)}
  .n-closing small{display:block; font:500 10px var(--n-sans); margin-top:12px; letter-spacing:.2em; font-style:normal}

  .n-review-grid{grid-template-columns:1fr; gap:12px}
  .n-review-grid blockquote{font-size:21px; padding:24px}
  .n-reviews .n-btn{width:100%}

  .n-contact{padding:52px 0}
  .n-contact-links{grid-template-columns:1fr}
  .n-foot-top,.n-foot-bottom{flex-direction:column; align-items:flex-start}
  /* пальцем: ссылки и точки не меньше ~40px по высоте */
  .n-foot-links{gap:0 18px}
  .n-foot-links a,.n-foot-legal a{display:inline-flex; align-items:center; min-height:40px}
  .n-foot-legal{gap:0 18px; padding-top:12px}
  .n-dots{gap:0}
  .n-dots button{position:relative; width:28px; height:28px; border:0; background:none}
  .n-dots button::after{content:""; position:absolute; left:10px; top:10px; width:8px; height:8px; border-radius:50%; border:1px solid #9e1031; box-sizing:border-box; transition:background .3s}
  .n-dots button.on{background:none}
  .n-dots button.on::after{background:#9e1031}
  .n-club-actions .n-link{padding:10px 0}
  .theme-2026 input[type=checkbox]{width:20px; height:20px; accent-color:var(--n-wine)}
}
@media (min-width:761px){ .n-hero-actions.is-mob{display:none} }

/* Планшет (761–1000): текст над фото, а не поверх лица; направления — 2×2, чтобы не обрезались справа */
@media (min-width:761px) and (max-width:1000px){
  .n-hero{height:auto; min-height:0; display:flex; flex-direction:column; background:#f5eadf}
  .n-hero::before{display:none}
  .n-hero-copy{position:relative; left:auto; top:auto; order:1; padding:128px var(--n-pad) 0; max-width:680px}
  .n-hero h1{font-size:64px}
  .n-hero-actions{margin-top:26px}
  .n-hero-media{position:relative; order:2; height:66vw; max-height:620px; margin-top:-20px}
  .n-hero-bg::before{content:""; position:absolute; inset:0 0 auto; height:110px; z-index:1; background:linear-gradient(180deg,#f5eadf,rgba(245,234,223,0))}
  .n-hero-bg img{object-position:66% 22%; animation:none}
  .n-signature{bottom:90px; font-size:23px}
  .n-pillars{margin:-50px 4vw 0; padding:10px 2vw; grid-template-columns:1fr 1fr}
  .n-pillars article{padding:16px 2.4vw}
  .n-pillars article:nth-child(2){border-right:0}
  .n-pillars article:nth-child(-n+2){border-bottom:1px solid rgba(111,50,50,.1)}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important; transition:none!important}
  .js .n-reveal{opacity:1; transform:none}
}

/* ================= Карточки каталога: фото 3:2 без обрезки, ряды без «лесенки» (02.10.2026) ================= */
/* Фото в каталоге — 1200×800, то есть 3:2: показываем целиком, а не полосой 1,85:1 со срезанными лицами */
.n-svc-grid:not(.g1) .n-svc-photo{height:auto; min-height:0; aspect-ratio:3/2}
.n-svc-photo img{object-position:50% 30%}
/* Без поддержки subgrid — хотя бы фото сверху, а текст сразу под ним */
.n-svc-grid:not(.g1) .n-svc{grid-template-rows:auto 1fr}
/* Заголовок, описание, «было → стало», заметка и цена у соседних карточек — на одной линии */
@supports (grid-template-rows:subgrid){
  .n-svc-grid:not(.g1){row-gap:0}
  .n-svc-grid:not(.g1) .n-svc{grid-row:span 6; grid-template-rows:subgrid; row-gap:0; margin-bottom:20px}
  .n-svc-grid:not(.g1) .n-svc-photo{grid-row:1}
  .n-svc-grid:not(.g1) .n-svc-body{grid-row:2 / span 5; display:grid; grid-template-rows:subgrid; row-gap:0; padding-bottom:26px}
  .n-svc-grid:not(.g1) .n-svc-body > h3{grid-row:1; align-self:start}
  .n-svc-grid:not(.g1) .n-svc-body > .n-svc-desc{grid-row:2}
  .n-svc-grid:not(.g1) .n-svc-body > .n-ba{grid-row:3; align-self:start}
  .n-svc-grid:not(.g1) .n-svc-body > .n-svc-note{grid-row:4}
  .n-svc-grid:not(.g1) .n-svc-body > .n-svc-row{grid-row:5; align-self:end; margin-top:0}
}
@media (max-width:760px){
  /* на телефоне карточки в одну колонку — выравнивать не с чем, фото тоже 3:2 */
  .n-svc-photo,.n-svc-grid:not(.g1) .n-svc-photo{height:auto; min-height:0; aspect-ratio:3/2}
  .n-svc-grid.g1 .n-svc-photo{aspect-ratio:3/2}
}

/* ================= Тексты Оксаны на главной (ответы Анны 08.10.2026) ================= */
.n-hero-role{font:500 13px/1.5 var(--n-sans); letter-spacing:.16em; text-transform:uppercase; color:#8d3043; margin:0 0 12px}
.n-hero-proof{font:500 25px/1.2 var(--n-serif); font-variant-numeric:lining-nums; color:var(--n-ink); margin:0 0 14px; max-width:520px}
.n-hero-copy .n-lead{max-width:470px}
.n-price-talk{font:500 14px/1.3 var(--n-sans); color:var(--n-sub)}
.n-results blockquote{font:400 15px/1.6 var(--n-sans); color:var(--n-sub)}
.n-results blockquote b{display:block; font:500 25px/1.12 var(--n-serif); font-variant-numeric:lining-nums; color:var(--n-ink); margin-bottom:12px}
/* ноутбук и планшет боком: текст поверх фото — уже, чтобы не заходить на лицо */
@media (min-width:1001px) and (max-width:1240px){
  .n-hero-copy{max-width:430px; top:130px}
  .n-hero-copy .n-lead{max-width:none; font-size:15px}
  .n-hero-proof{font-size:21px}
}
@media (max-width:760px){
  .n-hero-role{font-size:11px; letter-spacing:.14em; margin-bottom:8px}
  .n-hero-proof{font-size:20px; margin-bottom:10px}
  .n-results blockquote b{font-size:22px}
}
