/* ══════════════════════════════════════════════════════
   catering.css — Catering page specific styles
   Mobile section  (≤ 767px)
   Desktop section (≥ 768px)
══════════════════════════════════════════════════════ */

/* === CATERING PAGE === */
/* Page-specific styles. Prefix: catr-. Map: PROJECT_MAP.md · Rules: CLAUDE.md */

/* ── Scroll reveal base states ── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94),
              transform 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ════════════════════════════════════════════
   PAGE BASE
════════════════════════════════════════════ */
.page-catering {
  background: #080202;
  color: var(--cream, #EFE2CF);
}
.page-catering main {
  background: #080202;
}


/* ════════════════════════════════════════════
   1. HERO — unified with Menu hero system
════════════════════════════════════════════ */
.catr-hero {
  position: relative;
  min-height: 45vh;
  display: flex;
  align-items: stretch;
  background: #080202;
  overflow: hidden;
}

/* Photo panel: right 78% — matches Menu hero inset */
.catr-hero-photo {
  position: absolute;
  inset: 80px 0 0 22%;
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
}

/* Cinematic vignette — exact Menu hero treatment */
.catr-hero-vignette {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      #080202 0%,
      #080202 6%,
      rgba(8,2,2,0.93) 18%,
      rgba(8,2,2,0.72) 32%,
      rgba(8,2,2,0.35) 50%,
      rgba(8,2,2,0.08) 68%,
      transparent 82%
    ),
    linear-gradient(
      to top,
      #080202 0%,
      rgba(8,2,2,0.75) 14%,
      rgba(8,2,2,0.2) 30%,
      transparent 48%
    );
  pointer-events: none;
}

.catr-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding-left: 0;
  padding-right: 0;
}

/* Text block: 52% wide — matches Menu hero */
.catr-hero-content {
  width: min(52%, 560px);
  padding: clamp(10rem, 20vh, 16rem) 0 clamp(1.8rem, 4.8vh, 3.6rem);  /* нижний отступ hero −40%: расстояние до след. блока */
  display: flex;
  flex-direction: column;
}

.catr-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(201,169,110,0.7);
  margin: 0 0 1.4rem;
}

/* H1 — 10% reduction from original clamp(3rem, 5.5vw, 5.4rem) */
.catr-hero-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.7rem, 4.95vw, 4.86rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.015em;
  color: var(--cream, #EFE2CF);
  margin: 0 0 1.4rem;
}
.catr-hero-title span {
  display: block;
}

.catr-hero-rule {
  display: block;
  width: 2.5rem;
  height: 1px;
  background: linear-gradient(to right, rgba(201,169,110,0.6), rgba(201,169,110,0.15));
  margin: 0 0 1.4rem;
}

.catr-hero-body {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.74;
  color: rgba(239,226,207,0.58);
  max-width: 36ch;
  margin: 0 0 2.4rem;
}

.catr-hero-btn {
  display: inline-block;
  align-self: flex-start;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--cream, #EFE2CF);
  padding: 0.88rem 2rem;
  border: 1px solid rgba(201,169,110,0.32);
  border-radius: 4px;
  background: transparent;
  transition: background 220ms, border-color 220ms, color 220ms;
}
.catr-hero-btn:hover {
  background: rgba(201,169,110,0.1);
  border-color: rgba(201,169,110,0.6);
  color: #EFE2CF;
}


/* ════════════════════════════════════════════
   2. EVENT TYPES
════════════════════════════════════════════ */
.catr-events {
  background: #080202;
  border-top: 1px solid rgba(201,169,110,0.1);
  border-bottom: 1px solid rgba(201,169,110,0.1);
  padding: 5rem 0;
}

.catr-events-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.catr-events-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  max-width: 900px;
}

.catr-event-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2.5rem 2rem;
}

.catr-events-sep {
  width: 60%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(201,169,110,0.18) 20%, rgba(201,169,110,0.18) 80%, transparent);
  margin: 0 auto;
}

.catr-event-icon {
  color: rgba(201,169,110,0.65);
  margin-bottom: 0.6rem;
}
/* «Бокал» нарисован выше в своём viewBox (низ y=25 против y=27 у соседей) —
   под ним лишняя пустота, зазор до заголовка кажется больше. Компенсируем. */
.catr-event-col:first-child .catr-event-icon {
  margin-bottom: 0.5rem;
}

.catr-event-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.3rem, 2.5vw, 1.65rem);
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cream, #EFE2CF);
  margin: 0 0 0.8rem;
}

