@import url('./base.css');
@import url('./layout.css');
@import url('./header.css');
@import url('./hero.css');
@import url('./promos.css');
@import url('./products.css');
@import url('./info-sections.css');
@import url('./footer.css');
@import url('./contacts.css');
@import url('./responsive.css');


/* Global dark loft surface */
html,
body,
.page-main,
.content-start,
.promos-section,
.products-section,
.special-offers,
.advantages-section {
  background-color: #050505 !important;
}

.page-main {
  background: #050505;
}

.promos-section,
.products-section,
.special-offers,
.advantages-section {
  background-image: none !important;
}

.products-section,
.special-offers,
.advantages-section {
  color: rgba(255, 255, 255, .86);
}

.section-title,
.products-tabs__button,
.advantages-card h3,
.content-start h2 {
  color: #ffffff;
}

.products-tabs {
  border-color: rgba(213, 168, 79, .28);
}

.products-tabs__button {
  color: rgba(255,255,255,.6);
}

.products-tabs__button.is-active,
.products-tabs__button:hover {
  color: #ffffff;
}

.products-tabs__button.is-active::after,
.section-title::after {
  background: var(--color-yellow);
}

.product-card,
.advantages-card {
  background: #11100e;
  border: 1px solid rgba(213, 168, 79, .18);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

.product-card__title,
.product-card__price,
.advantages-card p,
.content-start p:last-child {
  color: rgba(255,255,255,.76);
}

/* v0.2.5: compact food menu, video starts after header */
.site-header {
  position: relative;
  z-index: 20;
  min-height: auto;
  background: #050505;
}

.site-header__inner {
  padding-top: 10px;
}

.site-header__top {
  min-height: 46px;
  padding-bottom: 8px;
}

.site-header__logo,
.site-header__logo img {
  width: 132px;
}

.header-phones__caption {
  margin-bottom: 2px;
  font-size: 12px;
}

.header-phones__number,
.header-phones__divider {
  font-size: 22px;
}

.header-phones__address {
  margin-top: 4px;
  font-size: 12px;
}

.category-nav {
  padding: 14px 0 10px;
}

.category-nav__row {
  gap: 18px 36px;
}

.category-nav__row--second {
  margin-top: 14px;
  gap: 18px 42px;
}

.category-link {
  gap: 9px;
}

.category-link__icon,
.category-link__icon img {
  width: 24px;
  height: 24px;
}

.category-link__text {
  font-size: 15px;
}

.video-hero,
.video-hero__content {
  min-height: calc(100vh - 150px);
}

.video-hero__iframe {
  min-width: calc((100vh - 150px) * 16 / 9);
  min-height: calc(100vh - 150px);
}

.video-hero__content {
  padding-top: 42px;
}

@media (max-width: 1180px) {
  .video-hero,
  .video-hero__content {
    min-height: 620px;
  }

  .video-hero__iframe {
    min-width: calc(620px * 16 / 9);
    min-height: 620px;
  }
}

/* v0.2.6: larger food menu, no horizontal overflow, darker promo section */
html,
body {
  overflow-x: hidden;
}

.video-hero {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.video-hero__iframe {
  width: 100%;
  height: calc((100vw * 9) / 16);
}

.category-nav {
  padding: 16px 0 12px;
}

.category-nav__row {
  gap: 16px 44px;
}

.category-nav__row--second {
  margin-top: 10px;
  gap: 16px 48px;
}

.category-link {
  gap: 11px;
}

.category-link__icon,
.category-link__icon img {
  width: 31px;
  height: 31px;
}

.category-link__text {
  font-size: 17px;
  font-weight: 700;
}

.promo-section {
  background-color: #050505 !important;
  background-image:
    linear-gradient(rgba(5,5,5,.84), rgba(5,5,5,.9)),
    var(--burgerlux-promo-pattern, none) !important;
  background-repeat: repeat;
  background-size: auto;
  padding: 42px 0 48px;
}

.promo-card {
  min-height: 195px;
  box-shadow: 0 16px 36px rgba(0,0,0,.46);
}

.promo-card--big {
  min-height: 420px;
}

.promo-card__content {
  padding: 30px 34px;
}

.promo-card--big .promo-card__title {
  max-width: 310px;
  font-size: clamp(38px, 3.7vw, 58px);
  line-height: .93;
  letter-spacing: -1px;
}

.promo-card__subtitle {
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.05;
}

.promo-card--kids .promo-card__content,
.promo-card--combo .promo-card__content,
.promo-card--sale .promo-card__content {
  padding: 22px 26px;
}

.promo-card--kids .promo-card__title,
.promo-card--combo .promo-card__title,
.promo-card--sale .promo-card__title {
  font-size: clamp(28px, 2.5vw, 44px);
  line-height: .92;
  letter-spacing: -.5px;
}

.promo-card--kids .promo-card__subtitle,
.promo-card--combo .promo-card__subtitle,
.promo-card--sale .promo-card__subtitle {
  font-size: clamp(17px, 1.5vw, 22px);
}

.promo-card--sale .promo-card__eyebrow {
  font-size: clamp(18px, 1.6vw, 24px);
}

.promo-card--sale .promo-card__title {
  font-size: clamp(34px, 3.3vw, 56px);
}

@media (max-width: 760px) {
  .category-link__icon,
  .category-link__icon img {
    width: 29px;
    height: 29px;
  }

  .category-link__text {
    font-size: 16px;
  }
}

/* v0.2.8: шаблон внутренней страницы без баннера */
.page-no-banner-main {
  min-height: 48vh;
  background: #050505;
  color: rgba(255,255,255,.82);
}

.page-no-banner-main__inner {
  padding: 58px 0 72px;
}

.page-no-banner-title {
  margin: 0 0 26px;
  color: #fff;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.05;
  font-weight: 900;
}

.page-no-banner-entry {
  max-width: 980px;
  font-size: 17px;
  line-height: 1.75;
}

.page-no-banner-entry a {
  color: #d7ad5b;
}

/* v0.2.8: паттерны секций не глушим общим тёмным фоном */
.promo-section {
  background-color: #050505 !important;
  background-image: var(--burgerlux-promo-pattern), radial-gradient(circle at 8% 14%, rgba(215,173,91,.10) 0 13px, transparent 14px) !important;
  background-size: 420px auto, auto !important;
  background-repeat: repeat !important;
}

.menu-preview,
.advantages-section {
  background-color: #050505 !important;
}

/* v0.2.8 fix: fallback для паттернов */
.promo-section {
  background-image: var(--burgerlux-promo-pattern, none), radial-gradient(circle at 8% 14%, rgba(215,173,91,.10) 0 13px, transparent 14px) !important;
}

.advantages-section {
  background-image: var(--section-pattern, url('./../images/patterns/food-pattern.svg')) !important;
  background-size: 440px auto !important;
  background-repeat: repeat !important;
}


/* v0.3.6: on the front page video starts after main header and goes under food menu only */
.home .site-header {
  position: relative;
  z-index: 30;
  background: #050505;
}

.home .site-header__inner {
  position: relative;
}

.home .site-header__top {
  position: relative;
  z-index: 3;
  background: #050505;
}

.home .category-nav {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 2;
  width: 100vw;
  margin: 0;
  padding: 16px max(18px, calc((100vw - min(1170px, calc(100vw - 36px))) / 2)) 12px;
  background: rgba(5, 5, 5, var(--food-menu-bg-opacity, .82));
  border-bottom: 1px solid rgba(213, 168, 79, .18);
  box-shadow: 0 18px 42px rgba(0,0,0,.28);
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
}

.home .category-nav--shortcode {
  box-sizing: border-box;
}

.home .video-hero {
  min-height: calc(100vh - 84px);
}

.home .video-hero__content {
  min-height: calc(100vh - 84px);
  padding-top: 148px;
}

.home .video-hero__iframe {
  min-width: calc((100vh - 84px) * 16 / 9);
  min-height: calc(100vh - 84px);
}

@media (max-width: 1180px) {
  .home .video-hero,
  .home .video-hero__content {
    min-height: 620px;
  }

  .home .video-hero__content {
    padding-top: 150px;
  }

  .home .video-hero__iframe {
    min-width: calc(620px * 16 / 9);
    min-height: 620px;
  }
}

@media (max-width: 760px) {
  .home .category-nav {
    position: static;
    width: auto;
    padding: 12px 0 10px;
    background: rgba(5, 5, 5, var(--food-menu-bg-opacity, .82));
    transform: none;
  }

  .home .video-hero,
  .home .video-hero__content {
    min-height: 560px;
  }

  .home .video-hero__content {
    padding-top: 42px;
  }
}

/* v0.3.7: плитки больше не привязаны к фиксированным grid-area.
   Раньше несколько плиток одного размера (например, две "широкие") накладывались
   в одну и ту же область сетки и визуально пропадали. Теперь сетка автоматическая. */
.promo-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-areas: none !important;
  gap: 24px !important;
  align-items: stretch;
}

.promo-card,
.promo-card--normal,
.promo-card--kids,
.promo-card--combo,
.promo-card--sale,
.promo-card--wide,
.promo-card--big {
  grid-area: auto !important;
}

.promo-card,
.promo-card--normal,
.promo-card--kids,
.promo-card--combo {
  grid-column: span 1;
  min-height: 230px;
}

.promo-card--wide,
.promo-card--sale {
  grid-column: span 2;
  min-height: 230px;
}

.promo-card--big {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 484px;
}

.promo-card--wide .promo-card__content,
.promo-card--sale .promo-card__content {
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (max-width: 1100px) {
  .promo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .promo-card--big {
    min-height: 420px;
  }
}

@media (max-width: 640px) {
  .promo-grid {
    grid-template-columns: 1fr !important;
  }

  .promo-card,
  .promo-card--normal,
  .promo-card--kids,
  .promo-card--combo,
  .promo-card--wide,
  .promo-card--sale,
  .promo-card--big {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 240px;
  }
}


/* v0.3.8: раскладка плиток как в исходном макете.
   Первая большая плитка стоит слева вертикально, широкие плитки становятся справа рядами.
   Также убран эффект увеличения при наведении. */
.promo-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.45fr) !important;
  grid-auto-rows: minmax(220px, auto);
  grid-template-areas: none !important;
  gap: 24px !important;
  align-items: stretch;
}

