/* ============================================================
   mobile-polish.css — финальная полировка мобильной вёрстки
   Создан: 2026-06-13. Подключается ПОСЛЕ всех остальных CSS.
   Только !important-перебивки точечных проблем, выявленных
   DOM-аудитом (audit-dom.json). Никаких лишних правил.
   ============================================================ */

/* ---------- FIX 1: site-header__tagline 6-8px → скрыт на мобильных ---------- */
/* В yae.css:1521 заголовок 8.5px, при сжатии падает до 6px. Inline font-size бьёт CSS.
   FIX 16 скрывает через [style*="font-size"] на ≤900. Этот блок — запасное скрытие. */
@media (max-width: 560px) {
  .site-header__tagline { display: none !important; }
}

/* ---------- FIX 2: hero__eyebrow 9px → 12px на мобильных ---------- */
/* yae.css:1229 ставит 9px на hero__eyebrow в @media — это нечитаемо */
@media (max-width: 900px) {
  .hero__eyebrow,
  .eyebrow.hero__eyebrow,
  .v-hero__eyebrow,
  .s-hero__eyebrow,
  .wed-hero__eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    margin-bottom: 14px !important;
  }
}

/* ---------- FIX 3: .eyebrow 11px → 12px ---------- */
@media (max-width: 900px) {
  .eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.16em !important;
  }
  }

