/* === Responsive === */
@media (max-width: 1024px) {
  .hero-inner { flex-direction: column; text-align: center; }
  .hero-mascot { display: none; }
  .hero-buttons { justify-content: center; }
  .numbers-grid { grid-template-columns: repeat(3, 1fr); }
  .pricing-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .footer-grid { flex-wrap: wrap; gap: 24px; }
  .footer-grid > .footer-col { flex: 1 1 calc(50% - 12px); min-width: 0; }
  .footer-grid > .footer-col:first-child { flex: 1 1 100%; }
}
@media (max-width: 768px) {
  .main-nav, .header-cta { display: none; }
  /* Шапка на мобилке: лого слева, иконки TG/Max + бургер справа, фон всегда видимый */
  .site-header { background: rgba(13,27,62,0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 2px 12px rgba(0,0,0,0.3); padding: 22px 0 14px !important; left: 0 !important; right: 0 !important; }
  .header-tg { display: inline-flex !important; margin-left: auto !important; }
  .header-max { display: inline-flex !important; margin-left: 6px !important; }
  .burger { display: block; margin-left: 10px; }
  /* Inline grids on pages — мобильные фоллбэки (inline-style wins => !important) */
  .glass-card + .glass-card,
  body.page-template-page-cabinet [style*="grid-template-columns:repeat(4,1fr)"],
  body.page-template-page-cabinet [style*="grid-template-columns:repeat(3,1fr)"],
  body.page-template-page-players [style*="grid-template-columns:repeat(3,1fr)"],
  body.page-template-page-venues  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  /* Большой padding-top на rules делает страницу пустой на телефоне */
  body.page-template-page-rules .legal-page { padding-top: 180px !important; }
  body.page-template-page-privacy .legal-page,
  body.page-template-page-offer   .legal-page { padding-top: 140px !important; }
  /* Большая кнопка players-cta на мобилке всё равно должна влезать */
  .players-cta-btn { font-size: 22px !important; padding: 22px 52px !important; }
  .numbers-grid { grid-template-columns: 1fr; gap: 16px; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; }
  .pricing-card.featured { transform: none; }
  .hero { min-height: auto; padding: 120px 0 60px; }
  .hero-buttons { flex-direction: column; }
  .hero-buttons .btn { width: 100%; }
  .section { padding: 60px 0; }
  /* Кнопки магазинов на мобилке: 2 в ряд, мельче */
  .store-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    flex-direction: unset !important;
    gap: 8px !important;
    max-width: 360px;
    margin-left: auto; margin-right: auto;
    flex-wrap: unset !important;
  }
  .store-btn {
    width: auto !important;
    max-width: none !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    gap: 6px !important;
    justify-content: center !important;
    border-radius: 999px;
    white-space: nowrap;
  }
  .store-btn-logo { width: 16px !important; height: 16px !important; margin-right: 2px !important; }
  .footer-grid { flex-direction: column; gap: 28px; }
  .footer-grid > .footer-col,
  .footer-grid > .footer-col:first-child { flex: 1 1 100%; }
  .footer-col .footer-links li a { white-space: normal; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 12px; }
  /* Мобильное меню — стили иконок TG/Max внутри меню */
  .mobile-menu-socials { display: flex; gap: 14px; margin-top: 8px; justify-content: center; }
  .mobile-menu .mobile-menu-icon { display: inline-flex; margin-left: 0 !important; }
  .header-inner { padding: 0 16px !important; gap: 12px !important; }
  /* Hero на мобилке: дать заголовку с драконом место сверху */
  .hero { padding-top: 100px !important; }
  .geo-map { height: 200px; }
}
@media (max-width: 480px) {
  h1 { font-size: 28px; }
  h2 { font-size: 24px; }
  .glass-card { padding: 20px; }
  .container { padding: 0 16px; }
  .section { padding: 48px 0; }
}

/* ============================================================================
   ОБЩИЙ ПРОПОРЦИОНАЛЬНЫЙ SHRINK ДЛЯ МОБИЛКИ
   Все ключевые размеры уменьшаются ~на 30% — заголовки, тексты, кнопки, паддинги.
   Перебивает per-page правила (специфичность 0,2,0 + !important).
   ============================================================================ */