.promo-card,
.promo-card--normal,
.promo-card--kids,
.promo-card--combo,
.promo-card--sale,
.promo-card--wide,
.promo-card--big {
  grid-area: auto !important;
}

.promo-card--big {
  grid-column: 1 / 2 !important;
  grid-row: span 2 !important;
  min-height: 482px !important;
}

.promo-card--wide,
.promo-card--sale {
  grid-column: 2 / 3 !important;
  min-height: 229px !important;
}

.promo-card--normal,
.promo-card--kids,
.promo-card--combo,
.promo-card:not(.promo-card--big):not(.promo-card--wide):not(.promo-card--sale) {
  min-height: 229px !important;
}

.promo-card:hover,
.promo-card:focus-visible {
  transform: none !important;
  box-shadow: 0 15px 32px rgba(0, 0, 0, .28) !important;
}

.promo-card:hover .promo-card__bg,
.promo-card:focus-visible .promo-card__bg {
  transform: none !important;
}

@media (max-width: 980px) {
  .promo-grid {
    grid-template-columns: 1fr !important;
  }

  .promo-card--big,
  .promo-card--wide,
  .promo-card--sale,
  .promo-card--normal,
  .promo-card--kids,
  .promo-card--combo {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 260px !important;
  }
}

/* v0.3.9: компактные и аккуратные пропорции плиток.
   Большая плитка слева стала ближе к квадрату, правые плитки — ниже и аккуратнее. */
