/*
Theme Name: Happy Dashline
Theme URI: https://example.com
Author: Дарья Макарова
Author URI: https://daria-makarova.ru
Description: Тема WordPress для сайта гештальт-терапевта Дарьи Макаровой. Главная страница, «Обо мне», «Услуги», «Дипломы», «Контакты» с формой и записью по свободным слотам времени, блог.
Version: 1.19.6
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kabinet
*/

/* ==========================================================================
   0. Токены дизайна
   ========================================================================== */

:root{
  /* Цвет — по мотивам самих фотографий: тёплый бетон, кожа кресла, приглушённая зелень */
  --color-bg:        #F1ECDF; /* тёплый пергамент, приглушённее обычного "крема" */
  --color-bg-alt:    #E3DAC4; /* более плотный песочный для чередующихся секций */
  --color-ink:       #221F19; /* тёплый почти-чёрный, как бетонная стена на фото */
  --color-ink-soft:  #5B5647;
  --color-primary:   #454B39; /* глубокий мох/хаки — не мятный, не пастельный */
  --color-primary-dk:#2B2F22;
  --color-accent:    #A5502B; /* тёплая кожа кресла — насыщенный, не "пудровый" */
  --color-line:      #CFC2A0;
  --color-card:      #FBF8F0;

  /* Типографика — редакторская пара вместо привычной "wellness"-Fraunces */
  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --font-body: "Work Sans", -apple-system, "Segoe UI", Arial, sans-serif;

  --step-0: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --step-1: clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  --step-2: clamp(1.6rem, 1.4rem + 0.9vw, 2.1rem);
  --step-3: clamp(2.1rem, 1.75rem + 1.6vw, 3.1rem);
  --step-4: clamp(2.3rem, 1.85rem + 2vw, 3.6rem);

  --container: 1180px;
  --radius: 4px;
  --radius-lg: 2px;
}

/* ==========================================================================
   1. Базовые стили
   ========================================================================== */

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