@media (max-width: 768px) {
  /* Базовые заголовки — +20% к предыдущему */
  h1 { font-size: clamp(40px, 10.4vw, 58px) !important; letter-spacing: 0.02em !important; }
  h2 { font-size: clamp(34px, 8.6vw, 46px) !important; }
  h3 { font-size: clamp(22px, 5.8vw, 30px) !important; }
  .section-title { font-size: clamp(34px, 8.6vw, 46px) !important; }

  /* Hero home: «Интерактивная смарт-игра» + «Квизабра» */
  body.home .hero-centered h1 { font-size: clamp(26px, 7.4vw, 44px) !important; }
  body.home .hero-centered .hero-title-line1 { font-size: 0.75em !important; }
  body.home .hero-centered .text-deep-blue { font-size: 1.7em !important; margin-top: -4pt !important; }

  /* Hero venues: «Мы знаем, как удержать гостей» */
  /* «Мы знаем, как» мельче, в одну строку. «удержать гостей» крупнее. */
  body.page-template-page-venues .hero-centered h1 { font-size: clamp(40px, 13vw, 78px) !important; margin-top: -15px !important; }
  body.page-template-page-venues .hero-title-line1 { font-size: 0.55em !important; white-space: nowrap !important; }
  body.page-template-page-venues .text-deep-blue { font-size: 1.45em !important; white-space: normal !important; }
  /* Поднять заголовок выше */
  body.page-template-page-venues .hero { padding-top: 70px !important; padding-bottom: 0 !important; }
  body.page-template-page-venues .hero h1 { font-size: clamp(44px, 11.5vw, 66px) !important; }
  /* Уменьшить gap между кнопками hero и dark блоком ниже */
  body.page-template-page-venues .hero-buttons-center { margin-top: 24px !important; margin-bottom: 24px !important; }
  /* «Присоединиться к Квизабре» — ×1.3 */
  body.page-template-page-venues .btn.js-venue-form { font-size: 20px !important; padding: 16px 36px !important; }
  /* #partners (Нам доверяют) — горизонтальная карусель с scroll-snap + индикатор-стрелка */
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 16px !important;
    padding: 0 16px 8px !important;
    margin: 0 -16px !important;
    max-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"]::-webkit-scrollbar { display: none !important; }
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] > div {
    flex: 0 0 78% !important;
    scroll-snap-align: center !important;
  }
  body.page-template-page-venues #partners .venue-card-img {
    width: 100% !important;
    max-width: none !important;
    border-radius: 16px !important;
  }
  /* Подсказка-стрелочка убрана — заменена на .partners-pager (dots + arrow ниже) */
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"]::after { content: none !important; }
  /* Один экран = одна картинка на всю ширину viewport (без синего фона по бокам) */
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] > div {
    flex: 0 0 100% !important;
    min-width: 100% !important;
  }
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
  }
  /* Стрелка-подсказка «листай» по центру картинки карусели partners */
  body.page-template-page-venues #partners > .container { position: relative !important; }
  body.page-template-page-venues #partners > .container::before { content: none !important; }
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"]::before { content: none !important; }
  body.page-template-page-venues .partners-arrow-click {
    display: block !important;
    position: absolute !important;
    top: calc(50% + 35px);
    transform: translateY(-50%);
    color: #F9A230;
    font-family: "MPlusRounded", "Onest", sans-serif;
    font-size: 72px;
    font-weight: 900;
    line-height: 1;
    background: transparent;
    border: none;
    padding: 0 10px;
    cursor: pointer;
    z-index: 6;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5);
    animation: partnersArrowPulse 1.6s ease-in-out infinite;
    -webkit-tap-highlight-color: transparent;
  }
  body.page-template-page-venues .partners-arrow-prev { left: 6px; }
  body.page-template-page-venues .partners-arrow-next { right: 6px; }
  body.page-template-page-venues .partners-arrow-click:focus { outline: none; }
  body.page-template-page-venues .partners-arrow-click:active { transform: translateY(-50%) scale(0.92); }
  @keyframes partnersArrowPulse {
    0%, 100% { transform: translateY(-50%) translateX(0); opacity: 0.95; }
    50% { transform: translateY(-50%) translateX(-6px); opacity: 1; }
  }
  body.page-template-page-venues #partners > .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-template-page-venues #partners .venue-card-img {
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
    display: block !important;
  }
  /* T1+T2: #partners — gap до h2 -7 (45→38), gap после h2 +25 (0→25) */
  html body.page-template-page-venues section#partners.section { padding-top: 23px !important; padding-bottom: 0 !important; }
  html body.page-template-page-venues section#partners.section > .container > h2.section-title { margin-bottom: 45px !important; }
  /* Pager: 3 точки + стрелка */
  .partners-pager {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    user-select: none !important;
  }
  .partners-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.3);
    transition: background .25s;
  }
  .partners-dot.active { background: #fff; }
  .partners-arrow {
    color: rgba(255,255,255,0.55);
    font-size: 18px;
    margin-left: 8px;
  }
  /* Кнопка "Присоединиться к Квизабре" — +2-3px по ширине через padding */
  html body.page-template-page-venues #partners .js-venue-form { font-size: 18px !important; padding: 14px 43px !important; max-width: 94vw !important; box-sizing: border-box !important; }
  body.page-template-page-venues .venue-cta-mascot {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% - 9px) !important;
    transform: translateX(-50%) !important;
    width: 90px !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
  /* T5: кнопка (вместе с mascot) +25 вниз (margin-top 45→70) */
  /* venue-cta: +10 вниз (95→105), -10 после кнопки (через section padding-bottom #partners — было 0, делаю отрицательный margin-bottom 10) */
  /* venue-cta: ещё +15 вниз (110→125) */
  html body.page-template-page-venues #partners > .container > .venue-cta { margin-top: 125px !important; margin-bottom: -10px !important; }
  /* mascot Time-121 на venue-cta — +12 вниз потом -10 вверх → calc(100% - 11) */
  html body.page-template-page-venues .venue-cta-mascot { bottom: calc(100% - 2px) !important; }
  /* Убрать стрелку в pager */
  .partners-arrow { display: none !important; }

  /* Hero advertisers — «прямой доступ к активной» мельче, «АУДИТОРИИ» крупнее */
  /* T2: Hero advertisers mobile — оформление как hero home (padding, min-height, центрирование, mascot) */
  html body.page-template-page-advertisers .hero {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: 177px 0 32px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  body.page-template-page-advertisers .hero-centered {
    text-align: center !important;
    align-items: center !important;
  }
  body.page-template-page-advertisers .hero-title-line1 { font-size: 0.55em !important; white-space: normal !important; }
  body.page-template-page-advertisers .text-deep-blue { font-size: 1.55em !important; white-space: normal !important; letter-spacing: 0 !important; }
  body.page-template-page-advertisers .hero-centered h1 { font-size: clamp(40px, 13vw, 78px) !important; line-height: 1.05 !important; margin-bottom: 28px !important; text-align: center !important; max-width: 100% !important; }
  body.page-template-page-advertisers .hero-centered { max-width: 100% !important; }
  body.page-template-page-advertisers .hero-title-wrap { max-width: 100% !important; }
  /* +10 вниз для кнопок hero advertisers (через margin-bottom subtitle 66→76) */
  body.page-template-page-advertisers .hero-subtitle-center { margin-bottom: 76px !important; }
  /* T2: hero subtitle и кнопки advertisers — как home */
  body.page-template-page-advertisers .hero-subtitle-center { font-size: 18px !important; line-height: 1.55 !important; text-align: center !important; }
  body.page-template-page-advertisers .hero-buttons-center {
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
    flex-wrap: unset !important;
    max-width: none !important;
    justify-content: center !important;
  }
  html body.page-template-page-advertisers .hero-buttons-center .btn,
  html body.page-template-page-advertisers .hero-buttons-center .js-adv-form,
  html body.page-template-page-advertisers .hero-buttons-center .js-mediakit {
    font-size: 19px !important;
    padding: 19px 47px !important;
    width: 78% !important;
    max-width: 360px !important;
    min-width: 240px !important;
    flex: unset !important;
    white-space: nowrap !important;
  }
  /* Убрать дракона на мобилке и подтянуть hero чтобы убрать пустоты */
  /* mascot в hero advertisers скрыт — по запросу Igor */
  body.page-template-page-advertisers .hero-dragon-top { display: none !important; }
  /* Adv-features заголовок — компактнее, чтобы «Настройте размещение под свои задачи» в 2 строки нормально */
  body.page-template-page-advertisers #features .section-title { font-size: clamp(28px, 7.6vw, 40px) !important; line-height: 1.2 !important; }
  /* Кнопка «Обсудить размещение» — крупнее (раньше .btn[style*="padding:18px"] делал 11×22, слишком мелко) */
  body.page-template-page-advertisers .btn.js-adv-form { padding: 14px 30px !important; font-size: 16px !important; }
  /* Также любые hero-title-line1 могут переносить — nowrap из базы был жёсткий */
  .hero-title-line1 { white-space: normal !important; }

  /* players-hero-title (cabinet / addresses / players) */
  .players-hero-title-sub  { font-size: clamp(18px, 5.5vw, 32px) !important; white-space: normal !important; }
  .players-hero-title-main { font-size: clamp(48px, 14vw, 84px) !important; line-height: 1 !important; }
  body.page-template-page-cabinet .players-hero-title-main { font-size: clamp(52px, 15vw, 92px) !important; white-space: normal !important; }
  /* /addresses/ — белый мельче, голубой крупнее (чем у cabinet), весь крупнее */
  body.page-template-page-addresses .players-hero-title-sub  { font-size: clamp(22px, 6.5vw, 36px) !important; }
  body.page-template-page-addresses .players-hero-title-main { font-size: clamp(78px, 22vw, 130px) !important; white-space: normal !important; }
  /* Текст под кнопками hero на cabinet — эталон 14px (приведено к общему правилу) */
  body.page-template-page-cabinet .hero p { font-size: 14px !important; line-height: 1.5 !important; color: #fff !important; font-family: var(--font-body), 'Onest', sans-serif !important; }

  /* Cabinet dashboard: «Привет, Alex_Smart88» и «Выйти» — в одной линии */
  body.page-template-page-cabinet #dashboard > .container > div[style*="justify-content:space-between"] {
    flex-wrap: nowrap !important; gap: 10px !important; align-items: center !important;
  }
  /* Greeting-h2 (только тот что в flex-bar «Привет Alex_Smart88 + Выйти») — мелкий */
  body.page-template-page-cabinet #dashboard > .container > div[style*="justify-content:space-between"] > div > h2 { font-size: 18px !important; margin-bottom: 2px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
  body.page-template-page-cabinet #dashboard > .container > div[style*="justify-content:space-between"] > div > h2 + p { font-size: 12px !important; }
  body.page-template-page-cabinet #dashboard .btn-glass { padding: 8px 16px !important; font-size: 12px !important; flex-shrink: 0 !important; }

  /* Карточные кнопки в кабинете на мобильных — компактнее */
  body.page-template-page-cabinet .dash-actions-cards { gap: 12px !important; margin-top: 16px !important; }
  body.page-template-page-cabinet .dash-card-btn { min-height: 110px !important; padding: 18px 12px !important; border-radius: 18px !important; gap: 10px !important; }
  body.page-template-page-cabinet .dash-card-btn__icon { width: 44px !important; height: 44px !important; font-size: 26px !important; }
  body.page-template-page-cabinet .dash-card-btn__label { font-size: 15px !important; }

  /* Cabinet stats: чуть крупнее (раньше 14px padding — было слишком тесно) */
  body.page-template-page-cabinet #dashboard [style*="grid-template-columns:repeat(4,1fr)"] .glass-card {
    padding: 22px 14px !important; min-height: 110px !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
  }
  body.page-template-page-cabinet #dashboard [style*="grid-template-columns:repeat(4,1fr)"] .glass-card > div {
    font-size: 26px !important;
  }
  body.page-template-page-cabinet #dashboard [style*="grid-template-columns:repeat(4,1fr)"] {
    gap: 12px !important;
  }

  /* Подзаголовок hero: убрать принудительные переносы через <br>, дать тексту дышать */
  .hero-subtitle-center { font-size: 14px !important; line-height: 1.5 !important; padding: 0 6px !important; max-width: 100% !important; }
  .hero-subtitle-center br { display: none !important; }
  .section-subtitle br { display: none !important; }
  .section-subtitle { font-size: 14px !important; line-height: 1.5 !important; }

  /* Кнопки — компактнее */
  .btn { padding: 11px 22px !important; font-size: 14px !important; }
  .hero-buttons-center .btn { padding: 12px 20px !important; font-size: 14px !important; width: auto !important; max-width: none !important; flex: 1 1 0 !important; min-width: 0 !important; }
  .hero-buttons-center { gap: 10px !important; align-items: center !important; flex-direction: row !important; flex-wrap: nowrap !important; justify-content: center !important; max-width: 340px !important; margin: 0 auto !important; }
  .players-cta-btn { font-size: 18px !important; padding: 16px 36px !important; }
  /* Большие inline-стили кнопок на page-venues, page-advertisers — компакт */
  body.page-template-page-venues .btn[style],
  body.page-template-page-advertisers .btn[style] {
    font-size: 15px !important; padding: 12px 28px !important;
  }
  /* Кнопка «Начать играть» в slide-about — крупная, симметричные отступы сверху и снизу */
  .about-cta .btn { font-size: 22px !important; padding: 20px 60px !important; margin: 0 !important; }
  .about-cta { margin-top: 30px !important; margin-bottom: 30px !important; }
  #slide-about .section { padding-bottom: 0 !important; }
  #slide-how-to-join .section { padding-top: 0 !important; }

  /* Section / container padding — меньше воздуха */
  .section { padding: 36px 0 !important; }
  .container { padding: 0 14px !important; }

  /* Hero: высота — auto, не 100vh; padding-top достаточный чтобы не уходить под шапку, но не слишком большой */
  .hero { min-height: auto !important; padding: 100px 0 28px !important; }
  /* Players/cabinet/addresses — крупный 2-уровневый h1, нужен больший отступ сверху чтобы sub-заголовок не уходил под шапку */
  body.page-template-page-cabinet .hero { padding-top: 160px !important; }
  body.page-template-page-addresses .hero { padding-top: 190px !important; }
  /* /cabinet/ — секция #cabinet (новая верстка PLT-696) тоже должна освобождать место для fixed header */
  body.page-template-page-cabinet #cabinet { padding-top: 120px !important; }
  /* Cabinet — растягиваем секцию на полную высоту viewport (минус header) чтобы футер не висел сразу под формой */
  html body.page-template-page-cabinet section#cabinet.section { min-height: 100vh !important; min-height: 100dvh !important; padding-bottom: 80px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
  /* /players/ — опустить контент чуть ниже */
  body.page-template-page-players .hero { padding-top: 200px !important; padding-bottom: 28px !important; }
  /* Players hero — компакт: скрыть divider и 2-й абзац внутри hero-card, уменьшить текст 1-го */
  html body.page-template-page-players .players-hero-card > img { display: none !important; }
  html body.page-template-page-players .players-hero-card > p:nth-of-type(2) { display: none !important; }
  html body.page-template-page-players .players-hero-card > p { font-size: 14px !important; line-height: 1.45 !important; margin: 0 !important; }
  html body.page-template-page-players .players-hero-card { padding: 16px 18px !important; max-width: 88% !important; margin: 0 auto !important; box-sizing: border-box !important; }
  /* Убрать оранжевое выделение в тексте плашки players hero */
  html body.page-template-page-players .players-hero-card p span[style*="color"] { color: #fff !important; font-weight: 400 !important; }

  /* Карточки / glass-card */
  .glass-card { padding: 16px !important; }
  .number-card .value { font-size: clamp(24px, 7vw, 32px) !important; }

  /* Hero-маскот: сидит на верхней строчке заголовка, меньше */
  body .hero-dragon-top {
    position: relative !important; display: block !important;
    margin: 0 auto -28px !important; width: 60px !important; height: auto !important;
    top: auto !important; right: auto !important; left: auto !important;
    transform: none !important; z-index: 2;
  }
  /* <br class="mobile-only"> и mobile-only-block — переносы только на мобилке */
  .mobile-only { display: inline !important; }
  .mobile-only-block { display: block !important; }
  /* venue-mobile-text + venue-booking — единая плашка как .addr-card на /addresses/ */
  .venue-item-card { padding: 0 !important; }
  .venue-mobile-text {
    display: flex !important; flex-direction: column;
    gap: 6px; padding: 18px 18px 12px;
    background: rgba(30,50,70,0.5);
    border: 1px solid rgba(1,202,232,0.22);
    border-bottom: none;
    border-radius: 20px 20px 0 0;
    text-align: center !important;
    align-items: center !important;
  }
  .venue-mobile-name { color: var(--accent-orange) !important; font-weight: 800; font-size: 19px; text-decoration: none; }
  .venue-mobile-addr { color: #fff; font-size: 15px; line-height: 1.45; }
  .venue-mobile-city { color: rgba(255,255,255,0.6); font-size: 14px; }
  .venue-item-card .venue-card-img,
  .venue-item-card > a:first-of-type { display: none !important; }
  /* venue-booking — нижняя часть единой плашки (тот же фон + рамка, скруглён низ) */
  .venue-item-card .venue-booking {
    margin-top: 0 !important;
    padding: 4px 18px 16px !important;
    gap: 4px !important;
    align-items: center !important;
    text-align: center !important;
    background: rgba(30,50,70,0.5) !important;
    border: 1px solid rgba(1,202,232,0.22) !important;
    border-top: none !important;
    border-radius: 0 0 20px 20px !important;
  }
  .venue-item-card .venue-booking-label { font-size: 15px !important; }
  .venue-item-card .venue-phone { font-size: 17px !important; }

  /* Hero h1 / заголовки белые + cyan на мобилке — занимает весь стартовый экран, центрировано */
  body.home .hero { min-height: 100vh !important; min-height: 100dvh !important; padding: 92px 0 32px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
  body.home .hero-centered { text-align: center !important; align-items: center !important; }
  body.home .hero-centered h1 { font-size: clamp(46px, 12.5vw, 76px) !important; line-height: 1.05 !important; margin-bottom: 28px !important; text-align: center !important; }
  body.home .hero-centered .hero-title-line1 { font-size: 0.66em !important; }
  body.home .hero-centered .text-deep-blue { font-size: 1.7em !important; margin-top: -2pt !important; }
  body.home .hero-subtitle-center { font-size: 18px !important; line-height: 1.55 !important; margin-bottom: 56px !important; text-align: center !important; }

  /* Home mobile hero: маленький дракон СИДИТ на верхней фразе (overlap снизу через negative margin) */
  body.home .hero-title-wrap { position: relative !important; }
  body.home .hero-dragon-top {
    display: block !important;
    position: relative !important;
    width: 64px !important; height: auto !important;
    margin: 0 auto -22px !important;
    top: auto !important; left: auto !important; right: auto !important; transform: none !important;
    z-index: 3 !important;
  }
  body.home .hero-buttons-center {
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
    flex-wrap: unset !important;
    max-width: none !important;
    justify-content: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.home .hero-buttons-center .btn {
    font-size: 19px !important;
    padding: 19px 47px !important;
    width: 78% !important;
    max-width: 360px !important;
    min-width: 240px !important;
    flex: unset !important;
    white-space: nowrap !important;
  }

  /* Подробнее об игре — уже подкручено выше в main.css */

  /* «Правила просты» (#rules на /players/) — 2 в ряд, ВСЕ одинаковой высоты,
     оранжевая цифра одного размера, белое описание = эталон 14px */
  body.page-template-page-players #rules .numbers-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-auto-rows: 1fr !important;
    grid-template-rows: none !important;
    gap: 12px !important; max-width: 100% !important; width: 100% !important;
    margin-top: 14px !important;
  }
  /* Все карточки строго одной ширины — minmax(0,1fr) защищает от расширения трека контентом, width:100% форсит fill */
  body.page-template-page-players #rules .numbers-grid > .glass-card,
  body.page-template-page-players #rules .glass-card {
    padding: 16px 14px !important;
    min-height: 200px !important; height: 100% !important; max-height: none !important;
    width: 100% !important; min-width: 0 !important; max-width: none !important;
    display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;
    box-sizing: border-box !important;
  }
  /* ЦИФРА — оранжевая, ВСЕ одного размера */
  body.page-template-page-players #rules .glass-card [style*="font-size:36px"] {
    font-size: 22px !important;
    margin-bottom: 6px !important;
    line-height: 1 !important;
  }
  /* ОПИСАНИЕ — эталон body-text: 14px / 1.5 / #fff / Onest */
  body.page-template-page-players #rules .glass-card p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--font-body), 'Onest', sans-serif !important;
  }

  /* География Квизабры — карту скрыть на мобилке */
  .geo-map-wrap { display: none !important; }
  .geo-split { display: block !important; }
  .geo-venues { display: flex !important; flex-direction: column !important; gap: 10px !important; }
  /* Отступ до заголовка «География Квизабры» — увеличен; после = меньше */
  body.home .slide.geography { padding-top: 60px !important; }
  body .geography .section-title { margin-top: 0 !important; margin-bottom: 30px !important; }
  /* НАСТОЯЩИЙ ФИКС: .btn в responsive.css перебивал geo-cta-btn по source-order. Поднимаю специфичность */
  body.home #slide-geo-numbers .geo-cta-btn { padding: 18px 32px !important; font-size: 18px !important; }
  /* Уменьшить отступ под кнопкой «Подробнее об игре» (geo-cta) */
  body .geo-cta { margin-top: 40px !important; margin-bottom: 45px !important; }
  /* Отступы до/после «Нас часто спрашивают» +5px каждый */
  body #faq.section-compact { padding-top: 0 !important; }
  body #faq .section-title { margin-top: 0 !important; margin-bottom: 45px !important; }
  /* Чуть уменьшить отступ перед заголовком «Правила просты» (#rules) */
  body #rules .section-title { margin-top: 20px !important; }
  /* «А где сыграть?» (#venues-list) — компактные отступы как у География */
  body #venues-list .section-title { margin-top: 9px !important; margin-bottom: 8px !important; }
  body #venues-list .section-subtitle { margin-top: 0 !important; margin-bottom: 9px !important; }
  /* Центральное выравнивание ВСЕГО контента плашек venue (был left) */
  .venue-item-card .venue-booking { align-items: center !important; text-align: center !important; }

  /* «Нам доверяют» (venues) — карточки минимум 2× меньше */
  body.page-template-page-venues section[style*="padding-top:46px"] > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 8px !important; max-width: 280px !important; margin: 14px auto 0 !important;
  }
  body.page-template-page-venues section[style*="padding-top:46px"] .venue-card-img {
    max-width: 100% !important; height: auto !important; border-radius: 8px !important;
  }

  /* === Универсальный padding-top перед ВСЕМИ заголовками — 24px (как перед «Контакты») === */
  /* КЛЮЧЕВОЕ: убираем min-height: 100vh + display: flex с .section (это создавало гигантскую пустоту) */
  body .section,
  body section.section,
  #why, #rules, #why.section, #rules.section,
  #faq.section, #faq-venue.section, #pricing.section,
  #addr-contacts.section, #features.section, #calc-cta.section,
  #benefits.section, #launch.section, #join-cta.section,
  #addresses.section, #venues-list.section,
  .slide > section.section {
    min-height: auto !important;
    display: block !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    margin: 0 !important;
  }
  #join-cta.section { padding: 24px 0 24px !important; }
  /* Между секциями — без зазоров */
  .slide, .slide > section.section { margin-top: 0 !important; }
  /* Advertisers + Venues hero — кнопки СТОЛБИКОМ (одна над другой), крупнее */
  body.page-template-page-advertisers .hero-buttons-center,
  body.page-template-page-venues .hero-buttons-center { flex-direction: column !important; gap: 12px !important; align-items: center !important; flex-wrap: unset !important; max-width: none !important; justify-content: center !important; }
  body.page-template-page-advertisers .hero-buttons-center .btn,
  body.page-template-page-venues .hero-buttons-center .btn { font-size: 21px !important; padding: 19px 43px !important; width: auto !important; min-width: 240px !important; max-width: 320px !important; flex: unset !important; white-space: nowrap !important; }
  /* gap между кнопками hero +7 */
  html body.page-template-page-venues .hero-buttons-center { gap: 19px !important; }
  /* «Обсудить размещение» в #features — большая, симметричные отступы сверху/снизу */
  body.page-template-page-advertisers #features { padding: 28px 0 28px !important; }
  body.page-template-page-advertisers #features > .container > div:last-child { margin-top: 24px !important; margin-bottom: 0 !important; }
  /* adv-cta wrapper: margin-top 95→115 (+20px опустить плашку «Обсудить размещение» и динозаврика) */
  html body.page-template-page-advertisers #features > .container > div.adv-cta { margin-top: 105px !important; margin-bottom: 35px !important; }
  /* -50 перед заголовком 'Настройте размещение' (section padding-top) */
  html body.page-template-page-advertisers section#features.section { padding-top: 0 !important; margin-top: -50px !important; }
  html body.page-template-page-advertisers section#features.section > .container > h2.section-title { margin-top: 0 !important; }
  /* Mashet-70 mascot сидит на кнопке — +10% (90→99), на 0.5px выше */
  body.page-template-page-advertisers .adv-cta-mascot {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% - 8.5px) !important;
    transform: translateX(-50%) !important;
    width: 99px !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
  /* Кнопка «Обсудить размещение» +10% (18→20, 16/40→18/44) */
  body.page-template-page-advertisers #features .js-adv-form { font-size: 20px !important; padding: 18px 44px !important; }

  /* Floating TG плашка — компактнее, не должна перекрывать кнопки */
  .tg-flag { transform: scale(0.78); transform-origin: bottom right; }
  .tg-flag-body { max-width: 220px; }

  /* Логотип в шапке — меньше */
  .logo-img { height: 28px !important; }
}
@media (max-width: 480px) {
  body.home .hero-centered .text-deep-blue { font-size: 1.55em !important; }
  body.page-template-page-venues .text-deep-blue { font-size: 1.2em !important; }
  .players-hero-title-main {
    font-size: clamp(44px, 14vw, 76px) !important;
  }
  /* Cabinet title +25% и сдвиг влево на 30px (вылазит за viewport) */
  body.page-template-page-cabinet .players-hero-title-main {
    font-size: clamp(55px, 17.5vw, 95px) !important;
  }
  html body.page-template-page-cabinet .players-hero-title { transform: translateX(-30px) !important; }
  body.page-template-page-cabinet .players-hero-title-sub {
    font-size: clamp(20px, 6.4vw, 36px) !important;
  }
  /* Cabinet — текст под формой чуть мельче (15→13) */
  html body.page-template-page-cabinet #cabinet-login > p { font-size: 13px !important; }
  /* Addresses title +30% */
  body.page-template-page-addresses .players-hero-title-main {
    font-size: clamp(57px, 18vw, 99px) !important;
  }
  body .hero-dragon-top { width: 58px !important; margin-bottom: 6px !important; }
}