.promo-section {
  padding: 34px 0 40px !important;
}

.promo-grid {
  display: grid !important;
  grid-template-columns: minmax(300px, .95fr) minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: 176px 176px !important;
  grid-auto-rows: 176px !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.promo-card,
.promo-card--normal,
.promo-card--kids,
.promo-card--combo,
.promo-card--sale,
.promo-card--wide,
.promo-card--big {
  grid-area: auto !important;
  min-height: 0 !important;
  height: 100% !important;
  border-radius: 0 !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .28) !important;
}

.promo-card--big {
  grid-column: 1 / 2 !important;
  grid-row: 1 / span 2 !important;
}

.promo-card--wide,
.promo-card--sale {
  grid-column: span 2 !important;
}

.promo-card__content,
.promo-card--big .promo-card__content,
.promo-card--normal .promo-card__content,
.promo-card--kids .promo-card__content,
.promo-card--combo .promo-card__content,
.promo-card--wide .promo-card__content,
.promo-card--sale .promo-card__content {
  padding: 24px 30px !important;
}

.promo-card--big .promo-card__title {
  max-width: 280px !important;
  font-size: clamp(34px, 3.2vw, 52px) !important;
  line-height: .94 !important;
  letter-spacing: -1.1px !important;
}

.promo-card__subtitle,
.promo-card--big .promo-card__subtitle {
  font-size: clamp(22px, 1.8vw, 30px) !important;
  line-height: 1.02 !important;
}

