:root {
  --promo-version: "20260914-akcii2";
}

.home-promo-slide--promotion {
  background: #24231e;
}

.home-promo-slide--promotion .home-promo-photo {
  object-position: center !important;
  transform: scale(1.018) !important;
  transition: transform 8.4s cubic-bezier(.2, .55, .3, 1) !important;
}

.home-promo-slide--promotion.is-active .home-promo-photo {
  transform: scale(1) !important;
}

.page-promotions main,
.page-finish-collection main {
  background: #fff;
}

.promotions-intro,
.finish-collection-intro {
  padding: 72px 0 58px;
  border-bottom: 1px solid var(--brand-line, rgba(23, 25, 22, .14));
}

.promotions-intro .crumbs,
.finish-collection-intro .crumbs {
  margin-bottom: 52px;
}

.promotions-heading,
.finish-collection-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  align-items: end;
  gap: 64px;
}

.promotions-heading h1,
.finish-collection-heading h1 {
  max-width: 820px;
  margin: 0;
  color: var(--brand-ink, #171916);
  font: 400 clamp(48px, 6.4vw, 92px)/.98 var(--font-display, Georgia, serif);
  letter-spacing: -.035em;
}

.promotions-heading p,
.finish-collection-heading p {
  margin: 0 0 7px;
  color: var(--brand-muted, #747971);
  font-size: 16px;
  line-height: 1.75;
}

.promotions-list,
.finish-collection-list {
  padding: 78px 0 112px;
}

.promotions-grid {
  display: grid;
  gap: 72px;
}

.promotion-card {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .72fr);
  align-items: stretch;
  min-width: 0;
  color: var(--brand-text, #343733);
  text-decoration: none;
  border-top: 1px solid var(--brand-line, rgba(23, 25, 22, .14));
  border-bottom: 1px solid var(--brand-line, rgba(23, 25, 22, .14));
  background: #fff;
}

.promotion-card__media {
  display: block;
  min-height: 420px;
  overflow: hidden;
  background: #27261f;
}

.promotion-card__media picture {
  display: block;
  width: 100%;
  height: 100%;
}

[data-promo-image] {
  opacity: 0;
}

[data-promo-image].is-loaded {
  opacity: 1;
}

.promotion-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .16s linear, transform .8s var(--brand-ease-out, cubic-bezier(.16, 1, .3, 1));
}

.promotion-card:hover .promotion-card__media img {
  transform: scale(1.018);
}

.promotion-card__copy {
  display: grid;
  align-content: center;
  padding: 46px 44px;
}

.promotion-card__copy small,
.finish-card small {
  margin-bottom: 16px;
  color: var(--brand-moss-deep, #46533f);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.promotion-card__copy h2 {
  margin: 0;
  color: var(--brand-ink, #171916);
  font: 400 clamp(28px, 1.95vw, 34px)/1.08 var(--font-display, Georgia, serif);
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.promotion-card__copy p {
  margin: 22px 0 0;
  color: var(--brand-muted, #747971);
  font-size: 15px;
  line-height: 1.72;
}

.promotion-card__link,
.finish-card__link {
  width: max-content;
  margin-top: 28px;
  padding-bottom: 5px;
  color: var(--brand-moss-deep, #46533f);
  font-size: 13px;
  font-weight: 700;
  border-bottom: 1px solid rgba(70, 83, 63, .36);
}

.promotions-note {
  margin: -28px 0 0;
  color: var(--brand-muted, #747971);
  font-size: 13px;
  line-height: 1.6;
}

.finish-collection-hero {
  margin: 0;
  padding: 0;
}

.finish-collection-hero a {
  display: block;
  background: #22231f;
}

.finish-collection-hero picture,
.finish-collection-hero img {
  display: block;
  width: 100%;
}

.finish-collection-hero img {
  height: min(68vh, 780px);
  min-height: 480px;
  object-fit: cover;
}

.finish-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 54px 34px;
}

.finish-card {
  display: grid;
  align-content: start;
  min-width: 0;
  color: var(--brand-text, #343733);
  text-decoration: none;
}

.finish-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  background: #efefe9;
  transition: transform .8s var(--brand-ease-out, cubic-bezier(.16, 1, .3, 1));
}

.finish-card:hover img {
  transform: scale(1.016);
}

.finish-card__copy {
  display: grid;
  padding-top: 22px;
}

.finish-card h2 {
  margin: 0;
  color: var(--brand-ink, #171916);
  font: 400 34px/1.08 var(--font-display, Georgia, serif);
}

.finish-card p {
  margin: 14px 0 0;
  color: var(--brand-muted, #747971);
  font-size: 14px;
  line-height: 1.68;
}

@media (max-width: 900px) {
  .promotions-heading,
  .finish-collection-heading,
  .promotion-card {
    grid-template-columns: 1fr;
  }

  .promotions-heading,
  .finish-collection-heading {
    gap: 28px;
  }

  .promotion-card__media {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .promotion-card__copy {
    padding: 34px 0 40px;
  }

  .finish-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .home-promo-slide--promotion .home-promo-photo {
    transform: scale(1.008) !important;
  }

  .promotions-intro,
  .finish-collection-intro {
    padding: 46px 0 38px;
  }

  .promotions-intro .crumbs,
  .finish-collection-intro .crumbs {
    margin-bottom: 34px;
  }

  .promotions-list,
  .finish-collection-list {
    padding: 44px 0 72px;
  }

  .promotions-grid {
    gap: 48px;
  }

  .promotion-card__media {
    aspect-ratio: 16 / 10;
  }

  .finish-collection-hero img {
    height: calc(100svh - 84px);
    min-height: 560px;
  }

  .finish-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .finish-card img {
    height: auto;
    aspect-ratio: 16 / 10;
  }
}

@media (prefers-reduced-motion: reduce) {
  .promotion-card__media img,
  .finish-card img,
  .home-promo-slide--promotion .home-promo-photo {
    transition: none !important;
    transform: none !important;
  }

  [data-promo-image] {
    transition: none !important;
  }
}


/* Спецпредложение на нестандартную высоту: изображение целиком, без обрезки размеров. */
.promotion-card--height .promotion-card__media { display: grid; place-items: center; background: #f1efeb; }
.promotion-card--height .promotion-card__media img { width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.promotion-card__terms { padding-top: 14px; border-top: 1px solid var(--brand-line, rgba(23,25,22,.14)); }
.promotion-card[hidden] { display: none !important; }

/* На любом экране показываем изображение двери целиком. */
.promotion-card--height .promotion-card__media { aspect-ratio: auto !important; min-height: 0 !important; height: auto; padding: 12px; }
.promotion-card--height .promotion-card__media img { width: 100%; height: auto; max-height: none; object-fit: contain; }


.promotion-card--height .promotion-card__copy h2 .promotion-card__title-subject { display: inline; font-size: .72em; white-space: nowrap; }

/* Серия ЮККА: одно предложение с шестью коллекциями. */
.promotion-series[hidden] { display: none !important; }
.promotion-series { min-width: 0; padding-top: 42px; border-top: 1px solid var(--brand-line, rgba(23,25,22,.14)); }
.promotion-series__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 64px; align-items: end; margin-bottom: 36px; }
.promotion-series__intro small { color: var(--brand-moss-deep, #46533f); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.promotion-series__status[hidden] { display: none !important; }
.promotion-series__intro h2 { max-width: 640px; margin: 16px 0 0; color: var(--brand-ink, #171916); font: 400 clamp(34px, 3.5vw, 56px)/1.08 var(--font-display, Georgia, serif); letter-spacing: -.025em; }
.promotion-series__terms p { margin: 0 0 14px; color: var(--brand-muted, #747971); font-size: 15px; line-height: 1.7; }
.promotion-series__terms p:last-child { margin-bottom: 0; }
.promotion-series__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 24px; }
.promotion-series__collection { display: block; min-width: 0; color: var(--brand-ink, #171916); text-decoration: none; }
.promotion-series__collection img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #e7e3de; }
.promotion-series__collection > span { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--brand-line, rgba(23,25,22,.14)); }
.promotion-series__collection strong { font: 400 23px/1.2 var(--font-display, Georgia, serif); }
.promotion-series__collection > span > span { align-self: center; color: var(--brand-muted, #747971); font-size: 13px; text-align: right; }
.promotion-series__collection:hover strong, .promotion-series__collection:focus-visible strong { color: var(--brand-moss-deep, #46533f); }
.promotion-series__collection:focus-visible { outline: 2px solid var(--brand-moss-deep, #46533f); outline-offset: 4px; }

/* На главной используем фото без встроенного рекламного текста в видимой части. */
body.page-home #homePromoTrack .home-promo-slide--series { background: #24231e !important; }
body.page-home #homePromoTrack .home-promo-slide--series .home-promo-photo-link,
body.page-home #homePromoTrack .home-promo-slide--series .home-promo-picture { inset: 0 0 0 39% !important; width: 61% !important; height: 100% !important; min-height: 100% !important; max-height: none !important; }
body.page-home #homePromoTrack .home-promo-slide--series .home-promo-photo { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; transform: none !important; animation: none !important; }
body.page-home #homePromoTrack .home-promo-slide--series::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #24231e 0%, #24231e 38%, rgba(36,35,30,.45) 50%, transparent 65%); }
body.page-home #homePromoTrack .home-hero-panel--series { top: clamp(235px, 31vh, 360px) !important; right: auto !important; bottom: auto !important; left: max(32px, calc((100vw - var(--brand-container)) / 2)) !important; z-index: 3 !important; display: block !important; width: min(520px, calc(39vw - 42px)) !important; min-height: 0 !important; padding: 0 !important; color: #fff !important; border: 0 !important; background: transparent !important; text-align: left !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
body.page-home #homePromoTrack .home-hero-panel--series .home-hero-kicker { display: block; margin: 0 0 18px !important; color: rgba(255,255,255,.8) !important; font-size: 11px !important; letter-spacing: .14em !important; }
body.page-home #homePromoTrack .home-hero-panel--series .home-hero-title { display: block !important; color: #fff !important; font: 400 clamp(34px, 3.2vw, 52px)/1.05 var(--font-display, Georgia, serif) !important; letter-spacing: -.035em !important; text-transform: none !important; }
body.page-home #homePromoTrack .home-hero-panel--series p { max-width: 450px; margin: 22px 0 0; color: rgba(255,255,255,.86); font-size: 15px; line-height: 1.6; }
body.page-home #homePromoTrack .home-hero-panel--series em { display: inline-block; margin-top: 22px !important; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.7); color: #fff !important; font-size: 13px !important; }
body.page-home:has(.home-promo-slide--series.is-active) .header--home { background: linear-gradient(180deg, rgba(14,16,14,.7), rgba(14,16,14,.3) 78%, transparent) !important; }

@media (max-width: 760px) {
  .promotion-series { padding-top: 26px; }
  .promotion-series__intro, .promotion-series__grid { grid-template-columns: 1fr; }
  .promotion-series__intro { gap: 20px; margin-bottom: 26px; }
  .promotion-series__grid { gap: 28px; }
  .promotion-series__collection > span { display: block; }
  .promotion-series__collection > span > span { display: block; margin-top: 4px; text-align: left; }
  body.page-home #homePromoTrack .home-promo-slide--series .home-promo-photo-link,
  body.page-home #homePromoTrack .home-promo-slide--series .home-promo-picture { inset: 0 !important; width: 100% !important; height: 100% !important; }
  body.page-home #homePromoTrack .home-promo-slide--series .home-promo-photo { object-position: center center !important; transform: none !important; }
  body.page-home #homePromoTrack .home-promo-slide--series::after { background: linear-gradient(180deg, rgba(13,15,13,.35), transparent 30%, transparent 42%, rgba(13,15,13,.58) 61%, rgba(13,15,13,.96) 87%); }
  body.page-home #homePromoTrack .home-hero-panel--series { top: auto !important; right: 20px !important; bottom: 88px !important; left: 20px !important; width: auto !important; }
  body.page-home #homePromoTrack .home-hero-panel--series .home-hero-kicker { margin-bottom: 10px !important; font-size: 10px !important; }
  body.page-home #homePromoTrack .home-hero-panel--series .home-hero-title { font-size: clamp(29px, 7.6vw, 38px) !important; }
  body.page-home #homePromoTrack .home-hero-panel--series p { margin-top: 12px; font-size: 13px; line-height: 1.42; }
  body.page-home #homePromoTrack .home-hero-panel--series em { margin-top: 12px !important; font-size: 12px !important; }
}