/* ============================================================================
   ПЛАШКИ / КАРТОЧКИ — пропорциональное уменьшение всего внутреннего текста
   и inline font-size/padding на мобилке.
   ============================================================================ */
@media (max-width: 768px) {
  /* Pricing-card — уменьшаем все три плашки тарифов на мобилке */
  .pricing-grid { max-width: 320px !important; margin: 0 auto !important; gap: 12px !important; }
  .pricing-card { padding: 14px 12px !important; }
  .pricing-card .pricing-name   { font-size: 16px !important; margin-bottom: 2px !important; }
  .pricing-card .pricing-period { font-size: 11px !important; margin-bottom: 8px !important; }
  .pricing-card .pricing-price  { font-size: 20px !important; margin-bottom: 8px !important; }
  .pricing-card .pricing-features { margin: 6px 0 10px !important; }
  .pricing-card .pricing-features li { font-size: 12px !important; padding: 4px 0 !important; }
  .pricing-card .btn { font-size: 13px !important; padding: 9px 16px !important; }
  .pricing-card .pricing-badge { font-size: 11px !important; padding: 2px 10px !important; }

  /* Address-card — все карточки одной высоты через min-height (grid-auto-rows:1fr не работает без явной высоты грида) */
  .addr-grid { grid-template-columns: 1fr !important; gap: 14px !important; max-width: 360px !important; margin: 0 auto !important; }
  .addr-card { padding: 18px 14px !important; gap: 6px !important; min-height: 195px !important; height: 195px !important; justify-content: center !important; box-sizing: border-box !important; width: 100% !important; }
  /* Декоративный дракон на «Сокол» card на мобилке — скрыть, лезет на следующую плашку */
  .addr-card-dragon { display: none !important; }
  .addr-name     { font-size: 22px !important; }
  .addr-line     { font-size: 13px !important; }
  .addr-city     { font-size: 12px !important; }
  .addr-phone    { font-size: 14px !important; }
  .addr-booking  { font-size: 13px !important; padding-top: 10px !important; }
  .addr-grid     { grid-template-columns: 1fr !important; gap: 14px !important; }

  /* Contact-card — 2 в ряд, поджатые */
  .contact-card  { padding: 14px 12px !important; min-height: 0 !important; }
  .contact-label { font-size: 10px !important; letter-spacing: 0.04em !important; }
  .contact-value { font-size: 14px !important; word-break: break-word !important; }
  .contacts-grid { grid-template-columns: 1fr 1fr !important; grid-auto-rows: 1fr !important; gap: 10px !important; margin-top: 14px !important; max-width: 380px !important; }
  .contact-card { height: 100% !important; box-sizing: border-box !important; justify-content: center !important; }

  /* Меньше воздуха перед #addr-contacts (на /addresses/) */
  #addr-contacts.section { padding: 24px 0 32px !important; }
  /* Кнопка «Подключить заведение» на /addresses/ — ×2 (24x56, 28px font) */
  /* Кнопка «Подключить заведение» — меньше */
  html body.page-template-page-addresses .addresses-cta .btn-primary { padding: 16px 36px !important; font-size: 18px !important; }
  /* Mascot Idle-92 на кнопке (как about-cta) — на mobile показан */
  body.page-template-page-addresses .addresses-cta-mascot {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% - 9px) !important;
    transform: translateX(-50%) !important;
    width: 90px !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
  /* Плашки контактов: одинаковая ширина (min-width:0 чтобы длинный Insta-текст не расширял track), одинаковая высота, центрирование */
  html body.page-template-page-addresses .contact-card { padding: 28px 14px !important; min-height: 130px !important; height: 100% !important; width: 100% !important; min-width: 0 !important; max-width: none !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; text-align: center !important; }
  html body.page-template-page-addresses .contact-card .contact-label,
  html body.page-template-page-addresses .contact-card .contact-value { word-break: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
  html body.page-template-page-addresses .contacts-grid { max-width: none !important; width: calc(100% + 16px) !important; margin-left: -8px !important; margin-right: -8px !important; gap: 10px !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; grid-auto-rows: 1fr !important; }
  /* Ники / телефон / почта — фирменный голубой */
  html body.page-template-page-addresses .contact-card .contact-value { color: #01CAE8 !important; }
  /* -30 перед заголовком "Наши контакты": section padding-top 40→10 */
  html body.page-template-page-addresses section#addr-contacts.section { padding-top: 10px !important; margin-top: -15px !important; }
  /* Кнопка "Подключить заведение" вниз (75→95, +20px ещё; динозаврик двигается с кнопкой) */
  html body.page-template-page-addresses .addresses-cta { margin-top: 95px !important; }
  body.page-template-page-addresses .addresses-cta { margin-top: 12px !important; margin-bottom: 12px !important; }
  body.page-template-page-addresses #addr-contacts.section { padding-bottom: 18px !important; }

  /* Number-card */
  .number-card .label  { font-size: 11px !important; }
  .number-card .value  { font-size: clamp(22px, 6vw, 30px) !important; }
  .number-card .detail { font-size: 12px !important; }

  /* FAQ */
  .faq-q { font-size: 15px !important; padding: 14px 16px !important; }
  .faq-a p { font-size: 17px !important; padding: 0 16px 14px !important; line-height: 1.5 !important; }

  /* Why-card (players «Узнаём что-то новое / Забирайте призы») — компактнее */
  .why-card { padding: 14px !important; }
  .why-card-inner { gap: 10px !important; }
  .why-card h3 { font-size: 17px !important; margin-bottom: 4px !important; }
  .why-card p  { font-size: 16px !important; line-height: 1.4 !important; }
  .why-card [style*="font-size:28px"] { font-size: 22px !important; min-width: 32px !important; }
  .why-grid { gap: 10px !important; }

  /* About-card (slide-about «Квизабра — это...») */
  .about-card  { padding: 16px 18px !important; }
  .about-para  { font-size: 17px !important; line-height: 1.55 !important; margin: 0 0 14px !important; gap: 10px !important; text-align: left !important; align-items: flex-start !important; flex-direction: row !important; }
  .about-para > span { text-align: left !important; display: block; }
  .about-emoji { width: 30px !important; height: 30px !important; }
  .about-numbers .number-card { padding: 12px 14px !important; }
  .about-grid  { gap: 14px !important; }

  /* Join-card (slide-how-to-join) — текст уменьшен сильнее, отступы компактнее */
  .join-card   { padding: 16px 18px !important; gap: 8px !important; }
  /* Отступ перед заголовком «Как вступить в игру?» на мобилке — ровно 30px */
  body #slide-how-to-join .section-title { margin-top: 33px !important; margin-bottom: 47px !important; }
  body #slide-how-to-join { padding-bottom: 7px !important; }
  /* about-cta margin-bottom override УБРАН — теперь 30/30 через единое правило выше */
  .join-card p,
  .join-card .hero-subtitle,
  .players-hero-card .hero-subtitle { font-size: 17px !important; line-height: 1.6 !important; margin: 8px 0 !important; }
  .join-card h3 { font-size: 15px !important; }
  .join-divider { margin: 4px 0 !important; }
  /* hero-subtitle где бы то ни было — общая ужимка */
  .hero-subtitle { font-size: 16px !important; line-height: 1.55 !important; margin: 10px 0 18px !important; }

  /* Launch-steps (venues) */
  .launch-steps li     { font-size: 14px !important; padding-left: 6px !important; }
  .launch-step-num     { font-size: 13px !important; }

  /* Adv-features (advertisers) */
  .adv-feature h3 { font-size: 16px !important; }
  .adv-feature p  { font-size: 13px !important; }
  .adv-features   { grid-template-columns: 1fr !important; gap: 26px !important; }

  /* Rules-card (rules) */
  .rules-card  { padding: 16px 18px !important; }
  .rules-card > div:first-child { font-size: 24px !important; }
  .rules-card p { font-size: 13px !important; }

  /* Benefits / glass cards */
  .glass-card { padding: 14px !important; }
  .glass-card h3 { font-size: 16px !important; }
  .glass-card p  { font-size: 13px !important; line-height: 1.5 !important; }

  /* Footer */
  .footer-col h4 { font-size: 13px !important; }
  .footer-col p,
  .footer-col a,
  .footer-col .footer-links li { font-size: 13px !important; line-height: 1.5 !important; }
  .footer-legal-inline { font-size: 11px !important; }

  /* === Мобильный футер: компактная одно-строчная версия === */
  /* Старый footer-grid скрыт полностью */
  .site-footer .footer-grid { display: none !important; }
  /* Новая компактная строка показывается */
  .footer-mobile-compact {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 18px 0 18px;
    flex-wrap: wrap;
  }
  .footer-mobile-logo { display: inline-flex; align-items: center; }
  .footer-mobile-logo img { height: 18px; width: auto; display: block; }
  .footer-mobile-nav { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
  .footer-mobile-nav a {
    color: var(--accent-orange) !important;
    font-size: 11px !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-color: var(--accent-orange) !important;
    white-space: nowrap;
  }
  .footer-mobile-nav a:hover { color: #fff !important; text-decoration-color: #fff !important; }
  /* Instagram-disclaimer — в самый низ внутри footer-bottom (flex-column) */
  .site-footer .footer-bottom .footer-legal-inline { order: 99 !important; }
  /* footer-bottom (под линией) — ОЧЕНЬ мелкий шрифт, всё на мобилке */
  .site-footer .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    padding: 8px 0 10px !important;
    margin-top: 0 !important;
    flex-direction: column !important;
    gap: 4px !important;
    align-items: center !important;
    text-align: center !important;
  }
  .site-footer .footer-bottom > *,
  .site-footer .footer-bottom p,
  .site-footer .footer-bottom a,
  .site-footer .footer-bottom .footer-legal-inline {
    font-size: 10px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
  }
  /* site-footer без top-padding — иначе .footer-mobile-compact визуально опускается ниже центра */
  .site-footer { padding: 0 !important; }

  /* Cabinet — таблица истории игр */
  table th, table td { font-size: 12px !important; padding: 8px 10px !important; }

  /* === Универсальный перехват inline font-size:NNpx ===
     Любые плашки/блоки с инлайн-стилем font-size: ужимаются пропорционально */
  [style*="font-size:36px"] { font-size: 22px !important; }
  [style*="font-size:34px"] { font-size: 22px !important; }
  [style*="font-size:28px"] { font-size: 20px !important; }
  [style*="font-size:26px"] { font-size: 18px !important; }
  [style*="font-size:22px"] { font-size: 16px !important; }
  [style*="font-size:20px"] { font-size: 15px !important; }
  [style*="font-size:18px"] { font-size: 14px !important; }
  [style*="font-size:17px"] { font-size: 14px !important; }
  [style*="font-size:16px"] { font-size: 13px !important; }
  [style*="font-size:15px"] { font-size: 13px !important; }
  [style*="font-size: 36px"] { font-size: 22px !important; }
  [style*="font-size: 28px"] { font-size: 20px !important; }
  [style*="font-size: 22px"] { font-size: 16px !important; }
  [style*="font-size: 18px"] { font-size: 14px !important; }
  [style*="font-size: 15px"] { font-size: 13px !important; }

  /* Inline button padding overrides */
  .btn[style*="padding:22px"] { padding: 12px 26px !important; }
  .btn[style*="padding:18px"] { padding: 11px 22px !important; }
  .btn[style*="padding:16px"] { padding: 11px 22px !important; }
  .btn[style*="padding:15px"] { padding: 10px 20px !important; }
  .btn[style*="padding:13px"] { padding: 10px 18px !important; }

  /* Section titles inline — крупнее (+20% от предыдущего значения) */
  .section-title { font-size: clamp(34px, 8.6vw, 46px) !important; }

  /* ============ КАРТОЧКИ-«ЦИФЕРКИ»: 2 в ряд, заметно меньше ============ */
  /* Players: «Правила просты» — 6 карточек в numbers-grid */
  body.page-template-page-players #rules .numbers-grid--OLD-REMOVED {
    grid-template-columns: 1fr !important;
    gap: 10px !important; max-width: 360px !important; margin: 16px auto 0 !important;
    grid-auto-rows: auto !important;
  }
  body.page-template-page-players #rules .numbers-grid--OLD-REMOVED > .glass-card,
  body.page-template-page-players #rules .glass-card--OLD-REMOVED {
    padding: 16px 14px !important;
    min-height: 0 !important; height: auto !important; max-height: none !important;
  }
  /* (правила выше с селектором --OLD-REMOVED отключены; актуальные правила для rules
     находятся на строках 228+ — там font-size 22px на цифру и 14px на описание) */

  /* Launch-steps: убираем лишние отступы списка, явный центр */
  .launch-steps { padding: 0 !important; margin: 24px auto 0 !important; max-width: 100% !important; gap: 12px !important; }
  .launch-steps li { padding: 14px 18px !important; list-style: none !important; text-align: center !important; }
  .launch-step-num { display: block !important; text-align: center !important; margin-bottom: 4px !important; font-size: 14px !important; }

  /* На пару пикселей меньше отступ перед заголовком «Нас часто спрашивают» (#faq-venue) */
  body #faq-venue .section-title { margin-top: 20px !important; }
  /* FAQ — вопросы и ответы выровнены по левому краю на мобилке */
  body .faq-q,
  body .faq-a,
  body .faq-a p,
  body .faq-a li { text-align: left !important; }
  /* «Листай вниз» — убрать со всех страниц на мобилке */
  .scroll-arrow, #scrollArrow { display: none !important; }
  /* Чуть меньше отступ после заголовка «Квизабра — это...» */
  body #slide-about .section-title { margin-bottom: 24px !important; }
  /* Calc-cta padding (venues): 30px между всем контентом */
  #calc-cta { padding: 8px 0 8px !important; }
  #calc-cta .container { padding-top: 0 !important; padding-bottom: 0 !important; }
  #calc-cta .section-subtitle { margin-top: 0 !important; margin-bottom: 30px !important; }
  #calc-cta .fade-up:last-child { margin-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }

  /* Pricing-cards: одинаковая ширина — снимаем scale(1.05) с .featured */
  .pricing-card.featured { transform: none !important; }
  .pricing-grid { gap: 24px !important; max-width: 360px !important; }
  /* Pricing cards меньше */
  html body.page-template-page-venues #pricing .pricing-card { padding: 14px 16px !important; }
  html body.page-template-page-venues #pricing .pricing-card .pricing-features li { font-size: 13px !important; padding: 4px 0 !important; }
  html body.page-template-page-venues #pricing .pricing-card .btn { padding: 10px 16px !important; font-size: 14px !important; }
  /* Pricing h2 "Подберите подходящий план" — больше базового, но помещается в viewport */
  html body.page-template-page-venues #pricing .section-title { font-size: clamp(36px, 10vw, 58px) !important; line-height: 1.1 !important; word-wrap: break-word !important; overflow-wrap: break-word !important; max-width: 100% !important; }
  .pricing-card { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; padding: 18px 16px !important; }

  /* FAQ → footer: убираем большой gap снизу секции с FAQ */
  #faq, #slide-faq, .slide-faq, [id*="faq"] { padding-bottom: 24px !important; }
  .slide#slide-faq + *,
  #slide-faq + * { margin-top: 0 !important; }

  /* На мобилке прячем дублирующий блок store-buttons на slide-how-to-join — кнопки остаются только в #join-cta снизу */
  #slide-how-to-join .join-stores { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin-top: 18px !important; }
  #slide-how-to-join .join-grid { grid-template-columns: 1fr !important; }

  /* === Универсальное правило: отступ перед заголовком секции 1.5-2× меньше === */
  /* Все секции на мобилке — компактные вертикальные отступы */
  body section.section { padding-top: 20px !important; padding-bottom: 20px !important; }
  .slide > section.section { padding-top: 18px !important; padding-bottom: 18px !important; }
  /* Заголовки в начале секции — без дополнительного верхнего margin */
  body section.section > .container > h2:first-child,
  body section.section > .container > .section-title:first-child,
  body section.section .section-title { margin-top: 0 !important; padding-top: 0 !important; }
  /* Между двумя секциями не должно быть дополнительных margin */
  body section.section + section.section,
  .slide + .slide,
  .slide + section,
  section + .slide { margin-top: 0 !important; }
  /* #join-cta — на home заголовок 'Вливайся в игру' должен жить компактно как на /players/ */
  #join-cta.section,
  #join-cta { padding: 0 0 20px !important; min-height: auto !important; }
  /* Поднять заголовок 'Вливайся в игру' на 3px выше */
  body #join-cta > .container > h2 { margin-top: 42px !important; }
  /* /players/ — отступ перед 'Вливайся в игру' (#join-play) в 2 раза меньше */
  body.page-template-page-players #join-play { margin-top: 20px !important; }
  /* Убрать padding-bottom у #faq на home чтобы #join-cta прилегал плотно как на /players/ */
  body.home #faq.section-compact { padding-bottom: 0 !important; }
  /* Все большие padding-секции в main.css с .section-селекторами — на мобилке поджимаем в 2 раза */
  #faq.section, #faq-venue.section, #pricing.section,
  #addr-contacts.section, #features.section, #calc-cta.section,
  #benefits.section, #launch.section {
    padding-top: 22px !important; padding-bottom: 22px !important;
  }

  /* Decor drakons внутри секций — на мобилке прячем, иначе абсолютная позиция
     даёт «призрака» в карточке без контекста (.has-dragon, .launch-dragon, .rules-dragon) */
  .benefits-dragon,
  .launch-dragon,
  .rules-dragon { display: none !important; }
  .glass-card.has-dragon { padding: 16px !important; }

  /* Rules page: .rules-grid — 1 в ряд, чуть крупнее */
  body.page-template-page-rules .rules-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important; max-width: 360px !important; margin: 0 auto 24px !important;
  }
  body.page-template-page-rules .rules-card { padding: 16px 14px !important; }
  body.page-template-page-rules .rules-card > div:first-child { font-size: 22px !important; margin-bottom: 4px !important; }
  body.page-template-page-rules .rules-card p { font-size: 13px !important; line-height: 1.4 !important; }

  /* ============ Venue-карточки (бары) — 1 в ряд, чуть крупнее ============ */
  body.page-template-page-players #venues-list > .container > div[style*="grid-template-columns:repeat(3,1fr)"],
  body.page-template-page-venues [style*="grid-template-columns:repeat(3,1fr)"],
  body.page-template-page-cabinet [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 14px !important; max-width: 360px !important; margin-left: auto !important; margin-right: auto !important;
  }
  .venue-card-img,
  .venue-detail-img { width: 100% !important; max-width: 280px !important; height: auto !important; border-radius: 12px !important; margin: 0 auto !important; display: block !important; }
  .venue-booking { gap: 2px !important; margin-top: 6px !important; align-items: center !important; }
  .venue-booking-label { font-size: 11px !important; }
  .venue-phone { font-size: 12px !important; }
  .venue-booking-icon { width: 14px !important; height: 14px !important; }
  /* Cabinet «Заведения, где вы играли» — на мобилке принудительно 2 в ряд, узкие плашки */
  body.page-template-page-cabinet [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    max-width: 100% !important;
  }
  body.page-template-page-cabinet .venue-card-img,
  body.page-template-page-cabinet .venue-detail-img { max-width: 100% !important; }

  /* ============ ЦЕНТРИРОВАНИЕ ВСЕГО КОНТЕНТА ПО ВЕРТИКАЛЬНОЙ ОСИ ============ */
  .hero, .section { text-align: center !important; }
  .section-title, .section-subtitle { text-align: center !important; margin-left: auto !important; margin-right: auto !important; }

  /* Карточки — текст по центру, flex-боксы центрируют содержимое */
  .about-card, .about-para,
  .join-card, .join-card p, .join-card .hero-subtitle, .players-hero-card .hero-subtitle,
  .glass-card, .glass-card h3, .glass-card p,
  .pricing-card, .pricing-card .pricing-features li,
  .addr-card, .addr-name, .addr-line, .addr-city, .addr-phone, .addr-booking,
  .contact-card, .contact-label, .contact-value,
  .number-card, .number-card .label, .number-card .detail,
  .adv-feature, .adv-feature h3, .adv-feature p,
  .rules-card, .rules-card p,
  .faq-q, .faq-a, .faq-a p,
  .launch-steps li,
  .footer-col, .footer-col h4, .footer-col p, .footer-col a,
  .footer-bottom { text-align: center !important; }

  /* players-hero-card — текст слева (override центровки выше) */
  .players-hero-card,
  .players-hero-card p,
  .players-hero-card .hero-subtitle { text-align: left !important; }

  /* why-card (#why на /players/) — центр по запросу Igor */
  .why-card,
  .why-card-inner,
  .why-card-inner > div,
  .why-card h3,
  .why-card p { text-align: center !important; }
  .why-card-inner {
    align-items: center !important;
    gap: 12px !important;
  }
  .why-card-inner > div[style*="font-size:28px"] {
    display: none !important;
  }

  /* /players/ #venues-list — компактные отступы вокруг divider и перед кнопкой TG */
  body.page-template-page-players #venues-list div[style*="margin:48px 0 40px"] {
    margin: 21px 0 19px !important;
  }
  body.page-template-page-players #venues-list div[style*="margin-top:52px"] {
    margin-top: 18px !important;
  }
  /* NUCLEAR: РОВНО 30px между текстом-кнопкой и кнопкой-концом темного фона.
     Все остальные источники паддинга в этой зоне обнуляем. */
  body.page-template-page-players section#venues-list { padding-bottom: 0 !important; }
  body.page-template-page-players section#venues-list > .container { padding-bottom: 0 !important; }
  body.page-template-page-players #venues-list > .container > p { margin-top: 0 !important; margin-bottom: 0 !important; }
  body.page-template-page-players #venues-list div[style*="margin:40px 0 35px"] {
    margin: 30px 0 30px !important;
    padding: 0 !important;
  }
  body.page-template-page-players #venues-list div[style*="margin:40px 0 35px"] .btn {
    font-size: 18px !important;
    padding: 16px 44px !important;
  }
  /* Уменьшить отступ перед заголовком «Чем Квизабра отличается?» (#why) */
  body #why .section-title { margin-top: 20px !important; }

  /* Flex-направление и выравнивание для карточек со столбцами */
  .about-para { flex-direction: column !important; align-items: center !important; gap: 6px !important; }
  .addr-card { align-items: center !important; }
  .addr-card > * { align-self: center !important; }
  .contact-card { align-items: center !important; }
  .glass-card { align-items: center !important; }
  .benefits-grid .glass-card .vsec-card-head { justify-content: center !important; }

  /* Сами карточки центрируются в контейнере */
  .pricing-card, .addr-card, .contact-card, .glass-card,
  .join-card, .about-card, .number-card, .adv-feature, .rules-card {
    margin-left: auto !important; margin-right: auto !important;
  }

  /* Списки внутри карточек — точки убираем, текст по центру */
  .pricing-card .pricing-features,
  .launch-steps,
  .rules-card ul, .rules-card ol { list-style: none !important; padding-left: 0 !important; }

  /* hero-buttons-center — кнопки в строку (row), правило задано выше */
  .hero-buttons-center .btn { width: auto !important; }

  /* Магазин-кнопки — центрированный столбик (это уже было, на всякий) */
  .store-btn { justify-content: center !important; }

  /* === ЭТАЛОН BODY-ТЕКСТА НА МОБИЛКЕ: 14px / line-height 1.5 / #fff / Onest ===
     Применяется ко всему белому body-тексту кроме заголовков, кнопок,
     чисел/цен/бейджей и мелкого юр-текста в footer-bottom/footer-mobile.
     Inline orange (#F9A230) / cyan (#01CAE8) span'ы внутри — сохраняются. */
  body .hero-subtitle,
  body .hero-subtitle-center,
  body .section-subtitle,
  body .glass-card p,
  body .why-card p,
  body .why-card-inner p,
  body .feature p,
  body .feature > div > p,
  body .faq-a p,
  body .faq-a li,
  body .footer-col p,
  body .footer-col a,
  body .footer-col .footer-links li,
  body .footer-col .footer-links li a,
  body .join-card p,
  body .join-card .hero-subtitle,
  body .players-hero-card p,
  body .players-hero-card .hero-subtitle,
  body .about-para,
  body .rules-card p,
  body .adv-feature p,
  body .step p,
  body .step > div > p,
  body .launch-steps li,
  body .number-card .detail,
  body .number-card .label,
  body section.section p:not([class*="title"]):not([class*="subtitle"]),
  body section.section li:not([class*="title"]),
  body .container > p:not([class*="title"]):not([class*="subtitle"]) {
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-family: var(--font-body), 'Onest', sans-serif !important;
  }

  /* Цвет #fff — только где не задан inline color (чтобы не покрасить намеренно цветные параграфы) */
  body .hero-subtitle:not([style*="color"]),
  body .hero-subtitle-center,
  body .section-subtitle:not([style*="color"]),
  body .glass-card p:not([style*="color"]),
  body .why-card p:not([style*="color"]),
  body .why-card-inner p:not([style*="color"]),
  body .feature p:not([style*="color"]),
  body .faq-a p:not([style*="color"]),
  body .faq-a li:not([style*="color"]),
  body .footer-col p:not([style*="color"]),
  body .footer-col a:not([style*="color"]),
  body .footer-col .footer-links li:not([style*="color"]),
  body .footer-col .footer-links li a:not([style*="color"]),
  body .join-card p:not([style*="color"]),
  body .players-hero-card p:not([style*="color"]),
  body .about-para:not([style*="color"]),
  body .rules-card p:not([style*="color"]),
  body .adv-feature p:not([style*="color"]),
  body .step p:not([style*="color"]),
  body .launch-steps li:not([style*="color"]),
  body .number-card .detail,
  body .number-card .label,
  body section.section p:not([style*="color:#F9A230"]):not([style*="color:#01CAE8"]):not([style*="color: #F9A230"]):not([style*="color: #01CAE8"]):not([class*="title"]):not([class*="subtitle"]),
  body section.section li:not([style*="color:#F9A230"]):not([style*="color:#01CAE8"]):not([class*="title"]) {
    color: #ffffff !important;
  }

  /* Сохранить inline-цветные акценты внутри body-параграфов */
  body p span[style*="F9A230"],
  body li span[style*="F9A230"],
  body p a[style*="F9A230"] { color: #F9A230 !important; }
  body p span[style*="01CAE8"],
  body li span[style*="01CAE8"],
  body p a[style*="01CAE8"] { color: #01CAE8 !important; }
}

/* ============================================================================
   Hero cyan-акцент (.text-deep-blue) на home / venues / advertisers — крупный,
   как .players-hero-title-main на /players/ («ЭРУДИЦИЮ»). Source-order: LAST,
   перебивает все предыдущие em-относительные правила.
   ============================================================================ */
@media (max-width: 768px) {
  body.home .hero-centered .text-deep-blue,
  body.page-template-page-venues .text-deep-blue,
  body.page-template-page-advertisers .text-deep-blue {
    font-size: clamp(48px, 14vw, 84px) !important;
    line-height: 1 !important;
    white-space: normal !important;
    margin-top: 0 !important;
    letter-spacing: 0 !important;
  }
}
@media (max-width: 480px) {
  body.home .hero-centered .text-deep-blue,
  body.page-template-page-venues .text-deep-blue,
  body.page-template-page-advertisers .text-deep-blue {
    font-size: clamp(44px, 14vw, 76px) !important;
  }
}

/* ============================================================================
   ЭТАЛОН ОТСТУПОВ ПЛАШЕК НА МОБИЛКЕ (≤768)
   База: /venues/ section «Запуск за один вечер» (launch-steps).
   - От заголовка до первой плашки = 24px (margin-top плашко-контейнера)
     (плюс h2.section-title { margin-bottom: 16px } базы → визуально ≈40px)
   - Между плашками 1-в-ряд = 12px (gap)
   Применяется только к плашко-контейнерам (НЕ кнопкам, НЕ тексту).
   Исключения (2-в-ряд / спец-кейсы) — НЕ затрагиваются:
   - .contacts-grid (2 col), .numbers-grid внутри #rules на /players/ (2 col),
     .store-buttons (2 col кнопки), 2-col .pricing-grid (если не 1 col).
   ============================================================================ */
@media (max-width: 768px) {
  body .launch-steps,
  body .pricing-grid,
  body .about-grid,
  body .adv-features,
  body .benefits-grid,
  body .why-grid,
  body .numbers-grid,
  body .addr-grid,
  body .rules-grid,
  body .faq-list,
  body .features-grid,
  body .why-quizabra-grid {
    margin-top: 24px !important;
    gap: 12px !important;
  }
  /* Перекрытие: на /players/ #rules grid 2-в-ряд — gap у тебя уже 8px, не трогаем,
     но margin-top тоже выставлен явно (выше — 14px), оставляем как есть, моё правило
     перебивается выше-специфичным селектором body.page-template-page-players #rules.
     Контакт-плашки на /addresses/ — 2-в-ряд (.contacts-grid), не в моём списке. */
}

/* ============================================================================
   /venues/ #calc-cta — кнопка «Калькулятор выгоды» крупнее на мобилке +
   красивый перенос текста (text-wrap: balance — балансирует длины строк)
   ============================================================================ */
@media (max-width: 768px) {
  #calc-cta .section-subtitle {
    text-wrap: balance !important;
    -webkit-text-wrap: balance !important;
    max-width: 360px !important;
    margin-left: auto !important; margin-right: auto !important;
  }
  #calc-cta .js-calc {
    padding: 18px 52px !important;
    font-size: 19px !important;
    min-width: 260px !important;
  }
}

