/* ============================================================
   HABLA · ЕДИНАЯ ДИЗАЙН-СИСТЕМА САЙТА  (single source of truth)
   ------------------------------------------------------------
   Подключается ОДНОЙ строкой на любой странице любого языка:
       <link rel="stylesheet" href="/css/habla.css">
   Путь абсолютный — работает и на /, и на /en/, и на /es/.
   Правишь ЗДЕСЬ — меняется дизайн сразу на всех страницах и языках.

   Разделы:
     1. Токены (цвета/шрифты/тени/радиусы)  → :root
     2. База и типографика
     3. Раскладка (wrap, sec, заголовки)
     4. Кнопки
     5. Стикеры / чипсы
     6. Карточки и «стекло»
     7. Формы
     8. Футер (стеклянная панель)
     9. Утилиты + адаптив
   ============================================================ */

/* ---------- 1. ТОКЕНЫ ---------- */
:root{
  /* фирменная палитра */
  --cream:#FFFFFF;      /* фон страницы */
  --cream-2:#FFFFFF;    /* фон вложенных карточек */
  --yellow:#FBDE7D;     /* жёлтый */
  --pink:#F4E6A6;       /* бледно-жёлтый (доп.) */
  --red:#FCC0C5;        /* розовый — главный акцент */
  --red-d:#F4A6AD;      /* розовый тёмный */
  --blue:#DCECEF;       /* голубой — кнопки/акценты */
  --ink:#1A1A1A;        /* основной текст */
  --ink-2:#6E5847;      /* приглушённый текст */
  --muted:#93816C;      /* самый бледный текст */
  --ctext:#FFF6E9;      /* текст на цветном фоне */
  --line:rgba(75,46,31,.14);

  --accent:#FCC0C5;
  --accent-rose:#DD8892; /* читаемый розовый для иконок/ссылок */

  /* типографика */
  --sans:'Inter',system-ui,-apple-system,Arial,sans-serif;
  --serif:'Inter',system-ui,-apple-system,Arial,sans-serif;

  /* геометрия */
  --radius:18px;
  --radius-lg:24px;
  --radius-xl:30px;
  --maxw:1180px;

  /* тени */
  --shadow-soft:0 18px 44px rgba(43,32,23,.10);
  --shadow-card:0 12px 34px rgba(75,46,31,.12);
  --shadow-lg:0 34px 70px rgba(43,32,23,.14);

  /* стекло */
  --glass-bg:rgba(255,255,255,.55);
  --glass-bg-strong:rgba(255,255,255,.42);
  --glass-border:1.5px solid rgba(255,255,255,.85);
  --glass-blur:blur(16px) saturate(1.35);

  /* легаси-алиасы старого шаблона (чтобы страницы могли не держать свой :root) */
  --orange:#DCECEF;      /* раньше был оранжевый → теперь голубой-акцент */
  --green:#FCC0C5;       /* раньше зелёный → теперь розовый */
  --green-d:#8A5E2E;
  --pink-l:#F4E6A6;
  --shadow-card:0 12px 34px rgba(75,46,31,.12);

  /* переменные общего меню (menu.css) */
  --bg-card:#ffffff;
  --text-main:#231C10;
  --text-muted:#5A4A2E;
  --accent-orange:#FF751F;
  --accent-black:#231C10;
  --blob-color:#FDB850;
}

/* ---------- 2. БАЗА И ТИПОГРАФИКА ---------- */
.h-scope *{box-sizing:border-box}
.h-body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.h-scope h1,.h-scope h2,.h-scope h3{line-height:1.06;letter-spacing:-.01em}
.h-scope a{color:inherit;text-decoration:none}
.h-scope img{max-width:100%;display:block}
.display{font-weight:800;letter-spacing:-.02em;line-height:1.05}