.promo-card--normal .promo-card__title,
.promo-card--kids .promo-card__title,
.promo-card--combo .promo-card__title,
.promo-card--wide .promo-card__title,
.promo-card--sale .promo-card__title {
  font-size: clamp(26px, 2.35vw, 42px) !important;
  line-height: .95 !important;
  letter-spacing: -.6px !important;
}

.promo-card--normal .promo-card__subtitle,
.promo-card--kids .promo-card__subtitle,
.promo-card--combo .promo-card__subtitle,
.promo-card--wide .promo-card__subtitle,
.promo-card--sale .promo-card__subtitle {
  font-size: clamp(16px, 1.35vw, 22px) !important;
}

.promo-card--sale .promo-card__eyebrow {
  font-size: clamp(17px, 1.4vw, 22px) !important;
}

.promo-card__button {
  min-height: 40px !important;
  padding: 0 24px !important;
  font-size: 14px !important;
}

.promo-card:hover,
.promo-card:focus-visible,
.promo-card:hover .promo-card__bg,
.promo-card:focus-visible .promo-card__bg {
  transform: none !important;
}

@media (max-width: 1100px) {
  .promo-grid {
    grid-template-columns: minmax(260px, .9fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: 160px 160px !important;
    grid-auto-rows: 160px !important;
    gap: 18px !important;
  }
}

@media (max-width: 820px) {
  .promo-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: none !important;
    grid-auto-rows: 190px !important;
  }

  .promo-card--big,
  .promo-card--wide,
  .promo-card--sale {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .promo-card--big {
    min-height: 320px !important;
  }
}

@media (max-width: 560px) {
  .promo-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: 210px !important;
    gap: 14px !important;
  }

  .promo-card,
  .promo-card--normal,
  .promo-card--kids,
  .promo-card--combo,
  .promo-card--wide,
  .promo-card--sale,
  .promo-card--big {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-height: 210px !important;
  }

  .promo-card--big {
    min-height: 280px !important;
  }
}


/* v0.4.1: финальная сетка плиток — крупные квадратные карточки, 3 в строку.
   Перекрывает старые правила v0.3.7-v0.3.9, из-за которых плитки становились маленькими. */
.promo-section {
  padding: 46px 0 56px !important;
}

.promo-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  gap: 28px !important;
  max-width: 1180px !important;
  width: calc(100% - 32px) !important;
  margin: 0 auto !important;
  align-items: stretch !important;
  justify-content: center !important;
}