body{
  margin: 0;
  background: var(--color-bg);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img{ max-width: 100%; height: auto; display: block; }

a{ color: inherit; }

h1, h2, h3, h4{
  font-family: var(--font-display);
  font-weight: 560;
  line-height: 1.12;
  margin: 0 0 0.5em;
  color: var(--color-ink);
}

h1{ font-size: var(--step-4); }
h2{ font-size: var(--step-3); }
h3{ font-size: var(--step-2); }
h4{ font-size: var(--step-1); }

p{ margin: 0 0 1.1em; max-width: 62ch; }
p:last-child{ margin-bottom: 0; }

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

section{ padding: clamp(56px, 9vw, 120px) 0; }
.section-alt{ background: var(--color-bg-alt); }

:focus-visible{
  outline: 2px solid var(--color-primary-dk);
  outline-offset: 3px;
}

.skip-link{
  position: absolute; left: -9999px; top: 0; background: var(--color-ink);
  color: #fff; padding: 12px 18px; z-index: 999; border-radius: 0 0 6px 0;
}
.skip-link:focus{ left: 0; }

/* Кнопки */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  padding: 14px 26px;
  border-radius: 3px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-primary{
  background: var(--color-primary);
  color: #fff;
}
.btn-primary:hover{ background: var(--color-primary-dk); transform: translateY(-1px); }
.btn-outline{
  background: transparent;
  border-color: var(--color-ink);
  color: var(--color-ink);
}
.btn-outline:hover{ background: var(--color-ink); color: #fff; }
.btn-accent{ background: var(--color-accent); color: #fff; }
.btn-accent:hover{ background: #833f20; transform: translateY(-1px); }

.eyebrow{
  font-family: var(--font-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  color: var(--color-accent);
  margin: 0 0 0.9em;
}

/* ==========================================================================
   2. Шапка сайта
   ========================================================================== */

.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250, 247, 241, 0.92);
  backdrop-filter: saturate(140%) blur(6px);
  border-bottom: 1px solid var(--color-line);
}

.site-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
}

.site-branding{
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}
.site-branding img{ max-height: 48px; width: auto; border-radius: 50%; order: 2; }
.site-title{
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: 0;
  color: var(--color-ink);
}
.site-title a{ text-decoration: none; }
.site-description{
  margin: 0;
  font-size: 0.85rem;
  color: var(--color-ink-soft);
}

.primary-nav ul{
  list-style: none;
  display: flex;
  gap: 30px;
  margin: 0;
  padding: 0;
}
.primary-nav a{
  text-decoration: none;
  font-weight: 700;
  font-size: 0.98rem;
  position: relative;
}
.primary-nav a::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: var(--color-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.primary-nav a:hover::after,
.primary-nav .current-menu-item a::after{ transform: scaleX(1); }

.header-actions{ display: flex; align-items: center; gap: 18px; }
.header-phone{
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.menu-toggle{
  display: none;
  background: none;
  border: 1.5px solid var(--color-ink);
  border-radius: 8px;
  padding: 8px 10px;
  cursor: pointer;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after{
  display: block; width: 20px; height: 2px; background: var(--color-ink); position: relative; transition: .2s;
}
.menu-toggle span::before, .menu-toggle span::after{ content: ""; position: absolute; }
.menu-toggle span::before{ top: -6px; }
.menu-toggle span::after{ top: 6px; }

@media (max-width: 1080px){
  .menu-toggle{ display: inline-flex; }
  .primary-nav{
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-line);
    display: none;
    padding: 12px 28px 24px;
  }
  .primary-nav.is-open{ display: block; }
  .primary-nav ul{ flex-direction: column; gap: 18px; }
  .header-phone{ display: none; }
}

/* ==========================================================================
   3. Герой (главная)
   ========================================================================== */

.hero{
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 8vw, 96px) 0 clamp(28px, 4vw, 48px);
}

.hero .container{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: start;
}

.hero-copy h1{ font-size: var(--step-2); }
.hero-quote-source{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 0.98rem;
  color: var(--color-ink-soft);
  margin: -6px 0 22px;
}

/* «Маркер»-подсветка ключевых слов, цвет в тон темы */
mark.ink-mark{
  background: none;
  color: inherit;
  border-bottom: 3px solid rgba(110, 150, 90, 0.7);
  padding-bottom: 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.hero-copy p{ font-size: 1.15rem; color: var(--color-ink-soft); }
.hero-actions{ display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }

.hero-figure{
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.hero-figure img{
  width: 100%; height: 100%; object-fit: cover; object-position: center 18%;
  position: relative;
  z-index: 1;
}
.hero-figure::before{
  content: "";
  position: absolute;
  top: 22px; left: 22px; right: -22px; bottom: -22px;
  background: var(--color-primary);
  z-index: 0;
}

@media (max-width: 860px){
  .hero .container{ grid-template-columns: 1fr; }
  .hero-figure{ order: -1; max-width: 380px; margin: 0 auto; }
}

/* ==========================================================================
   4. Раздел «коротко обо мне»
   ========================================================================== */

.intro{ padding-top: clamp(24px, 4vw, 48px); }
.intro .container{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 56px;
  align-items: start;
}
.intro-heading{ font-size: clamp(1.2rem, 1.02rem + 0.85vw, 1.5rem); }
.intro-figure{
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-bg-alt);
}
.intro-stats{
  display: flex;
  gap: 40px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.intro-stat b{
  display: block;
  font-family: var(--font-display);
  font-size: var(--step-2);
  color: var(--color-primary-dk);
}
.intro-stat span{ color: var(--color-ink-soft); font-size: 0.92rem; }

@media (max-width: 860px){
  .intro .container{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   5. Услуги
   ========================================================================== */

.services-list{
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  border-top: 1px solid var(--color-line);
}
.schedule-box{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 36px;
}
.schedule-item{
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-primary);
  padding: 24px 28px;
}
.schedule-item--offline{ border-left-color: var(--color-accent); }
.schedule-label{
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--color-ink-soft);
  margin-bottom: 10px;
}
.schedule-days{
  display: block;
  font-family: var(--font-display);
  font-size: 1.45rem;
  color: var(--color-ink);
}
@media (max-width: 560px){
  .schedule-box{ grid-template-columns: 1fr; }
}
.service-row{
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 24px;
  align-items: baseline;
  padding: 28px 0;
  border-bottom: 1px solid var(--color-line);
  text-decoration: none;
}
.service-index{
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--color-accent);
  flex-shrink: 0;
  line-height: 1;
  padding-top: 2px;
}
.service-row h3{ font-size: var(--step-1); margin-bottom: 0.25em; }
.service-row p{ color: var(--color-ink-soft); margin: 0; font-size: 0.98rem; }
.service-row p + p{ margin-top: 0.6em; }
.service-price{
  font-weight: 700;
  color: var(--color-ink);
  white-space: nowrap;
  font-size: 0.95rem;
  text-decoration: none;
}
a.service-price{ color: var(--color-accent); }
a.service-price:hover{ color: var(--color-primary-dk); }

@media (max-width: 640px){
  .service-row{ grid-template-columns: 40px 1fr; }
  .service-price{ grid-column: 2; }
}

/* ==========================================================================
   5.0 Страница «Группы»
   ========================================================================== */

.groups-list{
  border-top: 1px solid var(--color-line);
  margin-top: 8px;
}
.group-block{
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 24px;
  padding: 44px 0;
  border-bottom: 1px solid var(--color-line);
}
.group-block h2{ font-size: var(--step-2); margin-bottom: 0.5em; }
.group-block p{ color: var(--color-ink-soft); max-width: 62ch; }
.group-block p strong{ color: var(--color-ink); }

@media (max-width: 640px){
  .group-block{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   5.1 Дипломы и сертификаты
   ========================================================================== */

.diplomas-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 8px;
}
.diploma-card{
  margin: 0;
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.diploma-card img{ width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.diploma-card-body{ padding: 20px 22px 24px; }
.diploma-card-body h3{ font-size: var(--step-1); margin-bottom: 4px; }
.diploma-card-body p{ margin: 0; color: var(--color-ink-soft); font-size: 0.9rem; }
.diploma-card-body p + p{ margin-top: 2px; }

@media (max-width: 860px){
  .diplomas-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .diplomas-grid{ grid-template-columns: 1fr; }
}

.diplomas-note{
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-primary);
  padding: 18px 22px;
  margin-bottom: 32px;
}
.diplomas-note p{ margin: 0; color: var(--color-ink-soft); }
.diplomas-note strong{ color: var(--color-ink); }

/* ==========================================================================
   5.2 Карусель сертификатов (интенсивы, конференции)
   ========================================================================== */

.cert-carousel-wrap{ margin-top: 72px; }
.cert-carousel{
  position: relative;
  margin: 32px auto 0;
  max-width: 640px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.cert-carousel-viewport{ flex: 1; min-width: 0; overflow: hidden; border-radius: var(--radius-lg); }
.cert-carousel-track{ display: flex; transition: transform .45s ease; }
.cert-card{
  flex: 0 0 100%;
  margin: 0;
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.cert-card-img{
  display: flex; align-items: center; justify-content: center;
  height: 340px;
  background: var(--color-bg-alt);
}
.cert-card-img img{ max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.cert-card figcaption{ padding: 20px 24px 24px; }
.cert-card-title{
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.35rem;
  line-height: 1.25;
  color: var(--color-ink);
}
.cert-card-desc{
  display: block;
  margin-top: 8px;
  font-weight: 400;
  font-size: 1rem;
  color: var(--color-ink-soft);
}
.cert-carousel-arrow{
  flex-shrink: 0;
  width: 42px; height: 42px;
  border-radius: 50%;
  border: 1.5px solid var(--color-ink);
  background: var(--color-bg);
  color: var(--color-ink);
  font-size: 1.1rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background-color .15s ease, color .15s ease;
}
.cert-carousel-arrow:hover{ background: var(--color-ink); color: #fff; }
.cert-carousel-dots{ display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.cert-dot{ width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 0; background: var(--color-line); cursor: pointer; }
.cert-dot.is-active{ background: var(--color-accent); }
@media (max-width: 640px){
  .cert-carousel{ gap: 8px; }
  .cert-carousel-arrow{ width: 34px; height: 34px; }
  .cert-card-img{ height: 240px; }
}

/* ==========================================================================
   6. Как проходит работа (шаги)
   ========================================================================== */

.flow-steps{
  margin: 48px auto 0;
  max-width: 820px;
}
.flow-step{
  background: var(--color-card);
  border: 1px solid var(--color-line);
  padding: 28px 32px;
}
.flow-step-header{
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px;
}
.flow-num{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 1.15rem;
  flex-shrink: 0;
}
.flow-step-header h3{ font-size: var(--step-1); margin: 0; }
.flow-step p{ color: var(--color-ink-soft); max-width: 58ch; margin-left: 60px; }
.flow-step p + p{ margin-top: 0.8em; }
.flow-arrow{
  display: flex;
  justify-content: center;
  padding: 6px 0;
  color: var(--color-accent);
  font-size: 1.5rem;
  line-height: 1;
}

@media (max-width: 640px){
  .flow-step{ padding: 22px 22px; }
  .flow-step p{ margin-left: 0; }
}

/* ==========================================================================
   6.1 Понедельничный завтрак (бесплатный эфир)
   ========================================================================== */

.live-qa-grid{
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 48px;
  align-items: start;
}
.live-qa-figure{
  max-width: 500px;
  overflow: hidden;
}
.live-qa-figure img{ width: 100%; height: auto; display: block; }
.live-qa-badge{
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--color-accent);
  margin-bottom: 14px;
}
.live-qa-grid h2{ font-size: var(--step-2); margin-bottom: 0.55em; }
.live-qa-grid > div:last-child p{ color: var(--color-ink-soft); }
.live-qa-disclaimer{ margin: 20px 0; }
.live-qa-disclaimer em{ color: var(--color-ink); font-style: italic; }

@media (max-width: 860px){
  .live-qa-grid{ grid-template-columns: 1fr; }
  .live-qa-figure{ max-width: 420px; }
}

/* ==========================================================================
   7. Кабинет (фото помещения)
   ========================================================================== */

.room-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}
.room-grid > div:first-child p{ color: var(--color-ink-soft); }
.room-figure{ overflow: hidden; }
.room-figure img{ width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }

@media (max-width: 860px){
  .room-grid{ grid-template-columns: 1fr; }
  .room-figure{ order: -1; }
}

/* ==========================================================================
   8. Вопросы и ответы
   ========================================================================== */

.faq-list{ max-width: 920px; margin: 40px auto 0; }
.faq-item{
  border-bottom: 1px solid var(--color-line);
  padding: 22px 0;
}
.faq-item summary{
  cursor: pointer;
  font-family: var(--font-display);
  font-size: var(--step-1);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary::after{
  content: "+";
  font-size: 1.6rem;
  color: var(--color-accent);
  flex-shrink: 0;
  transition: transform .2s ease;
}
.faq-item[open] summary::after{ transform: rotate(45deg); }
.faq-item p{ margin-top: 14px; color: var(--color-ink-soft); }
.faq-item p + p{ margin-top: 10px; }

/* ==========================================================================
   9. Призыв к действию / контакт-блок
   ========================================================================== */

.cta{
  background: var(--color-primary-dk);
  color: #fff;
}
.cta h2, .cta p{ color: #fff; }
.cta p{ color: #DDE6DD; }
.cta .container{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.cta .btn-accent:hover{ background: #d68e58; }
.cta-buttons{ display: flex; flex-wrap: wrap; gap: 14px; }
.btn-outline-light{
  background: transparent;
  border-color: rgba(255,255,255,.6);
  color: #fff;
}
.btn-outline-light:hover{ background: rgba(255,255,255,.12); border-color: #fff; }

/* ==========================================================================
   10. Форма заявки / контакты
   ========================================================================== */

.contact{ padding-top: clamp(16px, 2vw, 32px); }
.contact-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-top: 8px;
  align-items: start;
}
.contact-portrait{
  width: 160px; height: 160px;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 50%;
  margin-bottom: 24px;
}
.contact-info-list{ list-style: none; margin: 0; padding: 0; }
.contact-info-list li{
  padding: 18px 0;
  border-bottom: 1px solid var(--color-line);
}
.contact-info-list b{ display: block; font-size: 0.85rem; color: var(--color-ink-soft); font-weight: 700; margin-bottom: 4px; }
.contact-info-list a{ text-decoration: none; font-weight: 700; }

.social-links{ display: flex; gap: 14px; margin-top: 24px; }
.social-links a{
  width: 50px; height: 50px;
  border-radius: 50%;
  border: 1.5px solid var(--color-ink);
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  color: var(--color-ink);
  transition: background-color .15s ease, color .15s ease;
}
.social-links a svg{ width: 22px; height: 22px; }
.social-links .social-text{ font-size: 0.72rem; font-weight: 700; }
.social-links a:hover{ background: var(--color-ink); color: #fff; }

.contact-form{
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  padding: 36px;
}
.form-row{ margin-bottom: 18px; }
.form-row label{ display: block; font-weight: 700; font-size: 0.88rem; margin-bottom: 6px; }
.form-row input, .form-row textarea, .form-row select{
  width: 100%;
  font-family: var(--font-body);
  font-size: 1rem;
  padding: 12px 14px;
  border: 1.5px solid var(--color-line);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-ink);
}
.form-row select{
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352625A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 18px;
  padding-right: 38px;
}
.form-row select:invalid{ color: var(--color-ink-soft); }
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{ border-color: var(--color-primary); }

.form-row-group{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.form-row-group--2{ grid-template-columns: 1fr 1fr; }
.form-row-group .form-row{ margin-bottom: 18px; }
@media (max-width: 560px){
  .form-row-group{ grid-template-columns: 1fr; }
}

.form-checkboxes{
  display: grid;
  gap: 12px;
  margin: 22px 0;
  padding: 18px 20px;
  background: var(--color-bg);
  border: 1px solid var(--color-line);
}
.form-checkbox{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--color-ink-soft);
  cursor: pointer;
}
.form-checkbox a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.form-checkbox a:hover{ color: var(--color-accent); }
.form-checkbox input{
  margin-top: 3px;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  accent-color: var(--color-primary);
}
.form-note{ font-size: 0.82rem; color: var(--color-ink-soft); margin-top: 14px; }
.form-success{
  background: #E7F0E6; border: 1px solid var(--color-primary);
  padding: 16px 18px; border-radius: var(--radius); margin-bottom: 18px; font-weight: 700;
}
.form-error{
  background: #F6E7DE; border: 1px solid var(--color-accent);
  padding: 16px 18px; border-radius: var(--radius); margin-bottom: 18px; font-weight: 700;
}

@media (max-width: 860px){
  .contact-wrap{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   11. Блог: список записей и отдельная запись
   ========================================================================== */

.post-list{
  display: grid;
  gap: 36px;
  margin-top: 40px;
}
.post-card{
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 28px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--color-line);
}
.post-card-thumb{
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--color-bg-alt);
}
.post-card .post-meta{ font-size: 0.82rem; color: var(--color-ink-soft); margin-bottom: 6px; }
.post-card h2{ font-size: var(--step-1); margin-bottom: 8px; }
.post-card h2 a{ text-decoration: none; }
.post-card .btn{ margin-top: 10px; padding: 9px 20px; font-size: 0.85rem; }

@media (max-width: 700px){
  .post-card{ grid-template-columns: 1fr; }
}

.single-post-header{ max-width: 760px; margin: 0 auto 32px; text-align: left; }
.single-post-header .post-meta{ color: var(--color-ink-soft); font-size: 0.88rem; }
.story{ padding-top: clamp(24px, 4vw, 48px); }
.story-section + .story-section{ margin-top: 48px; }
.story-section .eyebrow{ margin-bottom: 0.8em; }
.story-section p{ max-width: none; }
.story-section em{ font-style: italic; color: var(--color-ink); }
.story-closing{
  margin-top: 56px;
  padding-top: 36px;
  border-top: 1px solid var(--color-line);
}
.story-closing p{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.3rem;
  line-height: 1.55;
  color: var(--color-ink);
  max-width: none;
}
.story-closing p + p{ margin-top: 0.7em; }

.single-content{ max-width: 760px; margin: 0 auto; }
.single-content p, .single-content ul, .single-content ol{ max-width: none; }
.single-content img{ border-radius: var(--radius); margin: 24px 0; }
.single-thumb{ max-width: 900px; margin: 0 auto 40px; border-radius: var(--radius-lg); overflow: hidden; }

.page-header-simple{ padding: 56px 0 8px; }
.page-header-simple h1{ margin-bottom: 0.3em; }
.page-header-role{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.1rem;
  color: var(--color-ink-soft);
  margin-top: -0.2em;
}

/* Пагинация */
.pagination{ display: flex; gap: 10px; margin-top: 40px; flex-wrap: wrap; }
.pagination a, .pagination span{
  padding: 9px 16px; border: 1px solid var(--color-line); border-radius: 3px; text-decoration: none; font-size: 0.9rem;
}
.pagination .current{ background: var(--color-ink); color: #fff; border-color: var(--color-ink); }

/* ==========================================================================
   12. Подвал
   ========================================================================== */

.site-footer{
  background: var(--color-ink);
  color: #E9E6DC;
  padding: 64px 0 28px;
}
.footer-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.footer-grid h4{ color: #fff; font-size: 1rem; margin-bottom: 16px; }
.footer-grid p, .footer-grid a{ color: #C9C6BB; }
.footer-grid ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.footer-grid a{ text-decoration: none; }
.footer-grid a:hover{ color: #fff; }
.footer-widgets{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.footer-widget h4,
.footer-widget .widgettitle,
.footer-widget .widget-title{
  color: #fff;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 14px;
}
.footer-widget ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.footer-widget li{ color: #C9C6BB; font-size: 0.92rem; }
.footer-widget a{ color: #C9C6BB; text-decoration: none; }
.footer-widget a:hover{ color: #fff; }
.footer-widget select{
  width: 100%;
  background: var(--color-primary-dk);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  padding: 8px 10px;
  font-family: var(--font-body);
}

.site-footer .social-links a{
  border-color: rgba(233, 230, 220, 0.5);
  color: #E9E6DC;
}
.site-footer .social-links a:hover{
  background: #E9E6DC;
  color: var(--color-ink);
}

.footer-bottom{
  display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 10px;
  padding-top: 24px; font-size: 0.82rem; color: #A6A399; text-align: center;
}
.footer-bottom p{ margin: 0; }
.footer-bottom p:first-child::after{ content: "·"; margin-left: 10px; }
@media (max-width: 560px){
  .footer-bottom p:first-child::after{ content: none; }
}
.footer-disclaimer{ max-width: 60ch; }

@media (max-width: 720px){
  .footer-grid{ grid-template-columns: 1fr; }
}

/* ==========================================================================
   13. Утилиты WordPress (выравнивание блоков и т.п.)
   ========================================================================== */

.alignwide{ margin-left: -5%; margin-right: -5%; max-width: 110%; }
.alignfull{ margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
.wp-caption-text{ font-size: 0.82rem; color: var(--color-ink-soft); }
.screen-reader-text{
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px,1px,1px,1px); white-space: nowrap;
}

/* 1.4.1: цены, «Обо мне», обязательные поля */
.service-price{ display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
@media (max-width: 640px){ .service-price{ align-items: flex-start; } }
.about-intro .container{ grid-template-columns: 0.8fr 1.2fr; }
.about-intro .intro-figure{ position: sticky; top: 110px; }
.about-lead{ font-family: var(--font-display); font-size: 1.35rem; line-height: 1.4; }
.about-text p{ max-width: none; }
.about-text .story-section{ margin-top: 40px; }
.about-text .story-closing{ margin-top: 40px; }
@media (max-width: 800px){
  .about-intro .container{ grid-template-columns: 1fr; }
  .about-intro .intro-figure{ position: static; max-width: 420px; }
}
.req{ color: var(--color-accent); font-weight: 800; }
.form-note--req{ margin: 0 0 16px; font-weight: 700; }

/* 1.4.2: «Обо мне» — подзаголовки и полная ширина */
.about-text .story-section, .about-full .story-section{ margin-top: 56px; }
.about-text .story-section:first-of-type{ margin-top: 40px; }
.about-full{ padding-top: 0; }
.about-full .story-section:first-child{ margin-top: 48px; }
.about-full .container{ max-width: var(--container, 1200px); }

/* 1.4.3: лайтбокс, даты сертификатов, отступ на «Дипломах» */
.diplomas-header{ padding-bottom: 0; }
.diplomas-header p:last-child{ margin-bottom: 0; }
.diplomas{ padding-top: 24px; }
.cert-card-date{ display: block; margin-top: 6px; font-size: 0.9rem; font-weight: 600; color: var(--color-accent); }
.diploma-card a, .cert-card-img{ cursor: zoom-in; }
.lightbox{
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(20,18,14,.92);
  display: flex; align-items: center; justify-content: center;
  padding: 24px 72px;
}
.lightbox[hidden]{ display: none; }
.lightbox-figure{ margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lightbox-figure img{ max-width: 100%; max-height: calc(100vh - 110px); width: auto; height: auto; object-fit: contain; background: #fff; }
.lightbox-figure figcaption{ color: #eee; font-size: 0.92rem; text-align: center; }
.lightbox-close, .lightbox-nav{
  position: absolute; border: 0; background: rgba(255,255,255,.14); color: #fff;
  width: 46px; height: 46px; border-radius: 50%; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.lightbox-close:hover, .lightbox-nav:hover{ background: rgba(255,255,255,.3); }
.lightbox-close{ top: 18px; right: 18px; }
.lightbox-nav{ top: 50%; transform: translateY(-50%); }
.lightbox-prev{ left: 16px; }
.lightbox-next{ right: 16px; }
body.lightbox-open{ overflow: hidden; }
@media (max-width: 640px){
  .lightbox{ padding: 64px 10px 24px; }
  .lightbox-nav{ top: auto; bottom: 14px; transform: none; }
}

/* 1.4.4: шапка, цены, подзаголовки «Обо мне» */
.site-header .container{ gap: 20px; }
.site-branding{ flex-shrink: 0; margin: 0; padding: 0; text-align: left; }
.site-branding > div{ margin: 0; padding: 0; }
.site-title, .site-title a{ white-space: nowrap; text-align: left; }
.site-description{ white-space: nowrap; }
.primary-nav{ flex: 1 1 auto; min-width: 0; }
.primary-nav ul{ gap: 24px; justify-content: center; }
.primary-nav a{ white-space: nowrap; }
.header-actions{ flex-shrink: 0; }
@media (max-width: 1080px){
  .primary-nav{ flex: none; }
  .primary-nav ul{ justify-content: flex-start; }
}

/* ==========================================================================
   ТИПОГРАФИЧЕСКАЯ СИСТЕМА (1.5.0)
   Два шрифта, у каждого своя роль:
   • Newsreader (с засечками) — только заголовки, цены, цитаты и номера;
   • Work Sans (без засечек) — весь основной текст, меню, кнопки, формы, подписи.
   Размеры — одна шкала, минимум 14px; начертаний три: 400 / 600 / 700.
   ========================================================================== */
:root{
  --fs-xs:   0.875rem;                               /* подписи, даты, примечания, поля формы */
  --fs-sm:   0.9375rem;                              /* меню, кнопки, мелкие списки */
  --fs-body: clamp(1.0625rem, 1.02rem + 0.2vw, 1.125rem); /* основной текст */
  --fs-lead: clamp(1.15rem, 1.08rem + 0.3vw, 1.3rem);     /* вводные абзацы */
  --fs-h3:   clamp(1.25rem, 1.15rem + 0.4vw, 1.45rem);    /* названия услуг, карточек, шагов, вопросов */
  --fs-h2:   clamp(1.75rem, 1.5rem + 1vw, 2.25rem);       /* заголовки разделов */
  --fs-h1:   clamp(2.1rem, 1.7rem + 1.6vw, 2.9rem);       /* заголовки страниц */
}

body{ font-size: var(--fs-body); line-height: 1.65; }

/* Заголовки: единый шрифт и вес */
h1, h2, h3, h4{ font-family: var(--font-display); font-weight: 600; letter-spacing: 0; }
h1{ font-size: var(--fs-h1); line-height: 1.15; }
h2{ font-size: var(--fs-h2); line-height: 1.2; }
h3{ font-size: var(--fs-h3); line-height: 1.3; }
h4{ font-size: var(--fs-h3); line-height: 1.3; }
.hero-copy h1,
.group-block h2,
.live-qa-grid h2,
.intro-heading{ font-size: var(--fs-h2); line-height: 1.25; }
.service-row h3,
.diploma-card-body h3,
.flow-step-header h3,
.faq-item summary,
.post-card h2{ font-size: var(--fs-h3); line-height: 1.3; }
.faq-item summary{ font-weight: 600; }

/* Подзаголовки внутри текста «Обо мне» — заголовки второго уровня */
.story-section .eyebrow{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h2);
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-ink);
  margin: 0 0 0.7em;
}
.about-text .story-section, .about-full .story-section{ margin-top: 56px; }

/* Малые надписи-метки (капсом) — одинаково везде */
.eyebrow, .schedule-label, .live-qa-badge{
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

/* Основной и вводный текст */
.hero-copy p:not(.eyebrow):not(.hero-quote-source), .about-lead{ font-size: var(--fs-lead); font-family: var(--font-body); line-height: 1.55; }
.service-row p, .flow-step p, .live-qa-grid > div:last-child p{ font-size: var(--fs-body); }
.diploma-card-body p, .cert-card-desc, .intro-stat span{ font-size: var(--fs-sm); }

/* Цитаты и «голосовые» строки — курсив Newsreader, один размер */
.hero-quote-source, .page-header-role, .story-closing p{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  font-size: var(--fs-h3);
  line-height: 1.45;
}
.hero-quote-source{ font-size: var(--fs-body); }

/* Цены и номера */
.price-amount{ font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h3); letter-spacing: 0; color: var(--color-ink); }
.price-unit{ font-family: var(--font-body); font-weight: 400; font-size: var(--fs-xs); color: var(--color-ink-soft); margin-top: 4px; }
.service-index, .schedule-days{ font-family: var(--font-display); font-weight: 400; font-size: var(--fs-h3); }

/* Интерфейс: меню, кнопки, шапка */
.primary-nav a, .header-phone{ font-size: var(--fs-sm); font-weight: 600; }
.btn{ font-size: var(--fs-sm); font-weight: 600; }
.site-title{ font-size: var(--fs-h3); font-weight: 600; }
.site-description{ font-size: var(--fs-xs); }

/* Формы и мелкий текст */
.form-row label{ font-size: var(--fs-xs); font-weight: 700; }
.form-row input, .form-row textarea, .form-row select{ font-size: 1rem; }
.form-checkbox, .form-note{ font-size: var(--fs-xs); }
.contact-info-list b, .post-card .post-meta, .single-post-header .post-meta, .wp-caption-text,
.cert-card-date, .lightbox-figure figcaption{ font-size: var(--fs-xs); }
.req{ font-weight: 700; }

/* Подвал */
.footer-grid h4, .footer-widget h4, .footer-widget .widgettitle, .footer-widget .widget-title{
  font-family: var(--font-display); font-weight: 600; font-size: 1.125rem;
}
.footer-widget li{ font-size: var(--fs-sm); }
.site-footer .footer-bottom, .footer-bottom{ font-size: var(--fs-xs); }

/* Комфортная длина строки */
.single-content p{ max-width: 72ch; }

/* 1.5.1: первый экран — метка и источник цитаты не должны наследовать размер вводного текста */
.hero-copy .eyebrow{ font-size: 0.8125rem; font-family: var(--font-body); color: var(--color-accent); margin-bottom: 1.2em; }
.hero-copy .hero-quote-source{ font-family: var(--font-display); font-style: italic; font-size: var(--fs-body); }
.hero-copy h1{ font-weight: 500; }

/* ==========================================================================
   ЕДИНЫЙ РИТМ ГЛАВНОЙ (1.6.0)
   Один ритм отступов, одинаковые заголовки разделов, одинаковая
   обрезка фотографий, одинаковая ширина «колонок», один тёмный
   финальный блок (призыв + подвал).
   ========================================================================== */

/* Ритм: все разделы с одинаковыми вертикальными отступами */
section{ padding: clamp(64px, 8vw, 104px) 0; }
.hero{ padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(48px, 6vw, 80px); }

/* Заголовок раздела: короткая линия + метка + h2 + (необязательно) вводный абзац */
.services > .container > h2,
.process > .container > h2,
.faq > .container > h2{ margin-bottom: 0.5em; }
.services > .container > p:not(.eyebrow){ color: var(--color-ink-soft); max-width: 60ch; }

/* Разделы с центральной колонкой: заголовок тоже по центру, колонка одной ширины */
.flow-steps, .faq-list{ max-width: 900px; margin-left: auto; margin-right: auto; }
.faq-list{ margin-top: 40px; }

/* Заголовки колонок с фото — одного размера */
.intro-heading, .room-grid h2, .live-qa-grid h2{ font-size: var(--fs-h2); line-height: 1.2; margin-bottom: 0.6em; }

/* Финал: призыв и подвал — один тёмный блок */
.cta{ padding: clamp(56px, 7vw, 88px) 0; }
.site-footer{ background: var(--color-primary-dk); padding-top: 0; }
.site-footer > .container{ border-top: 1px solid rgba(255,255,255,.14); padding-top: 56px; }
.footer-grid{ border-bottom-color: rgba(255,255,255,.14); }
.footer-brand{ font-size: 1.35rem; font-weight: 600; margin-bottom: 12px; }
.footer-grid p{ font-size: var(--fs-sm); }

/* Виджеты подвала (поиск и т. п.) — в цвет подвала */
.site-footer input[type="search"],
.site-footer input[type="text"],
.site-footer input[type="email"]{
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  padding: 10px 14px;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  border-radius: 2px;
}
.site-footer input[type="submit"], .site-footer .search-submit, .site-footer button{
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.5);
  padding: 10px 20px;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: 600;
  cursor: pointer;
  border-radius: 2px;
}
.site-footer input[type="submit"]:hover, .site-footer .search-submit:hover{ background: rgba(255,255,255,.12); }
.site-footer .wp-block-search__label, .site-footer label{ color: #fff; font-size: var(--fs-sm); font-weight: 600; }
.site-footer .social-links a{ margin: 0; }

/* ==========================================================================
   ЕДИНЫЙ СТИЛЬ ШРИФТОВ НА ВСЕХ СТРАНИЦАХ (1.6.2)
   Те же роли, что на главной: заголовок страницы — h1, вводная строка —
   «lead», названия пунктов — h3-размер, основной текст — body, подписи — xs.
   ========================================================================== */

/* Шапка любой внутренней страницы */
.page-header-simple h1{ font-size: var(--fs-h1); line-height: 1.15; margin-bottom: 0.35em; }
.page-header-simple > .container > p:not(.eyebrow):not(.page-header-role),
.page-intro-text{
  font-family: var(--font-body);
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: var(--color-ink-soft);
  max-width: 62ch;
}

/* Группы */
.group-block h2{ font-size: var(--fs-h3); line-height: 1.3; }
.group-block p{ font-size: var(--fs-body); }

/* Дипломы */
.diplomas-note p{ font-size: var(--fs-body); }
.diploma-card-body h3{ font-size: var(--fs-h3); }

/* Контакты */
.contact-info-list li, .contact-info-list a{ font-size: var(--fs-body); }
.contact-info-list a{ font-weight: 600; }
.form-success, .form-error{ font-size: var(--fs-sm); }

/* Блог и записи */
.post-card h2{ font-size: var(--fs-h3); line-height: 1.3; }
.post-card p{ font-size: var(--fs-body); }
.post-card .btn{ font-size: var(--fs-sm); }
.post-card .post-meta, .single-post-header .post-meta{ font-size: var(--fs-xs); }
.single-content{ font-size: var(--fs-body); }
.single-content h2{ font-size: var(--fs-h2); margin-top: 1.6em; }
.single-content h3{ font-size: var(--fs-h3); margin-top: 1.4em; }
.single-content li{ font-size: var(--fs-body); }
.pagination, .pagination a, .pagination span{ font-size: var(--fs-sm); }

/* 1.6.3: ссылки на документы в подвале */
.footer-legal{
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px;
  padding-top: 24px;
}
.footer-legal a{ color: #C9C6BB; font-size: var(--fs-xs); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.3); }
.footer-legal a:hover{ color: #fff; text-decoration-color: #fff; }
.footer-bottom{ padding-top: 14px; }
@media (max-width: 560px){
  .footer-legal{ flex-direction: column; align-items: center; gap: 10px; }
}

/* ==========================================================================
   1.7.0: баннер cookie, дисклеймер, реквизиты, правила завтрака
   ========================================================================== */
.cookie-banner{
  position: fixed; z-index: 9000;
  left: 24px; bottom: 24px;
  max-width: 520px;
  padding: 22px 24px 24px;
  background: var(--color-card);
  border: 1px solid var(--color-line);
  border-top: 4px solid var(--color-accent);
  border-radius: 2px;
  box-shadow: 0 18px 50px rgba(34,31,25,.22);
}
.cookie-banner[hidden]{ display: none; }
.cookie-banner-title{ font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h3); line-height: 1.25; margin: 0 0 8px; color: var(--color-ink); }
.cookie-banner-text{ font-size: var(--fs-sm); line-height: 1.55; color: var(--color-ink-soft); margin: 0 0 16px; max-width: none; }
.cookie-banner-text a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.cookie-banner-text a:hover{ color: var(--color-accent); }
.cookie-banner-actions{ display: flex; flex-wrap: wrap; gap: 12px; }
.cookie-banner-actions .btn{ flex: 1 1 160px; justify-content: center; padding: 12px 20px; cursor: pointer; }
@media (max-width: 560px){
  .cookie-banner{ left: 12px; right: 12px; bottom: 12px; max-width: none; padding: 18px; }
}

.footer-disclaimer-box{
  max-width: 880px; margin: 0 auto; padding: 24px 0 0;
  text-align: center; font-size: var(--fs-xs); line-height: 1.6; color: #C9C6BB;
}
.footer-requisites{
  max-width: 880px; margin: 0 auto; padding: 14px 0 0;
  text-align: center; font-size: var(--fs-xs); line-height: 1.6; color: #A6A399;
}
.footer-requisites strong{ color: #C9C6BB; font-weight: 600; }
.cookie-settings-link{
  background: none; border: 0; padding: 0; cursor: pointer;
  font-family: var(--font-body); font-size: var(--fs-xs); color: #C9C6BB;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.3);
}
.cookie-settings-link:hover{ color: #fff; text-decoration-color: #fff; }
.site-footer .cookie-settings-link{ border: 0; padding: 0; font-weight: 400; }
.live-qa-rules{ font-size: var(--fs-xs); color: var(--color-ink-soft); margin: 4px 0 18px; }
.live-qa-rules a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.live-qa-rules a:hover{ color: var(--color-accent); }

/* 1.7.2: документы в подвале — два столбца */
.footer-legal{
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  justify-content: center;
  justify-items: start;
  gap: 10px 64px;
  padding-top: 24px;
}
.footer-legal .cookie-settings-link{ text-align: left; }
@media (max-width: 640px){
  .footer-legal{
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    justify-content: start;
    gap: 10px;
  }
}

/* 1.7.3: «Сейчас прохожу обучение», кнопка дипломов вверху «Обо мне» */
.studying{ margin-top: 72px; }
.studying .services-list{ margin-top: 24px; }
.about-diplomas-btn{ margin-top: 20px; }

/* 1.7.4: «Обо мне» — меньше промежуток перед «Почему гештальт»; дипломы — отступы и крупнее слайдер */
.about-intro{ padding-bottom: 8px; }
.about-full{ padding-top: 0; }
.about-full .story-section:first-child{ margin-top: 24px; }
.studying{ margin-top: clamp(88px, 10vw, 128px); }
.cert-carousel-wrap{ margin-top: clamp(88px, 10vw, 128px); }
.cert-carousel{ max-width: 860px; }
.cert-card-img{ height: 480px; }
.cert-card-title{ font-size: 1.5rem; }
.cert-card-desc{ font-size: 1.0625rem; }
.cert-card figcaption{ padding: 24px 28px 28px; }
@media (max-width: 860px){ .cert-card-img{ height: 380px; } }
@media (max-width: 640px){ .cert-card-img{ height: 280px; } }

/* ==========================================================================
   1.8.0: лид-магниты — страницы, обложки, «Бесплатные материалы», строка в статьях
   ========================================================================== */
.lead-grid{ display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 64px; align-items: start; }
.lead-page{ padding-top: clamp(28px, 4vw, 48px); }
.lead-copy p{ font-size: var(--fs-body); max-width: 62ch; }
.lead-list-title{ font-weight: 700; margin-bottom: 0.4em; }
.lead-list{ list-style: none; margin: 0 0 1.4em; padding: 0; display: grid; gap: 12px; }
.lead-list li{ position: relative; padding-left: 28px; font-size: var(--fs-body); }
.lead-list li::before{ content: ""; position: absolute; left: 0; top: 0.7em; width: 14px; height: 2px; background: var(--color-accent); }
.lead-author{ margin-top: 2em; padding-top: 1.4em; border-top: 1px solid var(--color-line); font-family: var(--font-display); font-style: italic; font-size: var(--fs-h3); line-height: 1.45; color: var(--color-ink-soft); }
.lead-side{ position: sticky; top: 110px; background: var(--color-card); border: 1px solid var(--color-line); padding: 20px 20px 28px; }
.lead-side .lead-cover{ margin-bottom: 24px; }
.lead-form .form-checkboxes{ margin-top: 4px; }

/* Обложки */
.lead-cover{
  display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
  aspect-ratio: 4 / 3; padding: 24px 26px;
  border: 1px solid transparent;
}
.lead-cover-badge{ font-family: var(--font-body); font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: .85; }
.lead-cover-title{ font-family: var(--font-display); font-weight: 600; font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.8rem); line-height: 1.15; }
.lead-cover-sign{ font-family: var(--font-display); font-style: italic; font-size: 1rem; padding-top: 12px; border-top: 1px solid currentColor; opacity: .85; }
.lead-cover--olive{ background: var(--color-primary); color: #F1ECDF; }
.lead-cover--terra{ background: var(--color-accent); color: #FBF8F0; }
.lead-cover--sand{ background: var(--color-bg-alt); color: var(--color-ink); border-color: var(--color-line); }

/* Блок на главной */
.freebies-lead{ color: var(--color-ink-soft); font-size: var(--fs-lead); max-width: 60ch; }
.freebies-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 40px; }
.freebie-card{ display: flex; flex-direction: column; align-items: flex-start; }
.freebie-cover-link{ display: block; width: 100%; text-decoration: none; margin-bottom: 20px; }
.freebie-card h3{ font-size: var(--fs-h3); margin-bottom: 8px; }
.freebie-card p{ color: var(--color-ink-soft); font-size: var(--fs-sm); margin-bottom: 18px; flex: 1; }

/* Строка в конце статьи */
.lead-strip{
  margin-top: 56px; padding: 24px 28px;
  background: var(--color-card); border: 1px solid var(--color-line); border-left: 4px solid var(--color-accent);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px;
}
.lead-strip p{ margin: 0; flex: 1 1 320px; font-size: var(--fs-body); max-width: none; }

@media (max-width: 900px){
  .lead-grid{ grid-template-columns: 1fr; gap: 40px; }
  .lead-side{ position: static; }
  .freebies-grid{ grid-template-columns: 1fr; max-width: 520px; }
}

/* 1.8.1: настоящие обложки буклетов */
.lead-cover-img{ display: block; width: 100%; height: auto; aspect-ratio: 900 / 1273; object-fit: cover; box-shadow: 0 14px 34px rgba(34,31,25,.18); }
.lead-side{ position: static; padding: 0; background: none; border: 0; }
.lead-side .lead-cover-img{ max-width: 380px; margin: 0 auto 28px; }
.lead-side .contact-form, .lead-side .form-success{ background: var(--color-card); border: 1px solid var(--color-line); padding: 24px 24px 28px; }
.lead-side .form-success{ margin: 0; }
.freebie-cover-link .lead-cover-img{ transition: transform .25s ease, box-shadow .25s ease; }
.freebie-cover-link:hover .lead-cover-img{ transform: translateY(-4px); box-shadow: 0 20px 40px rgba(34,31,25,.24); }
.freebies-grid{ gap: 40px; }
@media (max-width: 900px){
  .lead-side .lead-cover-img{ max-width: 320px; }
}

/* 1.8.2: обложки меньше — на странице буклета справа от текста, на главной три в ряд */
.lead-grid{ grid-template-columns: 1fr 280px; gap: 72px; }
.lead-side{ position: sticky; top: 110px; padding: 0; background: none; border: 0; }
.lead-side .lead-cover-img{ max-width: 280px; width: 100%; margin: 0; }
.lead-form-wrap{ margin: 28px 0 8px; max-width: 560px; }
.lead-form-wrap .contact-form, .lead-form-wrap .form-success{ background: var(--color-card); border: 1px solid var(--color-line); padding: 24px 24px 28px; margin: 0; }
.freebies-grid{ grid-template-columns: repeat(3, 240px); justify-content: space-between; gap: 40px 32px; }
.freebie-card{ width: 240px; }
.freebie-card h3{ font-size: 1.15rem; line-height: 1.3; }
@media (max-width: 900px){
  .lead-grid{ grid-template-columns: 1fr 200px; gap: 32px; }
  .lead-side .lead-cover-img{ max-width: 200px; }
  .freebies-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; justify-content: stretch; gap: 24px; }
  .freebie-card{ width: auto; }
}
@media (max-width: 640px){
  .lead-grid{ grid-template-columns: 1fr; }
  .lead-side{ position: static; order: -1; }
  .lead-side .lead-cover-img{ max-width: 220px; }
  .freebies-grid{ display: flex; overflow-x: auto; gap: 20px; scroll-snap-type: x mandatory; padding-bottom: 12px; margin-right: -28px; padding-right: 28px; }
  .freebie-card{ flex: 0 0 220px; width: 220px; scroll-snap-align: start; }
}

/* 1.8.5 Главная: первый экран занимает всю высоту окна, второй блок виден только после прокрутки */
@media (min-width: 861px) and (min-height: 640px){
  .hero{
    min-height: calc(100vh - 84px);
    min-height: calc(100svh - 84px);
    display: flex;
    align-items: center;
    padding-top: 32px;
    padding-bottom: 48px;
  }
  .hero .container{ width: 100%; align-items: center; }
  .hero-figure{
    justify-self: end;
    width: auto;
    height: min(560px, calc(100svh - 84px - 140px));
    height: min(560px, calc(100vh - 84px - 140px));
    max-width: 100%;
    margin-right: 22px;
  }
}

/* 1.9.0 Анонсы завтраков: слайдер карточек под фото */
.live-qa-side{ max-width: 500px; }
.announce{ margin-top: 28px; }
.announce-label{ font-size: 0.8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--color-accent); margin: 0 0 12px; }
.announce-slider{ display: flex; align-items: center; gap: 10px; }
.announce-viewport{ flex: 1; min-width: 0; overflow: hidden; }
.announce-track{ display: flex; transition: transform .45s ease; }
.announce-card{
  flex: 0 0 100%; box-sizing: border-box;
  background: var(--color-card); border: 1px solid var(--color-line);
  padding: 22px 24px 24px; min-height: 100%;
}
.announce-date{ display: block; font-size: var(--fs-xs); font-weight: 600; color: var(--color-accent); margin-bottom: 8px; }
.announce-card h3{ font-size: 1.25rem; line-height: 1.25; margin: 0 0 12px; }
.announce-card p{ font-size: var(--fs-sm); color: var(--color-ink-soft); margin: 0 0 10px; line-height: 1.55; }
.announce-card p:last-child{ margin-bottom: 0; }
.announce-audience strong{ color: var(--color-ink); font-weight: 600; }
.announce-arrow{
  flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--color-line); background: var(--color-card);
  color: var(--color-ink); font-size: 1rem; cursor: pointer;
}
.announce-arrow:hover{ background: var(--color-ink); color: #fff; }
.announce-dots{ display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
@media (max-width: 860px){ .live-qa-side{ max-width: 100%; } .announce-arrow{ width: 32px; height: 32px; } }

/* 1.9.5 Ближайшие свободные окошки в блоках расписания */
.schedule-sub{ display: block; font-size: var(--fs-xs); color: var(--color-ink-soft); margin: -2px 0 8px; }
.schedule-slots{ list-style: none; margin: 0; padding: 0; }
.schedule-slots li{ margin: 0; padding: 6px 0; border-top: 1px solid var(--color-line); }
.schedule-slots li:first-child{ border-top: 0; }
.schedule-slots a{ font-family: var(--font-display); font-size: 1.25rem; color: var(--color-ink); text-decoration: none; }
.schedule-slots a:hover{ color: var(--color-accent); }

/* 1.9.6 Заголовки блоков расписания — в цвет рамки */
.schedule-item .schedule-label{ color: var(--color-primary); }
.schedule-item--offline .schedule-label{ color: var(--color-accent); }

/* 1.10.2 Мобильная версия главной */
/* Слайдер анонсов: колонка сетки не должна растягиваться по ширине ленты слайдов */
.live-qa-grid > *, .live-qa-side{ min-width: 0; }
.announce-viewport{ touch-action: pan-y; }
@media (max-width: 860px){
  .live-qa-grid{ grid-template-columns: minmax(0, 1fr); }
  .announce, .announce-slider{ width: 100%; max-width: 100%; }
}

/* Фото не растягиваются на всю ширину при повороте телефона: размер фиксирован */
@media (max-width: 860px), (orientation: landscape) and (max-height: 600px){
  .hero-figure, .intro-figure, .room-figure, .live-qa-figure{
    width: 100%;
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
  }
  .intro-figure img, .room-figure img, .live-qa-figure img{ width: 100%; height: auto; }
}
@media (orientation: landscape) and (max-height: 600px){
  .live-qa-side{ max-width: 100%; }
}

/* Бесплатные материалы на телефоне: отступы под кнопками и после ряда карточек */
@media (max-width: 640px){
  .freebies-grid{ padding-bottom: 32px; margin-bottom: 8px; }
  .freebie-card{ padding-bottom: 12px; }
  .freebie-card .btn{ margin-bottom: 8px; }
  .freebies{ padding-bottom: clamp(56px, 12vw, 80px); }
}

/* 1.10.3 Политика скидок на странице услуг */
.services#discounts > .container > p:not(.eyebrow){ max-width: 62ch; }
.services#discounts .services-list{ margin-top: 28px; }
.service-row p a, .services p a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.service-row p a:hover, .services p a:hover{ color: var(--color-accent); }

/* 1.11.0 Документы, формы, подвал, cookie-баннер */
.form-consent-more{ font-size: var(--fs-xs); color: var(--color-ink-soft); margin: -4px 0 12px 32px; }
.form-consent-more a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.form-hint{ font-size: var(--fs-xs); color: var(--color-ink-soft); margin: 6px 0 0; }
.services-docs-note{ margin-top: 32px; font-size: var(--fs-sm); color: var(--color-ink-soft); max-width: 70ch; }
.services-docs-note a{ color: var(--color-ink); }

.footer-urgent{ font-size: var(--fs-xs); line-height: 1.6; color: #C9C6BB; margin: 0 0 18px; }
.footer-urgent strong{ color: #fff; font-weight: 600; display: block; margin-bottom: 2px; }
.cookie-banner-text{ margin-bottom: 14px; }

/* Страница «Документы и правила работы» */
.docs h2, .docs-main h2{ font-size: var(--fs-h2); margin-bottom: 0.7em; }
.docs-table{ border-top: 1px solid var(--color-line); }
.docs-row{
  display: grid;
  grid-template-columns: 1.1fr 1.2fr 1.5fr 1.1fr;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--color-line);
  font-size: var(--fs-sm);
  line-height: 1.5;
  color: var(--color-ink-soft);
}
.docs-head{ font-size: var(--fs-xs); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--color-ink); padding: 14px 0; }
.docs-when{ color: var(--color-ink); font-weight: 500; }
.docs-name a{ color: var(--color-ink); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--color-accent); }
.docs-name a:hover{ color: var(--color-accent); }
@media (max-width: 860px){
  .docs-head{ display: none; }
  .docs-row{ grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .docs-row > span[data-label]::before{ content: attr(data-label) ": "; font-size: var(--fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-ink); display: block; margin-bottom: 2px; }
  .docs-when::before{ display: none !important; }
  .docs-when{ font-size: var(--fs-body); font-family: var(--font-display); font-weight: 600; }
}
.docs-points{ margin: 0 0 8px; padding-left: 1.2em; max-width: 70ch; }
.docs-points li{ font-size: var(--fs-body); color: var(--color-ink-soft); margin-bottom: 12px; line-height: 1.6; }
.docs-sub{ margin-top: 56px; }
.docs-main p{ max-width: 70ch; }
.docs-main p a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.docs-small{ margin-top: 48px; font-size: var(--fs-xs); color: var(--color-ink-soft); }

/* 1.11.1 Блок срочной помощи в подвале: по центру, как дисклеймер и реквизиты */
.footer-urgent{ max-width: 880px; margin: 0 auto; padding: 14px 0 0; text-align: center; font-size: var(--fs-xs); line-height: 1.6; color: #C9C6BB; }
.footer-urgent strong{ display: inline; color: #fff; font-weight: 600; margin: 0; }

/* 1.11.2 Мелкий шрифт для пояснений про документы в «Как проходит работа» */
.flow-step p.flow-fine{ font-size: var(--fs-xs); line-height: 1.55; color: var(--color-ink-soft); margin-top: 10px; }
.flow-step p.flow-fine a{ color: var(--color-ink); text-decoration: underline; text-underline-offset: 2px; }
.flow-step p.flow-fine a:hover{ color: var(--color-accent); }

/* 1.11.3 «Как проходит работа»: текст занимает всю ширину карточки, а не узкую колонку */
.flow-step p{ max-width: none; }
.flow-step p.flow-fine{ max-width: none; }

/* 1.11.4 «Вопросы и ответы»: текст на всю ширину блока */
.faq-item p{ max-width: none; }

/* 1.11.7 Подвал: ссылки одной центрированной строкой, без лишней точки у копирайта */
.footer-legal{
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 10px 28px; padding-top: 22px; text-align: center;
}
.footer-legal a, .footer-legal .cookie-settings-link{ text-align: center; }
.footer-bottom p:first-child::after{ content: none !important; }
.footer-bottom{ padding-top: 22px; }
@media (max-width: 640px){
  .footer-legal{ flex-direction: column; gap: 10px; }
}

/* 1.11.9 Дисклеймер и срочная помощь — одним абзацем */
.footer-disclaimer-box strong{ color: #fff; font-weight: 600; }

/* 1.11.10 Реквизиты — первой строкой блока */
.footer-requisites-line{ display: block; margin-bottom: 8px; }

/* 1.11.12 Страница «Документы»: вступление абзацами, «Коротко о главном» сразу после него */
.page-header-simple .container > p{ margin-bottom: 1em; }
.docs-contact .docs-sub{ margin-top: 0; }

/* 1.11.14 Страница «Документы»: текст на всю ширину колонки */
.page-template-page-documents .page-header-simple > .container > p:not(.eyebrow),
.docs-main p,
.docs-points{ max-width: none; }
.docs-points li{ max-width: none; }

/* 1.11.15 Страница «Документы»: компактные отступы и обычные размеры шрифтов */
.page-template-page-documents .page-header-simple{ padding: 40px 0 28px; }
.page-template-page-documents .page-header-simple h1{ margin-bottom: 0.5em; }
.page-template-page-documents .page-header-simple > .container > p:not(.eyebrow){
  font-size: var(--fs-body); line-height: 1.6; max-width: 900px; margin-bottom: 0.8em;
}
.page-template-page-documents .page-header-simple > .container > p:last-child{ margin-bottom: 0; }
.page-template-page-documents section.docs-main,
.page-template-page-documents section.docs{ padding: 40px 0; }
.page-template-page-documents .docs h2,
.page-template-page-documents .docs-main h2{ font-size: var(--fs-h3); margin-bottom: 0.6em; }
.page-template-page-documents .docs-main p,
.page-template-page-documents .docs-points{ max-width: 900px; font-size: var(--fs-body); line-height: 1.6; }
.page-template-page-documents .docs-points{ margin-bottom: 0; }
.page-template-page-documents .docs-points li{ margin-bottom: 8px; }
.page-template-page-documents .docs-points li:last-child{ margin-bottom: 0; }
.page-template-page-documents .docs-main p.docs-small{ margin-top: 24px; font-size: var(--fs-xs); max-width: 900px; }

/* 1.11.29 Кнопки «Получить» в бесплатных материалах — на всю ширину карточки */
.freebie-card .btn{ display: block; width: 100%; align-self: stretch; text-align: center; box-sizing: border-box; }

/* 1.12.0 Защита форм от спама: поле-ловушка скрыто от людей */
.kabinet-hp{ position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* 1.13.2 Форма записи: формат заблокирован, если выбрано время */
.contact-form select:disabled{ opacity: .75; cursor: not-allowed; background-color: var(--color-bg-alt); }

/* 1.13.4 Форма записи: телефон отдельной строкой, почта и телеграм — рядом под ним */
.form-row-group--contacts .form-row--wide{ grid-column: 1 / -1; }

/* 1.15.0 Форма записи: группа / мастерская / эфир — выбор на всю ширину под услугой */
.form-row-group--2.is-signup{ grid-template-columns: 1fr; }
[data-signup][hidden], #row-format[hidden], #row-slot[hidden]{ display: none !important; }

/* 1.16.7 Услуги: подзаголовки «Время для записи» и «Группы» */
.services-subtitle{ font-family: var(--font-display); font-size: var(--fs-h3); line-height: 1.3; margin: 48px 0 16px; }
.services-subtitle + .schedule-box{ margin-top: 0; }
.services-subtitle + .services-list{ margin-top: 0; }

/* 1.17.0 Форма: «Просто задать вопрос» */
#row-publish[hidden], #hint-question[hidden], #hint-25[hidden]{ display: none !important; }

/* 1.17.4 Форма записи: подсказка о стоимости */
.form-price-note{ margin: -4px 0 18px; padding: 10px 14px; border-left: 3px solid var(--color-accent); background: var(--color-card); font-size: var(--fs-sm); color: var(--color-ink); }
.form-price-note[hidden]{ display: none !important; }

/* 1.19.1 Статья блога: колонка по ширине шапки, текст сразу под заголовком, фото 400 px с обтеканием */
section.single-post{ padding-top: 48px; }
.single-post .single-post-header{ max-width: none; margin: 0 0 24px; }
.single-post .single-post-header h1{ font-size: var(--fs-h1); line-height: 1.15; margin-bottom: 0.3em; }
.single-post .single-content{ max-width: none; margin: 0; }
.single-post .single-content p,
.single-post .single-content ul,
.single-post .single-content ol{ max-width: none; }
.single-post .single-content::after{ content: ""; display: table; clear: both; }
.single-post .single-thumb{ float: right; width: 400px; max-width: 45%; margin: 4px 0 20px 32px; border-radius: var(--radius-lg); overflow: hidden; }
.single-post .single-thumb img{ display: block; width: 100%; height: auto; margin: 0; border-radius: 0; }
.single-post .single-content h2, .single-post .single-content h3{ clear: none; }
.single-post .single-after{ margin-top: 40px; clear: both; }
@media (max-width: 700px){
  .single-post .single-thumb{ float: none; width: 100%; max-width: 100%; margin: 0 0 24px; }
}
/* Список статей блога: карточки сразу под заголовком */
section.blog-list{ padding-top: 16px; }

/* 1.19.2 Статья блога: колонка уже (около 80 знаков в строке), по центру */
.single-post .single-article{ max-width: 840px; margin: 0 auto; }

/* 1.19.3 Комментарии под статьёй: по ширине текста, поля и кнопка в стиле сайта */
.single-comments{ margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--color-line); font-family: var(--font-body); font-size: var(--fs-body); }
.single-comments .comments-title, .single-comments .comment-reply-title{ font-family: var(--font-display); font-size: var(--fs-h3); margin: 0 0 16px; }
.single-comments .comment-list, .single-comments .commentlist{ list-style: none; margin: 0 0 32px; padding: 0; }
.single-comments .comment-list .children{ list-style: none; padding-left: 28px; }
.single-comments .comment-body{ padding: 16px 0; border-bottom: 1px solid var(--color-line); }
.single-comments .comment-meta, .single-comments .comment-metadata{ font-size: var(--fs-xs); color: var(--color-ink-soft); }
.single-comments .comment-author .avatar{ border-radius: 50%; vertical-align: middle; margin-right: 8px; }
.single-comments .comment-form p{ margin: 0 0 16px; max-width: none; }
.single-comments .comment-form label{ display: block; font-weight: 700; font-size: 0.88rem; margin-bottom: 6px; }
.single-comments .comment-form input[type=text],
.single-comments .comment-form input[type=email],
.single-comments .comment-form input[type=url],
.single-comments .comment-form textarea{
  display: block; width: 100%; box-sizing: border-box;
  font-family: var(--font-body); font-size: var(--fs-body); line-height: 1.6;
  padding: 12px 14px; border: 1.5px solid var(--color-line); border-radius: var(--radius);
  background: var(--color-card); color: var(--color-ink);
}
.single-comments .comment-form textarea{ min-height: 160px; resize: vertical; }
.single-comments .comment-form input:focus, .single-comments .comment-form textarea:focus{ outline: none; border-color: var(--color-primary); }
.single-comments .comment-form .comment-form-cookies-consent{ display: flex; gap: 8px; align-items: flex-start; font-size: var(--fs-sm); }
.single-comments .comment-form .comment-form-cookies-consent label{ display: inline; font-weight: 400; margin: 0; }
.single-comments .comment-notes, .single-comments .logged-in-as{ font-size: var(--fs-sm); color: var(--color-ink-soft); }
.single-comments .form-submit .btn{ font-size: var(--fs-sm); }

/* 1.19.5: шапка на телефоне — всё помещается в ширину экрана */
body{ overflow-x: clip; }
@media (max-width: 640px){
  .site-header .container{ gap: 10px; min-height: 68px; }
  .site-branding{ flex: 1 1 auto; min-width: 0; }
  .site-title{ font-size: 1.15rem; }
  .site-header .container{ padding-left: 16px; padding-right: 16px; }
  .site-title, .site-title a{ white-space: normal; line-height: 1.15; }
  .site-description{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.8rem; line-height: 1.3; }
  .header-actions{ order: 2; gap: 0; }
  .menu-toggle{ order: 3; flex-shrink: 0; }
  .header-actions .btn{ padding: 8px 12px; font-size: 0.875rem; white-space: nowrap; }
  .primary-nav{ padding: 12px 20px 24px; }
}
.site-description .nowrap{ white-space: nowrap; }
@media (max-width: 640px){ .site-branding > div{ min-width: 0; } }
@media (max-width: 400px){
  .site-description{ white-space: normal; }
}
@media (max-width: 339px){
  .site-description{ display: none; }
}

/* 1.19.6: на телефонах и планшетах шапка закреплена всегда */
@media (max-width: 1080px){
  .site-header{ position: fixed; top: 0; left: 0; right: 0; width: 100%; }
  body{ padding-top: var(--header-h, 84px); }
  body.admin-bar .site-header{ top: var(--wp-admin--admin-bar--height, 46px); }
  .primary-nav{ max-height: calc(100vh - var(--header-h, 84px)); overflow-y: auto; }
}
@media (max-width: 640px){
  body{ padding-top: var(--header-h, 68px); }
}
@media (max-width: 600px){
  body.admin-bar #wpadminbar{ position: fixed; }
}

html{ scroll-padding-top: calc(var(--header-h, 84px) + 12px); }