/* ============================================================================
   footer-bottom мобилка: 3 колонки row (copyright | privacy | Instagram)
   вместо столбика. Текст переносится внутри своей колонки.
   ============================================================================ */
@media (max-width: 768px) {
  .site-footer .footer-bottom {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 16px !important;
    text-align: left !important;
  }
  .site-footer .footer-bottom > p:first-child {
    flex: 1 1 50% !important;
    max-width: 50% !important;
    text-align: left !important;
  }
  .site-footer .footer-bottom > div {
    max-width: 50% !important;
    text-align: center !important;
  }
}

/* ============================================================================
   .about-para (главная, 3 плашки «Квизабра — это…»):
   - равнение по левой
   - картинка-эмодзи (1/2/3 место) — flex item слева
   - ВСЕ строки текста индентированы под первой (hanging indent через flex),
     включая 3-ю, 4-ю и т.д. — на скрине igor было видно, что float-based
     раскладка ломала индент после исчерпания высоты эмодзи
   - размер плашки не меняется
   ============================================================================ */
@media (max-width: 768px) {
  body .about-para {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
    margin: 0 0 14px !important;
    overflow: visible !important;
  }
  body .about-para::after { content: none !important; }
  body .about-para .about-emoji {
    float: none !important;
    width: 30px !important; height: 30px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  body .about-para > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }
}
@media (min-width: 769px) {
  .about-para {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
    text-align: left !important;
    overflow: visible !important;
  }
  .about-para::after { content: none !important; }
  .about-emoji {
    float: none !important;
    width: 42px !important; height: 42px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  .about-para > span {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}

/* ============================================================================
   FIX: на узких мобилках .fade-up может не сработать (IntersectionObserver
   threshold 0.2 не достигается из-за высокой страницы) — .about-numbers
   .number-card остаются opacity:0. Принудительно показываем их.
   ============================================================================ */
@media (max-width: 768px) {
  .about-numbers,
  .about-numbers .number-card {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ============================================================================
   /players/ hero — динозаврик меньше и сидит ГЛУБЖЕ на кнопке (его лапы
   нависают над кнопкой / частично за неё).
   ============================================================================ */
@media (max-width: 768px) {
  /* Mascot на players hero — показать на мобиле, размер и позиция как у about-cta-mascot на главной (сидит на кнопке) */
  body.page-template-page-players .players-cta-mascot {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% - 9px) !important;
    transform: translateX(-50%) !important;
    width: 90px !important;
    height: auto !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
}

/* ============================================================================
   /cabinet/ hero мобилка: кнопки «Создать профиль» + «Войти в кабинет»
   столбиком (как у /advertisers/ в предыдущих итерациях). Текст под кнопками —
   мельче (12px) и серый (var(--text-muted)).
   ============================================================================ */
@media (max-width: 768px) {
  body.page-template-page-cabinet .hero .hero-content > div[style*="display:flex"] {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  body.page-template-page-cabinet .hero .hero-content > div[style*="display:flex"] > .btn {
    width: auto !important;
    min-width: 240px !important;
    max-width: 320px !important;
    padding: 14px 32px !important;
    font-size: 17px !important;
  }
  body.page-template-page-cabinet .hero p {
    font-size: 12px !important;
    color: var(--text-muted) !important;
    line-height: 1.5 !important;
  }
}

/* ============================================================================
   /cabinet/ stats-плашки (Сыграно игр / Очков получено / Правильных ответов /
   Место в рейтинге) — одинаковая высота независимо от длины цифр.
   ============================================================================ */
@media (max-width: 768px) {
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"],
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(2,1fr)"] {
    grid-auto-rows: 1fr !important;
  }
  body.page-template-page-cabinet #dashboard .glass-card[style*="padding:20px"] {
    min-height: 110px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 14px 10px !important;
  }
  body.page-template-page-cabinet #dashboard .glass-card[style*="padding:20px"] > div[style*="font-size:36px"] {
    font-size: 26px !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
  }
  body.page-template-page-cabinet #dashboard .glass-card[style*="padding:20px"] > p {
    font-size: 11px !important;
    margin: 0 !important;
    line-height: 1.3 !important;
  }
}
/* Desktop тоже — одинаковая высота через grid-auto-rows */
body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] {
  grid-auto-rows: 1fr !important;
}
body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] > .glass-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

