/* ==========================================================================
   Страница «Корпоративы» — АМАКС «Валдайские Зори»
   Изолированные стили: все селекторы начинаются с .vz-corp
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&family=Balsamiq+Sans:wght@700&display=swap');

.vz-corp {
  --vz-red: #a3120f;
  --vz-red-dark: #7c0e0c;
  --vz-red-darker: #5c0a09;
  --vz-green: #123a17;
  --vz-green-dark: #08220c;
  --vz-green-deep: #051805;
  --vz-gold: #d8b56a;
  --vz-gold-light: #f0dca4;
  --vz-cream: #fbe7c4;
  --vz-cream-light: #fdf0d9;
  --vz-cream-card: #f7e6c3;
  --vz-ink: #1e3a19;
  --vz-ink-soft: #2c4322;
  --vz-maroon: #7a1210;

  all: initial;
  display: block;
  box-sizing: border-box;
  font-family: 'Jost', Arial, sans-serif !important;
  color: var(--vz-ink);
  line-height: 1.45;
  font-size: 16px;
  background: transparent;
  padding: clamp(8px, 1.4vw, 20px);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.vz-corp *,
.vz-corp *::before,
.vz-corp *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-family: 'Jost', Arial, sans-serif !important;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  color: inherit;
  text-decoration: none;
  text-align: left;
  list-style: none;
  vertical-align: baseline;
  background: transparent;
  letter-spacing: normal;
  text-transform: none;
  white-space: normal;
  filter: none;
  -webkit-filter: none;
  transform: none;
  text-shadow: none;
  box-shadow: none;
  outline: none;
  mix-blend-mode: normal;
  opacity: 1;
  animation: none;
  transition: none;
  float: none;
  clip-path: none;
}

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

.vz-corp a {
  cursor: pointer;
}

.vz-corp h1, .vz-corp h2, .vz-corp h3, .vz-corp p, .vz-corp ul, .vz-corp ol { display: block; }

/* -------------------------------------------------------------------- */
/* Блоки-карточки                                                         */
/* -------------------------------------------------------------------- */

.vz-corp__section {
  position: relative;
  overflow: hidden;
  border-radius: clamp(14px, 1.8vw, 28px);
}
.vz-corp__section + .vz-corp__section { margin-top: clamp(8px, 1.4vw, 20px); }