/* ---------- 3. РАСКЛАДКА ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sec{padding:80px 0}
.kicker{font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.sec-title{font-size:clamp(30px,4.4vw,52px);font-weight:800;letter-spacing:-.03em;margin:14px 0 16px;line-height:1.05}
.sec-head{max-width:720px;margin-bottom:44px}
.sec-head p{font-size:19px;color:var(--ink-2);max-width:560px}

/* ---------- 4. КНОПКИ ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;padding:17px 32px;border-radius:100px;border:1.5px solid var(--line);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;text-align:center}
.btn-lg{font-size:18px;padding:20px 40px}
.btn-red{background:var(--red);color:var(--ink);box-shadow:var(--shadow-card)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(75,46,31,.16)}
.btn-cream{background:var(--cream);color:var(--ink);box-shadow:var(--shadow-card)}
.btn-cream:hover{transform:translateY(-2px)}
.btn-blue{background:var(--blue);color:var(--ink);border-color:var(--line);box-shadow:0 12px 30px rgba(76,110,120,.24)}
.btn-blue:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(76,110,120,.30);background:#CDE6EA}
.btn-ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-ink:hover{transform:translateY(-2px);opacity:.92}

/* ---------- 5. СТИКЕРЫ / ЧИПСЫ ---------- */
.sticker{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;padding:9px 16px;border-radius:14px;background:var(--yellow);color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--shadow-card)}
.sticker.pink{background:var(--red);color:var(--ink)}
.sticker.blue{background:var(--blue)}
.chip{background:var(--cream-2);border:1.5px solid var(--line);border-radius:100px;padding:8px 15px;font-size:14px;font-weight:700;box-shadow:var(--shadow-card)}

/* ---------- 6. КАРТОЧКИ И СТЕКЛО ---------- */
.card{background:var(--cream-2);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:28px}
.glass{
  background:var(--glass-bg);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:var(--glass-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
}
.glass-strong{
  position:relative;
  background:var(--glass-bg-strong);
  -webkit-backdrop-filter:blur(22px) saturate(1.5);
  backdrop-filter:blur(22px) saturate(1.5);
  border:2px solid rgba(255,255,255,.75);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg), inset 0 2px 0 rgba(255,255,255,.9);
}
/* фирменные полупрозрачные заливки (для «стеклянных» цветных плиток) */
.fill-yellow{background:color-mix(in srgb,var(--yellow) 62%,transparent)}
.fill-pink{background:color-mix(in srgb,var(--red) 62%,transparent)}
.fill-blue{background:color-mix(in srgb,var(--blue) 62%,transparent)}
@supports not (background: color-mix(in srgb,#fff 50%,transparent)){
  .fill-yellow{background:var(--yellow)}
  .fill-pink{background:var(--red)}
  .fill-blue{background:var(--blue)}
}

/* ---------- 7. ФОРМЫ ---------- */
.field{margin-bottom:15px}
.field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:16px;font-weight:500;padding:15px 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--cream-2);color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:#fff;border-color:var(--red);box-shadow:0 0 0 4px rgba(252,192,197,.25)}

/* ---------- 8. ФУТЕР (стеклянная панель) ---------- */
.foot-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:44px 48px 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.foot-brand .logo{color:var(--ink);font-weight:900;font-size:30px;letter-spacing:-.04em;display:inline-block;margin-bottom:14px}
.foot-brand .logo span{color:var(--red)}
.foot-brand p{font-size:14.5px;line-height:1.6;color:rgba(26,26,26,.66);max-width:330px;margin-bottom:20px}
.foot-col h4{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(26,26,26,.45);margin-bottom:16px}
.foot-col a{display:block;font-size:14.5px;font-weight:600;color:rgba(26,26,26,.78);padding:5px 0;transition:color .15s ease,transform .15s ease}
.foot-col a:hover{color:var(--red);transform:translateX(3px)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-top:34px;padding-top:22px;border-top:1.5px solid rgba(26,26,26,.10);font-size:13px;font-weight:500;color:rgba(26,26,26,.52)}
.foot-legal{display:flex;gap:20px}
.foot-legal a{color:rgba(26,26,26,.52);font-weight:600}
.foot-legal a:hover{color:var(--red)}
footer.habla{background:transparent;color:var(--ink);padding:0 0 40px}

/* ---------- 9. УТИЛИТЫ + АДАПТИВ ---------- */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.text-center{text-align:center}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:960px){
  .grid4{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:680px){
  .wrap{padding:0 18px}
  .sec{padding:52px 0}
  .grid4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .foot-panel{padding:32px 24px 22px;border-radius:24px}
  .foot-brand p{max-width:none}
}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none}
}

/* ============================================================
   ЛЕНДИНГ-СЛОЙ  ·  приводит страницы старого шаблона к виду главной
   (геро жёлтый, стикеры-минимал, стекло на карточках, розовый CTA).
   Применяется только к страницам, которые ПОДКЛЮЧАЮТ этот файл.
   ============================================================ */