/* /cabinet/ «Заведения, где вы играли» — плашки в 2 раза меньше (на мобилке) */
@media (max-width: 768px) {
  body.page-template-page-cabinet div[style*="grid-template-columns:repeat(3,1fr)"][style*="margin-bottom:32px"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    max-width: 100% !important;
  }
  body.page-template-page-cabinet .venue-detail-img {
    max-width: 100% !important;
    width: 100% !important;
  }
  body.page-template-page-cabinet div[style*="grid-template-columns:repeat(3,1fr)"][style*="margin-bottom:32px"] .venue-booking-label {
    font-size: 11px !important;
  }
  body.page-template-page-cabinet div[style*="grid-template-columns:repeat(3,1fr)"][style*="margin-bottom:32px"] .venue-phone {
    font-size: 12px !important;
  }
}

/* footer: Instagram disclaimer убран с мобилки (на desktop остаётся) */
@media (max-width: 768px) {
  .site-footer .footer-bottom .footer-legal-inline { display: none !important; }
}
/* Inline-сноска про Meta рядом с Instagram (везде где упоминается) */
.footer-col-social a[href*="instagram"]::after,
.contact-card[href*="instagram"] .contact-label::after {
  content: " (Meta, экстремистская организация, запрещена в РФ)";
  font-size: 9px;
  color: var(--text-muted);
  display: block;
  margin-top: 2px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

/* /cabinet/ quick-actions «Правила игры» + «Обратная связь» — крупнее,
   меньше отступ до фразы «Самое время пойти...», text-wrap balance на фразе */
@media (max-width: 768px) {
  body.page-template-page-cabinet div[style*="grid-template-columns:1fr 1fr"][style*="max-width:600px"] {
    gap: 14px !important;
    margin-bottom: 12px !important;
    max-width: 100% !important;
  }
  body.page-template-page-cabinet div[style*="grid-template-columns:1fr 1fr"][style*="max-width:600px"] .glass-card {
    padding: 24px 16px !important;
  }
  body.page-template-page-cabinet div[style*="grid-template-columns:1fr 1fr"][style*="max-width:600px"] .glass-card > div[style*="font-size:28px"] {
    font-size: 36px !important;
    margin-bottom: 10px !important;
  }
  body.page-template-page-cabinet div[style*="grid-template-columns:1fr 1fr"][style*="max-width:600px"] .glass-card > p {
    font-size: 16px !important;
  }
  /* CTA-фраза «Самое время пойти сыграть...» — text-wrap: balance + меньше отступ сверху */
  body.page-template-page-cabinet div[style*="padding:24px 0"] {
    padding: 40px 0 16px !important;
  }
  body.page-template-page-cabinet div[style*="padding:24px 0"] > p {
    text-wrap: balance !important;
    -webkit-text-wrap: balance !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}

/* /advertisers/ — «АУДИТОРИИ» 9 букв: помещается в viewport, центрирован (+20% к прошлой версии) */
@media (max-width: 768px) {
  html body.page-template-page-advertisers .text-deep-blue {
    font-size: 1.15em !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}
@media (max-width: 480px) {
  html body.page-template-page-advertisers .text-deep-blue {
    font-size: 1.15em !important;
    letter-spacing: -0.02em !important;
  }
}

/* ============================================================================
   FIX: /cabinet/ stats-плашки на мобилке — ФИКС-высота, гарантированно одинаковые.
   Раньше grid-auto-rows:1fr не равнял потому что grid был 1col и row высота
   диктовалась content. Теперь явный 2×2 + фикс height 100px на каждой плашке.
   ============================================================================ */
@media (max-width: 768px) {
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 100px 100px !important;
    gap: 10px !important;
  }
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] > .glass-card {
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    padding: 8px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] > .glass-card > div[style*="font-size:36px"] {
    font-size: 22px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(4,1fr)"] > .glass-card > p {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 4px 0 0 !important;
    text-align: center !important;
  }
}

/* ============================================================================
   FIX: /cabinet/ «Заведения, где вы играли» — ПРИНУДИТЕЛЬНО 2 в ряд + малая
   высота. Прошлая правка не сработала визуально — теперь жёстче с !important
   и явным max-height.
   ============================================================================ */
@media (max-width: 768px) {
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
  }
  body.page-template-page-cabinet #dashboard > .container > div[style*="grid-template-columns:repeat(3,1fr)"] > .fade-up {
    width: 100% !important;
    max-width: 100% !important;
  }
  body.page-template-page-cabinet #dashboard .venue-detail-img,
  body.page-template-page-cabinet #dashboard .venue-card-img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }
  body.page-template-page-cabinet #dashboard .venue-booking {
    margin-top: 6px !important;
    padding: 4px 6px 8px !important;
  }
  body.page-template-page-cabinet #dashboard .venue-booking-label { font-size: 10px !important; }
  body.page-template-page-cabinet #dashboard .venue-booking-icon { width: 12px !important; height: 12px !important; }
  body.page-template-page-cabinet #dashboard .venue-phone { font-size: 11px !important; }
}

/* Orange numbers в .number-card на мобилке — крупнее (перебивает прошлые 22-32px) */
@media (max-width: 768px) {
  body .about-numbers .number-card .value,
  body .number-card .value {
    font-size: clamp(34px, 9vw, 48px) !important;
  }
}

/* ============================================================================
   ЭТАЛОН ОТСТУПОВ КНОПОК НА МОБИЛКЕ: 80px сверху и снизу для standalone-кнопок
   База — .players-cta-wrap на /players/. Применяется ко всем CTA-обёрткам.
   Исключения: кнопки в .hero-buttons / .hero-buttons-center (стопка),
   .store-buttons, .header-cta, кнопки внутри плашек/форм.
   ============================================================================ */