.catr-event-rule {
  display: block;
  width: 1.8rem;
  height: 1px;
  background: rgba(201,169,110,0.3);
  margin: 0 auto 1rem;
}

.catr-event-body {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  line-height: 1.72;
  color: rgba(239,226,207,0.48);
  max-width: 22ch;
  margin: 0;
}


/* ════════════════════════════════════════════
   3. CATERING MENUS
════════════════════════════════════════════ */
.catr-menus {
  background: #080202;
  padding-bottom: 0;
}

.catr-menus-header {
  text-align: center;
  padding: 4.25rem 0 3.5rem;   /* верхний отступ −15% (5rem → 4.25rem), десктоп */
}

.catr-menus-eyebrow {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(201,169,110,0.6);
  margin-bottom: 1rem;
}

.catr-menus-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--cream, #EFE2CF);
  margin: 0 0 1.2rem;
}

.catr-menus-rule {
  display: block;
  width: 3rem;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(201,169,110,0.4), transparent);
  margin: 0 auto;
}

.catr-menus-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.catr-menu-card {
  position: relative;
  overflow: hidden;
  min-height: 52vw;
  cursor: default;
  border-top: 1px solid rgba(201,169,110,0.08);
}

.catr-menu-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 700ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.catr-menu-card:hover .catr-menu-photo {
  transform: scale(1.04);
}

.catr-menu-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top,
      rgba(8,2,2,0.98) 0%,
      rgba(8,2,2,0.85) 28%,
      rgba(8,2,2,0.45) 58%,
      rgba(8,2,2,0.12) 100%
    );
}

.catr-menu-content {
  position: absolute;
  inset: auto 0 0 0;
  padding: 2rem 1.8rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.catr-menu-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  color: rgba(201,169,110,0.5);
  margin-bottom: 0.55rem;
}

.catr-menu-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.3rem, 3.5vw, 1.65rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--cream, #EFE2CF);
  margin: 0 0 0.65rem;
}

.catr-menu-divider {
  display: block;
  width: 1.8rem;
  height: 1px;
  background: rgba(201,169,110,0.3);
  margin-bottom: 0.75rem;
  transition: width 300ms ease;
}

.catr-menu-card:hover .catr-menu-divider {
  width: 2.8rem;
}

.catr-menu-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.86rem;
  line-height: 1.68;
  color: rgba(239,226,207,0.52);
  margin: 0;
  max-width: 28ch;
}


/* ════════════════════════════════════════════
   4. WINE EXPERIENCE
════════════════════════════════════════════ */
.catr-wine {
  position: relative;
  min-height: 52vh;
  display: flex;
  align-items: center;
  background: #080202;
  overflow: hidden;
  border-top: 1px solid rgba(201,169,110,0.08);
}

.catr-wine-photo {
  position: absolute;
  inset: 0 0 0 50%;
  background-size: cover;
  background-position: center 30%;
}

.catr-wine-photo-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to left,
      transparent 0%,
      transparent 45%,
      rgba(8,2,2,0.3) 65%,
      rgba(8,2,2,0.8) 82%,
      #080202 96%
    ),
    linear-gradient(to top,
      rgba(8,2,2,0.9) 0%,
      rgba(8,2,2,0.2) 25%,
      transparent 50%
    ),
    linear-gradient(to bottom,
      rgba(8,2,2,0.7) 0%,
      transparent 30%
    );
}

.catr-wine-inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.catr-wine-content {
  width: min(50%, 520px);
  padding: 5rem 0;
  display: flex;
  flex-direction: column;
}

.catr-wine-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(201,169,110,0.62);
  margin-bottom: 1.2rem;
  display: block;
}

.catr-wine-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.8rem, 3.8vw, 3.2rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--cream, #EFE2CF);
  margin: 0 0 0;
}

.catr-wine-rule {
  display: block;
  width: 2.5rem;   /* как hero-разделитель (.catr-hero-rule) */
  height: 1px;
  background: linear-gradient(to right, rgba(201,169,110,0.6), rgba(201,169,110,0.15));
  margin: 1.6rem 0;
}

.catr-wine-body {
  font-family: 'Inter', sans-serif;
  font-size: 0.96rem;
  line-height: 1.78;
  color: rgba(239,226,207,0.52);
  max-width: 34ch;
  margin: 0 0 2rem;
}

.catr-wine-link {
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(201,169,110,0.75);
  text-decoration: none;
  align-self: flex-start;
  transition: color 200ms, letter-spacing 200ms;
}
.catr-wine-link:hover {
  color: #EFE2CF;
  letter-spacing: 0.26em;
}


