/* =============================================================
   Женское счастье — блоки страниц поверх общего style.css
   (style.css — копия landing/assets/css/style.css, её не правим:
    всё своё — здесь)
   ============================================================= */

/* ---------- Первый экран ---------- */
.hero--zs .hero__title-mark{ font-size:clamp(30px,4vw,52px); }
.hero--zs .hero__promise{ margin-top:22px; }
.hero__creds{ list-style:none; margin:0 0 6px; padding:0; display:grid; gap:12px; }
.hero__creds li{
  display:flex; gap:12px; align-items:flex-start;
  font-size:15.5px; line-height:1.5; color:var(--ink-soft);
}
.hero__creds svg{ flex:none; margin-top:2px; color:var(--green); }
.hero__creds b{ color:var(--ink); }
.hero__cta .btn{ font-size:14px; }

/* ---------- 2. Когда вы в последний раз были счастливы ---------- */
.happy__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.happy__stat{
  margin:0 0 26px; padding:26px 30px;
  background:linear-gradient(160deg, var(--green) 0%, var(--dark) 100%);
  border-radius:var(--r-l); color:#fff;
  font-family:var(--font-display); font-size:clamp(22px,2.3vw,30px); font-weight:700; line-height:1.25;
  box-shadow:var(--shadow-m);
}
.happy__quotes{ display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none; }
.happy__quotes li{
  position:relative;
  padding:12px 18px 12px 20px;
  background:var(--white); border:1px solid rgba(163,175,173,.3);
  border-radius:18px 18px 18px 4px;
  font-size:16px; font-style:italic; color:var(--ink);
  box-shadow:var(--shadow-s);
}
.happy__text p{ font-size:17px; }
.happy__text .strong-lead{ font-family:var(--font-display); font-size:clamp(18px,1.6vw,21px); }

/* ---------- 3. Узнаёте себя ---------- */
.voices{
  columns:3 280px; column-gap:18px;
  margin:0; padding:0; list-style:none;
}
.voices li{
  break-inside:avoid; margin:0 0 18px;
  padding:22px 24px 22px 26px;
  background:var(--white); border-radius:var(--r-m);
  border:1px solid rgba(163,175,173,.26);
  box-shadow:var(--shadow-s);
  font-family:var(--font-display); font-size:17px; font-weight:500; line-height:1.4; color:var(--ink);
  position:relative;
}
.voices li::before{
  content:'«'; position:absolute; left:10px; top:6px;
  font-size:30px; line-height:1; color:rgba(169,124,79,.35);
}
.voices__top{
  background:var(--ochre-tint) !important; border-color:rgba(192,143,92,.45) !important;
}
.voices__top b{
  display:block; margin-top:10px;
  font-family:var(--font-body); font-size:14px; font-weight:700; letter-spacing:.04em;
  color:var(--ochre);
}
.voices__closing{
  margin:26px 0 0; text-align:center;
  font-family:var(--font-display); font-size:clamp(19px,1.9vw,24px); font-weight:700; color:var(--ink);
}