@media (max-width: 768px) {
  .players-cta-wrap,
  .about-cta,
  .addresses-cta,
  .geo-cta,
  body.page-template-page-venues #calc-cta > .container > div:last-child,
  body.page-template-page-advertisers #features > .container > div:last-child,
  div.fade-up > .btn:only-child {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  /* Стопки кнопок (.hero-buttons / .hero-buttons-center): 80px СНАРУЖИ контейнера,
     ВНУТРИ маленький gap между кнопками */
  .hero-buttons,
  .hero-buttons-center {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  /* Исключения — внутренние кнопки в стопке/шапке/плашке (margin 0, gap идёт от родителя) */
  .hero-buttons .btn,
  .hero-buttons-center .btn,
  .store-buttons,
  .store-buttons .btn,
  .store-btn,
  .header-cta,
  .site-header .btn,
  .pricing-card .btn,
  .glass-card .btn,
  .faq-item .btn,
  .why-card .btn,
  form .btn,
  .mk-modal .btn,
  .footer-mobile-compact .btn,
  .tg-flag .btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ============================================================================
   Мобилка: эталон отступа перед заголовком (как на desktop, но скромнее)
   .block-divider margin-bottom 30px + h2 после divider margin-top: 0
   ============================================================================ */
@media (max-width: 768px) {
  .block-divider { margin: 80px auto 30px !important; }
  .block-divider + h2,
  .block-divider + .section-title,
  .block-divider ~ h2.section-title:first-of-type { margin-top: 0 !important; }
}

/* /players/ hero mobile: gap «ЭРУДИЦИЮ → кнопка» = gap «верх фона → заголовок»
   (hero padding-top: 100px → players-cta-wrap margin-top: 100px) */
@media (max-width: 768px) {
  html body.page-template-page-players .players-cta-wrap { margin-top: 61px !important; margin-bottom: 0 !important; }
  /* Снизу отступ -10: padding-bottom hero 28→18 + #rules section padding-top high spec */
  html body.page-template-page-players section#rules.section { padding-top: 20px !important; }
  /* Gap subtitle → плашки venue: перебить #venues-list > .container > p { margin-bottom: 0 } через grid margin-top */
  html body.page-template-page-players #venues-list > .container > div[style*="grid-template-columns"] { margin-top: 35px !important; }
  /* T5: уменьшить gap кнопка→конец синего и start_голубой→h2 (с 45 до 25) */
  html body.page-template-page-players div.tg-subscribe-wrap { margin-bottom: 25px !important; }
  html body.page-template-page-players section#why.section { padding-top: 7px !important; }
  /* Кнопка «Подписаться на Telegram» — большая, но помещается в viewport */
  html body.page-template-page-players div.tg-subscribe-wrap > a.btn.btn-secondary { font-size: 21px !important; padding: 19px 32px !important; max-width: 92vw !important; box-sizing: border-box !important; }
  html body.page-template-page-players section#why.section > .container > .section-title:first-child { margin-top: 20px !important; }
}

/* ============================================================================
   /venues/ hero mobile: переупорядочение — заголовок → кнопки → подзаголовок
   + динозаврик Time-121 сидит на оранжевой кнопке «Подключить локацию»
   ============================================================================ */
@media (max-width: 768px) {
  body.page-template-page-venues .hero-content {
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-template-page-venues .hero-content .hero-title-wrap { order: 1 !important; }
  body.page-template-page-venues .hero-content .hero-buttons-center { order: 2 !important; position: relative !important; padding-top: 50px !important; }
  body.page-template-page-venues .hero-content .hero-subtitle-center { order: 3 !important; margin-top: 24px !important; }
  /* Динозаврик Time-121 на оранжевой кнопке «Подключить локацию» */
  body.page-template-page-venues .hero-content .hero-buttons-center .btn-primary {
    position: relative !important;
    overflow: visible !important;
  }
  body.page-template-page-venues .hero-content .hero-buttons-center .btn-primary::before {
    content: "";
    position: absolute;
    bottom: calc(100% - 22px);
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 60px;
    background-image: url("../img/elements/Time-121%201.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom center;
    pointer-events: none;
    z-index: 2;
  }
}

/* /addresses/ addr-card на мобилке: убрать margin-top:auto у addr-booking
   (создавало огромный gap между addr-city и Забронировать). Теперь все элементы
   плашки имеют одинаковый flex gap 8px. */
@media (max-width: 768px) {
  .addr-card .addr-booking {
    margin-top: 8px !important;
    padding-top: 0 !important;
  }
  .addr-card .addr-phone {
    margin-top: 0 !important;
  }
  .addr-card {
    justify-content: flex-start !important;
    padding-top: 26px !important;
  }
}

/* ============================================================================
   UNIVERSAL MOBILE ETALON (по запросу пользователя 2026-05-24):
   1) ЗАГОЛОВКИ (.section-title и любые h2 секций): 40px ДО + 40px ПОСЛЕ
   2) КНОПКИ standalone: 40px ДО + 40px ПОСЛЕ
   3) КНОПКИ в стопке (.hero-buttons, .hero-buttons-center): 40px вокруг ВСЕЙ
      стопки, между кнопками внутри маленький gap (12px)
   Только мобилка (≤768px). Перебивает все предыдущие margin/spacing правила.
   ============================================================================ */
@media (max-width: 768px) {
  /* === ЗАГОЛОВКИ — 40px до и после === */
  body section.section .section-title,
  body section.section > .container > h2.section-title,
  body .section-title {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  /* H2 сразу после block-divider — не добавляем margin-top (divider своим bottom-margin даёт 40) */
  body .block-divider + h2,
  body .block-divider + .section-title { margin-top: 0 !important; }
  /* Players FAQ: h2 «Нас часто спрашивают» внутри #why — нужен ID в селекторе чтобы перебить #why .section-title{margin-top:40} */
  body.page-template-page-players #why .block-divider + .section-title { margin-top: 53px !important; }
  /* tg-flag самолётик (popup внизу): mobile — опустить на 3px, носик правее (поворот по часовой) */
  .tg-flag-plane-corner { top: -15px !important; transform: rotate(15deg) !important; }
  /* /venues/ #launch — убрать синий фон, padding-top 0 + h2:first-child margin-top 30 (gap до h2 = 30, было 80, -50) */
  html body.page-template-page-venues section#launch.section { background: transparent !important; padding-top: 0 !important; }
  /* "Что меняется" h2 — ещё -50: section margin-top: -50, h2 margin-top: 30 (gap = 30 — visually -50 от прежних 80) */
  html body.page-template-page-venues section#launch.section { margin-top: -50px !important; }
  html body.page-template-page-venues section#launch.section > .container > h2.section-title:first-child { margin-top: 30px !important; }
  /* /venues/ #launch h2 'Запуск за один вечер' (после block-divider) — +7 до и после */
  /* h2 'Запуск за один вечер' — +7 до и +7 после. divider display:none, поэтому всё через сам h2 margin */
  html body.page-template-page-venues section#launch.section .block-divider + .section-title { margin-top: 47px !important; margin-bottom: 47px !important; }
  /* #calc-cta — Igor: УМЕНЬШИТЬ ABOVE кнопки. subtitle.mb(20)+wrap.mt(0)=20 (было 80) */
  html body.page-template-page-venues section#calc-cta.section { padding-top: 30px !important; padding-bottom: 20px !important; }
  html body.page-template-page-venues section#calc-cta.section .calc-cta-wrap { margin-top: 0 !important; margin-bottom: 20px !important; }
  html body.page-template-page-venues section#calc-cta.section .section-subtitle { margin-bottom: 20px !important; }
  /* Убрать padding-bottom #benefits (предыдущая секция добавляла 40 к gap до текста calc-cta — итог был 70 вместо 30) */
  html body.page-template-page-venues section#benefits.section { padding-bottom: 0 !important; }
  /* #faq-venue: gap до h2 = gap после плашки faq до футера. padding-bottom уже 40 — выравниваю padding-top 40 + h2 margin-top 0 = visual 40 */
  html body.page-template-page-venues section#faq-venue.section { padding-top: 40px !important; }
  html body.page-template-page-venues section#faq-venue.section > .container > h2.section-title { margin-top: 0 !important; margin-bottom: 47px !important; }
  /* Block-divider — 40 сверху + 40 снизу */
  body .block-divider { margin: 40px auto !important; }
  /* Plate-контейнеры после заголовков — обнуляем margin-top, gap даёт только heading margin-bottom */
  body .launch-steps,
  body .pricing-grid,
  body .about-grid,
  body .adv-features,
  body .benefits-grid,
  body .why-grid,
  body .numbers-grid,
  body .addr-grid,
  body .rules-grid,
  body .faq-list,
  body .features-grid,
  body .why-quizabra-grid {
    margin-top: 0 !important;
  }

  /* === КНОПКИ — 40px до и после === */
  /* Известные CTA-обёртки (одна кнопка в обёртке) */
  body .about-cta,
  body .addresses-cta,
  body .geo-cta,
  body .players-cta-wrap,
  body.page-template-page-venues #calc-cta > .container > div:last-child,
  body.page-template-page-advertisers #features > .container > div:last-child,
  body div.fade-up > .btn:only-child {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  /* Стопки кнопок (.hero-buttons / .hero-buttons-center) — 40px вокруг ВСЕЙ стопки */
  body .hero-buttons,
  body .hero-buttons-center {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  /* Внутренние кнопки в стопке/шапке/плашке — margin 0, gap идёт от flex родителя (~12px) */
  body .hero-buttons .btn,
  body .hero-buttons-center .btn,
  body .store-buttons,
  body .store-buttons .btn,
  body .store-btn,
  body .header-cta,
  body .site-header .btn,
  body .pricing-card .btn,
  body .glass-card .btn,
  body .faq-item .btn,
  body .why-card .btn,
  body form .btn,
  body .mk-modal .btn,
  body .footer-mobile-compact .btn,
  body .tg-flag .btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ============================================================================
   UNIVERSAL MOBILE ETALON: high-specificity override для #id-scoped section-title
   правил (#pricing/#contacts/#faq/#benefits/#calc-cta и т.п.) — иначе они
   перебивали моё универсальное 40px правило по специфичности.
   ============================================================================ */
@media (max-width: 768px) {
  #pricing .section-title,
  #contacts .section-title,
  #faq .section-title,
  #faq-venue .section-title,
  #benefits .section-title,
  #join-cta .section-title,
  #features .section-title,
  #launch .section-title,
  #calc-cta .section-title,
  #addresses .section-title,
  #addr-contacts .section-title,
  #rules .section-title,
  #venues-list .section-title,
  #why .section-title,
  #slide-pricing .section-title,
  body section.section > .container > h2.section-title:first-child {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}

/* ============================================================================
   UNIVERSAL MOBILE: обнуляем section padding, чтобы 40px margin'ы headings/buttons
   из предыдущего блока collapse'нулись с margin'ами следующего блока (margin-
   collapse), и итоговый gap между секциями = 40px (а не 40+padding+40).
   Касается только .section (не .hero). Hero сохраняет свой padding.
   ============================================================================ */
@media (max-width: 768px) {
  body section.section,
  body section.section-compact,
  body #calc-cta.section,
  body #benefits.section,
  body #faq-venue.section,
  body #join-cta.section,
  body #addresses.section,
  body #addr-contacts.section,
  body #features.section,
  body #launch.section,
  body #pricing.section,
  body #venues-list.section,
  body #why.section,
  body #slide-about .section,
  body #slide-how-to-join .section,
  body #slide-pricing .section-compact {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  /* Container внутри секций — также убираем top/bottom padding если он был */
  body section.section > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ============================================================================
   UNIVERSAL MOBILE FIX: расширение heading-правила на h2/h3 БЕЗ класса
   .section-title (inline-styled headings типа «Вливайся в игру» на /players/).
   Также обнуляем inline margin-top на .store-buttons / .store-buttons-line —
   gap к ним идёт от heading margin-bottom (40px).
   ============================================================================ */
@media (max-width: 768px) {
  body section.section > .container > h2,
  body section.section > .container > h3 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  /* store-buttons на /players/ /rules/ — обнуляем inline margin-top, gap идёт от heading */
  body .store-buttons,
  body .store-buttons-line { margin-top: 0 !important; }
}

/* ============================================================================
   FIX: смена фона = 80px gap (40 в конце старой секции + 40 в начале новой),
   один фон = 40px (внутри секции, между divider/heading/plate).
   Section padding 40/40 + первый heading в section margin-top:0 — итог:
   gap между секциями = 40 + 40 = 80, внутри section = 40.
   Перебивает мой предыдущий "padding: 0" hack.
   ============================================================================ */
@media (max-width: 768px) {
  body section.section,
  body section.section-compact,
  body #calc-cta.section,
  body #benefits.section,
  body #faq-venue.section,
  body #join-cta.section,
  body #addresses.section,
  body #addr-contacts.section,
  body #features.section,
  body #launch.section,
  body #pricing.section,
  body #venues-list.section,
  body #why.section,
  body #slide-about .section,
  body #slide-how-to-join .section,
  body #slide-pricing .section-compact {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Первый heading прямо в .container секции — margin-top:0 (gap уже даёт section padding-top 40) */
  body section.section > .container > h2:first-child,
  body section.section > .container > h3:first-child,
  body section.section > .container > .section-title:first-child {
    margin-top: 0 !important;
  }
  /* Container внутри секций — без top/bottom padding (gap идёт от section padding) */
  body section.section > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ============================================================================
   CRITICAL FIX: на мобилке секции НЕ должны быть min-height:100vh (full screen)
   и центрированными по вертикали — это создавало гигантское пустое пространство
   над heading'ами. Принудительно auto-height + block layout на мобилке.
   ============================================================================ */
@media (max-width: 768px) {
  body section.section {
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    align-items: unset !important;
    justify-content: unset !important;
  }
}

/* ============================================================================
   NUCLEAR FIX: высокоспецифичный override для ВСЕХ секций на /venues/ и других
   страницах. Перебивает все конкурирующие padding/min-height/display правила.
   ============================================================================ */
@media (max-width: 768px) {
  body[class*="page"] section.section,
  body[class*="page"] section#benefits.section,
  body[class*="page"] section#launch.section,
  body[class*="page"] section#features.section,
  body[class*="page"] section#calc-cta.section,
  body[class*="page"] section#faq-venue.section,
  body[class*="page"] section#venues-list.section,
  body[class*="page"] section#why.section,
  body[class*="page"] section#rules.section,
  body[class*="page"] section#pricing.section,
  body[class*="page"] section#addresses.section,
  body[class*="page"] section#addr-contacts.section,
  body[class*="page"] section#join-cta.section,
  body[class*="home"] section.section,
  body[class*="home"] #slide-about .section,
  body[class*="home"] #slide-how-to-join .section,
  body[class*="home"] #slide-pricing .section-compact {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
    align-items: unset !important;
    justify-content: unset !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin: 0 !important;
  }
  /* Heading первый в секции — margin-top 0 (gap = section padding-top) */
  body[class*="page"] section.section > .container > h2:first-child,
  body[class*="page"] section.section > .container > .section-title:first-child,
  body[class*="home"] section.section > .container > h2:first-child,
  body[class*="home"] section.section > .container > .section-title:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  /* Container — без top/bottom padding */
  body[class*="page"] section.section > .container,
  body[class*="home"] section.section > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: auto !important;
  }
}

/* ============================================================================
   NUCLEAR FIX 2 (re-apply после ошибки с main branch): скрыть block-divider
   на мобилке + жёсткие правила для button standalone, button-стопок,
   не-первых heading'ов.
   ============================================================================ */
@media (max-width: 768px) {
  body .block-divider { display: none !important; }
  body[class*="page"] .about-cta,
  body[class*="page"] .addresses-cta,
  body[class*="page"] .geo-cta,
  body[class*="page"] .players-cta-wrap,
  body[class*="page"] div.fade-up > .btn:only-child,
  body[class*="home"] .about-cta,
  body[class*="home"] div.fade-up > .btn:only-child {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  body[class*="page"] .hero-buttons,
  body[class*="page"] .hero-buttons-center,
  body[class*="home"] .hero-buttons,
  body[class*="home"] .hero-buttons-center {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  body[class*="page"] .hero-buttons .btn,
  body[class*="page"] .hero-buttons-center .btn,
  body[class*="home"] .hero-buttons .btn,
  body[class*="home"] .hero-buttons-center .btn {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body[class*="page"] section.section > .container > h2:not(:first-child),
  body[class*="page"] section.section > .container > .section-title:not(:first-child),
  body[class*="home"] section.section > .container > h2:not(:first-child),
  body[class*="home"] section.section > .container > .section-title:not(:first-child) {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}

/* MOBILE: динозаврик сидит на верхней фразе h1 (центрирован, лёгкий overlap) */
@media (max-width: 768px) {
  body.home .hero-dragon-top {
    width: 64px !important; height: auto !important;
    margin: 0 auto -22px !important;
    position: relative !important;
    top: auto !important; left: auto !important; right: auto !important; transform: none !important;
    z-index: 3 !important;
  }
}

/* MOBILE venues hero: динозаврик (Time-121) сидит на слове «удержать»
   (первая большая строка h1 — на самом деле это вторая часть, "МЫ ЗНАЕМ, КАК" сверху мелкая) */
@media (max-width: 768px) {
  body.page-template-page-venues .hero-dragon-top {
    margin: 0 auto -70px !important;
    z-index: 3 !important;
  }
}

/* MOBILE home «Начать играть»: 45px до и после, кнопка крупнее.
   High-specificity override (html prefix) против конкурирующих
   body[class*="home"] .about-cta { 40/40 } правил. */
@media (max-width: 768px) {
  html body[class*="home"] .about-cta {
    margin-top: 130px !important;
    margin-bottom: 10px !important;
  }
  html body[class*="home"] .about-cta > .btn {
    margin: 0 !important;
    font-size: 26px !important;
    padding: 22px 65px !important;
  }
  html body[class*="home"] #slide-about .section {
    padding-bottom: 0 !important;
  }
  html body[class*="home"] #slide-how-to-join .section {
    padding-top: 0 !important;
  }
}

/* MOBILE home: hero padding-top 177 (+12 от прошлого) — ещё ниже.
   Динозаврик сидит ПО СЕРЕДИНЕ слова «ИНТЕРАКТИВНАЯ» (margin-bottom: -45). */
@media (max-width: 768px) {
  html body[class*="home"] .hero {
    padding-top: 177px !important;
  }
  html body[class*="home"] .hero-dragon-top {
    margin: 0 auto -75px !important;
    transform: translate(45px, 9px) !important;
  }
}

/* Final mobile override (2026-05-28): отступ от кнопок hero до "Квизабра — это..." в 2 раза меньше (40→20) */
@media (max-width: 768px) {
  html body.home #slide-about > section,
  html body[class*="home"] #slide-about .section {
    padding-top: 20px !important;
  }
}

/* Mobile final 2026-05-28 */
@media (max-width: 768px) {
  /* Увеличить отступ между Geo последней карточкой и началом тёмного блока how-to-join */
  html body.home #slide-geo-numbers { padding-bottom: 36px !important; }
  html body.home #slide-how-to-join { margin-top: 18px !important; }
  /* Чуть меньше отступ после "Как вступить в игру?" */
  html body.home #slide-how-to-join .section-title { margin-bottom: 8px !important; }
  /* Мобильный фон — bg_mob.png (desktop: bg_1280_25.jpg на body::before в main.css) */
  html { background-color: #004372 !important; background-image: none !important; }
  body::before {
    background-image: url('../img/bg_mob.png') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }
}

/* Mobile: stores между p1 и divider в join-card via display:contents + order */
@media (max-width: 768px) {
  html body.home #slide-how-to-join .join-grid { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  html body.home #slide-how-to-join .join-card { display: contents !important; }
  html body.home #slide-how-to-join .join-card > p:nth-of-type(1) { order: 1 !important; }
  html body.home #slide-how-to-join .join-stores { order: 2 !important; margin: 12px auto 0 !important; max-width: 420px !important; width: 100% !important; padding: 0 !important; }
  /* T2: тёмный блок slide-how-to-join — +10px по бокам суммарно (14→17→24, текст не жмётся к краям) */
  html body.home #slide-how-to-join > section > .container { padding-left: 24px !important; padding-right: 24px !important; }
  html body.home #slide-how-to-join .join-card > .join-divider { order: 3 !important; margin: 38px auto 24px !important; }
  html body.home #slide-how-to-join .join-card > p:nth-of-type(2) { order: 4 !important; }
  /* Stores чуть больше + центр */
  html body.home #slide-how-to-join .join-stores { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: center !important; align-items: stretch !important; gap: 12px !important; grid-template-columns: none !important; height: auto !important; padding: 0 !important; }
  html body.home #slide-how-to-join .join-stores .store-btn { width: 160px !important; max-width: 160px !important; min-width: 160px !important; flex: 0 0 160px !important; font-size: 14px !important; padding: 12px 16px !important; justify-content: center !important; box-sizing: border-box !important; }
  /* /players/ — все 6 store-btn одной ширины (была width:auto + контент-sizing → разные ширины, top-left самый короткий контент = самый узкий) */
  body.page-template-page-players .store-buttons-line .store-btn { width: 100% !important; min-width: 0 !important; max-width: none !important; box-sizing: border-box !important; }
}

/* Mobile: отступ перед "Нас часто спрашивают" = отступ снизу тёмного блока (55px) */
@media (max-width: 768px) {
  html body.home #slide-faq { padding-top: 29px !important; }
}

/* ============================================================================
   TABLET ADAPTIVE DESIGN (769px — 1199px)
   ----------------------------------------------------------------------------
   Сбалансированный layout под планшеты (iPad portrait/landscape, Surface).
   Идея: spacious whitespace, touch-friendly targets, 2-col grids там где на
   desktop 3 тесные, comfortable typography (~17-18px body). Не пересекается
   с mobile (≤768) и не трогает крупный desktop (≥1200). HARD RULE: только
   tablet, никаких mobile/desktop правок.
   ============================================================================ */
@media (min-width: 769px) and (max-width: 1199px) {

  /* Контейнер — комфортная ширина с воздухом по бокам */
  .container { max-width: 920px !important; padding: 0 32px !important; }

  /* === HERO TYPOGRAPHY === */
  body.home .hero-centered h1 { font-size: clamp(52px, 6.4vw, 76px) !important; line-height: 1.05 !important; }
  body.home .hero-centered .text-deep-blue { font-size: 1.55em !important; }
  body.page-template-page-venues .hero-centered h1 { font-size: clamp(36px, 4.6vw, 56px) !important; }
  body.page-template-page-venues .text-deep-blue { font-size: 1.8em !important; white-space: normal !important; }
  body.page-template-page-advertisers .hero-centered h1 { font-size: clamp(40px, 5.2vw, 64px) !important; line-height: 1.08 !important; transform: none !important; }
  body.page-template-page-advertisers .text-deep-blue { font-size: 1.55em !important; transform: none !important; letter-spacing: 0 !important; white-space: normal !important; }
  body.page-template-page-players .hero-centered h1 { font-size: clamp(40px, 5.2vw, 64px) !important; }

  .hero-subtitle, .hero-subtitle-center { font-size: 18px !important; line-height: 1.55 !important; max-width: 720px !important; margin-left: auto !important; margin-right: auto !important; }

  /* Hero buttons — touch-friendly */
  .hero-buttons-center, .hero-buttons { gap: 16px !important; }
  .hero-buttons .btn, .hero-buttons-center .btn { font-size: 18px !important; padding: 17px 40px !important; min-height: 56px !important; }

  /* === SECTION TYPOGRAPHY === */
  .section-title { font-size: clamp(28px, 4vw, 40px) !important; }
  .section-subtitle { font-size: 18px !important; max-width: 720px !important; margin: 0 auto 24px !important; }

  /* === GRIDS — RE-BALANCE 3-col → 2-col, где было тесно === */
  /* Venues — преимущества: 6 cards 3-col → 2-col, шире и читабельнее */
  .benefits-grid { grid-template-columns: 1fr 1fr !important; gap: 22px !important; max-width: 820px !important; }
  /* Advertisers features — остаётся 2-col, но gap чуть просторнее */
  .adv-features { grid-template-columns: 1fr 1fr !important; gap: 22px !important; max-width: 820px !important; }
  /* Players why-cards: 2-col как desktop, но spacious */
  body.page-template-page-players .why-grid { grid-template-columns: 1fr 1fr !important; gap: 22px !important; max-width: 820px !important; }
  body.page-template-page-players .why-card { padding: 22px 24px !important; }
  body.page-template-page-players .why-card h3 { font-size: 17px !important; }
  body.page-template-page-players .why-card p { font-size: 15px !important; line-height: 1.55 !important; }
  /* Pricing — 3 колонки сохраняем (важно сравнение), но компактнее */
  .pricing-grid { gap: 18px !important; max-width: 880px !important; }
  .pricing-card { padding: 24px 20px !important; border-radius: 22px !important; }
  .pricing-card.featured { transform: scale(1.03) !important; }
  .pricing-name { font-size: 22px !important; }
  .pricing-price { font-size: 32px !important; }
  /* Numbers (География) — 3-col aligned, но gap воздушнее */
  .numbers-grid { gap: 22px !important; max-width: 820px !important; }
  /* About slide grid — равные колонки */
  .about-grid { grid-template-columns: 1fr 1fr !important; gap: 24px !important; max-width: 820px !important; }
  /* Contacts grid (addresses page) — 2-col на планшете удобнее touch */
  .contacts-grid { grid-template-columns: 1fr 1fr !important; gap: 18px !important; }

  /* Join stores (home) — 3-в-ряд 2 ряда вместо 6×1 */
  body.home #slide-how-to-join .join-stores {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    max-width: 680px !important;
    margin: 16px auto 0 !important;
  }
  .store-btn { font-size: 15px !important; padding: 14px 18px !important; min-height: 52px !important; }

  /* Join card (home «Как вступить») — comfortable padding */
  .join-card { padding: 26px 30px !important; }
  .join-card p, .join-card .hero-subtitle { font-size: 17px !important; line-height: 1.55 !important; }

  /* Glass cards (about / benefits) — больший padding */
  .glass-card { padding: 22px 24px !important; }
  .glass-card h3 { font-size: 18px !important; }
  .glass-card p { font-size: 15px !important; line-height: 1.55 !important; }

  /* === FAQ — touch-friendly === */
  .faq-list { column-count: 1 !important; max-width: 720px !important; margin: 0 auto !important; }
  .faq-q { font-size: 17px !important; padding: 18px 24px !important; min-height: 56px !important; }
  .faq-a p { font-size: 16px !important; line-height: 1.55 !important; padding: 0 24px 20px !important; }
  .faq-icon { width: 28px !important; height: 28px !important; }

  /* === FORMS (contact, modals) === */
  .contact-form input, .contact-form textarea { font-size: 16px !important; padding: 14px 18px !important; }
  .contact-form .btn-primary { padding: 16px 40px !important; font-size: 17px !important; min-height: 56px !important; }

  /* === PARTNERS carousel (venues) — 3-col grid сохраняем, без мобильной карусели === */
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: repeat(3, 1fr) !important;
    display: grid !important;
    gap: 20px !important;
    overflow: visible !important;
    max-width: 820px !important;
    margin: 36px auto 0 !important;
  }
  body.page-template-page-venues .partners-arrow-click,
  body.page-template-page-venues .partners-pager { display: none !important; }
  body.page-template-page-venues #partners .venue-card-img {
    width: 100% !important;
    border-radius: 16px !important;
    height: auto !important;
  }

  /* === TG FLAG — комфортнее на tablet === */
  .tg-flag-wrap { bottom: 24px !important; right: 24px !important; }
  .tg-flag-body { padding: 16px 18px 14px 44px !important; max-width: 320px !important; }
  .tg-flag-title { font-size: 17px !important; }
  .tg-flag-sub { font-size: 13px !important; }
  .tg-flag-plane-corner { width: 56px !important; height: 56px !important; }

  /* === FOOTER — 2 колонки === */
  .footer-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; max-width: 820px !important; margin: 0 auto !important; }

  /* === MASCOT (dragons на CTA) — пропорциональнее === */
  body.page-template-page-venues .venue-cta-mascot,
  body.page-template-page-advertisers .adv-cta-mascot,
  body.page-template-page-addresses .addresses-cta-mascot { width: 110px !important; bottom: calc(100% - 12px) !important; }

  /* === HEADER on tablet — desktop nav visible, но компактнее === */
  .header-inner { padding: 0 32px !important; gap: 20px !important; }
  .main-nav { gap: 22px !important; }
  .nav-link { font-size: 15px !important; }

  /* === Addresses cards === */
  .addr-grid { grid-template-columns: 1fr 1fr !important; gap: 22px !important; }
  .addr-card { padding: 22px 24px !important; }

  /* === Cabinet — 2 col stats === */
  body.page-template-page-cabinet [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}

/* ============================================================================
   DESKTOP (≥1200px) — Кабинет: «Заведения, где можно сыграть» + плашки
   «Правила» / «Обратная связь» выровнены по ЛЕВОМУ краю заголовков секции.
   Дизайн: dash-card-btn оформлены как горизонтальные карты с круглой иконкой
   слева и контрастным текстом справа — визуально гармонируют с venue-cards
   но при этом отличаются (вертикальные vs горизонтальные).
   ============================================================================ */
@media (min-width: 1200px) {
  /* Левое равнение: addr-grid и dash-actions-cards прижаты к левому краю
     контейнера (по умолчанию margin: auto центрировал их). */
  body.page-template-page-cabinet .addr-grid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
  body.page-template-page-cabinet .dash-actions-cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    max-width: none !important;
    margin: 24px 0 8px 0 !important;
    justify-items: stretch !important;
  }
  /* Карточки «Правила» / «Обратная связь» — горизонтальный layout:
     круглая иконка-аватар слева + крупная подпись справа. Высота 120px,
     закругление 22px, ширина = 1/3 контейнера (как у venue-cards выше). */
  body.page-template-page-cabinet .dash-card-btn {
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 20px !important;
    min-height: 120px !important;
    padding: 24px 28px !important;
    text-align: left !important;
    border-radius: 22px !important;
    background:
      radial-gradient(140% 140% at 0% 0%, rgba(249,162,48,0.10) 0%, rgba(249,162,48,0) 50%),
      linear-gradient(135deg, rgba(22,39,55,0.92) 0%, rgba(0,67,114,0.92) 100%) !important;
  }
  body.page-template-page-cabinet .dash-card-btn:hover {
    transform: translateY(-3px) !important;
    border-color: var(--accent-orange) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.10) !important;
  }
  body.page-template-page-cabinet .dash-card-btn__icon {
    width: 64px !important;
    height: 64px !important;
    font-size: 32px !important;
    background: rgba(255,255,255,0.10) !important;
    border: 1px solid rgba(1,202,232,0.25) !important;
    flex-shrink: 0 !important;
  }
  body.page-template-page-cabinet .dash-card-btn__label {
    font-size: 19px !important;
    font-weight: 700 !important;
    text-align: left !important;
    line-height: 1.25 !important;
  }
  /* CTA-текст внизу — также по левому краю (совпадает с h3 выше) */
  body.page-template-page-cabinet .dash-cta-text {
    text-align: left !important;
    font-size: 17px !important;
    margin-top: 28px !important;
    margin-bottom: 20px !important;
  }
  /* Соц-иконки — слева, выровнены с заголовками; +2px вправо (Igor 2026-06-11) */
  body.page-template-page-cabinet .dash-socials {
    justify-content: flex-start !important;
    gap: 16px !important;
    margin-left: 2px !important;
  }
}

/* ============================================================================
   MOBILE (≤768px) — Кабинет: переосмысленный лейаут от Igor
   1. Stats (4 цифры) — 2×2 grid вместо 1 в ряд
   2. Таблица «История игр» — full-width (override inline 65%)
   3. Address cards — чуть уже, центр (один под одним остаются)
   4. Social icons — центр + 25px gap до/после «Самое время...»
   ============================================================================ */
@media (max-width: 768px) {
  /* (1) Stats grid — 2×2 */
  html body.page-template-page-cabinet .dash-stats-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 32px !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card {
    padding: 18px 12px !important;
    min-height: 100px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card > div {
    font-size: 24px !important;
    line-height: 1.1 !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card > p {
    font-size: 12px !important;
    margin-top: 6px !important;
    line-height: 1.25 !important;
  }
  /* (2) История игр — таблица full-width: убираем inline width:65% */
  html body.page-template-page-cabinet #dashboard > .container > .glass-card[style*="width:65%"],
  html body.page-template-page-cabinet #dashboard > .container > .glass-card[style*="overflow:hidden"] {
    width: 100% !important;
    max-width: 100% !important;
  }
  html body.page-template-page-cabinet #dashboard table {
    width: 100% !important;
  }
  html body.page-template-page-cabinet #dashboard table th,
  html body.page-template-page-cabinet #dashboard table td {
    padding: 12px 14px !important;
    font-size: 14px !important;
  }
  /* (3) Адресные карточки — уже (320px), центрированы */
  html body.page-template-page-cabinet .addr-grid {
    grid-template-columns: 1fr !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 14px !important;
  }
  html body.page-template-page-cabinet .addr-card {
    padding: 18px 20px !important;
  }
  /* (4) Соц-иконки и CTA-текст — слева (выравнено с плашками выше); CTA-текст 25px gap до и после
     2026-06-11 Igor: всё содержимое кабинета должно начинаться с одной вертикальной линии слева */
  html body.page-template-page-cabinet .dash-cta-text {
    text-align: center !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding-bottom: 0 !important;
  }
  html body.page-template-page-cabinet .dash-socials {
    justify-content: center !important;
    gap: 14px !important;
    margin-top: 0 !important;
  }
}

/* ============================================================================
   MOBILE (≤768px) — Кабинет: 2-я волна правок от Igor
   1. Stats plates — одинаковые, ширина = ширине venue-plates (edge-to-edge)
   2. Таблица — full width до краёв (= ширина venue-plates)
   3. Venue plates — equal sizing, phone не должен переноситься
   4. Правила/Обратная связь — меньше + +15px отступ перед ними
   5. Соц-кнопки — центр + +15px ниже
   6. Заголовки h3 — ×2 (22 → 44)
   ============================================================================ */
@media (max-width: 768px) {
  /* (1) Stats plates: 2×2, full container width, одинаковая высота */
  html body.page-template-page-cabinet .dash-stats-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin: 0 0 32px 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* (2) Таблица «История игр» — full container width (как venue-plates) */
  html body.page-template-page-cabinet #dashboard > .container > .glass-card[style*="width:65%"] {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  html body.page-template-page-cabinet #dashboard table {
    width: 100% !important;
    table-layout: auto !important;
  }
  html body.page-template-page-cabinet #dashboard table th,
  html body.page-template-page-cabinet #dashboard table td {
    padding: 12px 10px !important;
    font-size: 14px !important;
  }
  html body.page-template-page-cabinet #dashboard table th:first-child,
  html body.page-template-page-cabinet #dashboard table td:first-child { padding-left: 16px !important; }
  html body.page-template-page-cabinet #dashboard table th:last-child,
  html body.page-template-page-cabinet #dashboard table td:last-child { padding-right: 16px !important; text-align: right !important; }

  /* (3) Venue plates — full container width, одинаковые, телефон не переносится */
  html body.page-template-page-cabinet .addr-grid {
    grid-template-columns: 1fr !important;
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 14px !important;
  }
  html body.page-template-page-cabinet .addr-card {
    padding: 20px 22px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  html body.page-template-page-cabinet .addr-phone {
    white-space: nowrap !important;
    font-size: 15px !important;
    overflow: visible !important;
  }
  html body.page-template-page-cabinet .addr-line,
  html body.page-template-page-cabinet .addr-city {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }

  /* (4) «Правила» / «Обратная связь» — компактнее + +15 отступ перед */
  html body.page-template-page-cabinet .dash-actions-cards {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 35px !important; /* 20+15 */
    margin-bottom: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }
  html body.page-template-page-cabinet .dash-card-btn {
    min-height: 80px !important;
    padding: 14px 12px !important;
    border-radius: 16px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }
  html body.page-template-page-cabinet .dash-card-btn__icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 20px !important;
  }
  html body.page-template-page-cabinet .dash-card-btn__label {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  /* (5) Соц-иконки и CTA-текст — центр, gap +15 (Igor 2026-06-11, отмена предыдущего left-фикса)
     - cta-text margin-top: 25→40 (+15px gap до плашек «Правила»/«Обратная связь»)
     - socials margin-top: 40→55 (+15px ниже = «опустить чуть вниз») */
  html body.page-template-page-cabinet .dash-cta-text {
    text-align: center !important;
    margin-top: 40px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  html body.page-template-page-cabinet .dash-socials {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 55px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 14px !important;
    text-align: center !important;
  }

  /* (6) Заголовки h3 — center (Igor 2026-06-11 — равнение относительно середины) */
  html body.page-template-page-cabinet #dashboard > .container > h3,
  html body.page-template-page-cabinet #dashboard > .container h3[style*="font-size:22px"] {
    font-size: 44px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 22px !important;
  }
}

/* Desktop ≥1200 — кнопка «Выйти» в кабинете +50% (того же места) */
@media (min-width: 1200px) {
  html body.page-template-page-cabinet #cabinet-logout {
    font-size: 21px !important;
    padding: 15px 36px !important;
  }
}

/* Desktop ≥1200 — кабинет: -10px до «Самое время…», -15px после соц-кнопок (до футера) */
@media (min-width: 1200px) {
  html body.page-template-page-cabinet #dashboard > .container > div[style*="padding:24px 0"] {
    padding-top: 14px !important;
    padding-bottom: 9px !important;
  }
}

/* ============================================================================
   MOBILE (≤768) — CABINET FIX: Selectors correction
   Все мои прошлые правила использовали #dashboard, но реальный ID = cabinet-dashboard.
   Плюс структура: h3/таблица/header — прямые потомки #cabinet-dashboard, НЕ .container.
   ============================================================================ */
@media (max-width: 768px) {
  /* (A) Заголовки h3 ×2 (был bug — селектор не матчил) */
  html body.page-template-page-cabinet #cabinet-dashboard h3 {
    font-size: 44px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 22px !important;
    margin-top: 40px !important;  /* отступ ПЕРЕД h3 (и для «Остались вопросы?») */
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
  /* Первый h3 на странице («История игр») — без верхнего margin (есть padding section) */
  html body.page-template-page-cabinet #cabinet-dashboard > h3:first-of-type {
    margin-top: 10px !important;
  }

  /* (B) Таблица «История игр» — full width до краёв (правильный селектор) */
  html body.page-template-page-cabinet #cabinet-dashboard .glass-card[style*="width:65%"],
  html body.page-template-page-cabinet #cabinet-dashboard > .glass-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard table {
    width: 100% !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard table th,
  html body.page-template-page-cabinet #cabinet-dashboard table td {
    padding: 12px 12px !important;
    font-size: 14px !important;
  }

  /* (C) Кнопка «Выйти» — центрировать на мобиле (вместо right-edge от justify:space-between) */
  html body.page-template-page-cabinet #cabinet-dashboard > div[style*="justify-content:space-between"] {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard > div[style*="justify-content:space-between"] > div {
    text-align: center !important;
    width: 100% !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard > div[style*="justify-content:space-between"] > div > h2 {
    text-align: center !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  html body.page-template-page-cabinet #cabinet-logout {
    margin: 0 auto !important;
    display: inline-block !important;
  }

  /* (D) Address cards — гарантировать что телефон и весь контент влезает */
  html body.page-template-page-cabinet .addr-card {
    padding: 18px 18px !important;
    width: 100% !important;
    overflow: visible !important;
    word-wrap: break-word !important;
  }
  html body.page-template-page-cabinet .addr-name {
    font-size: 18px !important;
    line-height: 1.2 !important;
    word-wrap: break-word !important;
  }
  html body.page-template-page-cabinet .addr-line,
  html body.page-template-page-cabinet .addr-city {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  html body.page-template-page-cabinet .addr-phone {
    font-size: 16px !important;
    white-space: nowrap !important;
    display: inline-block !important;
    margin-top: 8px !important;
  }
  html body.page-template-page-cabinet .addr-card-sokol .addr-card-dragon { display: none !important; }

  /* (E) Соц-иконки ULTIMATE центрирование */
  html body.page-template-page-cabinet #cabinet-dashboard .dash-socials,
  html body.page-template-page-cabinet .dash-socials {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 40px auto 0 !important;
    text-align: center !important;
    flex-wrap: nowrap !important;
  }
  html body.page-template-page-cabinet .dash-socials > a {
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
}

/* Desktop ≥1200 — /players/ hero: «Начать играть» + динозаврик +15px вниз
   ВИЗУАЛЬНО через transform (не меняет layout, не сдвигает соседей).
   mascot — absolute child → следует за transformed parent. */
@media (min-width: 1200px) {
  html body.page-template-page-players .players-cta-wrap {
    transform: translateY(40px) !important;
  }
}

/* MOBILE — h3 в кабинете = размер h2 «Привет» (clamp 34/8.6vw/46) + меньше gap под соц-иконками */
@media (max-width: 768px) {
  /* H3 (История игр / Заведения / Остались вопросы?) — match с h2 «Привет» */
  html body.page-template-page-cabinet #cabinet-dashboard h3 {
    font-size: clamp(34px, 8.6vw, 46px) !important;
    line-height: 1.1 !important;
  }
  /* CTA-обёртка с соц-иконками — меньше padding-bottom (был inline 24px, теперь 0) */
  html body.page-template-page-cabinet #cabinet-dashboard > div[style*="padding:24px 0"] {
    padding-bottom: 0 !important;
  }
}

/* Desktop ≥1200 — /players/ why-cards: размер как у /venues/ benefits ОРИГИНАЛЬНЫХ (h3 18 / p 15).
   /venues/ benefits-grid НЕ трогаем — оставляем оригинальный inline размер 18/15. */
@media (min-width: 1200px) {
  body.page-template-page-players .why-card { padding: 24px 26px !important; }
  body.page-template-page-players .why-card h3 { font-size: 18px !important; margin-bottom: 8px !important; }
  body.page-template-page-players .why-card p { font-size: 15px !important; line-height: 1.55 !important; }
  body.page-template-page-players .why-grid { gap: 20px !important; }
}

/* Desktop+tablet ≥769 — Главная: отступы вокруг «Вливайся в игру» = как на /players/
   1. #faq.section-compact (на home) padding-bottom: 0 — иначе +32px перед #join-cta
   2. #join-cta padding-top: 0 (уже было) + padding-bottom: 30 — после кнопок до футера */
@media (min-width: 769px) {
  body.home #faq.section-compact { padding-bottom: 0 !important; }
  body.home #join-cta.section { padding-top: 0 !important; padding-bottom: 30px !important; }
}

/* Desktop ≥1200 — /advertisers/: gap между .adv-feature плашками больше + кнопка «Обсудить размещение» +30%.
   Кнопка растёт за счёт уменьшения margin вокруг (визуальный отступ снаружи остаётся прежним). */
@media (min-width: 1200px) {
  body.page-template-page-advertisers #features .adv-features { gap: 30px 24px !important; }
  /* Кнопка +30% */
  body.page-template-page-advertisers #features .adv-cta .js-adv-form {
    font-size: 22px !important;
    padding: 20px 47px !important;
  }
  /* Margin вокруг кнопки +30 базово; +10 утром 2026-06-11; +15 ещё днём 2026-06-11 → 73 */
  html body.page-template-page-advertisers #features > .container > div.adv-cta {
    margin-top: 73px !important;
    margin-bottom: 73px !important;
  }
}

