/* Лендинг «Рождество Христово» (/calendar/). Только отличия от шаблона /icons.
   ИСТОЧНИК — tools/templates/calendar.css; файл site/css/calendar.css выпускает tools/build_landing.py (руками не править). */

/* Общий красный фон под баннером: картинка присланная, без прямоугольника вокруг баннера. */
.banner:not(.skltn) { background-color: #5e0407 !important; }
.banner .banner-bg-image { object-fit: cover; }
.calendar-hero-art { position: relative; width: 100%; }
.calendar-hero-art .banner__image { width: 100%; height: auto; }

/* Слайдер всегда позади формы. У Swiper z-index: 1 в корневом слое, а форма живёт внутри
   .content-block со слоем z-index: auto, поэтому непрозрачный баннер перекрывал левый край карточки
   (урок 08.11.2026). С нулём порядок задаёт разметка: блок с формой идёт после баннера. */
.banner__slider.swiper { z-index: 0; }

/* Иллюстрации внутри вкладок: у .info__content унаследован height:100%, поэтому задаём пропорцию явно. */
body .info__content img.calendar-source-image { width: 100%; max-width: 800px; height: auto; aspect-ratio: 4 / 3; display: block; margin: 16px auto 20px; }

/* Подзаголовок «Первая медаль коллекции…»: заметно мельче заголовка вкладки (у h1 30 px / 23 px на телефоне, правка клиента 09.11).
   Правило `h2:not(:first-child) { margin-top: 34px !important }` ниже перебиваем специфичностью. */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content h2.calendar-subtitle:not(:first-child) { margin-top: 0 !important; margin-bottom: 18px; font-size: 22px !important; line-height: 1.35 !important; }
@media (max-width: 600px) { .b-layout__content.reborn .b-tabs__contents .b-tabs__content h2.calendar-subtitle:not(:first-child) { font-size: 18px !important; margin-bottom: 14px; } }

/* Блок «Word №2»: две медали на прозрачном фоне, номера на чеканке и подписи живым текстом (читаются на телефоне).
   Зачёркнутое клиентом (плашка «Экономия 50 %», таблица характеристик, плашка цены) в блок не входит. */
.calendar-medals { margin: 22px 0 26px; }
.calendar-medals__row { display: flex; gap: 2%; align-items: flex-start; }
.calendar-medals__item { flex: 1 1 0; min-width: 0; margin: 0; }
.calendar-medals__art { position: relative; }
body .info__content .calendar-medals img { display: block; width: 100%; height: auto; margin: 0; }
.calendar-pin { position: absolute; transform: translate(-50%, -50%); width: 30px; height: 30px; border-radius: 50%; background: #9b092d; color: #fff;
  border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .45); font: 700 15px/26px 'Geologica', sans-serif; text-align: center; }