.vz-corp__sr {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

.vz-corp__hero { background: #0d2a12; }
.vz-corp__hero-img { width: 100%; height: auto; }

/* -------------------------------------------------------------------- */
/* Десктоп: картинка слайда = фон, всё живое поверх. Координаты и размеры */
/* сняты с Макет-Корпоративы.pdf (блоки 2–5) и 6.png (контакты), кадр     */
/* 2901×1088; размеры в cqw, чтобы масштабировались вместе со слайдом.    */
/* -------------------------------------------------------------------- */

.vz-corp__stage {
  position: relative;
  aspect-ratio: 2901 / 1088;
  container-type: inline-size;
}
.vz-corp__stage-img { position: absolute; inset: 0; width: 100%; height: 100%; }
.vz-corp__over { position: absolute; z-index: 2; }

/* выбор вечера: ссылка = портрет (на фоне) + кремовая карточка */
.vz-corp__pick { top: 30.33%; width: 18.79%; height: 63.51%; display: block; }
.vz-corp__ov-pick1 { left: 20.54%; }
.vz-corp__ov-pick2 { left: 41.26%; }
.vz-corp__ov-pick3 { left: 61.98%; }
.vz-corp__pcard {
  position: absolute; left: 0; right: 0; bottom: 0; height: 8.825cqw;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  padding: 0 0.414cqw;
  background: rgba(255, 238, 213, 0.82); border-radius: 2.275cqw;
  transition: background-color 0.15s ease;
}
.vz-corp__pick:hover .vz-corp__pcard,
.vz-corp__pick:focus-visible .vz-corp__pcard { background: rgba(255, 244, 226, 0.97); }
.vz-corp__pcard-date, .vz-corp__pcard-name {
  display: block; text-align: center; font-weight: 600; font-size: 1.310cqw; line-height: 0.895; color: #1d3609;
}
.vz-corp__pcard-date { text-transform: uppercase; }
.vz-corp__pcard-desc {
  display: block; text-align: center; font-size: 1.241cqw; line-height: 0.889; color: #1d3609;
  margin-top: 1.344cqw; padding: 0 1.379cqw;
}

/* карточка описания вечера: фиксированный прямоугольник из макета */
.vz-corp__card {
  display: flex; flex-direction: column; justify-content: center;
  background: rgba(255, 238, 213, 0.82); border-radius: 2.275cqw;
  color: #1d3609;
}
.vz-corp__card-lead {
  font-weight: 600; font-size: 1.000cqw; line-height: 0.897; text-transform: uppercase; white-space: nowrap;
  margin-bottom: 1.034cqw;
}
.vz-corp__card-list li, .vz-corp__card-meta, .vz-corp__card-price {
  font-size: 0.931cqw; line-height: 0.889;
}
.vz-corp__card-list li::before, .vz-corp__mcard-list li::before { content: '• '; }
.vz-corp__card-list, .vz-corp__card-meta { margin-bottom: 0.827cqw; }

/* красная кнопка-пилюля */
.vz-corp__btn {
  display: flex; align-items: center; justify-content: center;
  width: 27.99%; height: 10.75%;
  background: #b3170f; color: #f9e0b9 !important; border-radius: 999px;
  font-size: 1.479cqw; font-weight: 400; text-transform: uppercase; white-space: nowrap;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.vz-corp__btn:hover, .vz-corp__btn:focus-visible { background: #c81d14; transform: translateY(-0.2cqw); }

/* «смотри дальше» — жирный рукописный */
.vz-corp__more {
  font-family: 'Balsamiq Sans', 'Jost', cursive !important; font-weight: 700;
  font-size: 1.930cqw; line-height: 1; color: #000 !important; white-space: nowrap;
  transition: opacity 0.15s ease;
}
.vz-corp__more:hover { opacity: 0.7; }

.vz-corp__ov-card1 { left: 38.19%; top: 30.51%; width: 35.13%; height: 39.06%; padding: 0 0 0.276cqw 1.689cqw; }
.vz-corp__ov-book1 { left: 36.02%; top: 81.07%; }
.vz-corp__ov-more1 { left: 78.21%; top: 85.66%; }
.vz-corp__ov-card2 { left: 38.30%; top: 28.95%; width: 35.13%; height: 42.19%; padding: 0 0 0.620cqw 1.689cqw; }
.vz-corp__ov-book2 { left: 36.47%; top: 82.35%; }
.vz-corp__ov-more2 { left: 78.97%; top: 89.25%; }
.vz-corp__ov-card3 { left: 37.26%; top: 30.88%; width: 35.13%; height: 38.33%; padding: 0 0 0.207cqw 2.447cqw; }
.vz-corp__ov-book3 { left: 37.26%; top: 82.54%; }
.vz-corp__ov-card3 .vz-corp__card-meta { margin-bottom: 1.655cqw; }

/* контакты (6.png): текст в кремовой карточке, карточка в картинке */
.vz-corp__ov-ctext {
  left: 32.26%; top: 41.08%; white-space: nowrap;
  font-weight: 600; font-size: 1.551cqw; line-height: 0.889; color: #b3170f;
}
.vz-corp__phone { display: block; margin-top: 1.379cqw; color: #b3170f !important; }
.vz-corp__phone:hover { color: #7c0e0c !important; }

/* -------------------------------------------------------------------- */
/* Мобильный (<=860px): живой текст и карточки столбиком, фон в цвет       */
/* макета, декор макета по углам (m-deco-*.webp, прозрачный фон).          */
/* -------------------------------------------------------------------- */

.vz-corp__mstack { display: none; }
@media (max-width: 860px) {
  .vz-corp__stage { display: none; }
  .vz-corp__mstack {
    position: relative;
    display: flex; flex-direction: column; align-items: center;
    gap: 16px; padding: 30px 16px 34px;
  }
  .vz-corp__beige { background: radial-gradient(130% 70% at 50% 40%, #fbe9cf 0%, #f1d9ae 55%, #e3c28c 100%); }
  .vz-corp__green { background: linear-gradient(180deg, #0c381a 0%, #093019 55%, #062713 100%); }
}

.vz-corp__mstack > * { position: relative; z-index: 1; }
.vz-corp__mstack > .vz-corp__mdeco { position: absolute; z-index: 0; pointer-events: none; }
.vz-corp__mdeco--picker-tl { left: -8px; top: 0; width: 30%; max-width: 190px; }
.vz-corp__mdeco--picker-bl { left: -10px; bottom: 0; width: 42%; max-width: 250px; }
.vz-corp__mdeco--event1-l { left: -6px; top: 0; width: 17%; max-width: 110px; }
.vz-corp__mdeco--event1-r { right: -6px; top: 10px; width: 26%; max-width: 170px; }
.vz-corp__mdeco--event2-tl { left: -6px; top: 0; width: 24%; max-width: 160px; }
.vz-corp__mdeco--event2-tr { right: -6px; top: 0; width: 25%; max-width: 170px; }
.vz-corp__mdeco--event3-tl { left: -6px; top: 0; width: 22%; max-width: 150px; }
.vz-corp__mdeco--event3-r { right: -6px; top: 0; width: 24%; max-width: 160px; }
.vz-corp__mdeco--contact-tl { left: -6px; top: 0; width: 26%; max-width: 170px; }
.vz-corp__mdeco--contact-tr { right: -6px; top: 0; width: 24%; max-width: 160px; }

.vz-corp__mkicker {
  font-weight: 600; font-size: 15px; letter-spacing: 0.02em; text-transform: uppercase;
  color: #1d3609; text-align: center; margin-top: 44px;
}
.vz-corp__mtitle {
  max-width: 64%; font-weight: 600; font-size: 26px; line-height: 1.05;
  text-transform: uppercase; color: #b3170f; text-align: center;
}
.vz-corp__mkicker + .vz-corp__mtitle { margin-top: -6px; max-width: 86%; }
.vz-corp__mtitle--light { max-width: 84%; font-size: 18px; line-height: 1.15; color: #fbf0d5; margin-top: 34px; }

.vz-corp__mportrait { width: 78%; max-width: 320px; }

.vz-corp__mpick { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 340px; }
.vz-corp__mpick-img { width: 60%; max-width: 210px; margin-bottom: -10px; }
.vz-corp__mpcard {
  width: 100%; background: rgba(255, 238, 213, 0.88); border-radius: 22px;
  padding: 16px 20px 18px; text-align: center; color: #1d3609;
}
.vz-corp__mpcard b, .vz-corp__mpcard span { display: block; text-align: center; font-weight: 600; font-size: 17px; line-height: 1.15; }
.vz-corp__mpcard b { text-transform: uppercase; }
.vz-corp__mpcard small { display: block; text-align: center; font-size: 15px; line-height: 1.25; margin-top: 8px; }

.vz-corp__mcard {
  width: 100%; max-width: 560px; background: rgba(255, 238, 213, 0.88);
  border-radius: 22px; padding: 22px 20px; color: #1d3609;
}
.vz-corp__mcard-lead { font-weight: 600; font-size: 15px; line-height: 1.2; text-transform: uppercase; margin-bottom: 14px; }
.vz-corp__mcard-list li, .vz-corp__mcard-meta, .vz-corp__mcard-price { font-size: 15px; line-height: 1.3; }
.vz-corp__mcard-list li { margin-bottom: 4px; }
.vz-corp__mcard-list, .vz-corp__mcard-meta { margin-bottom: 14px; }

.vz-corp__mbtn {
  display: inline-block; background: #b3170f; color: #f9e0b9 !important;
  font-size: 16px; text-transform: uppercase; text-align: center;
  padding: 16px 30px; border-radius: 999px;
}
.vz-corp__mmore {
  font-family: 'Balsamiq Sans', 'Jost', cursive !important; font-weight: 700;
  font-size: 24px; color: #000 !important;
}

.vz-corp__mccard {
  width: 100%; max-width: 520px; background: #fbf0d5; border-radius: 22px;
  padding: 24px 22px 28px; color: #b3170f; font-weight: 600; font-size: 17px; line-height: 1.25;
}
.vz-corp__mphone { display: block; margin-top: 14px; font-size: 24px; font-weight: 600; color: #b3170f !important; }
.vz-corp__mgarland { width: 78%; max-width: 400px; margin-top: -18px; }
.vz-corp__mfoot { display: flex; align-items: flex-end; justify-content: space-between; width: calc(100% + 32px); margin: 0 -16px -34px; }
.vz-corp__mfoot-img { width: 30%; max-width: 180px; }
.vz-corp__mslogan { flex: 1; padding-bottom: 30px; color: #fbf0d5; text-align: center; }
.vz-corp__mslogan b { display: block; text-align: center; font-weight: 700; font-size: 24px; line-height: 1; text-transform: uppercase; }
.vz-corp__mslogan span { display: block; text-align: center; font-size: 12px; margin-top: 6px; }