/* ---------- 4. Причина одна ---------- */
.cause{ background:linear-gradient(160deg, #2F3E3B 0%, #3A4C48 100%); color:rgba(255,255,255,.86); overflow:hidden; }
.cause h2{ color:#fff; margin-bottom:26px; }
.cause .wrap{ position:relative; z-index:1; }
.cause__text{ max-width:820px; }
.cause__text p{ font-size:17px; }
.cause__text b{ color:#fff; }
.cause__faces{
  list-style:none; margin:26px 0; padding:0; display:grid; gap:10px;
}
.cause__faces li{
  padding:14px 20px 14px 22px;
  background:rgba(255,255,255,.07); border-left:3px solid var(--ochre-2);
  border-radius:0 var(--r-s) var(--r-s) 0;
  font-size:16.5px; line-height:1.5;
}
.cause__faces li b{ color:var(--ochre-2); font-weight:600; }
.cause__accent{
  margin-top:26px; padding:24px 28px;
  border-radius:var(--r-m);
  background:rgba(192,143,92,.14); border:1px solid rgba(192,143,92,.35);
  font-family:var(--font-display); font-size:clamp(17px,1.6vw,20px); font-weight:600; color:#fff;
}
.cause__accent p{ margin:0 0 10px; }
.cause__accent p:last-child{ margin:0; font-weight:500; color:rgba(255,255,255,.86); }

/* ---------- 5. Чем будем работать ---------- */
.tool__grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:48px; align-items:start; }
.tool__text p{ font-size:17px; }
.tool__text .method__intro{ margin-bottom:22px; }
.tool__aside{ display:grid; gap:20px; position:sticky; top:96px; }
.tool__figure{ margin:0; border-radius:var(--r-l); overflow:hidden; box-shadow:var(--shadow-m); }
.tool__figure img{ width:100%; height:300px; object-fit:cover; object-position:center 30%; }
.tool__warn{
  padding:22px 24px;
  background:var(--ochre-tint); border-left:4px solid var(--ochre-2);
  border-radius:var(--r-m);
  color:#5E4427; font-size:16.5px;
}
.tool__warn b{ color:#5E4427; font-family:var(--font-display); font-size:18px; }
.tool__need{
  padding:24px 26px;
  background:var(--white); border:1px solid rgba(163,175,173,.3);
  border-radius:var(--r-m); box-shadow:var(--shadow-s);
}
.tool__need h3{ font-size:19px; margin-bottom:14px; }

/* ---------- 6. Программа ---------- */
.program-flow--zs .program-flow__gap{ flex:0 1 60px; min-width:40px; }
.day__get{
  margin-top:22px; padding:20px 24px;
  background:var(--white); border:1px solid rgba(163,175,173,.3);
  border-radius:var(--r-m);
  font-size:16.5px;
}
.day__get b{ color:var(--green); }
.day__bonus{
  display:flex; gap:14px; align-items:flex-start;
  margin-top:24px; padding:20px 24px;
  background:var(--ochre-tint); border-radius:var(--r-m);
  border-left:4px solid var(--ochre-2);
  color:#5E4427; font-size:16.5px;
}
.day__bonus-icon{ flex:none; font-size:22px; line-height:1.2; }
.day__bonus b{ color:#5E4427; }

/* ---------- 7. Условия ---------- */
.terms__intro{ max-width:820px; font-size:clamp(17px,1.5vw,19px); color:var(--ink); }
.terms__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:34px; }
.terms__item{
  display:flex; gap:16px; align-items:flex-start;
  background:var(--white); border:1px solid rgba(163,175,173,.26);
  border-radius:var(--r-m); padding:24px 24px;
  box-shadow:var(--shadow-s);
  font-size:16.3px;
}
.terms__item b{ display:block; margin-bottom:4px; font-family:var(--font-display); font-size:17px; color:var(--ink); }
.terms__icon{
  flex:none; width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center; background:var(--mist); font-size:21px;
}
.terms__item--wide{ grid-column:span 2; background:var(--mist); border-color:transparent; box-shadow:none; }

/* ---------- 8. Регистрация ---------- */
.reg{ background:linear-gradient(160deg, var(--mist) 0%, #E4ECE8 100%); }
.reg__card{
  max-width:760px; margin:0 auto; text-align:center;
  background:var(--white); border-radius:var(--r-xl);
  padding:52px 48px 44px;
  box-shadow:var(--shadow-l);
  border:1px solid rgba(163,175,173,.25);
}
.reg__card h2{ margin-bottom:14px; }
.reg__sub{ max-width:560px; margin:0 auto 30px; font-size:17px; }
.reg-btns{ display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:560px; margin:0 auto; }
/* Кнопки мессенджеров — как в виджете поддержки (landing/widget-msgs): квадрат с иконкой + плашка с названием */
.reg-btn{
  display:flex; align-items:stretch;
  min-height:62px; border-radius:12px; overflow:hidden;
  text-decoration:none; color:#fff;
  box-shadow:0 4px 14px rgba(30,42,39,.14);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.reg-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(30,42,39,.2); filter:brightness(1.04); }
.reg-btn__icon{ flex:none; width:62px; display:grid; place-items:center; }
.reg-btn__icon img{ width:30px; height:30px; object-fit:contain; }
.reg-btn__name{
  flex:1; display:flex; align-items:center; justify-content:center; padding:0 18px;
  font-family:var(--font-display); font-size:18px; font-weight:600; letter-spacing:.01em;
}
.reg-btn--tg .reg-btn__icon{ background:#0088cc; }
.reg-btn--tg .reg-btn__name{ background:#2AABEE; }
.reg-btn--max .reg-btn__icon{ background:#8733d1; }
.reg-btn--max .reg-btn__name{ background:#6738c6; }
.reg__consent{ max-width:520px; margin:18px auto 0; font-size:13.5px; line-height:1.5; color:var(--muted); }
.reg__consent a{ color:var(--muted); }
.reg__after{
  display:flex; gap:12px; align-items:flex-start; text-align:left;
  max-width:560px; margin:26px auto 0; padding:18px 20px;
  background:var(--mist); border-radius:var(--r-m);
  font-size:15.5px; color:var(--ink-soft);
}
.reg__after svg{ flex:none; margin-top:2px; color:var(--green); }

/* ---------- 9. Про Анну и школу ---------- */
.school{
  margin-top:40px; padding:28px 32px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r-l);
  display:grid; grid-template-columns:auto 1fr; gap:14px 32px; align-items:center;
}
.school__logo{
  grid-row:span 2;
  display:grid; place-items:center;
  padding:18px 26px; border-radius:var(--r-m);
  background:#fff;
}
.school__logo img{ height:56px; width:auto; }
.school h3{ color:#fff; font-size:clamp(19px,1.8vw,23px); }
.school ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.school li{
  padding:9px 16px; border-radius:999px;
  background:rgba(255,255,255,.1); color:#fff;
  font-size:15px; font-weight:600;
}

/* ---------- 11. Для кого ---------- */
.fit__no ul{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.fit__no li{ position:relative; padding-left:24px; font-size:16.3px; line-height:1.5; }
.fit__no li::before{
  content:''; position:absolute; left:2px; top:.62em;
  width:9px; height:2px; background:var(--ochre-2);
}

/* ---------- 13. Финальный CTA ---------- */
.ps--zs h2{ margin-bottom:22px; }
.ps--zs .reg-btns{ margin-top:30px; }
.ps--zs .ps__note{ max-width:560px; margin-left:auto; margin-right:auto; }

/* ---------- Адаптив ---------- */
@media (max-width:1100px){
  .happy__grid,.tool__grid{ grid-template-columns:1fr; }
  .tool__aside{ position:static; grid-template-columns:1fr 1fr; }
  .tool__figure{ grid-row:span 2; }
  .tool__figure img{ height:100%; min-height:260px; }
}
@media (max-width:860px){
  .terms__grid{ grid-template-columns:1fr; }
  .terms__item--wide{ grid-column:span 1; }
  .school{ grid-template-columns:1fr; }
  .school__logo{ grid-row:auto; justify-self:start; }
}
@media (max-width:640px){
  .tool__aside{ grid-template-columns:1fr; }
  .tool__figure{ grid-row:auto; }
  .tool__figure img{ height:220px; min-height:0; }
  .reg__card{ padding:36px 20px 28px; border-radius:28px; }
  .reg-btns{ grid-template-columns:1fr; }
  .happy__stat{ padding:22px 22px; }
  .voices li{ padding:16px 18px 16px 24px; margin-bottom:12px; font-size:16px; }
  .terms__item{ flex-direction:column; gap:12px; padding:22px 20px; }
  .school{ padding:22px 20px; }
}

/* =============================================================
   Личные страницы участницы (start.html и дальше уроки)
   ============================================================= */
body.zs-unknown [data-zs-known-only]{ display:none !important; }
body:not(.zs-unknown) [data-zs-unknown-only]{ display:none !important; }

.me-hero{
  padding:124px 0 48px;
  background:linear-gradient(170deg, var(--mist) 0%, var(--paper) 100%);
  position:relative; overflow:hidden;
}
.me-hero .deco--right{ top:-10%; opacity:.18; }
.me-hero__kicker{
  font-family:var(--font-display);
  font-size:13px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ochre); margin:0 0 16px;
}
.me-hero h1{ font-size:clamp(30px,4vw,48px); margin:0 0 18px; }
.me-hero__lead{ max-width:720px; font-size:clamp(17px,1.5vw,19px); color:var(--ink); }
.me-hero__start{
  display:inline-flex; align-items:center; gap:10px; margin-top:8px;
  padding:10px 18px; border-radius:999px;
  background:var(--white); border:1px solid var(--sage-tint); box-shadow:var(--shadow-s);
  font-family:var(--font-display); font-size:15.5px; font-weight:600; color:var(--ink);
}
.me-hero__start svg{ color:var(--green); }

.me-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:40px; align-items:start;
  padding:40px 0 var(--sec-pad);
}
.me-aside{ grid-column:2; grid-row:1; scroll-margin-top:84px; }
.me-main{ grid-column:1; grid-row:1; display:grid; gap:34px; min-width:0; }

.me-block{
  background:var(--white); border-radius:var(--r-l);
  border:1px solid rgba(163,175,173,.26);
  box-shadow:var(--shadow-m);
  padding:36px 38px;
  scroll-margin-top:84px;
}
.me-block h2{ font-size:clamp(24px,2.6vw,32px); margin-bottom:14px; }
.me-block > p{ font-size:16.5px; }
.me-block .eyebrow{ margin-bottom:12px; }

/* Правило */
.me-rule{ background:linear-gradient(160deg, var(--green) 0%, var(--dark) 100%); border:0; color:rgba(255,255,255,.88); }
.me-rule h2{ color:#fff; }
.me-rule .eyebrow{ color:var(--ochre-2); }
.me-rule__list{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px; }
.me-rule__list li{
  display:flex; gap:14px; align-items:flex-start;
  padding:14px 18px; border-radius:var(--r-m);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  font-size:16.5px; line-height:1.5;
}
.me-rule__list b{ color:#fff; }
.me-rule__icon{ flex:none; font-size:20px; line-height:1.3; }
.me-rule__note{ margin:16px 0 0; font-size:15px; color:rgba(255,255,255,.75); }
.me-rule__note a{ color:var(--ochre-2); }

/* Анкета */
.me-anketa__note{
  display:flex; gap:12px; align-items:flex-start;
  margin:0 0 22px; padding:14px 18px;
  background:var(--ochre-tint); border-radius:var(--r-m);
  font-size:15px; line-height:1.5; color:#5E4427;
}
.me-anketa__note svg{ flex:none; margin-top:2px; color:var(--ochre); }
.me-widget{
  min-height:220px;
  border-radius:var(--r-m);
  background:var(--mist);
  padding:8px;
}
.me-widget iframe{ border-radius:12px; }
.me-locked{
  padding:22px 24px; border-radius:var(--r-m);
  background:var(--mist); color:var(--ink-soft); font-size:16px;
}

/* Видео */
.me-video + .me-video{ margin-top:34px; padding-top:34px; border-top:1px solid rgba(163,175,173,.3); }
.me-video h3{ font-size:clamp(19px,1.9vw,23px); margin-bottom:6px; }
.me-video__sub{ margin:0 0 16px; font-size:15.5px; color:var(--muted); }
.me-video__frame{
  position:relative; width:100%; aspect-ratio:16/9;
  border-radius:var(--r-m); overflow:hidden; background:var(--dark);
  box-shadow:var(--shadow-m);
}
.me-video__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.me-video--tall{ display:grid; grid-template-columns:minmax(0,320px) 1fr; gap:28px; align-items:start; }
.me-video--tall .me-video__frame{ aspect-ratio:9/16; max-width:320px; }
.me-video--tall p{ font-size:16.5px; }

@media (max-width:1100px){
  .me-layout{ grid-template-columns:1fr; gap:28px; }
  .me-aside,.me-main{ grid-column:1; grid-row:auto; }
  .me-aside{ max-width:640px; width:100%; margin:0 auto; }
}
@media (max-width:640px){
  .me-hero{ padding:100px 0 34px; }
  .me-layout{ padding-top:24px; }
  .me-block{ padding:26px 20px; border-radius:22px; }
  .me-video--tall{ grid-template-columns:1fr; gap:18px; }
  .me-video--tall > div{ order:-1; }
  .me-hero .deco{ display:none; }
  .me-video--tall .me-video__frame{ margin:0 auto; width:100%; max-width:300px; }
  .me-widget{ padding:4px; }
}

/* Трекер на широком экране: закрепляется, если влезает по высоте (класс ставит zs-core.js) */
@media (min-width:1101px){
  .me-aside.is-sticky{ position:sticky; top:84px; }
  .me-aside .zs-tracker__head{ padding:18px 22px 16px; }
  .me-aside .zs-steps{ padding:10px 14px 14px; }
  .me-aside .zs-step{ padding:9px 10px 10px; }
  .me-aside .zs-step::before{ top:30px; bottom:-10px; }
}

/* Чат интенсива */
.me-chat__mirror{
  display:flex; gap:12px; align-items:flex-start;
  margin:0 0 22px; padding:14px 18px;
  background:var(--mist); border-radius:var(--r-m);
  font-size:15.5px; line-height:1.5; color:var(--ink-soft);
}
.me-chat__mirror svg{ flex:none; margin-top:2px; color:var(--green); }
.me-block .reg-btns{ margin:0; max-width:520px; }

/* Урок: закрыт до времени выхода */
.me-lock{
  text-align:center; padding:48px 32px;
  background:linear-gradient(160deg, var(--mist) 0%, #E4ECE8 100%);
}
.me-lock__icon{ font-size:40px; line-height:1; margin-bottom:14px; }
.me-lock h2{ margin-bottom:10px; }
.me-lock p{ font-size:17px; }
.me-lock__left{
  display:inline-block; margin-top:10px; padding:10px 20px; border-radius:999px;
  background:var(--white); box-shadow:var(--shadow-s);
  font-family:var(--font-display); font-weight:600; color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.me-placeholder{
  padding:26px; border:2px dashed var(--sage); border-radius:var(--r-m);
  background:var(--paper); color:var(--muted); font-size:15.5px; text-align:center;
}
.me-steps{ list-style:none; counter-reset:st; margin:16px 0 22px; padding:0; display:grid; gap:10px; }
.me-steps li{
  counter-increment:st; position:relative; padding:12px 16px 12px 54px;
  background:var(--mist); border-radius:var(--r-s); font-size:16px; line-height:1.5;
}
.me-steps li::before{
  content:counter(st); position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  background:var(--green); color:#fff; font-family:var(--font-display); font-size:14px; font-weight:700;
}
.me-task{
  margin:6px 0 20px; padding:22px 24px;
  background:var(--ochre-tint); border-left:4px solid var(--ochre-2); border-radius:var(--r-m);
  font-size:16.5px; color:#5E4427;
}
.me-task b{ color:#5E4427; }
.me-deadline{ font-size:15.5px; color:var(--ink-soft); }
.me-deadline b{ color:var(--ink); font-variant-numeric:tabular-nums; }

/* Программа: шаг «Перед началом» */
.program-flow__step--pre a{ border-style:dashed; background:rgba(255,255,255,.08); }
.day--pre .day__num{ color:var(--sage); }
.day--pre .day__num-label{ background:var(--green); }
@media (max-width:640px){
  .school__logo{ padding:12px 18px; }
  .school__logo img{ height:40px; }
}

/* Подвал: четыре колонки (+ соцсети) */
.footer__grid--4{ grid-template-columns:1.2fr 1fr 1fr 1fr; }
@media (max-width:860px){ .footer__grid--4{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .footer__grid--4{ grid-template-columns:1fr; } }

/* Мини-задание «пригласи подругу» */
.me-invite__many{
  display:flex; gap:10px; align-items:flex-start;
  padding:12px 16px; border-radius:var(--r-m);
  background:var(--ochre-tint); color:#5E4427; font-size:15.5px;
}
.me-invite{ display:grid; gap:16px; margin-top:6px; }
.me-invite__box{
  padding:20px 22px; border-radius:var(--r-m);
  background:var(--mist); border:1px solid rgba(163,175,173,.3);
}
.me-invite__label{
  margin:0 0 8px;
  font-family:var(--font-display); font-size:12.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--green);
}
.me-invite__url{
  margin:0 0 14px; padding:12px 14px;
  background:var(--white); border-radius:var(--r-s); border:1px dashed var(--sage);
  font-size:15px; line-height:1.45; color:var(--ink); word-break:break-all;
  user-select:all;
}
.me-invite__msg{
  margin:0 0 14px; padding:14px 16px;
  background:var(--white); border-radius:var(--r-s);
  font-size:15.5px; line-height:1.55; color:var(--ink-soft);
  white-space:pre-line; overflow-wrap:anywhere;
}
.me-invite__actions{ display:flex; flex-wrap:wrap; gap:10px; }
.zs-btn--ghost{ background:transparent; color:var(--dark); box-shadow:inset 0 0 0 2px var(--dark); }
.zs-btn--ghost:hover{ background:var(--dark); color:#fff; }
.zs-btn.is-done{ background:var(--green); }
@media (max-width:640px){
  .me-invite__box{ padding:16px 14px; }
  .me-invite__actions .zs-btn{ flex:1 1 100%; }
}