/* `.b-tabs__content span` в шаблоне страницы задаёт серый цвет и вес 400 с !important — цифры в кружках были серыми (замечание 09.11) */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content .calendar-pin { color: #fff !important; font-weight: 700 !important; font-family: 'Geologica', sans-serif !important; opacity: 1 !important; font-size: 15px !important; line-height: 26px !important; }
.b-layout__content.reborn .b-tabs__contents .b-tabs__content .calendar-medals figcaption { margin: 4px 0 0; padding: 0 4px; font-size: 15px; line-height: 1.4; color: #3a3632; text-align: center; font-weight: 400; }
.b-layout__content.reborn .b-tabs__contents .b-tabs__content ol.calendar-medals__legend { list-style: none; counter-reset: pin; margin: 18px 0 0; padding: 0;
  position: static !important; width: auto !important; height: auto !important; top: auto !important;
  background: none !important; border-radius: 0 !important; }   /* шаблон страницы рисует из любого ol точку-маркер: бронзовый круг 6×6 px */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content ol.calendar-medals__legend li { counter-increment: pin; position: relative; width: auto !important; height: auto !important; margin: 0 0 10px; padding: 3px 0 3px 42px;
  font-size: 16px; line-height: 1.45; color: #1c1c1b; font-weight: 400; }
.calendar-medals__legend li::before { content: counter(pin); position: absolute; left: 0; top: 1px; width: 28px; height: 28px; border-radius: 50%; background: #9b092d; color: #fff;
  font: 700 14px/28px 'Geologica', sans-serif; text-align: center; }
@media (max-width: 600px) {
  .calendar-pin { width: 22px; height: 22px; border-width: 2px; }
  .b-layout__content.reborn .b-tabs__contents .b-tabs__content .calendar-pin { font-size: 12px !important; line-height: 18px !important; }
  .b-layout__content.reborn .b-tabs__contents .b-tabs__content .calendar-medals figcaption { font-size: 14px; }
  .b-layout__content.reborn .b-tabs__contents .b-tabs__content ol.calendar-medals__legend li { font-size: 15px; }
}

/* Звёздочка у «Коллекционные аксессуары в подарок*»: очень мелкая, по пометке в Word. */
.calendar-star { font-size: 9px; line-height: 1; vertical-align: super; font-weight: 400; }

/* Серый мелкий юридический текст [69] (по слову клиента «серым и мельче»).
   Это правило фактически НЕ применяется: inline-<style> страницы (из /icons) задаёт `.text_acc--conditions-small p`
   как 12px !important и rgba(28,28,27,.58) !important с большей специфичностью. Итоговый кегль — 12px (не 11px), так и оставлено. */
.b-layout__content.reborn .b-tabs__content p.calendar-legal { color: #898989; font-size: 11px !important; line-height: 1.5 !important; }
/* Контраст: .58 даёт 4.22:1 на белом (ниже 4.5:1 для аудитории 40+). Серый остаётся серым, плотность .64 (≈5:1). Два селектора:
   в основном тексте вкладки перебиваем правило страницы по специфичности, во всплывающей копии (вне .b-tabs__content) — вторым. */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content .text_acc--conditions-small p.calendar-legal,
.text_acc--conditions-small p.calendar-legal { color: rgba(28, 28, 27, .64) !important; }

/* Слово «пруф-лайк» не рвётся по дефису (builder оборачивает его в span.calendar-nowrap, текст и дефис U+002D сохранены). */
/* В шаблоне `.b-tabs__content span` (0,4,1) задаёт white-space: normal, font-weight 400 !important и свой цвет, из-за чего слово в span выглядело
   жирнее и темнее соседних слов абзаца. Перебиваем: nowrap, а шрифт и цвет наследуются от абзаца, как у слов вокруг. */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content span.calendar-nowrap { white-space: nowrap !important; font: inherit !important; color: inherit !important; }

/* Таблица характеристик */
.calendar-spec { margin: 0 0 1.5em; }
.calendar-spec table { width: 100%; border-collapse: collapse; }
.calendar-spec td { padding: 9px 10px; border-bottom: 1px solid #e6dcbf; vertical-align: top; font-size: 15px; line-height: 1.45; }
.calendar-spec tr:first-child td { font-weight: 700; color: #1c1c1b; border-bottom: 2px solid #c39a65; }
.calendar-spec td:first-child { width: 36%; }
.calendar-spec td:first-child span { font-weight: 600; }

/* Финальное предложение после вкладок */
.calendar-final-offer { margin: 28px 0; padding: 24px 28px; border-top: 1px solid #d9cdb6; color: #24211e; font-size: 16px; line-height: 1.65; }
.b-layout__content.reborn .calendar-final-offer h2 { display: block; font-family: 'Lazurski', Georgia, serif; font-size: 28px; line-height: 1.3; margin: 10px 0 16px; color: #9b092d; }
.b-layout__content.reborn .calendar-final-offer p { font-family: 'Geologica', sans-serif; font-size: 16px; line-height: 1.65; margin: 0 0 12px; }
.calendar-final-offer .btn-bottom-tab { display: inline-block; margin-top: 16px; }
/* Боковые поля как у текста вкладок: 28 px на десктопе (≥1181, вкладки), 16 px в аккордеонной раскладке (≤1180) и на телефоне. */
@media (max-width: 1180px) { .calendar-final-offer { padding-left: 16px; padding-right: 16px; } }
@media (max-width: 600px) { .calendar-final-offer { padding: 20px 16px; } .calendar-final-offer h2 { font-size: 24px; } }

/* Подвал: блок «Как оформить заказ?» — четвёртая колонка */
@media (min-width: 861px) { .foot__in { grid-template-columns: 190px 1fr 1fr 1fr; } }
.foot__col.calendar-how p { margin: 0 0 6px; font-size: 14px; line-height: 1.5; }
.foot__col.calendar-how h3 { margin-bottom: 8px; }
/* Номер телефона не рвётся по дефису (320 и ≈1000 px). */
.foot__col.calendar-how a[href^="tel:"] { white-space: nowrap; }
/* Ссылки блока «Как оформить заказ?» на тёмном подвале: светлые, как остальные ссылки подвала (приёмка 08.11: контраст был 2.32:1) */
.foot__col.calendar-how a { color: #f3eddf; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(243,237,223,.28); }
.foot__col.calendar-how a:hover { color: #c39a65; border-bottom-color: #c39a65; }


/* Панель вкладок: длинные подписи не должны уходить под карточку формы. */
.b-tabs__tabs .b-tabs__tabs-wrap .b-tabs__tab { white-space: normal; text-align: center; }
@media (min-width: 1025px) {
  .info__content.b-tabs__content--active { max-height: none !important; }
}
/* Раскрытая мобильная панель не должна хранить десктопную высоту после изменения размера окна. */
@media (max-width: 1180px) {
  .info__accordion.active > .info__accordion-hidden { max-height: none !important; }
}

/* Заголовки вкладок: отступ сверху, чтобы не прилипали к абзацу выше (в шаблоне только margin-bottom). */
.b-layout__content.reborn .b-tabs__contents .b-tabs__content h2:not(:first-child) { margin-top: 34px !important; }

/* Неразрывный пробел в Lazurski. У шрифта этот символ имеет нулевую ширину («напамятной»), а запасной
   local('Georgia') есть не на всех устройствах (в Linux-госте и на части Android его нет). Подключаем
   Geologica для одного символа U+00A0: она лежит на сайте и есть везде. Правило стоит последним,
   поэтому имеет приоритет над local(). */
@font-face { font-family: 'Lazurski'; src: url('../fonts/Geologica-Regular.woff2') format('woff2');
  unicode-range: U+00A0; font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lazurski'; src: url('../fonts/Geologica-Bold.woff2') format('woff2');
  unicode-range: U+00A0; font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lazurski'; src: url('../fonts/Geologica-Regular.woff2') format('woff2');
  unicode-range: U+00A0; font-weight: 400; font-style: italic; font-display: swap; }