/* ════════════════════════════════════════════
   5. CTA
════════════════════════════════════════════ */
.catr-cta {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #080202;
  overflow: hidden;
}

.catr-cta-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 40%;
}

.catr-cta-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(8,2,2,0.85) 0%,
      rgba(8,2,2,0.65) 35%,
      rgba(8,2,2,0.72) 65%,
      rgba(8,2,2,0.92) 100%
    );
}

.catr-cta-inner {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
}

.catr-cta-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 5rem 0;
}

.catr-cta-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--cream, #EFE2CF);
  margin: 0 0 1.6rem;
  text-shadow: 0 2px 40px rgba(0,0,0,0.5);
}
.catr-cta-title em {
  font-style: italic;
  color: rgba(239,226,207,0.78);
}

.catr-cta-body {
  font-family: 'Inter', sans-serif;
  font-size: 0.96rem;
  line-height: 1.72;
  color: rgba(239,226,207,0.55);
  margin: 0 0 2.5rem;
}

.catr-cta-btn {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--cream, #EFE2CF);
  padding: 1rem 2.4rem;
  border: 1px solid rgba(201,169,110,0.35);
  border-radius: 4px;
  background: transparent;
  transition: background 220ms, border-color 220ms, box-shadow 220ms;
}
.catr-cta-btn:hover {
  background: rgba(201,169,110,0.1);
  border-color: rgba(201,169,110,0.65);
  box-shadow: 0 0 24px rgba(201,169,110,0.12);
}