.habla-body,body.habla{background:var(--cream);color:var(--ink)}
.habla-scope h1,.habla-scope h2,.habla-scope h3,
body.habla h1,body.habla h2,body.habla h3,
body.habla .sec-title,body.habla .display{font-weight:700;letter-spacing:-.02em}

/* стикеры → минимал (как надзаголовок) */
body.habla .sticker{background:transparent;border:none;box-shadow:none;padding:0;font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
body.habla .rot-l,body.habla .rot-r{transform:none}
body.habla .blob,body.habla .hero-blob{display:none}
body.habla .marquee{display:none}
body.habla .hero::before,body.habla .hero::after{display:none}

/* ГЕРО как на главной — жёлтый фон, тёмный текст */
body.habla .hero{background:#FEEDAA;border-bottom:none}
body.habla .hero h1{color:var(--ink)}
body.habla .hero h1 em{color:var(--ink);font-style:normal;font-weight:700}
body.habla .hero .hero-sub{color:rgba(26,26,26,.72)}
body.habla .hero .hero-note{color:var(--ink-2)}
body.habla .hero .btn-cream{background:var(--blue);color:var(--ink);border:1.5px solid var(--line);box-shadow:0 12px 30px rgba(76,110,120,.24)}
body.habla .hero .btn-cream:hover{background:#CDE6EA;transform:translateY(-2px)}

/* стат-чипы в геро — стекло */
body.habla .stat-chip{background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);border:1.5px solid rgba(255,255,255,.85);box-shadow:var(--shadow-soft);color:var(--ink)}
body.habla .stat-chip b,body.habla .stat-chip span{color:var(--ink)}

/* стекло на карточках */
body.habla .sol,body.habla .step,body.habla .flip .face,body.habla .tstat,
body.habla .testi,body.habla .faq-list details,body.habla .form-card,body.habla .chip{
  -webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);
  border:1.5px solid rgba(255,255,255,.85);box-shadow:0 18px 44px rgba(43,32,23,.10);
}
body.habla .sol,body.habla .step,body.habla .flip .face,body.habla .tstat,
body.habla .testi,body.habla .faq-list details,body.habla .form-card{border-radius:24px}
body.habla .sol,body.habla .testi,body.habla .faq-list details,
body.habla .form-card,body.habla .flip .face,body.habla .step{background:rgba(255,255,255,.55)}
body.habla .chip{background:rgba(255,255,255,.6)}
body.habla .btn-red{background:var(--red);color:var(--ink)}
body.habla .btn-cream{background:var(--cream);color:var(--ink)}
body.habla .bar-fill,body.habla .iq-bar-fill{background:var(--red)}
body.habla .quiz-progress,body.habla .kicker{color:var(--red)}

/* CTA-панель — розовая, белый текст */
body.habla .cta-panel{border-radius:30px;background:color-mix(in srgb,#FCC0C5 62%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.85)}
body.habla .cta-panel h2,body.habla .cta-panel .lede,body.habla .cta-panel p{color:#fff}
body.habla .cta-panel .kicker{color:#fff}
@supports not (background: color-mix(in srgb,#fff 50%,transparent)){ body.habla .cta-panel{background:#FCC0C5} }

/* ============================================================
   АНТИ-БРУТАЛИЗМ  ·  давит жёсткие чёрные рамки и offset-тени
   старого шаблона на ВСЕХ карточках → мягкие рамки + soft-тень + стекло.
   Специфичность body.habla перебивает инлайн страницы.
   ============================================================ */

/* карточки-контейнеры → стекло, мягкая рамка, soft-тень, скругление */
body.habla .stat-chip,
body.habla .pain-card,
body.habla .sol,
body.habla .step,
body.habla .lvl,
body.habla .price-card,
body.habla .tstat,
body.habla .testi,
body.habla .faq-list details,
body.habla .form-card,
body.habla .flip .face,
body.habla .scarcity,
body.habla .card{
  border:1.5px solid rgba(255,255,255,.85) !important;
  box-shadow:0 18px 44px rgba(43,32,23,.10) !important;
  border-radius:24px !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.35);
  backdrop-filter:blur(16px) saturate(1.35);
}
/* нейтральные (белые) карточки → полупрозрачное белое стекло */
body.habla .sol,body.habla .step,body.habla .pain-card,
body.habla .price-card,body.habla .testi,body.habla .faq-list details,
body.habla .form-card,body.habla .flip .face,body.habla .tstat{
  background:rgba(255,255,255,.55) !important;
}
/* цветные уровневые карточки: цвет сохраняем, но полупрозрачным стеклом */
body.habla .lvl{border-radius:24px !important}

/* чипсы/теги/пилюли → белая пилюля с тонкой рамкой */
body.habla .tag,
body.habla .chip,
body.habla .plat-text .chip,
body.habla .sol .tag,
body.habla .price-card .per,
body.habla .price-badge{
  border:1.5px solid var(--line) !important;
  box-shadow:0 4px 12px rgba(43,32,23,.06) !important;
  background:#fff !important;
  color:var(--ink) !important;
}

/* кружки-номера и фото → мягкая рамка */
body.habla .pain-card .n,body.habla .step .num,body.habla .flip .n,
body.habla .t-circle,body.habla .t-photo{
  border:1.5px solid rgba(255,255,255,.85) !important;
  box-shadow:0 8px 22px rgba(43,32,23,.10) !important;
}

/* кнопки → мягкая тень вместо жёсткого offset */
body.habla .btn{box-shadow:0 12px 30px rgba(43,32,23,.12) !important}
body.habla .btn-red{background:var(--red) !important;color:var(--ink) !important;box-shadow:0 12px 30px rgba(244,166,173,.4) !important}
body.habla .btn-red:hover,body.habla .btn-cream:hover{transform:translateY(-2px) !important;box-shadow:0 16px 38px rgba(43,32,23,.16) !important}
body.habla .btn-cream{background:#fff !important;color:var(--ink) !important}

/* hover карточек → мягкий подъём, без жёсткой тени */
body.habla .sol:hover,body.habla .lvl:hover,body.habla .testi:hover,
body.habla .tstat:hover,body.habla .price-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 24px 54px rgba(43,32,23,.14) !important;
}
body.habla .teacher:hover .t-circle{transform:translateY(-5px) !important;box-shadow:0 20px 44px rgba(43,32,23,.16) !important}

/* геро-инниер: убрать красный бордовый бокс */
body.habla .hero .hero-inner{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important}

/* телефон-кабинет: мягкие внутренние карточки */
body.habla .sc-card,body.habla .sc-mini{border:1.5px solid rgba(255,255,255,.7) !important;box-shadow:0 6px 16px rgba(43,32,23,.08) !important}
body.habla .phone{box-shadow:0 34px 64px rgba(43,32,23,.24) !important;border:none !important}

/* поля формы → мягкий фокус */
body.habla .field input:focus,body.habla .field select:focus{box-shadow:0 0 0 4px rgba(252,192,197,.28) !important;border-color:var(--red) !important}

/* ============================================================
   ПРАВКИ ПОД ЭТАЛОН (главную): вес шрифта, круги, контраст текста
   ============================================================ */
/* заголовки как на главной — вес 600 (а не 700) */
body.habla h1,body.habla h2,body.habla h3,
body.habla .sec-title,body.habla .display{font-weight:600 !important;letter-spacing:-.01em !important}
/* кнопки как на главной — скругление 14px */
body.habla .btn{border-radius:14px !important;font-weight:700 !important}

/* убрать ВСЕ декоративные круги в геро (в т.ч. из hero-inner) */
body.habla .hero::before,body.habla .hero::after,
body.habla .hero .hero-inner::before,body.habla .hero .hero-inner::after{display:none !important}

/* кремовый/белый текст на ставших светлыми карточках → тёмный (контраст) */
body.habla .sol,body.habla .sol p,body.habla .sol h3,body.habla .sol h4,
body.habla .lvl,body.habla .lvl h3,body.habla .lvl h4,body.habla .lvl .badge,
body.habla .step,body.habla .step h3,body.habla .step p,
body.habla .price-card,body.habla .price-card h3,body.habla .price-card p,
body.habla .price-card .amount,body.habla .price-card .eur,body.habla .price-card .per,
body.habla .tstat,body.habla .tstat b,body.habla .tstat span,
body.habla .pain-card,body.habla .pain-card p,body.habla .pain-card .n,
body.habla .sc-mini.m2,body.habla .sc-mini.m2 b,body.habla .sc-mini.m2 span{color:var(--ink) !important}
/* flip-карточки: все обороты теперь светлые пастельные → текст тёмный */
body.habla .flip .back,body.habla .flip .back p,body.habla .flip .back .hint,
body.habla .flip .front .n,body.habla .flip .n{color:var(--ink) !important}

/* ============================================================
   СПЛИТ-ГЕРО + СТЕКЛЯННЫЙ ТЕСТ УРОВНЯ  (как на главной)
   Включается классом .hero.split; тест — .inline-quiz внутри.
   ============================================================ */
body.habla .hero.split{display:flex;min-height:100svh;background:#FEEDAA;border-bottom:none;align-items:stretch;padding:0;overflow:hidden}
body.habla .hero.split .hero-half{flex:1 1 50%;display:flex;align-items:center;position:relative}
body.habla .hero.split .hero-left{justify-content:flex-start;padding:80px 56px 80px 48px;background:#FEEDAA}
body.habla .hero.split .hero-pink{justify-content:center;padding:60px 48px;background:#FCC0C5}
body.habla .hero.split .hero-copy{max-width:540px;width:100%}
body.habla .hero.split .hero-inner{background:transparent;border:none;box-shadow:none;padding:0;max-width:540px}
body.habla .hero.split .stat-row{margin-top:32px}

body.habla .btn-light{background:#fff;color:var(--ink)}

/* спарклы */
body.habla .spark-el{position:absolute;z-index:3;line-height:1;pointer-events:none;animation:hablaTwinkle 3.6s ease-in-out infinite}
body.habla .sk1{top:10%;right:10%;font-size:24px;color:#fff;animation-delay:.4s}
body.habla .sk2{bottom:12%;right:16%;font-size:17px;color:#fff;animation-delay:1.4s}
body.habla .sk3{top:14%;left:6%;font-size:19px;color:rgba(26,26,26,.16);animation-delay:2.2s}
@keyframes hablaTwinkle{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}

/* стеклянная карточка теста */
body.habla .inline-quiz{position:relative;z-index:2;width:100%;max-width:520px;background:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:2px solid rgba(255,255,255,.75);border-radius:32px;padding:34px;box-shadow:0 34px 70px rgba(43,32,23,.14),inset 0 2px 0 rgba(255,255,255,.9);transform:rotate(-1.2deg);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
body.habla .inline-quiz:hover{transform:rotate(0) scale(1.01)}
body.habla .iq-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);padding:9px 16px;border-radius:30px;font-size:.9rem;font-weight:700;margin-bottom:18px}
body.habla .iq-bar{height:8px;background:rgba(255,255,255,.55);border-radius:10px;overflow:hidden;margin-bottom:22px}
body.habla .iq-bar-fill{height:100%;width:8%;background:var(--ink);border-radius:10px;transition:width .4s ease}
body.habla .quiz-progress{font-size:.85rem;color:rgba(26,26,26,.6);margin-bottom:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
body.habla .quiz-question{font-size:1.2rem;font-weight:700;margin-bottom:22px;line-height:1.4;color:var(--ink)}
body.habla .quiz-options{display:flex;flex-direction:column;gap:11px}
body.habla .quiz-option{background:rgba(255,255,255,.62);padding:15px 20px;border-radius:14px;cursor:pointer;font-weight:600;transition:.15s;border:1.5px solid rgba(255,255,255,.9);color:var(--ink)}
body.habla .quiz-option:hover:not(.disabled){background:#fff;border-color:var(--ink);transform:translateY(-2px)}
body.habla .quiz-option.disabled{pointer-events:none}
body.habla .quiz-option.correct{background:#dcfce7;border-color:#10b981;color:#065f46;font-weight:700}
body.habla .quiz-option.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}
body.habla .quiz-feedback{margin-top:16px;font-size:.95rem;font-weight:500;display:none;border-radius:12px;padding:13px}
body.habla .quiz-feedback.success{color:#065f46;background:#dcfce7;border:1px solid #10b981}
body.habla .quiz-feedback.error{color:#991b1b;background:#fee2e2;border:1px solid #ef4444}
body.habla .btn-next-quiz{display:none;width:100%;margin-top:18px}
body.habla .quiz-result h3{font-size:1.8rem;color:var(--ink);margin-bottom:10px;font-weight:700}
body.habla .quiz-result p{margin-bottom:20px;color:rgba(26,26,26,.7)}
body.habla .quiz-form input{width:100%;padding:14px;border-radius:12px;border:1.5px solid rgba(255,255,255,.9);background:rgba(255,255,255,.75);margin-bottom:12px;font-family:var(--sans);font-size:1rem;color:var(--ink)}
body.habla .quiz-form input:focus{outline:none;border-color:var(--ink)}

/* full-bleed под меню (десктоп) */
@media(min-width:1025px){
  body.habla{--side-offset:106px}
  body.habla:has(.vertical-sidebar:hover){--side-offset:300px}
  body.habla .hero.split{margin-left:calc(-1 * var(--side-offset));width:calc(100% + var(--side-offset))}
  body.habla .hero.split .hero-left{padding-left:calc(var(--side-offset) + 56px)}
}
/* адаптив */
@media(max-width:1024px){
  body.habla .hero.split{flex-direction:column;min-height:auto}
  body.habla .hero.split .hero-left{padding:120px 24px 48px}
  body.habla .hero.split .hero-pink{padding:44px 20px 60px}
  body.habla .inline-quiz,body.habla .inline-quiz:hover{transform:none}
}
@media(max-width:600px){
  body.habla .inline-quiz{padding:24px 18px;border-radius:24px}
  body.habla .quiz-question{font-size:1.05rem}
}

/* ============================================================
   ЦВЕТНЫЕ КАРТОЧКИ + СТЕК ПРИ СКРОЛЛЕ НА МОБИЛКЕ
   ("Клуб, где ты говоришь" .sol / "Пять шагов" .step)
   ============================================================ */
/* цвет вместо белого стекла */
body.habla .grid2 .sol:nth-child(1){background:var(--blue) !important}
body.habla .grid2 .sol:nth-child(2){background:var(--yellow) !important}
body.habla .grid2 .sol:nth-child(3){background:var(--red) !important}
body.habla .grid2 .sol:nth-child(4){background:var(--pink) !important}
body.habla .steps-scroll .step:nth-child(1){background:var(--blue) !important}
body.habla .steps-scroll .step:nth-child(2){background:var(--yellow) !important}
body.habla .steps-scroll .step:nth-child(3){background:var(--red) !important}
body.habla .steps-scroll .step:nth-child(4){background:var(--pink) !important}
body.habla .steps-scroll .step:nth-child(5){background:var(--blue) !important}
/* лёгкая рамка под цвет */
body.habla .grid2 .sol,body.habla .steps-scroll .step{border:1.5px solid rgba(26,26,26,.06) !important}
/* кружок-номер шага — белый на цветном */
body.habla .steps-scroll .step .num{background:#fff !important;color:var(--ink) !important}

/* --- эффект стопки карточек при скролле (только мобилка) --- */
@media(max-width:760px){
  body.habla .grid2{display:flex !important;flex-direction:column;gap:0}
  body.habla .steps-scroll{display:flex !important;flex-direction:column;gap:0;overflow:visible !important}
  body.habla .grid2 .sol,body.habla .steps-scroll .step{
    position:sticky;margin-bottom:16px;
    box-shadow:0 -6px 30px rgba(43,32,23,.12), 0 18px 44px rgba(43,32,23,.10) !important;
  }
  body.habla .grid2 .sol:nth-child(1){top:74px}
  body.habla .grid2 .sol:nth-child(2){top:88px}
  body.habla .grid2 .sol:nth-child(3){top:102px}
  body.habla .grid2 .sol:nth-child(4){top:116px}
  body.habla .steps-scroll .step:nth-child(1){top:74px}
  body.habla .steps-scroll .step:nth-child(2){top:88px}
  body.habla .steps-scroll .step:nth-child(3){top:102px}
  body.habla .steps-scroll .step:nth-child(4){top:116px}
  body.habla .steps-scroll .step:nth-child(5){top:130px}
}

/* advanced-геро: правая половина тоже жёлтая (весь геро жёлтый) */
body.habla .hero.split .hero-right{justify-content:center;padding:60px 48px;background:#FEEDAA}
body.habla .hero-right .spark-el{color:rgba(26,26,26,.18) !important}
@media(max-width:1024px){ body.habla .hero.split .hero-right{padding:8px 20px 60px} }

/* преподаватели на мобилке — 2 кружка в ряд (как на главной) */
@media(max-width:680px){
  body.habla .teacher-row{grid-template-columns:1fr 1fr !important;gap:16px !important}
  body.habla .teacher .t-circle{max-width:150px}
}
@media(max-width:420px){
  body.habla .teacher-row{grid-template-columns:1fr 1fr !important;gap:12px !important}
  body.habla .teacher .t-circle{max-width:140px}
}

/* ============================================================
   BEGINNERS-специфичные блоки (.ben/.inc/.pc/.pcard/.incl/…)
   ============================================================ */
body.habla .ben,body.habla .inc,body.habla .faq,body.habla .pc,body.habla .pcard,body.habla .stepwrap{
  border:1.5px solid rgba(255,255,255,.85) !important;
  box-shadow:0 18px 44px rgba(43,32,23,.10) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);
}
body.habla .pc.feat{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 24px 54px rgba(43,32,23,.14) !important;border-width:1.5px !important}
body.habla .ben:hover,body.habla .pc:hover{transform:translateY(-3px) !important;box-shadow:0 24px 54px rgba(43,32,23,.14) !important}
/* иконки-кружки внутри карточек */
body.habla .ben .ic,body.habla .inc .ic{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 8px 22px rgba(43,32,23,.10) !important}
/* чипсы-теги */
body.habla .tags span,body.habla .lvl .lb .tags span{border:1.5px solid var(--line) !important;box-shadow:0 4px 12px rgba(43,32,23,.06) !important;background:#fff !important;color:var(--ink) !important}
/* полоса "включено" (.incl): светлая, текст тёмный, мягкие границы */
body.habla .incl{border-top:1.5px solid var(--line) !important;border-bottom:1.5px solid var(--line) !important}
body.habla .incl,body.habla .incl .sec-title,body.habla .incl h2,body.habla .incl h3,body.habla .incl p,body.habla .incl span,body.habla .incl li,body.habla .incl div{color:var(--ink) !important}
/* таймлайн-кружки + пунктир */
body.habla .tl .circle{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 8px 22px rgba(43,32,23,.10) !important;color:var(--ink) !important}
body.habla .timeline::before{border-color:rgba(26,26,26,.25) !important}
/* маскот скрыть */
body.habla .blob,body.habla .smile{display:none !important}

/* ============================================================
   ПЕРЕИСПОЛЬЗУЕМЫЕ КОМПОНЕНТЫ: преподаватели + отзывы
   (чтобы блоки работали на любой странице системы)
   ============================================================ */
.teach-lead{display:flex;justify-content:center;margin-bottom:38px}
.teacher-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:44px}
.teacher{text-align:center}
.t-circle{width:100%;max-width:190px;aspect-ratio:1;margin:0 auto 16px;border-radius:50%;border:1.5px solid var(--line);box-shadow:0 12px 34px rgba(75,46,31,.12);position:relative;overflow:hidden;background:linear-gradient(140deg,var(--yellow),var(--orange))}
.t-circle img{width:100%;height:100%;object-fit:cover;display:block}
.teacher h4{font-size:20px;font-weight:800}
.teacher .role{font-size:13.5px;color:var(--ink-2);font-weight:600;margin-top:3px}
.teach-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tstat{border:1.5px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 12px 34px rgba(75,46,31,.12);text-align:center}
.tstat b{font-weight:900;font-size:36px;display:block;line-height:1;margin-bottom:8px;letter-spacing:-.02em}
.tstat span{font-size:15px;font-weight:600}
.testi{background:var(--cream-2);border:1.5px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 34px rgba(75,46,31,.12)}
.testi .stars{color:var(--red);font-size:18px;letter-spacing:2px;margin-bottom:14px}
.testi p{font-size:16px;font-weight:500;margin-bottom:20px}
.testi .who{display:flex;align-items:center;gap:12px}
.t-photo{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;color:var(--ctext);overflow:hidden;background:linear-gradient(140deg,var(--red),var(--orange))}
.t-photo img{width:100%;height:100%;object-fit:cover}
.testi .who b{font-size:15px;font-weight:800;display:block}
.testi .who span{font-size:13px;font-weight:600;color:var(--ink-2)}
.bigstat{background:var(--red);color:var(--ctext);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(75,46,31,.12);padding:30px 34px;margin-bottom:34px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bigstat b{font-weight:900;font-size:48px;letter-spacing:-.02em;line-height:1}
.bigstat span{font-weight:600;font-size:18px;max-width:520px}
.sol,.testi,.tstat{transition:transform .16s ease,box-shadow .16s ease}
.grid4,.grid3,.price-grid,.teach-stat{grid-template-columns:1fr}
/* мягче шрифт — меньше жирного (b/strong 900→700) */
body.habla b,body.habla strong{font-weight:700}
body.habla .display,body.habla .big,body.habla .amount,body.habla .a1{font-weight:700 !important}
body.habla .tstat b,body.habla .bigstat b{font-weight:800 !important}

/* адаптив блоков преподов/отзывов на мобилке */
@media(max-width:900px){ body.habla .teacher-row{grid-template-columns:repeat(2,1fr)} body.habla .grid3{grid-template-columns:1fr} }
@media(max-width:680px){ body.habla .teach-stat{grid-template-columns:1fr} }

/* розовый геро (модификатор .heropink) */
body.habla .hero.heropink,body.habla .hero.heropink .hero-left,body.habla .hero.heropink .hero-right{background:#FCC0C5 !important}
body.habla .hero.heropink .sk3{color:rgba(26,26,26,.20)}

/* beginners: внутренние брутальные рамки абонементов/уровней → мягкие */
body.habla .pcard{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 18px 44px rgba(43,32,23,.10) !important;background:rgba(255,255,255,.55) !important;border-radius:24px !important}
body.habla .lvl .lh,body.habla .pc .pch{border-bottom:1.5px solid var(--line) !important}
body.habla .lvl .lh .badge,body.habla .pcard .a1{border:1.5px solid var(--line) !important;box-shadow:none !important}
body.habla .pc,body.habla .lvl{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 18px 44px rgba(43,32,23,.10) !important}
body.habla .pc.feat{border-width:1.5px !important;box-shadow:0 24px 54px rgba(43,32,23,.14) !important}
/* цветные шапки абонементов — как на advanced/главной */
body.habla .pc:nth-child(1) .pch{background:var(--blue) !important}
body.habla .pc:nth-child(2) .pch{background:var(--yellow) !important}
body.habla .pc:nth-child(3) .pch{background:var(--red) !important}

/* ============================================================
   ABOUT-US: карточки причин/истории (.rcard/.hcard), карта (.gm), секция .global
   ============================================================ */
body.habla .rcard,body.habla .hcard,body.habla .gm{
  border:1.5px solid rgba(255,255,255,.85) !important;
  box-shadow:0 18px 44px rgba(43,32,23,.10) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);
}
body.habla .rcard:hover,body.habla .hcard:hover{transform:translateY(-3px) !important;box-shadow:0 24px 54px rgba(43,32,23,.14) !important}
body.habla .rcard .ic{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 8px 22px rgba(43,32,23,.10) !important}
/* секция .global: цветная полоса была с белым текстом → делаем текст тёмным */
body.habla .global,body.habla .global .sec-title,body.habla .global h2,body.habla .global p,body.habla .global span,body.habla .global li{color:var(--ink) !important}

/* ============================================================
   SOLO: карточки преподавателей + видео-модалка
   ============================================================ */
body.habla .tcard{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 18px 44px rgba(43,32,23,.10) !important;background:rgba(255,255,255,.6) !important}
body.habla .tcard:hover{transform:translateY(-3px) !important;box-shadow:0 24px 54px rgba(43,32,23,.14) !important}
body.habla .tquote{border:1.5px solid var(--line) !important;border-left:4px solid var(--red) !important;box-shadow:0 6px 16px rgba(43,32,23,.06) !important}
body.habla .ttags span{border:1.5px solid var(--line) !important;box-shadow:none !important}
body.habla .tstats div{border:1.5px solid var(--line) !important;box-shadow:none !important}
body.habla .pcard .oneone{border:1.5px solid var(--line) !important;box-shadow:none !important}
/* видео-модалка препода */
body.habla .modal{border:1.5px solid rgba(255,255,255,.85) !important;box-shadow:0 40px 80px rgba(43,32,23,.32) !important}
body.habla .m-close{border:1.5px solid var(--line) !important;box-shadow:0 6px 16px rgba(43,32,23,.14) !important}
body.habla .m-unmute{border:1.5px solid rgba(255,255,255,.7) !important;box-shadow:0 6px 16px rgba(43,32,23,.14) !important}
body.habla .play{border:none !important;box-shadow:0 10px 24px rgba(43,32,23,.2) !important}