/* ---------- FIX 4: btn--accent / btn--ghost 13px → 15px на CTA ---------- */
@media (max-width: 900px) {
  .btn,
  .btn--accent,
  .btn--ghost,
  .contacts-cta,
  .intake-form__btn {
    font-size: 15px !important;
    min-height: 48px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ---------- FIX 5: site-header__burger touch-target 44x44 ---------- */
@media (max-width: 1100px) {
  .site-header__burger {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 12px 11px !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* ---------- FIX 6: site-header__tg 36x36 → 44x44 ---------- */
@media (max-width: 900px) {
  .site-header__tg {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .site-header__tg svg { width: 18px !important; height: 18px !important; }
}

/* ---------- FIX 7: убираем эффекты inline-transform translate на h-1/h-display ---------- */
/* На index.html h-1 имеет inline style="transform:translate(212px,-3px)" — на мобильных это ломает раскладку */
@media (max-width: 1100px) {
  .h-1[style*="translate"],
  .h-display[style*="translate"],
  .hero__title[style*="translate"] {
    transform: none !important;
  }
  /* Также перебиваем чрезмерные inline font-size, которые ставятся в HTML */
  .h-1[style*="font-size"] {
    font-size: clamp(28px, 6vw, 40px) !important;
  }
  .h-display[style*="font-size"],
  .hero__title[style*="font-size"] {
    font-size: clamp(32px, 8vw, 56px) !important;
  }
}

/* ---------- FIX 8: hero__fact-label / footer ---------- */
@media (max-width: 900px) {
  .hero__fact-label,
  .s-venue-card__meta,
  .contacts-card__kicker,
  .wed-loc__kicker {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  /* Footer ссылки */
  .site-footer a,
  .site-footer__nav a,
  .site-footer__legal a {
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 0 !important;
  }
}

/* ---------- FIX 9: footer wordmark touch area ---------- */
@media (max-width: 900px) {
  .site-footer__wordmark {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* ---------- FIX 10: общие safety-rules для мобильных ---------- */
@media (max-width: 900px) {
  /* Предотвращаем горизонтальный скролл от любых будущих inline-стилей */
  html, body { overflow-x: hidden !important; }
  /* Картинки не вылезают за контейнеры */
  img, picture, video, iframe { max-width: 100% !important; height: auto; }
  /* Контейнеры не уже viewport */
  .container, .container--narrow { min-width: 0 !important; }
}

/* ---------- FIX 11: tablet 760-900 — заполняем пробел в адаптации ---------- */
@media (min-width: 760px) and (max-width: 900px) {
  /* Заголовки и сетки на iPad — между мобильным и десктопом */
  .venues, .formats, .reasons, .contacts-grid, .menu-packages, .transfer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  .hero__title, .v-hero__title, .s-hero__title, .wed-hero__title {
    font-size: clamp(36px, 5.5vw, 56px) !important;
  }
}

/* ---------- FIX 12/15: hero__media/lead-form__bg overflow на всех мобильных ---------- */
@media (max-width: 900px) {
  .hero__media, .v-hero__media, .s-hero__media, .wed-hero__media,
  .lead-form-section__bg {
    max-width: 100% !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}

/* ---------- FIX 13: venue-card__kicker 10px → 12px на мобильных ---------- */
/* yae.css:1251 ставит 10px — нечитаемо на телефонах */
@media (max-width: 900px) {
  .venue-card__kicker,
  .card__kicker,
  .format-card__kicker {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  .venue-card__cta {
    font-size: 12px !important;
    padding-top: 8px !important;
  }
}

/* ---------- FIX 14: btn-link / мелкие ссылки — touch-target 44px ---------- */
@media (max-width: 900px) {
  .btn-link {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
  }
}

/* ---------- FIX 16: site-header__tagline inline-style 6px → скрыть на ≤900 ---------- */
@media (max-width: 900px) {
  .site-header__tagline[style*="font-size"] {
    display: none !important;
  }
}

/* ---------- FIX 17: pricing-tables scroll на 320px вместо overflow ---------- */
@media (max-width: 360px) {
  .v-pricing__schedule {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }
}

/* ---------- FIX 18: site-footer__tagline 10px → 11px на мобильных ---------- */
@media (max-width: 900px) {
  .site-footer__tagline {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
}

/* ============================================================
   FIX 19: ЕДИНАЯ ТИПОГРАФИКА НА ВЕСЬ САЙТ
   Все заголовки/тексты используют одинаковые размеры и шрифты
   на всех страницах. Убиваем все inline font-size/color/font-family.
   ============================================================ */

/* Базовая палитра шрифтов — для надёжности дублируем */
:root {
  --font-serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --font-script: 'Marck Script', 'Cormorant Garamond', cursive;
  --font-sans: 'Inter', 'Open Sans', system-ui, -apple-system, sans-serif;
  --color-text: #25251f;
  --color-text-mute: #6e6c64;
  --color-accent: #4a5a3a;
}

/* --- H-DISPLAY (главный hero-заголовок на всех страницах) --- */
.h-display,
.hero__title,
.v-hero__title,
.s-hero__title,
.wed-hero__title,
.h-display[style],
.hero__title[style],
.v-hero__title[style],
.s-hero__title[style],
.wed-hero__title[style] {
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: clamp(36px, 6.5vw, 88px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

/* --- H-1 (секционные заголовки) --- */
.h-1,
.h-1[style] {
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: clamp(28px, 4vw, 52px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.01em !important;
  color: var(--color-text) !important;
  text-transform: none !important;
}

/* --- H-2 (подсекции) --- */
.h-2,
.h-2[style] {
  font-family: var(--font-serif) !important;
  font-weight: 500 !important;
  font-size: clamp(22px, 2.6vw, 32px) !important;
  line-height: 1.15 !important;
  color: var(--color-text) !important;
}

/* --- LEAD (большой абзац под заголовком) --- */
.lead,
.hero__lead,
.v-hero__sub,
.s-hero__sub,
.wed-hero__sub,
.lead[style],
.hero__lead[style] {
  font-family: var(--font-sans) !important;
  font-weight: 400 !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.55 !important;
}
.lead, .lead[style] {
  color: var(--color-text-mute) !important;
}

/* --- EYEBROW (надзаголовок-кикер) --- */
.eyebrow,
.eyebrow[style] {
  font-family: var(--font-sans) !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--color-text-mute) !important;
}
@media (min-width: 901px) {
  .eyebrow, .eyebrow[style] { font-size: 13px !important; }
}

/* --- MUTED (мелкий поясняющий текст) --- */
.muted,
.muted[style] {
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--color-text-mute) !important;
}

/* --- Скрипт-стилизация (курсив) --- */
.script,
.script[style] {
  font-family: var(--font-script) !important;
  font-weight: 400 !important;
  font-size: 1em !important;
  letter-spacing: 0 !important;
  color: inherit !important;
}

/* --- Базовые параграфы и тело --- */
body, p, li, td, span {
  font-family: var(--font-sans);
}
body {
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
}

/* --- Убиваем inline transform на заголовках на всех ширинах --- */
.h-1[style*="transform"],
.h-display[style*="transform"],
.hero__title[style*="transform"],
.eyebrow[style*="transform"] {
  transform: none !important;
}

/* --- Hero на тёмном фоне: цвет остаётся светлым --- */
.hero .hero__title,
.v-hero .v-hero__title,
.s-hero .s-hero__title,
.wed-hero .wed-hero__title {
  color: #fbf8f0 !important;
}
.hero .hero__lead,
.v-hero .v-hero__sub,
.s-hero .s-hero__sub,
.wed-hero .wed-hero__sub {
  color: rgba(251,248,240,0.95) !important;
}
.hero .hero__eyebrow,
.v-hero .v-hero__eyebrow,
.s-hero .s-hero__eyebrow,
.wed-hero .wed-hero__eyebrow {
  color: rgba(255,250,240,0.92) !important;
}

/* ============================================================
   FIX 20: ВЫРАВНИВАНИЕ КАРТОЧЕК ПЛОЩАДОК
   Все карточки venue-card одинаковой структуры: одинаковая высота
   картинки (aspect-ratio) и текстового блока вне зависимости от
   wide/обычная и длины текста.
   ============================================================ */

/* Единый aspect-ratio картинок: убираем разницу wide (16/10) vs обычная (4/3) */
.venue-card__media,
.venue-card--wide .venue-card__media,
.venue-card--full .venue-card__media {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
}

/* Текстовый блок одинаковой минимальной высоты — описание выравнивается */
.venue-card__body {
  min-height: 188px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Описание занимает доступное место, CTA прижат вниз */
.venue-card__body > .muted {
  flex: 1 1 auto !important;
}
.venue-card__cta {
  margin-top: auto !important;
}

/* Заголовок карточки единый размер */
.venue-card__title,
.venue-card__title[style] {
  font-family: var(--font-serif) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

/* Кикер карточки единый */
.venue-card__kicker {
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--color-text-mute) !important;
}

/* Описание карточки единый размер */
.venue-card__body > .muted {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--color-text-mute) !important;
}

/* На узких экранах высоту блока не фиксируем (контент разной длины) */
@media (max-width: 640px) {
  .venue-card__body {
    min-height: 0 !important;
  }
  .venue-card__media,
  .venue-card--wide .venue-card__media,
  .venue-card--full .venue-card__media {
    aspect-ratio: 16 / 10 !important;
  }
  .venue-card__title,
  .venue-card__title[style] {
    font-size: 21px !important;
  }
}