/* ════════════════════════════════════════════
   MOBILE  (≤ 767px)
════════════════════════════════════════════ */
/* === MOBILE: CATERING === */
/* NAV-INDEX (sub-sections top->bottom): Hero | Event types | Menus | Wine | CTA */
@media (max-width: 767px) {

  /* Hero — full-bleed photo, text at bottom */
  .catr-hero {
    min-height: 68svh;
    align-items: center;
  }

  .catr-hero-photo {
    inset: 0 0 0 30%;
    background-position: center center;
  }

  .catr-hero-vignette {
    background:
      linear-gradient(to right,
        rgba(8,2,2,0.95) 0%,
        rgba(8,2,2,0.90) 25%,
        rgba(8,2,2,0.72) 38%,
        rgba(8,2,2,0.38) 52%,
        rgba(8,2,2,0.10) 66%,
        transparent 80%
      ),
      linear-gradient(to bottom,
        rgba(8,2,2,0.80) 0%,
        rgba(8,2,2,0.30) 16%,
        transparent 34%
      ),
      linear-gradient(to top,
        #080202 0%,
        rgba(8,2,2,0.97) 18%,
        rgba(8,2,2,0.72) 38%,
        rgba(8,2,2,0.30) 62%,
        transparent 78%
      );
  }

  .catr-hero-inner {
    align-items: flex-start;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .catr-hero-content {
    width: 58%;
    padding: 2rem 0 1.5rem;
  }

  .catr-eyebrow { display: none; }

  .catr-hero-body {
    font-size: 1.12rem;
    line-height: 1.72;
    max-width: 18rem;
    margin-bottom: 7vw;
    color: rgba(239,226,207,0.82);
    text-shadow: 0 1px 12px rgba(0,0,0,0.65), 0 2px 28px rgba(0,0,0,0.45);
  }

  .catr-hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem);
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: 7vw;
  }

  .catr-hero-btn {
    align-self: flex-start;
    width: min(272px, calc(100vw - 2.5rem));
    max-width: none;
    text-align: center;
    background: linear-gradient(160deg, #5a1120 0%, #7a1d30 55%, #5a1120 100%);
    border: 1px solid rgba(122,29,48,0.55);
    border-radius: 10px;
    color: var(--cream, #EFE2CF);
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    padding: 1.1rem 1.5rem;
    box-shadow: 0 6px 28px rgba(70,12,24,0.58), 0 1px 6px rgba(0,0,0,0.32);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Event types — stacked */
  .catr-events {
    padding: 3.5rem 0;
  }

  .catr-event-col {
    padding: 2rem 1.5rem;
  }

  .catr-events-sep {
    width: 80%;
  }

  /* Menus — stacked cards */
  .catr-menus-header {
    padding: 3.5rem 1.5rem 2.5rem;
  }

  .catr-menu-card {
    min-height: 68vw;
  }

  /* Wine — stacked */
  .catr-wine {
    flex-direction: column;
    min-height: auto;
  }

  .catr-wine-photo {
    position: static;
    width: 100%;
    height: 56vw;
    min-height: 220px;
  }

  .catr-wine-photo-overlay {
    background: linear-gradient(to bottom, transparent 0%, rgba(8,2,2,0.6) 80%);
  }

  .catr-wine-content {
    width: 100%;
    padding: 2.5rem clamp(1rem, 4vw, 1.5rem) 3rem;
  }

  /* CTA */
  .catr-cta {
    min-height: 70svh;
  }

  .catr-cta-title {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .catr-cta-btn {
    width: 100%;
    max-width: 320px;
    text-align: center;
  }

}


/* ════════════════════════════════════════════
   DESKTOP  (≥ 768px)
════════════════════════════════════════════ */
@media (min-width: 768px) {

  /* Hero: линию-разделитель показывает unified subpage hero в mobile.css.
     margin-top снимаем — иначе он суммируется с margin-bottom линии (flex,
     margins не схлопываются) и зазор линия→текст ≠ заголовок→линия.
     Эталон — hero страницы Menu: оба зазора по 1.5rem. */
  .catr-hero-body {
    margin-top: 0;
  }

  /* Event types — full-bleed, centered, разделители/отступы как у contact .ct-info */
  .catr-events {
    position: relative;
    /* внутренние отступы сверху и снизу одинаковые (−40%, затем ещё −10%) */
    padding: clamp(1.1rem, 2.21vw, 1.84rem) 0;
    border: none;
  }
  /* полоски сверху и снизу блока — точно как вертикальные разделители (.catr-events-sep) */
  .catr-events::before,
  .catr-events::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(201,169,110,0.22) 15%, rgba(201,169,110,0.22) 85%, transparent);
    pointer-events: none;
  }
  .catr-events::before { top: 0; }
  .catr-events::after { bottom: 0; }

  /* убираем маленькие линии-«точки» под заголовками колонок */
  .catr-event-rule {
    display: none;
  }

  .catr-events-inner {
    width: 100%;
    max-width: none;                            /* растянуть на всю ширину (как .ct-info-grid) */
  }

  .catr-events-grid {
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: stretch;
    width: 100%;
    max-width: none;
  }

  .catr-events-sep {
    width: 1px;
    height: auto;
    align-self: stretch;
    background: linear-gradient(to bottom, transparent, rgba(201,169,110,0.22) 15%, rgba(201,169,110,0.22) 85%, transparent);
    margin: 0 clamp(2rem, 4vw, 4rem);           /* как .ct-info-divider */
  }

  .catr-event-col {
    padding: 0;                                 /* как .ct-info-col (отступы дают разделители + секция) */
  }

  /* зазоры иконка→заголовок и заголовок→текст −20%, затем ещё −15% (только десктоп) */
  .catr-event-icon {
    margin-bottom: 0.41rem;   /* 0.6 −20% −15% */
  }
  .catr-event-col:first-child .catr-event-icon {
    margin-bottom: 0.34rem;   /* 0.5 −20% −15% (компенсация «бокала») */
  }

  /* шрифт −20% (комп версия) */
  .catr-event-title {
    font-size: clamp(0.94rem, 1.8vw, 1.19rem);   /* прежний −10% */
    margin-bottom: 0.54rem;   /* 0.8 −20% −15%: зазор заголовок→текст */
  }
  .catr-event-body {
    max-width: 38ch;   /* ширина текста → 2 строки */
    font-size: 0.72rem;
  }

  /* Menus — 2 columns tablet, 4 columns wide */
  .catr-menus-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: rgba(201,169,110,0.07);
  }

  .catr-menu-card {
    min-height: 42vh;
  }

  /* ── Editorial «Text Bottom Left»: фото на всю карточку, текст слева внизу ── */
  .catr-menu-overlay {
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.92) 0%,
      rgba(0,0,0,0.75) 35%,
      rgba(0,0,0,0.35) 60%,
      rgba(0,0,0,0.05) 100%
    );
  }

  .catr-menu-content {
    padding: 2.75rem;            /* 44px */
    align-items: flex-start;
    text-align: left;
  }

  .catr-menu-num {
    color: rgba(201,169,110,0.7);   /* золотой акцент-eyebrow */
    margin-bottom: 0.7rem;
  }

  /* Заголовок — главный элемент: +18% к размеру, тёплый ivory */
  .catr-menu-name {
    font-size: clamp(1.47rem, 3.9vw, 1.85rem);   /* −5% */
    color: #F3ECE4;
    margin-bottom: 0.7rem;
  }

  /* Линию-разделитель («точку») убираем */
  .catr-menu-divider {
    display: none;
  }

  /* Описание — в стиле hero body, тёплый ivory */
  .catr-menu-desc {
    font-size: 0.9rem;   /* −5% */
    line-height: 1.74;
    color: rgba(239,226,207,0.48);   /* как у текста event-блоков (.catr-event-body) */
    max-width: none;
  }

  /* Wine experience — side by side */
  .catr-wine {
    min-height: 58vh;
  }

  .catr-wine-photo {
    inset: 0 0 0 48%;
  }

  .catr-wine-content {
    padding: 6rem 0;
  }

  .catr-wine-title {
    font-size: clamp(2.48rem, 4.55vw, 4.47rem);   /* стиль hero, размер −8% */
    line-height: 0.94;
    letter-spacing: -0.015em;
  }

  /* CTA */
  .catr-cta {
    min-height: 65vh;
  }

  /* ── Desktop typography normalization — reference: hero body text ── */
  .catr-hero-body {
    font-family: 'Inter', sans-serif;
    font-size: clamp(0.93rem, 1.5vw, 1.05rem);
    font-style: normal;
    font-weight: 400;
    color: rgba(239,226,207,0.58);
    line-height: 1.74;
    max-width: 38ch;
    margin-bottom: 2.4rem;
  }

  .catr-wine-body {
    font-family: 'Inter', sans-serif;
    font-size: clamp(0.93rem, 1.5vw, 1.05rem);
    font-style: normal;
    font-weight: 400;
    color: rgba(239,226,207,0.58);
    line-height: 1.74;
    max-width: 38ch;
    margin-bottom: 2rem;
  }

  .catr-cta-body {
    font-family: 'Inter', sans-serif;
    font-size: clamp(0.93rem, 1.5vw, 1.05rem);
    font-style: normal;
    font-weight: 400;
    color: rgba(239,226,207,0.58);
    line-height: 1.74;
    margin-bottom: 2.5rem;
  }

}