.promo-card,
.promo-card--normal,
.promo-card--kids,
.promo-card--combo,
.promo-card--sale,
.promo-card--wide,
.promo-card--big {
  grid-column: auto !important;
  grid-row: auto !important;
  grid-area: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.promo-card__bg {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.promo-card__content,
.promo-card--big .promo-card__content,
.promo-card--normal .promo-card__content,
.promo-card--kids .promo-card__content,
.promo-card--combo .promo-card__content,
.promo-card--wide .promo-card__content,
.promo-card--sale .promo-card__content {
  padding: clamp(22px, 2.1vw, 34px) !important;
}

.promo-card__title,
.promo-card--big .promo-card__title,
.promo-card--normal .promo-card__title,
.promo-card--kids .promo-card__title,
.promo-card--combo .promo-card__title,
.promo-card--wide .promo-card__title,
.promo-card--sale .promo-card__title {
  font-size: clamp(32px, 3.2vw, 54px) !important;
  line-height: .94 !important;
  max-width: 92% !important;
}

.promo-card__subtitle,
.promo-card--big .promo-card__subtitle,
.promo-card--normal .promo-card__subtitle,
.promo-card--kids .promo-card__subtitle,
.promo-card--combo .promo-card__subtitle,
.promo-card--wide .promo-card__subtitle,
.promo-card--sale .promo-card__subtitle {
  font-size: clamp(17px, 1.7vw, 27px) !important;
  max-width: 88% !important;
}

@media (max-width: 980px) {
  .promo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 760px !important;
    gap: 22px !important;
  }
}

@media (max-width: 560px) {
  .promo-grid {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
    gap: 16px !important;
  }
}


/* v0.4.2: аккуратная мобильная сетка плиток и адаптивный нижний баннер */
@media (max-width: 560px) {
  .promo-section {
    padding-top: 24px !important;
    padding-bottom: 28px !important;
  }

  .promo-grid {
    max-width: 360px !important;
    width: calc(100% - 28px) !important;
    gap: 18px !important;
  }

  .promo-card,
  .promo-card--normal,
  .promo-card--kids,
  .promo-card--combo,
  .promo-card--sale,
  .promo-card--wide,
  .promo-card--big {
    aspect-ratio: 1 / 1 !important;
  }

  .promo-card__content,
  .promo-card--big .promo-card__content,
  .promo-card--normal .promo-card__content,
  .promo-card--kids .promo-card__content,
  .promo-card--combo .promo-card__content,
  .promo-card--wide .promo-card__content,
  .promo-card--sale .promo-card__content {
    padding: 20px !important;
  }

  .promo-card__title,
  .promo-card--big .promo-card__title,
  .promo-card--normal .promo-card__title,
  .promo-card--kids .promo-card__title,
  .promo-card--combo .promo-card__title,
  .promo-card--wide .promo-card__title,
  .promo-card--sale .promo-card__title {
    font-size: clamp(28px, 9vw, 38px) !important;
    line-height: .94 !important;
  }

  .promo-card__subtitle,
  .promo-card--big .promo-card__subtitle,
  .promo-card--normal .promo-card__subtitle,
  .promo-card--kids .promo-card__subtitle,
  .promo-card--combo .promo-card__subtitle,
  .promo-card--wide .promo-card__subtitle,
  .promo-card--sale .promo-card__subtitle {
    font-size: clamp(16px, 5.4vw, 22px) !important;
  }

  .promo-card__button {
    min-height: 44px !important;
    padding: 0 24px !important;
    font-size: 14px !important;
  }
}

/* Нижний рекламный баннер: высота зависит от ширины, изображение не растягивается */
.action-banner {
  background: #050505 !important;
  overflow: hidden !important;
}

.action-banner__slide {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1920 / 600 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.action-banner__inner {
  min-height: 100% !important;
}

.action-banner__picture img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(78%, 340px) !important;
  object-fit: contain !important;
}

@media (max-width: 760px) {
  .action-banner__slide {
    aspect-ratio: auto !important;
    min-height: 360px !important;
    background-size: cover !important;
  }

  .action-banner__content {
    padding: 34px 0 8px !important;
  }

  .action-banner__title {
    font-size: clamp(28px, 9vw, 42px) !important;
  }

  .action-banner__text {
    font-size: 16px !important;
    margin-bottom: 22px !important;
  }

  .action-banner__picture img {
    max-height: 170px !important;
  }
}


/* v0.4.5: мобильные плитки — контент по центру слева, без прилипания к верху */
@media (max-width: 640px) {
  .promo-grid {
    max-width: 520px !important;
  }

  .promo-card,
  .promo-card--normal,
  .promo-card--kids,
  .promo-card--combo,
  .promo-card--sale,
  .promo-card--wide,
  .promo-card--big {
    aspect-ratio: 1 / 1 !important;
  }

  .promo-card__content,
  .promo-card--big .promo-card__content,
  .promo-card--normal .promo-card__content,
  .promo-card--kids .promo-card__content,
  .promo-card--combo .promo-card__content,
  .promo-card--wide .promo-card__content,
  .promo-card--sale .promo-card__content {
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 28px 28px 28px !important;
  }

  .promo-card__title,
  .promo-card--big .promo-card__title,
  .promo-card--normal .promo-card__title,
  .promo-card--kids .promo-card__title,
  .promo-card--combo .promo-card__title,
  .promo-card--wide .promo-card__title,
  .promo-card--sale .promo-card__title {
    max-width: 82% !important;
    margin: 0 0 6px !important;
    font-size: clamp(34px, 10.2vw, 48px) !important;
    line-height: .96 !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
  }

  .promo-card__subtitle,
  .promo-card--big .promo-card__subtitle,
  .promo-card--normal .promo-card__subtitle,
  .promo-card--kids .promo-card__subtitle,
  .promo-card--combo .promo-card__subtitle,
  .promo-card--wide .promo-card__subtitle,
  .promo-card--sale .promo-card__subtitle {
    max-width: 82% !important;
    margin: 0 !important;
    font-size: clamp(18px, 5.6vw, 27px) !important;
    line-height: 1.06 !important;
    font-weight: 500 !important;
  }

  .promo-card__button {
    margin-top: 22px !important;
    min-height: 52px !important;
    padding: 0 34px !important;
    font-size: 16px !important;
    font-weight: 850 !important;
  }
}

@media (max-width: 420px) {
  .promo-card__content,
  .promo-card--big .promo-card__content,
  .promo-card--normal .promo-card__content,
  .promo-card--kids .promo-card__content,
  .promo-card--combo .promo-card__content,
  .promo-card--wide .promo-card__content,
  .promo-card--sale .promo-card__content {
    padding: 26px 24px !important;
  }

  .promo-card__title,
  .promo-card--big .promo-card__title,
  .promo-card--normal .promo-card__title,
  .promo-card--kids .promo-card__title,
  .promo-card--combo .promo-card__title,
  .promo-card--wide .promo-card__title,
  .promo-card--sale .promo-card__title {
    font-size: clamp(32px, 10.4vw, 43px) !important;
  }

  .promo-card__subtitle,
  .promo-card--big .promo-card__subtitle,
  .promo-card--normal .promo-card__subtitle,
  .promo-card--kids .promo-card__subtitle,
  .promo-card--combo .promo-card__subtitle,
  .promo-card--wide .promo-card__subtitle,
  .promo-card--sale .promo-card__subtitle {
    font-size: clamp(17px, 5.7vw, 24px) !important;
  }

  .promo-card__button {
    margin-top: 20px !important;
    min-height: 50px !important;
    padding: 0 30px !important;
    font-size: 15px !important;
  }
}

/* v0.4.6: отдельная страница каталога меню */
.catalog-menu-page {
  position: relative;
  overflow: hidden;
  min-height: 52vh;
  background: #050505;
  color: #fff;
}

.catalog-menu-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--catalog-pattern, none);
  background-position: center top;
  background-size: 420px auto;
  background-repeat: repeat;
  opacity: var(--catalog-pattern-opacity-decimal, .22);
}

