.promo-strip[hidden],.promo-selected[hidden]{display:none!important}.promo-strip{margin:28px auto!important}.promo-slide{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);overflow:hidden;border:1px solid #d9dfbf;border-radius:26px;background:#fff9ed;box-shadow:0 9px 25px #264d1710;color:#233d27}.promo-art{padding:0;border:0;cursor:pointer;background:#193d29;display:flex;align-items:center}.promo-art picture{width:100%}.promo-art img{width:100%;height:auto;max-height:330px;object-fit:contain;display:block}.promo-slide-copy{padding:24px 28px}.promo-slide-copy h2{font-size:clamp(21px,2.1vw,30px);line-height:1.15;margin:8px 0 12px}.promo-slide-copy p:not(.eyebrow){font-size:15px;line-height:1.5;margin:10px 0}.promo-tags{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0;font-size:16px}.promo-tags strong{color:#a82b23}.promo-tags span{border:1px solid #c6d3ac;border-radius:30px;padding:5px 12px}.promo-controls{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:10px}.promo-controls button,.promo-selected button{min-width:44px;min-height:44px;border:1px solid #79955a;border-radius:12px;color:#26492d;background:#fff9ed;cursor:pointer}.promo-dialog{border:0;border-radius:24px;padding:0;max-width:850px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;background:#fff9ed;color:#233d27;box-shadow:0 25px 100px #0005}.promo-dialog::backdrop{background:#142a21b8}.promo-modal-open{overflow:hidden}.promo-close{position:sticky;top:12px;float:right;z-index:2;margin:12px 12px -60px 0;width:44px;height:44px;border-radius:50%;border:1px solid #365b35;background:#fff9ed;font-size:30px;color:#26492d;cursor:pointer}.promo-full-image{background:#193d29}.promo-full-image img{width:100%;height:auto;max-height:560px;object-fit:contain;display:block}.promo-content{padding:24px 32px}.promo-content h2{font-size:clamp(25px,4vw,38px);line-height:1.15}.promo-description{white-space:pre-line;font-size:16px;line-height:1.7}.promo-period{font-size:14px;line-height:1.6}.promo-content address{font-style:normal;line-height:1.7;margin:20px 0}.promo-permalink{display:block;margin:0 32px 28px}.promo-selected{padding:14px;border:1px solid #9bb66e;border-radius:14px;background:#edf3df;color:#233d27;display:flex;gap:12px;align-items:center;justify-content:space-between;grid-column:1/-1;font-size:14px}.promo-selected button{padding:4px 12px;flex:none}.promo-landing{max-width:960px;margin:35px auto;background:#fff9ed;border-radius:24px;overflow:hidden}.promo-landing>h1,.promo-landing>p,.promo-landing>.btn{margin:24px}.promo-strip .btn,.promo-content .btn{min-height:44px}.promo-strip button:focus-visible,.promo-dialog button:focus-visible{outline:3px solid #b14426;outline-offset:3px}@media(max-width:640px){.promo-strip{margin:18px auto!important}.promo-slide{grid-template-columns:1fr}.promo-art img{max-height:230px}.promo-slide-copy{padding:18px}.promo-slide-copy h2{font-size:23px}.promo-slide-copy p:not(.eyebrow){font-size:14px}.promo-content{padding:20px}.promo-dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:18px}.promo-selected{align-items:flex-start}.promo-selected span{overflow-wrap:anywhere}}