/* ════════════════════════════════════════════
   DESKTOP WIDE  (≥ 1100px)
════════════════════════════════════════════ */
@media (min-width: 1100px) {

  /* Menus — 4 columns */
  .catr-menus-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .catr-menu-card {
    min-height: 52vh;
  }

  .catr-wine {
    min-height: 62vh;
  }

}


/* ════════════════════════════════════════════
   CATERING INQUIRY MODAL
   Reuses the global reservation-modal system
   (.modal / .modal-atmosphere / .modal-content / fields / submit / success).
   Here: catering photo for the left panel + benefits row.
════════════════════════════════════════════ */

/* Benefits row above the CTA — gold checks (shown on all widths) */
.catering-benefits {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.1rem;
  margin: 0;
  padding: 0.9rem 0 0.2rem;
  border-top: 1px solid rgba(239,226,207,0.1);
}
.catering-benefits li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.05em;
  color: rgba(243,236,228,0.72);
}
.catering-benefits svg {
  width: 13px;
  height: 13px;
  color: #c9a96e;   /* gold — site accent */
  flex-shrink: 0;
}

/* Desktop two-column panel: catering photo + supporting paragraph */
@media (min-width: 768px) {
  #catering-modal .modal-atmosphere {
    background: url('photos/catering/modal-block.webp') center 38% / cover no-repeat;
  }
  #catering-modal .modal-atm-body {
    margin: 0.9rem 0 0;
    font-family: 'Inter', sans-serif;
    font-size: 0.82rem;
    line-height: 1.6;
    color: rgba(243,236,228,0.72);
    max-width: 32ch;
  }
}


/* ── Кнопки в hero ── */
.catr-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.75rem;
}
.catr-hero-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
}

@media (min-width: 768px) {
  /* Ширину блока задаёт mobile.css (он грузится последним) — см. там
     блок «hero страницы кейтеринга: заголовок в две строки». */
}


/* ловушка для ботов в форме кейтеринга — вне экрана, но доступна роботу */
.cat-trap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.cat-form-error {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #E8A0A6;
}


/* Убираем стрелки-счётчик у числового поля: они мешают и выглядят
   чужеродно среди остальных полей. Ввод с клавиатуры не меняется. */
#catering-modal input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}
#catering-modal input[type="number"]::-webkit-outer-spin-button,
#catering-modal input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