.catalog-menu-page__inner {
  position: relative;
  z-index: 1;
  padding: 56px 0 76px;
}

.catalog-menu-page__header {
  margin: 0 0 34px;
  text-align: center;
}

.catalog-menu-page__title {
  position: relative;
  display: inline-block;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.03em;
}

.catalog-menu-page__title::after {
  content: "";
  display: block;
  width: 82px;
  height: 3px;
  margin: 16px auto 0;
  background: #d7ad5b;
}

.catalog-menu-page__entry {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .catalog-menu-page__inner {
    padding: 36px 0 52px;
  }

  .catalog-menu-page__header {
    margin-bottom: 24px;
  }
}


/* v0.4.8: стабильная шапка без наложения логотипа на меню */
.site-header__top {
  display: grid !important;
  grid-template-columns: max-content auto minmax(260px, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: clamp(24px, 3vw, 42px) !important;
}

.site-header__logo {
  width: var(--logo-display-width, var(--logo-width, 320px)) !important;
  min-width: var(--logo-display-width, var(--logo-width, 320px)) !important;
  max-width: var(--logo-display-width, var(--logo-width, 320px)) !important;
  overflow: visible !important;
}

.site-header__logo img {
  width: var(--logo-display-width, var(--logo-width, 320px)) !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
}

.main-nav {
  justify-self: start !important;
  margin-left: 0 !important;
  min-width: 0 !important;
}

.main-nav__list {
  gap: clamp(22px, 2.4vw, 34px) !important;
}

.header-phones {
  justify-self: end !important;
  margin-left: auto !important;
}

.catalog-menu-page {
  isolation: isolate;
  background-color: #050505 !important;
  background-image: var(--catalog-pattern, none);
  background-position: center top;
  background-size: 420px auto;
  background-repeat: repeat;
}

.catalog-menu-page::before {
  background-image: var(--catalog-pattern, none) !important;
  opacity: var(--catalog-pattern-opacity-decimal, .22) !important;
}

.contacts-page::before {
  opacity: var(--contacts-pattern-opacity-decimal, .24) !important;
}

.menu-preview::before,
.advantages-section::before {
  opacity: var(--section-pattern-opacity-decimal, .25) !important;
}

.promo-section::before,
.promo-section::after {
  opacity: var(--burgerlux-promo-pattern-opacity-decimal, .22) !important;
}


@media (max-width: 1180px) {
  .site-header__top {
    grid-template-columns: max-content minmax(0, 1fr) !important;
    row-gap: 12px !important;
  }

  .main-nav {
    justify-self: end !important;
  }

  .header-phones {
    grid-column: 1 / -1 !important;
    justify-self: end !important;
  }
}

@media (max-width: 900px) {
  .site-header__top {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .site-header__logo {
    width: min(var(--logo-display-width, 260px), 300px) !important;
    min-width: 0 !important;
    max-width: 300px !important;
  }

  .site-header__logo img {
    width: min(var(--logo-display-width, 260px), 300px) !important;
    transform: none !important;
  }

  .main-nav,
  .header-phones {
    justify-self: center !important;
    margin-left: 0 !important;
  }
}



/* v0.4.9: compact header final override */
.site-header {
  min-height: 0 !important;
}
.site-header__inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.site-header__top {
  grid-template-columns: minmax(220px, max-content) max-content minmax(250px, 1fr) !important;
  column-gap: clamp(22px, 2.4vw, 34px) !important;
  min-height: 116px !important;
  padding-top: 10px !important;
  padding-bottom: 12px !important;
}
.site-header__logo {
  max-width: min(var(--logo-display-width, var(--logo-width, 300px)), 360px) !important;
}
.site-header__logo img {
  max-height: 94px !important;
  width: auto !important;
  max-width: min(var(--logo-display-width, var(--logo-width, 300px)), 360px) !important;
}
.main-nav__list {
  gap: clamp(22px, 2.1vw, 30px) !important;
}
.header-phones__caption {
  margin-bottom: 3px !important;
  font-size: 12px !important;
}
.header-phones__number,
.header-phones__divider {
  font-size: 23px !important;
}
.header-phones__address {
  margin-top: 5px !important;
  font-size: 12px !important;
}
@media (max-width: 1180px) {
  .site-header__top {
    grid-template-columns: minmax(210px, max-content) 1fr !important;
    min-height: 104px !important;
  }
}
@media (max-width: 760px) {
  .site-header__inner {
    padding-top: 12px !important;
    padding-bottom: 18px !important;
  }
  .site-header__top {
    display: flex !important;
    min-height: 0 !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
  }
  .site-header__logo,
  .site-header__logo img {
    width: auto !important;
    max-width: min(var(--logo-display-width, var(--logo-width, 230px)), 240px) !important;
    max-height: 78px !important;
  }
}


/* v0.5.0: финальная настройка логотипа в шапке и подвале */
.site-header__top {
  grid-template-columns: max-content max-content minmax(250px, 1fr) !important;
  column-gap: clamp(24px, 2.8vw, 42px) !important;
  min-height: 112px !important;
  padding-top: 8px !important;
  padding-bottom: 10px !important;
}
.site-header__logo {
  width: var(--logo-width, 340px) !important;
  min-width: var(--logo-width, 340px) !important;
  max-width: min(var(--logo-width, 340px), 560px) !important;
}
.site-header__logo img {
  width: var(--logo-width, 340px) !important;
  max-width: min(var(--logo-width, 340px), 560px) !important;
  max-height: 112px !important;
  height: auto !important;
  object-fit: contain !important;
}
.site-footer__logo {
  width: var(--footer-logo-width, 190px) !important;
  max-width: var(--footer-logo-width, 190px) !important;
}
.site-footer__logo img {
  width: var(--footer-logo-width, 190px) !important;
  max-width: 100% !important;
  max-height: 70px !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 1180px) {
  .site-header__top {
    grid-template-columns: max-content minmax(0, 1fr) !important;
    min-height: 102px !important;
  }
}
@media (max-width: 760px) {
  .site-header__logo {
    width: min(var(--logo-width, 340px), 260px) !important;
    min-width: 0 !important;
    max-width: 260px !important;
  }
  .site-header__logo img {
    width: min(var(--logo-width, 340px), 260px) !important;
    max-height: 84px !important;
  }
  .site-footer__logo,
  .site-footer__logo img {
    width: min(var(--footer-logo-width, 190px), 170px) !important;
    max-width: 170px !important;
  }
}
