/* ============================================================
   Dom.models v38 — правки первого экрана, шапки и форм.
   Подключается последним, после dom-v37.css.
   ============================================================ */

/* ---------- §1. Первый экран: фото светлее, оффер виден без прокрутки ---------- */

/* /adult и /teen: затемнение поверх фото мягче, лица читаются */
html #root section.relative.overflow-hidden > .absolute.inset-0 > .absolute.inset-0.bg-gradient-to-b {
  background-image: linear-gradient(180deg,
    oklch(0.26 0.03 55 / 0.52) 0%,
    oklch(0.28 0.03 58 / 0.48) 55%,
    var(--background) 100%) !important;
}
/* /men, /boys */
.dm-men-hero-bg::after {
  background: linear-gradient(180deg, oklch(20% 0.025 45 / 0.42) 0%, oklch(20% 0.025 45 / 0.68) 55%, oklch(20% 0.025 45 / 0.86) 100%) !important;
}

@media (max-width: 767px) {
  /* меньше пустоты над заголовком — оффер «первый урок в подарок» попадает в первый экран */
  html #root .dm-gold-on-dark.py-28 { padding-top: 2.75rem !important; padding-bottom: 3.5rem !important; }
  html #root .dm-gold-on-dark h1 { font-size: 2.15rem !important; }
  html #root .dm-gold-on-dark .mt-8 { margin-top: 1.1rem !important; }
  html #root .dm-gold-on-dark .mt-10 { margin-top: 1.5rem !important; }
  .dm-men-hero-inner { padding-top: 2.75rem !important; }

  /* плашка о статистике: одна компактная строка над нижним меню */
  .dm-privacy {
    left: .5rem !important; right: .5rem !important;
    bottom: calc(64px + .4rem) !important;
    padding: .3rem .3rem .3rem .85rem !important;
    border-radius: 999px !important;
    gap: .5rem !important;
  }
  .dm-privacy p { font-size: .6875rem !important; line-height: 1.25 !important; }
  .dm-privacy button { min-height: 32px !important; padding: .25rem .85rem !important; font-size: .75rem !important; }
}

/* ---------- §2. Шапка одинаковая на всех страницах ---------- */

/* кнопка «Записаться» в шапке видна всегда, в том числе на /adult и /teen */
html body:has(.mobile-floating-actions) .dm-header-cta { display: inline-flex !important; }

/* на статических страницах кнопка в шапке — того же размера, что и на остальных */
@media (max-width: 767px) {
  header a.md\:hidden.rounded-full.bg-primary {
    display: inline-flex; align-items: center;
    min-height: 40px; padding: .5rem 1rem !important;
    font-size: .875rem !important; font-weight: 600;
  }
}

/* ---------- §3. Формы ---------- */

/* поле с ошибкой не уезжает под закреплённую шапку */
html { scroll-padding-top: 96px; }
input, select, textarea { scroll-margin-top: 96px; }

/* ---------- §4. Цены ---------- */

.dm-price-later {
  margin-top: .25rem;
  font-size: .8125rem;
  color: var(--muted-foreground);
}

/* ---------- §5. Главная: живое фото у двери «7–12» ---------- */

.dm-door-photo { object-position: 50% 30%; }

/* ---------- §6. Главная: «Воскресенье в Dom.models» ---------- */

.dm-week-note { margin: .75rem auto 0; max-width: 32rem; text-align: center; font-size: .9rem; color: var(--muted-foreground); }
.dm-week-list { margin-top: 1.75rem; border: 1px solid var(--border); border-radius: 1.5rem; background: var(--card); overflow: hidden; box-shadow: var(--shadow-soft, 0 10px 30px -18px rgba(60,40,20,.25)); }
.dm-week-row { display: grid; grid-template-columns: 5.5rem 1fr; align-items: baseline; gap: 1rem; padding: 1rem 1.5rem; color: var(--foreground); text-decoration: none; transition: background .25s; }
.dm-week-row + .dm-week-row { border-top: 1px solid var(--border); }
.dm-week-row:hover { background: oklch(96% 0.02 60); }
.dm-week-time { font-family: "Playfair Display", serif; font-size: 1.15rem; font-variant-numeric: lining-nums tabular-nums; color: oklch(45% 0.09 35); }
.dm-week-who { font-size: .95rem; }
@media (max-width: 560px) {
  .dm-week-row { grid-template-columns: 4.6rem 1fr; gap: .75rem; padding: .9rem 1.1rem; }
  .dm-week-time { font-size: 1.05rem; }
}

/* ---------- §7. /boys: три преподавателя в ряд ---------- */

@media (min-width: 1024px) {
  html body .bz-teachers { grid-template-columns: repeat(3, 1fr); }
  html body .bz-teacher { flex-direction: column; }
  html body .bz-teacher img { width: 100%; height: 260px; object-position: 50% 25%; }
}

/* ---------- §8. /realizaciya: карточки форматов крупнее и свободнее ---------- */

.vip-cards { max-width: 50rem; margin-left: auto; margin-right: auto; gap: 1.75rem; }
@media (min-width: 900px) { .vip-cards { grid-template-columns: 1fr !important; } }
.vip-card { padding: 2rem 1.5rem; }
@media (min-width: 640px) { .vip-card { padding: 2.5rem 2.75rem; } }
.vip-card h3 { font-size: 1.75rem; }
.vip-card > p { font-size: 1.0625rem; line-height: 1.65; }
.vip-card__eyebrow, .vip-card__sub { font-size: .75rem !important; }
.vip-card__sub { margin-top: 1.6rem !important; }
.vip-card__who { font-size: 1.0625rem !important; line-height: 1.6; }
.vip-card__steps { font-size: 1.0625rem; line-height: 1.6; gap: .5rem; color: var(--foreground); }
.vip-list li { font-size: 1.0625rem; line-height: 1.6; }
.vip-card__rule { font-size: .95rem !important; }
.vip-card__price { font-size: 1.85rem !important; padding-top: 1.75rem; }
.vip-card__price span { font-size: .9rem; }