.event-program-note{padding:12px;border-radius:12px;background:#edf3df;color:#263e2a;font-size:16px;overflow-wrap:anywhere}.event-menu-label[hidden],.event-program-note[hidden]{display:none!important}



/* ARTISHOK_PROMO_LAYOUT_V2_START */

/* =========================================================
   АФИША / АКЦИИ
   1. фото полностью заполняет левую половину
   2. никаких зелёных полос
   3. управление внутри карточки справа снизу
   ========================================================= */


/* Сам модуль */
.promo-strip {
  position: relative !important;
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}


/* Основная большая карточка */
.promo-strip .promo-slide {
  position: relative !important;

  display: grid !important;
  grid-template-columns: 42% 58% !important;

  min-height: 440px !important;

  overflow: hidden !important;

  border-radius: 30px !important;
}


/* =========================================================
   ФОТО
   ========================================================= */

.promo-strip .promo-art {
  position: relative !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 440px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  cursor: pointer;
}


/* picture также занимает всю область */
.promo-strip .promo-art picture {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Само изображение */
.promo-strip .promo-art picture img,
.promo-strip .promo-art > img {
  position: absolute !important;
  inset: 0 !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;

  min-width: 100% !important;
  min-height: 100% !important;

  max-width: none !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
}


/* Убираем любые псевдофоны */
.promo-strip .promo-art::before,
.promo-strip .promo-art::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   ТЕКСТОВАЯ ЧАСТЬ
   ========================================================= */

.promo-strip .promo-slide-copy {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;

  box-sizing: border-box !important;

  min-width: 0 !important;
  min-height: 440px !important;

  padding:
    38px 42px 100px 42px !important;
}


/* Подробнее остаётся слева,
   а справа внизу будет управление */
.promo-strip .promo-more {
  align-self: flex-start !important;
}


/* =========================================================
   УПРАВЛЕНИЕ
   ========================================================= */

.promo-strip .promo-controls {
  position: absolute !important;

  right: 28px !important;
  bottom: 24px !important;
  left: auto !important;
  top: auto !important;

  z-index: 30 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  gap: 8px !important;

  width: auto !important;

  margin: 0 !important;
  padding: 7px !important;

  border:
    1px solid rgba(35, 71, 45, .16) !important;

  border-radius: 18px !important;

  background:
    rgba(255, 249, 237, .88) !important;

  box-shadow:
    0 10px 28px rgba(35, 71, 45, .12) !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}


/* кнопки ← → пауза */
.promo-strip .promo-controls button {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  height: 42px !important;

  min-width: 42px !important;
  min-height: 42px !important;

  margin: 0 !important;
  padding: 0 !important;

  border:
    1px solid rgba(35, 71, 45, .25) !important;

  border-radius: 13px !important;

  background:
    rgba(255, 255, 255, .40) !important;

  color: #23472d !important;

  font-size: 20px !important;
  line-height: 1 !important;

  cursor: pointer !important;

  transition:
    background .18s ease,
    transform .18s ease !important;
}


.promo-strip .promo-controls button:hover {
  background:
    rgba(255, 255, 255, .85) !important;

  transform:
    translateY(-1px);
}


/* счётчик 4 / 4 */
.promo-strip .promo-controls > span {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  min-width: 48px !important;

  margin: 0 !important;
  padding: 0 5px !important;

  white-space: nowrap !important;

  color: #23472d !important;

  font-weight: 700 !important;
}


/* =========================================================
   ПЛАНШЕТ
   ========================================================= */

@media (max-width: 1000px) {

  .promo-strip .promo-slide {
    grid-template-columns:
      46% 54% !important;

    min-height: 400px !important;
  }

  .promo-strip .promo-art {
    min-height: 400px !important;
  }

  .promo-strip .promo-slide-copy {
    min-height: 400px !important;

    padding:
      30px 28px 92px 28px !important;
  }

  .promo-strip .promo-controls {
    right: 20px !important;
    bottom: 18px !important;
  }

}


/* =========================================================
   ТЕЛЕФОН
   ========================================================= */

@media (max-width: 700px) {

  .promo-strip .promo-slide {
    display: block !important;

    min-height: 0 !important;

    border-radius: 22px !important;
  }


  .promo-strip .promo-art {
    width: 100% !important;
    height: auto !important;

    min-height: 0 !important;

    aspect-ratio: 16 / 10 !important;
  }


  .promo-strip .promo-art picture {
    position: absolute !important;
    inset: 0 !important;
  }


  .promo-strip .promo-art picture img,
  .promo-strip .promo-art > img {
    object-fit: cover !important;
    object-position: center center !important;
  }


  .promo-strip .promo-slide-copy {
    min-height: 0 !important;

    padding:
      25px 22px 88px 22px !important;
  }


  .promo-strip .promo-controls {
    right: 14px !important;
    bottom: 14px !important;

    padding: 5px !important;

    gap: 5px !important;

    border-radius: 15px !important;
  }


  .promo-strip .promo-controls button {
    width: 38px !important;
    height: 38px !important;

    min-width: 38px !important;
    min-height: 38px !important;

    border-radius: 11px !important;

    font-size: 18px !important;
  }


  .promo-strip .promo-controls > span {
    min-width: 42px !important;

    font-size: 14px !important;
  }

}

/* ARTISHOK_PROMO_LAYOUT_V2_END */



/* ARTISHOK_PROMO_TEXT_SAFE_START */

/* ==================================================
   АФИША / АКЦИИ
   Без обрезания заголовка и описания
   ================================================== */

/* Десктоп */

.promo-strip .promo-slide {
  height: auto !important;
  min-height: 440px !important;
  max-height: none !important;
  overflow: hidden;
}

.promo-strip .promo-art {
  min-height: 440px !important;
  max-height: none !important;
  align-self: stretch !important;
  object-fit: cover !important;
}

.promo-strip .promo-slide-copy {
  height: auto !important;
  min-height: 440px !important;
  max-height: none !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}

/* Заголовок показываем полностью */

.promo-strip .promo-slide-copy h2 {
  display: block !important;

  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;

  height: auto !important;
  max-height: none !important;

  overflow: visible !important;
  text-overflow: unset !important;

  line-height: 1.12 !important;
  padding-bottom: 0.08em !important;
}

/* Описание показываем полностью */

.promo-strip .promo-slide-copy > p:not(.eyebrow) {
  display: block !important;

  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;

  height: auto !important;
  max-height: none !important;

  overflow: visible !important;
  text-overflow: unset !important;

  line-height: 1.45 !important;
}

/* Планшет */

@media (max-width: 1000px) {

  .promo-strip .promo-slide {
    height: auto !important;
    min-height: 420px !important;
    max-height: none !important;
  }

  .promo-strip .promo-art {
    min-height: 420px !important;
    max-height: none !important;
  }

  .promo-strip .promo-slide-copy {
    height: auto !important;
    min-height: 420px !important;
    max-height: none !important;
  }
}

/* Телефон */

@media (max-width: 700px) {

  .promo-strip .promo-slide {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .promo-strip .promo-art {
    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  .promo-strip .promo-slide-copy {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .promo-strip .promo-slide-copy h2 {
    line-height: 1.12 !important;
  }

  .promo-strip .promo-slide-copy > p:not(.eyebrow) {
    line-height: 1.45 !important;
  }
}

/* ARTISHOK_PROMO_TEXT_SAFE_END */



/* ARTISHOK_PROMO_TEXT_LAYOUT_START */

/* =================================================
   АФИША — ФИКСИРОВАННАЯ ВЫСОТА
   Исправление отображения длинного текста
   ================================================= */

/* Высота НЕ меняется */

.promo-strip .promo-slide {
  height: 440px !important;
  min-height: 440px !important;
  max-height: 440px !important;
}

.promo-strip .promo-art {
  height: 440px !important;
  min-height: 440px !important;
  max-height: 440px !important;
}

.promo-strip .promo-slide-copy {
  height: 440px !important;
  min-height: 440px !important;
  max-height: 440px !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Заголовок:
   максимум 2 строки,
   но буквы больше не подрезаются */

.promo-strip .promo-slide-copy h2 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;

  overflow: hidden !important;

  line-height: 1.13 !important;
  max-height: calc(2 * 1.13em + 6px) !important;

  padding-bottom: 6px !important;
  margin-bottom: 12px !important;
}

/* Описание:
   аккуратные 3 строки с многоточием */

.promo-strip .promo-slide-copy > p:not(.eyebrow) {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;

  overflow: hidden !important;
  text-overflow: ellipsis !important;

  line-height: 1.42 !important;
  max-height: calc(3 * 1.42em) !important;

  margin-bottom: 14px !important;
}

/* Планшет */

@media (max-width: 1000px) {

  .promo-strip .promo-slide,
  .promo-strip .promo-art,
  .promo-strip .promo-slide-copy {
    height: 420px !important;
    min-height: 420px !important;
    max-height: 420px !important;
  }

  .promo-strip .promo-slide-copy h2 {
    -webkit-line-clamp: 2 !important;
  }

  .promo-strip .promo-slide-copy > p:not(.eyebrow) {
    -webkit-line-clamp: 3 !important;
  }
}

/* Телефон */

@media (max-width: 700px) {

  .promo-strip .promo-slide {
    height: 590px !important;
    min-height: 590px !important;
    max-height: 590px !important;
  }

  .promo-strip .promo-art {
    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;
  }

  .promo-strip .promo-slide-copy {
    height: 345px !important;
    min-height: 345px !important;
    max-height: 345px !important;
  }

  .promo-strip .promo-slide-copy h2 {
    -webkit-line-clamp: 2 !important;
    line-height: 1.12 !important;
    max-height: calc(2 * 1.12em + 5px) !important;
    padding-bottom: 5px !important;
  }

  .promo-strip .promo-slide-copy > p:not(.eyebrow) {
    -webkit-line-clamp: 3 !important;
    line-height: 1.35 !important;
  }
}

/* ARTISHOK_PROMO_TEXT_LAYOUT_END */