/* Desktop ≥1200 — /addresses/: визуальные отступы вокруг «Подключить заведение»
   как у /advertisers/ «Обсудить размещение» (margin-top/bottom 48/48). */
@media (min-width: 1200px) {
  html body.page-template-page-addresses .addresses-cta-wrap {
    transform: translateY(25px) !important;
  }
  html body.page-template-page-addresses .addresses-cta {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
}

/* Desktop ≥1200 — /venues/ partners (Нам доверяют): размер плашек = как на /players/ A где сыграть.
   Players grid: max-width 900px, gap 24. Применяем то же к venues partners (было 1140/28). */
@media (min-width: 1200px) {
  body.page-template-page-venues #partners > .container > div[style*="grid-template-columns:repeat(3,1fr)"] {
    max-width: 900px !important;
    gap: 24px !important;
  }
}

/* Desktop ≥1200 — /venues/:
   1. «Калькулятор выгоды» (button) визуально −15px вверх (top gap ↓, bottom gap ↑)
   2. #pricing темный блок: +20px перед заголовком «Подберите подходящий план» (padding-top 16→36) */
@media (min-width: 1200px) {
  html body.page-template-page-venues .calc-cta-wrap {
    transform: translateY(-15px) !important;
  }
  html body.page-template-page-venues #pricing.section {
    padding-top: 36px !important;
  }
}

/* Desktop ≥1200 — Кабинет: РАВНЫЕ отступы 46px после ВСЕХ h3 и вокруг «Самое время...».
   Reference: gap после «Остались вопросы?» до плашек = h3 margin-bottom 22 + cards margin-top 24 = 46.
   Применяю 46 равномерно: h3.mb=46, first-child after h3.mt=0, dash-cta-text.mt/mb=46. */
@media (min-width: 1200px) {
  html body.page-template-page-cabinet #cabinet-dashboard h3 {
    margin-bottom: 46px !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard h3 + * {
    margin-top: 0 !important;
  }
  html body.page-template-page-cabinet .dash-cta-text {
    margin-top: 46px !important;
    margin-bottom: 46px !important;
    padding-bottom: 0 !important;
  }
  html body.page-template-page-cabinet .dash-socials {
    margin-top: 0 !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard > div[style*="padding:24px 0"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Mobile cabinet (Igor: 4 правки разом):
   1. h3 в cabinet -25% (НЕ Привет ASD)
   2. Stats цифры/подписи чуть крупнее, плашки равные
   3. Отступ перед «Самое время...» +30 (25→55)
   4. Отступ от соц-иконок до футера -25px */
@media (max-width: 768px) {
  /* (1) h3 -25% — clamp(34,8.6vw,46) → clamp(26,6.5vw,35) */
  html body.page-template-page-cabinet #cabinet-dashboard h3 {
    font-size: clamp(26px, 6.5vw, 35px) !important;
  }
  /* (2) Stats — крупнее, плашки одинаковой высоты, контент не вылезает */
  html body.page-template-page-cabinet .dash-stats-grid .glass-card > div {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card > p {
    font-size: 14px !important;
    line-height: 1.25 !important;
    margin-top: 4px !important;
  }
  html body.page-template-page-cabinet .dash-stats-grid .glass-card {
    min-height: 110px !important;
    box-sizing: border-box !important;
  }
  /* (3) «Самое время...» — отступ ВВЕРХУ +30 (55) */
  html body.page-template-page-cabinet .dash-cta-text {
    margin-top: 55px !important;
  }
  /* (4) После соц-иконок до футера -25 — компенсирую negative margin-bottom */
  html body.page-template-page-cabinet .dash-socials {
    margin-bottom: -25px !important;
  }
}

/* Mobile cabinet — глубокий анализ почему -25 от соц до футера не сработал визуально:
   реальный путь — section#cabinet.section padding-bottom: 80 (mobile, line 360).
   Моё margin-bottom: -25 на dash-socials lokal, но section padding доминирует.
   Уменьшаю section padding-bottom 80 → 55 (-25). */
@media (max-width: 768px) {
  html body.page-template-page-cabinet section#cabinet.section {
    padding-bottom: 55px !important;
  }
}

/* Desktop ≥1200 — Кабинет: отступ перед «Где поиграть» = отступ перед «История игр».
   «История игр» preceded by stats grid (mb 47) + h3 inline mt 0 = 47.
   «Где поиграть» preceded by table glass-card (mb 32 inline) + h3 inline mt 10 = 42.
   Уравниваю: table mb 32→47, h3#dash-venues-title mt 10→0. Оба = 47. */
@media (min-width: 1200px) {
  html body.page-template-page-cabinet #cabinet-dashboard > .glass-card[style*="width:65%"] {
    margin-bottom: 47px !important;
  }
  html body.page-template-page-cabinet #cabinet-dashboard h3#dash-venues-title {
    margin-top: 0 !important;
  }
}

/* Desktop ≥1200 — Кабинет: отступы вокруг соц-иконок -10 каждый
   (gap до иконок: text margin-bottom 46→36, после иконок: socials negative margin-bottom -10) */
@media (min-width: 1200px) {
  html body.page-template-page-cabinet .dash-cta-text {
    margin-bottom: 36px !important;
  }
  html body.page-template-page-cabinet .dash-socials {
    margin-bottom: -10px !important;
  }
}

/* Mobile cabinet — таблица «История игр»: всё по центру (перебиваем inline text-align:left/right) */
@media (max-width: 768px) {
  html body.page-template-page-cabinet #cabinet-dashboard table th,
  html body.page-template-page-cabinet #cabinet-dashboard table td {
    text-align: center !important;
  }
}

/* Desktop ≥1200 — две правки:
   1. /venues/ partners «Присоединиться к Квизабре» -15%
   2. /players/ #rules плашки (Правила просты) меньше — number font 36→28, padding меньше */
@media (min-width: 1200px) {
  /* (1) /venues/ partners button -15% */
  body.page-template-page-venues #partners .venue-cta .js-venue-form {
    font-size: 19px !important;
    padding: 19px 51px !important;
  }
  /* (2) /players/ #rules — плашки чуть компактнее */
  body.page-template-page-players #rules .numbers-grid .glass-card {
    padding: 26px 22px !important;
  }
  body.page-template-page-players #rules .numbers-grid .glass-card > div[style*="font-size:36px"] {
    font-size: 28px !important;
  }
  body.page-template-page-players #rules .numbers-grid .glass-card > p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  body.page-template-page-players #rules .numbers-grid {
    gap: 20px !important;
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Desktop ≥1200 — /players/ #venues-list: лишний тёмный фон сверху убрать
   (default .section padding-top: 100px → 40, padding-bottom уже 0 в main.css:1942) */
@media (min-width: 1200px) {
  body.page-template-page-players #venues-list { padding-top: 40px !important; }
}

/* Desktop ≥1200 — /players/ #rules «Правила просты»: откат к компактным плашкам
   (2026-06-11, Igor: «откатить размер плашек до 2 недели назад»).
   Было: section min-height:100vh + align-items:center + #rules padding-top:30 +
   .glass-card padding:32 + .numbers-grid grid-auto-rows:220px — даёт огромные
   плашки и большой gap перед заголовком (центрирование в 100vh). Откатываю
   к естественной высоте контента + меньше padding. */
@media (min-width: 1200px) {
  body.page-template-page-players section#rules.section {
    min-height: auto !important;
    padding: 40px 0 40px !important;
    align-items: flex-start !important;
  }
  body.page-template-page-players section#rules.section {
    padding-top: 0 !important;
  }
  body.page-template-page-players #rules .numbers-grid {
    grid-template-rows: auto !important;
    grid-auto-rows: auto !important;
    gap: 20px !important;
  }
  body.page-template-page-players #rules .glass-card {
    padding: 22px !important;
  }
}
