/* MAKON Phase A public sections, afisha and event detail */
:root {
  --event-green: #2fb344;
  --event-green-dark: #16852f;
  --event-green-soft: #edf9e9;
  --event-ink: #172033;
  --event-muted: #667085;
  --event-line: rgba(23, 32, 51, .10);
  --event-surface: rgba(255, 255, 255, .94);
  --event-bg: #f7f4ee;
  --event-shadow: 0 18px 48px rgba(24, 32, 45, .08);
  --event-soft-shadow: 0 10px 28px rgba(24, 32, 45, .06);
  --event-radius: 22px;
}

* {
  box-sizing: border-box;
}

body.events-page,
body.sections-page {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--event-ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 12% 12%, rgba(47, 179, 68, .09), transparent 30%),
    radial-gradient(circle at 92% 16%, rgba(47, 179, 68, .08), transparent 28%),
    var(--event-bg);
}

body.dark.events-page,
body.dark.sections-page,
body.dark-theme.events-page,
body.dark-theme.sections-page {
  --event-ink: #f3f6f0;
  --event-muted: #b9c2b2;
  --event-line: rgba(255, 255, 255, .10);
  --event-surface: rgba(31, 34, 29, .95);
  --event-bg: #151715;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.event-shell {
  width: min(100% - 32px, 1320px);
  margin: 0 auto;
}

.event-main {
  padding: 18px 0 46px;
}

.event-header {
  position: sticky;
  top: 0;
  z-index: 70;
  padding: 12px 0;
  background: rgba(247, 244, 238, .88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

body.dark .event-header,
body.dark-theme .event-header {
  background: rgba(21, 23, 21, .90);
}

.event-header-inner {
  min-height: 66px;
  display: grid;
  grid-template-columns: auto auto minmax(240px, 1fr) auto auto auto;
  align-items: center;
  gap: 16px;
  padding: 0 18px;
  border: 1px solid var(--event-line);
  border-radius: 24px;
  background: var(--event-surface);
  box-shadow: var(--event-soft-shadow);
}

.event-brand,
.event-location,
.event-search,
.event-header-nav,
.event-theme {
  display: flex;
  align-items: center;
}

.event-brand {
  gap: 10px;
  color: var(--event-green-dark);
  font-size: 19px;
  font-weight: 800;
  text-decoration: none;
}

.event-brand img {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.event-location {
  min-height: 42px;
  gap: 7px;
  padding: 0 12px;
  border: 0;
  border-left: 1px solid var(--event-line);
  color: var(--event-ink);
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.event-location img {
  width: 20px;
  height: 20px;
}

.event-chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .7;
}

.event-search {
  min-height: 44px;
  border: 1px solid var(--event-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  overflow: hidden;
}

body.dark .event-search,
body.dark-theme .event-search {
  background: rgba(255, 255, 255, .06);
}

.event-search input {
  min-width: 0;
  flex: 1;
  height: 44px;
  padding: 0 14px;
  border: 0;
  color: var(--event-ink);
  background: transparent;
  font: inherit;
  outline: 0;
}

.event-search button {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  color: var(--event-muted);
  background: transparent;
  cursor: pointer;
}

.event-search svg,
.events-mobile-nav svg,
.section-icon svg,
.afisha-date-chip svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.event-header-nav {
  justify-content: center;
  gap: 4px;
}

.event-header-nav a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 12px;
  color: var(--event-muted);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.event-header-nav a.active,
.event-header-nav a:hover {
  color: var(--event-green-dark);
  background: var(--event-green-soft);
}

.event-theme {
  justify-content: flex-end;
}

.event-header .global-controls,
.event-theme.global-controls {
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto !important;
  padding: 4px !important;
  background: rgba(255, 255, 255, .68) !important;
  border-color: var(--event-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
}

.event-profile-chip {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--event-green-soft);
  border: 1px solid rgba(47, 151, 32, .14);
  text-decoration: none;
  overflow: hidden;
}

.event-profile-chip img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.event-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  color: var(--event-green-dark);
  background: var(--event-green-soft);
  font-size: 12px;
  font-weight: 800;
}

.sections-hero {
  min-height: 248px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .54fr) minmax(260px, .46fr);
  align-items: center;
  gap: 24px;
  padding: 34px 40px;
  border: 1px solid var(--event-line);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.84)),
    radial-gradient(circle at 82% 45%, rgba(47,179,68,.16), transparent 32%);
  box-shadow: var(--event-shadow);
  overflow: hidden;
}

.sections-hero::after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 24px;
  width: 180px;
  height: 86px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 18% 50%, rgba(47,179,68,.18) 0 9px, transparent 10px),
    radial-gradient(circle at 52% 32%, rgba(47,179,68,.12) 0 7px, transparent 8px),
    radial-gradient(circle at 82% 60%, rgba(47,179,68,.14) 0 11px, transparent 12px);
  opacity: .75;
  pointer-events: none;
}

body.dark .sections-hero,
body.dark-theme .sections-hero {
  background:
    linear-gradient(135deg, rgba(31,34,29,.98), rgba(31,34,29,.88)),
    radial-gradient(circle at 82% 45%, rgba(47,179,68,.14), transparent 32%);
}

.sections-hero h1,
.afisha-heading h1 {
  margin: 14px 0 8px;
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: 0;
}

.sections-hero p,
.afisha-heading p {
  max-width: 580px;
  margin: 0;
  color: var(--event-muted);
  font-size: 17px;
  line-height: 1.48;
}

.sections-hero-note {
  margin-top: 10px !important;
}

.sections-hero-media {
  min-height: 214px;
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 52% 38%, rgba(47,179,68,.22), transparent 28%),
    linear-gradient(135deg, rgba(237,249,233,.82), rgba(255,255,255,.76));
  box-shadow:
    inset 0 0 0 1px rgba(47,179,68,.10),
    0 24px 60px rgba(47,179,68,.13);
}

.sections-hero-media::before {
  content: "";
  position: absolute;
  inset: 14px 10px auto auto;
  width: 116px;
  height: 116px;
  z-index: 3;
  border-radius: 34px;
  background:
    radial-gradient(circle at 52% 43%, #fff 0 15px, transparent 16px),
    radial-gradient(circle at 50% 43%, rgba(47,179,68,.92) 0 42px, transparent 43px);
  filter: drop-shadow(0 18px 24px rgba(47,179,68,.22));
  pointer-events: none;
}

.sections-hero-media::after,
.section-cover-collage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(23,32,51,0) 42%, rgba(23,32,51,.22)),
    linear-gradient(135deg, rgba(47,179,68,.08), rgba(255,255,255,0) 44%, rgba(23,32,51,.08));
}

.sections-hero-media img,
.section-cover-collage img,
.section-mini-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.sections-hero-media.single .cover-wide,
.sections-hero-media.fallback .cover-wide {
  position: absolute;
  inset: 0;
}

.sections-hero-media.collage .cover-tile {
  position: absolute;
  border: 7px solid rgba(255,255,255,.84);
  border-radius: 24px;
  box-shadow: 0 18px 38px rgba(24,32,45,.16);
}

.sections-hero-media.collage .tile-1 {
  left: 4%;
  bottom: 10%;
  width: 42%;
  height: 66%;
}

.sections-hero-media.collage .tile-2 {
  left: 30%;
  top: 10%;
  z-index: 2;
  width: 42%;
  height: 72%;
}

.sections-hero-media.collage .tile-3 {
  right: 4%;
  bottom: 15%;
  width: 36%;
  height: 58%;
}

.sections-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 24px 0 34px;
  align-items: stretch;
}

.section-card {
  min-height: 196px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  border: 1px solid var(--event-line);
  border-radius: var(--event-radius);
  color: var(--event-ink);
  background: var(--event-surface);
  box-shadow: var(--event-soft-shadow);
  text-decoration: none;
  overflow: hidden;
}

.section-card-primary {
  min-height: 292px;
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(220px, .44fr) minmax(0, .56fr);
  align-items: center;
  gap: 24px;
  padding: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(237,249,233,.86)),
    radial-gradient(circle at 78% 28%, rgba(47,179,68,.18), transparent 28%);
}

.section-card.disabled {
  cursor: default;
  box-shadow: 0 8px 24px rgba(24,32,45,.045);
}

.section-card.disabled::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.18);
  pointer-events: none;
}

.section-card-live {
  border-color: rgba(47,179,68,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,252,245,.94)),
    var(--event-surface);
}

.section-card:not(.disabled):hover {
  transform: translateY(-3px);
  box-shadow: var(--event-shadow);
}

.section-status {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.section-status.available {
  color: #fff;
  background: var(--event-green);
}

.section-status.soon {
  color: var(--event-muted);
  background: rgba(102,112,133,.10);
}

.section-cover {
  min-height: 190px;
  position: relative;
}

.section-card-primary .section-cover {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  min-height: 220px;
}

.section-cover-collage {
  border-radius: 22px;
  overflow: hidden;
  background: #eef8eb;
  box-shadow: inset 0 0 0 1px rgba(47,179,68,.10);
}

.section-cover-collage.single .cover-wide,
.section-cover-collage.fallback .cover-wide {
  position: absolute;
  inset: 0;
}

.section-cover-collage.collage .cover-tile {
  position: absolute;
  border: 6px solid rgba(255,255,255,.88);
  border-radius: 20px;
  box-shadow: 0 16px 34px rgba(24,32,45,.15);
}

.section-cover-collage.collage .tile-1 {
  left: 3%;
  bottom: 10%;
  width: 46%;
  height: 66%;
}

.section-cover-collage.collage .tile-2 {
  left: 28%;
  top: 7%;
  z-index: 2;
  width: 46%;
  height: 74%;
}

.section-cover-collage.collage .tile-3 {
  right: 2%;
  bottom: 13%;
  width: 39%;
  height: 58%;
}

.section-card-primary .section-content {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

.section-card-primary .section-icon {
  position: absolute;
  left: 26px;
  top: 26px;
  z-index: 3;
}

.section-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: var(--event-green-dark);
  background: var(--event-green-soft);
}

.section-content {
  min-width: 0;
  position: relative;
  z-index: 2;
}

.section-eyebrow {
  color: var(--event-green-dark);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.section-card h2 {
  margin: 6px 0 6px;
  font-size: 22px;
  line-height: 1.15;
}

.section-card-primary h2 {
  font-size: 32px;
}

.section-card p {
  margin: 0;
  color: var(--event-muted);
  line-height: 1.45;
}

.section-mini-cover {
  height: 86px;
  display: block;
  margin: -6px -6px 2px;
  border-radius: 18px;
  overflow: hidden;
  background: #eef8eb;
  box-shadow: inset 0 0 0 1px rgba(47,179,68,.09);
}

.section-stat {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-top: 14px;
  padding: 0 11px;
  border-radius: 999px;
  color: var(--event-green-dark);
  background: var(--event-green-soft);
  font-size: 13px;
  font-weight: 800;
}

.section-card-live .section-stat {
  width: max-content;
  max-width: 100%;
  margin-top: 2px;
}

.section-cta,
.event-btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: var(--event-green);
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(47, 179, 68, .20);
}

.section-cta {
  width: max-content;
  margin-top: 18px;
}

.section-card-live .section-cta {
  min-height: 38px;
  margin-top: auto;
  padding: 0 15px;
  border-radius: 12px;
  font-size: 13px;
}

.event-btn.secondary {
  color: var(--event-ink);
  background: var(--event-surface);
  border: 1px solid var(--event-line);
  box-shadow: none;
}

.event-link {
  color: var(--event-green-dark);
  font-weight: 800;
  text-decoration: none;
}

.product-module-hero {
  min-height: 154px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) minmax(260px, .62fr);
  gap: 22px;
  align-items: center;
  margin: 18px 0 16px;
  padding: 24px;
  border: 1px solid var(--event-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 86% 12%, rgba(47,179,68,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(252,250,244,.94));
  box-shadow: var(--event-soft-shadow);
}

.product-module-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--event-green), var(--event-green-dark));
  box-shadow: 0 16px 34px rgba(47,179,68,.22);
}

.product-module-hero h1 {
  margin: 5px 0 8px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05;
}

.product-module-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--event-muted);
  line-height: 1.55;
}

.product-module-perks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.product-module-perks span {
  min-height: 54px;
  display: grid;
  place-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(47,179,68,.16);
  border-radius: 16px;
  color: var(--event-ink);
  background: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.product-module-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
  padding: 14px;
  border: 1px solid var(--event-line);
  border-radius: 20px;
  background: var(--event-surface);
  box-shadow: 0 10px 24px rgba(24,32,45,.045);
}

.product-filter-chips {
  min-width: 0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}

.product-filter-chips::-webkit-scrollbar {
  display: none;
}

.product-filter-chip {
  min-height: 38px;
  flex: 0 0 auto;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  color: var(--event-ink);
  background: rgba(102,112,133,.08);
  font-weight: 800;
  cursor: pointer;
}

.product-filter-chip.active {
  color: #fff;
  background: var(--event-green);
}

.product-search-field {
  width: min(320px, 38vw);
  flex: 0 0 auto;
}

.product-search-field input {
  width: 100%;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--event-line);
  border-radius: 13px;
  background: #fff;
  color: var(--event-ink);
  outline: 0;
}

.product-module-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 34px;
}

.product-showcase-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--event-line);
  border-radius: 20px;
  background: var(--event-surface);
  box-shadow: 0 12px 28px rgba(24,32,45,.06);
  overflow: hidden;
}

.product-card-media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #eef8eb;
  overflow: hidden;
}

.product-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.section-products-page[data-section-module="food"] .product-card-media {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.9)),
    #f8fafc;
}

.section-products-page[data-section-module="food"] .product-card-media img {
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
}

.section-products-page[data-section-module="cars"] .product-showcase-card {
  border-color: rgba(16, 24, 40, .08);
  background: #fff;
}

.section-products-page[data-section-module="cars"] .product-card-media {
  aspect-ratio: 16 / 9;
  background: #f8faf7;
}

.section-products-page[data-section-module="cars"] .product-card-media img {
  object-fit: cover;
  object-position: center top;
  transform: scale(1.035);
  transform-origin: center top;
}

.section-products-page[data-section-module="cars"] .product-card-media span {
  left: 14px;
  top: 14px;
  box-shadow: 0 8px 18px rgba(15, 111, 43, .08);
}

.product-card-media span {
  position: absolute;
  left: 12px;
  top: 12px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--event-green-dark);
  background: rgba(234, 250, 229, .94);
  font-size: 12px;
  font-weight: 800;
}

.product-card-body {
  min-width: 0;
  flex: 1;
  padding: 14px 14px 10px;
}

.product-card-body h2 {
  min-height: 42px;
  margin: 0 0 6px;
  color: var(--event-ink);
  font-size: 17px;
  line-height: 1.22;
}

.product-card-subtitle,
.product-card-description,
.product-card-footer span {
  color: var(--event-muted);
}

.product-card-subtitle {
  margin: 0 0 8px;
  font-weight: 700;
}

.product-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0;
}

.product-card-meta span,
.product-sessions span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border-radius: 999px;
  color: var(--event-muted);
  background: rgba(102,112,133,.08);
  font-size: 12px;
  font-weight: 700;
}

.product-card-price {
  margin: 10px 0 0;
  color: var(--event-muted);
  font-size: 13px;
}

.product-card-price strong {
  color: var(--event-ink);
  font-size: 22px;
}

.product-sessions {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.product-sessions span {
  width: max-content;
  max-width: 100%;
}

.product-card-description {
  display: -webkit-box;
  margin: 10px 0 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.45;
}

.product-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px 14px;
}

.product-card-footer span {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 700;
}

.product-card-footer a {
  min-height: 36px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: 11px;
  color: #fff;
  background: var(--event-green);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.product-empty-state {
  margin-bottom: 34px;
}

.section-products-page[data-section-module="cinema"] .event-main {
  max-width: 1760px;
}

.section-products-page[data-section-module="cinema"] .event-breadcrumb {
  margin-top: 18px;
}

.cinema-title-strip {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0 10px;
}

.cinema-title-strip h1 {
  margin: 0;
  color: var(--event-ink);
  font-size: clamp(36px, 4.2vw, 58px);
  line-height: 1;
}

.cinema-title-strip p {
  max-width: 520px;
  margin: 0;
  color: var(--event-muted);
  font-weight: 600;
}

.section-products-page[data-section-module="cinema"] .product-module-toolbar {
  justify-content: flex-start;
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
  margin: 0 0 22px;
}

.section-products-page[data-section-module="cinema"] .product-filter-chip {
  min-width: 116px;
  min-height: 46px;
  background: #fff;
  border: 1px solid var(--event-line);
  box-shadow: 0 8px 20px rgba(24,32,45,.04);
}

.section-products-page[data-section-module="cinema"] .product-filter-chip.active {
  border-color: var(--event-green);
  background: #0f7c3a;
}

.section-products-page[data-section-module="cinema"] .product-filter-chip.has-chevron::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.section-products-page[data-section-module="cinema"] .product-filter-chip.reset-filter {
  min-width: max-content;
  color: var(--event-green-dark);
}

.section-products-page[data-section-module="cinema"] .product-search-field {
  width: min(420px, 34vw);
  margin-left: auto;
}

.cinema-showcase-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 28px;
  align-items: start;
  margin-bottom: 44px;
}

.cinema-showcase-main {
  min-width: 0;
}

.cinema-featured-card {
  min-height: 376px;
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 22px;
  overflow: hidden;
  color: #fff;
  background-image:
    linear-gradient(90deg, rgba(2,6,23,.92) 0%, rgba(2,6,23,.64) 42%, rgba(2,6,23,.08) 100%),
    var(--cinema-bg);
  background-size: cover;
  background-position: center;
  box-shadow: 0 22px 44px rgba(15,23,42,.18);
}

.cinema-featured-content {
  width: min(560px, 58%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px;
}

.cinema-premiere {
  width: max-content;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--event-green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.cinema-featured-card h2 {
  margin: 0 0 14px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.02;
}

.cinema-featured-card p {
  max-width: 520px;
  margin: 16px 0 0;
  color: rgba(255,255,255,.88);
  font-size: 16px;
  line-height: 1.55;
}

.cinema-featured-tags,
.cinema-featured-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.cinema-featured-tags span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 9px;
  background: rgba(15,23,42,.24);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.cinema-featured-meta {
  margin-top: 18px;
  color: rgba(255,255,255,.9);
  font-weight: 800;
}

.cinema-featured-actions {
  display: flex;
  gap: 12px;
  margin-top: 26px;
}

.cinema-featured-actions a,
.cinema-featured-actions button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  font-weight: 900;
}

.cinema-featured-actions a {
  min-width: 220px;
  color: #fff;
  background: var(--event-green);
  text-decoration: none;
}

.cinema-featured-actions button {
  width: 56px;
  border: 1px solid rgba(255,255,255,.38);
  color: #fff;
  background: rgba(15,23,42,.35);
  font-size: 26px;
  cursor: pointer;
}

.cinema-rail-section {
  margin-top: 24px;
}

.cinema-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.cinema-section-head h2 {
  margin: 0;
  color: var(--event-ink);
  font-size: 22px;
}

.cinema-section-head a {
  color: var(--event-green-dark);
  font-weight: 800;
  text-decoration: none;
}

.cinema-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(176px, 1fr);
  gap: 18px;
  overflow-x: auto;
  padding: 0 4px 10px 0;
  scrollbar-width: none;
}

.cinema-rail::-webkit-scrollbar {
  display: none;
}

.cinema-movie-tile {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: var(--event-ink);
  text-decoration: none;
}

.cinema-tile-cover {
  aspect-ratio: 16 / 10;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: #eef8eb;
  box-shadow: 0 12px 26px rgba(15,23,42,.08);
}

.cinema-tile-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cinema-movie-tile strong {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 15px;
}

.cinema-movie-tile span,
.cinema-movie-tile small {
  color: var(--event-muted);
  font-weight: 700;
}

.cinema-movie-tile small {
  color: #f59e0b;
}

.cinema-showcase-sidebar {
  display: grid;
  gap: 22px;
}

.cinema-sidebar-card,
.cinema-promo-card {
  border: 1px solid var(--event-line);
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--event-soft-shadow);
}

.cinema-sidebar-card {
  padding: 20px;
}

.cinema-session-mini {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 14px;
  padding: 16px 0;
  border-top: 1px solid var(--event-line);
}

.cinema-session-mini:first-of-type {
  border-top: 0;
}

.cinema-session-mini img {
  width: 86px;
  height: 112px;
  border-radius: 12px;
  object-fit: cover;
}

.cinema-session-mini h3 {
  margin: 0 0 6px;
  color: var(--event-ink);
  font-size: 16px;
}

.cinema-session-mini p {
  margin: 0 0 11px;
  color: var(--event-muted);
  font-weight: 600;
}

.cinema-time-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cinema-time-row span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid var(--event-line);
  border-radius: 10px;
  color: var(--event-muted);
  background: #fff;
  font-weight: 800;
}

.cinema-time-row span.active {
  border-color: #0f7c3a;
  color: #fff;
  background: #0f7c3a;
}

.cinema-promo-card {
  min-height: 208px;
  padding: 28px;
  background:
    radial-gradient(circle at 86% 32%, rgba(47,179,68,.16), transparent 25%),
    linear-gradient(135deg, #f7fff3, #fff);
}

.cinema-promo-card h2 {
  margin: 0 0 12px;
  color: #0f7c3a;
  font-size: 32px;
}

.cinema-promo-card p {
  max-width: 260px;
  color: var(--event-ink);
  line-height: 1.5;
}

.cinema-promo-card a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  padding: 0 28px;
  border-radius: 13px;
  color: #fff;
  background: #0f7c3a;
  font-weight: 900;
  text-decoration: none;
}

.event-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 18px;
  color: var(--event-muted);
  font-size: 14px;
}

.event-breadcrumb a {
  color: var(--event-muted);
  text-decoration: none;
}

.afisha-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.afisha-date-chip {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 14px;
  border: 1px solid var(--event-line);
  border-radius: 14px;
  color: var(--event-green-dark);
  background: var(--event-surface);
  font-weight: 800;
}

.event-panel {
  margin: 22px 0;
  padding: 22px;
  border: 1px solid var(--event-line);
  border-radius: 26px;
  background: var(--event-surface);
  box-shadow: var(--event-soft-shadow);
}

.event-panel[hidden] {
  display: none !important;
}

.event-panel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.event-panel-head h2 {
  margin: 6px 0 0;
  font-size: 26px;
  line-height: 1.1;
}

.afisha-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.afisha-search-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) auto;
  gap: 10px;
}

.afisha-search-row input {
  min-height: 46px;
  min-width: 0;
  padding: 0 14px;
  border: 1px solid var(--event-line);
  border-radius: 14px;
  color: var(--event-ink);
  background: rgba(255,255,255,.78);
  font: inherit;
  outline: 0;
}

body.dark .afisha-search-row input,
body.dark-theme .afisha-search-row input {
  background: rgba(255,255,255,.06);
}

.filter-chip-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 6px;
  scrollbar-width: none;
}

.filter-chip-row::-webkit-scrollbar {
  display: none;
}

.filter-chip,
.type-chip {
  min-height: 38px;
  flex: 0 0 auto;
  padding: 0 15px;
  border: 1px solid var(--event-line);
  border-radius: 999px;
  color: var(--event-ink);
  background: rgba(255,255,255,.72);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}

.filter-chip.active,
.type-chip.active {
  color: #fff;
  border-color: var(--event-green);
  background: var(--event-green);
}

.events-grid,
.home-events-grid,
.detail-events-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.event-card {
  min-width: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--event-line);
  border-radius: 20px;
  color: var(--event-ink);
  background: var(--event-surface);
  box-shadow: 0 10px 26px rgba(24,32,45,.06);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.event-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--event-shadow);
}

.event-card-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.62), transparent 20%),
    linear-gradient(135deg, #eaf8df, #f7fbf2);
}

.event-card-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 78% 16%, rgba(255,255,255,.36), transparent 19%),
    linear-gradient(180deg, rgba(23,32,51,0) 38%, rgba(23,32,51,.36));
  pointer-events: none;
}

.event-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.01);
  filter: saturate(1.08) contrast(1.03);
}

.media-pill {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
}

.event-type-concert .event-card-media {
  background: linear-gradient(135deg, #132036, #2fb344);
}

.event-type-festival .event-card-media {
  background: linear-gradient(135deg, #fff2b5, #ff7ab6);
}

.event-type-sport_event .event-card-media {
  background: linear-gradient(135deg, #dff8e7, #1c7c54);
}

.event-type-theatre_performance .event-card-media {
  background: linear-gradient(135deg, #241728, #d89a52);
}

.event-type-master_class .event-card-media {
  background: linear-gradient(135deg, #fff4df, #63b65b);
}

.event-card-body {
  display: block;
  padding: 14px;
}

.event-card h3 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
  margin: 0 0 9px;
  font-size: 17px;
  line-height: 1.22;
}

.event-type-pill,
.event-price-pill {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 9px;
  border-radius: 999px;
  color: var(--event-green-dark);
  background: var(--event-green-soft);
  font-size: 12px;
  font-weight: 800;
}

.event-meta {
  display: grid;
  gap: 6px;
  color: var(--event-muted);
  font-size: 13px;
  font-weight: 600;
}

.event-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.event-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  margin: 0 0 36px;
}

.event-detail-card {
  border: 1px solid var(--event-line);
  border-radius: 26px;
  background: var(--event-surface);
  box-shadow: var(--event-soft-shadow);
}

.event-detail-main {
  overflow: hidden;
}

.event-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, .58fr) minmax(320px, .42fr);
  gap: 0;
  align-items: stretch;
  min-height: 430px;
  background:
    radial-gradient(circle at 72% 22%, rgba(47,179,68,.14), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(237,249,233,.74));
}

.event-detail-cover {
  width: 100%;
  height: 100%;
  min-height: 430px;
  aspect-ratio: auto;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #eaf8df, #f7fbf2);
}

.event-detail-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(23,32,51,0) 58%, rgba(23,32,51,.16));
  pointer-events: none;
}

.event-detail-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.event-detail-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
}

.event-detail-title {
  margin: 12px 0 12px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.04;
}

.event-detail-text {
  color: var(--event-muted);
  font-size: 16px;
  line-height: 1.64;
  white-space: pre-wrap;
}

.event-detail-lead {
  margin: 0 0 16px;
  color: var(--event-muted);
  font-size: 17px;
  line-height: 1.55;
}

.event-detail-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.event-detail-quick span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid rgba(47,179,68,.18);
  border-radius: 999px;
  color: var(--event-green-dark);
  background: rgba(237,249,233,.76);
  font-size: 13px;
  font-weight: 800;
}

.event-description-card {
  margin: 18px;
  padding: 20px;
  border: 1px solid var(--event-line);
  border-radius: 22px;
  background: rgba(255,255,255,.72);
}

body.dark .event-description-card,
body.dark-theme .event-description-card {
  background: rgba(255,255,255,.05);
}

.event-side-list {
  align-self: start;
  display: grid;
  gap: 12px;
  padding: 18px;
}

.event-side-item {
  padding: 14px;
  border: 1px solid var(--event-line);
  border-radius: 16px;
  background: rgba(255,255,255,.55);
}

body.dark .event-side-item,
body.dark-theme .event-side-item {
  background: rgba(255,255,255,.05);
}

.event-side-item span {
  display: block;
  color: var(--event-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.event-side-item strong,
.event-side-item a {
  display: block;
  margin-top: 5px;
  color: var(--event-ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}

.event-detail-actions {
  display: grid;
  gap: 10px;
}

.event-map-preview {
  min-height: 138px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  padding: 16px;
  border: 1px solid rgba(47,179,68,.20);
  border-radius: 18px;
  color: var(--event-ink);
  background:
    linear-gradient(90deg, rgba(47,179,68,.10) 1px, transparent 1px),
    linear-gradient(0deg, rgba(47,179,68,.10) 1px, transparent 1px),
    radial-gradient(circle at 52% 44%, rgba(47,179,68,.18), transparent 24%),
    rgba(237,249,233,.66);
  background-size: 28px 28px, 28px 28px, auto, auto;
  overflow: hidden;
  text-decoration: none;
}

.event-map-pin {
  position: absolute;
  left: 50%;
  top: 38%;
  width: 34px;
  height: 34px;
  border-radius: 50% 50% 50% 8px;
  background: var(--event-green);
  transform: translate(-50%, -50%) rotate(-45deg);
  box-shadow: 0 12px 24px rgba(47,179,68,.28);
}

.event-map-pin::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: #fff;
}

.event-map-preview strong,
.event-map-preview small {
  position: relative;
  z-index: 2;
}

.event-map-preview small {
  color: var(--event-muted);
}

.sections-today-panel.is-compact {
  padding: 18px;
}

.sections-today-panel.is-compact .home-events-grid {
  display: flex;
  grid-template-columns: none;
  gap: 14px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: none;
}

.sections-today-panel.is-compact .home-events-grid::-webkit-scrollbar {
  display: none;
}

.sections-today-panel.is-compact .event-card {
  flex: 0 0 min(360px, 88vw);
}

.event-empty,
.event-error,
.event-skeleton {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px dashed rgba(47,179,68,.32);
  border-radius: 20px;
  color: var(--event-muted);
  background: rgba(255,255,255,.58);
}

.event-skeleton {
  min-height: 220px;
  background: linear-gradient(90deg, rgba(255,255,255,.55), rgba(47,179,68,.12), rgba(255,255,255,.55));
  background-size: 220% 100%;
  animation: event-shimmer 1.1s infinite linear;
}

@keyframes event-shimmer {
  to { background-position: -220% 0; }
}

.events-mobile-nav {
  display: none;
}

body.home-page .home-events-panel,
.detail-listing-events-panel {
  max-width: 1320px;
}

@media (max-width: 1180px) {
  .cinema-showcase-layout {
    grid-template-columns: 1fr;
  }

  .cinema-showcase-sidebar {
    grid-template-columns: 1fr 1fr;
  }

  .product-module-hero {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .product-module-perks {
    grid-column: 1 / -1;
  }

  .product-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .cinema-showcase-sidebar {
    grid-template-columns: 1fr;
  }

  .section-products-page[data-section-module="cinema"] .product-search-field {
    width: 100%;
    margin-left: 0;
  }

  .section-products-page[data-section-module="cinema"] .product-module-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

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

@media (max-width: 640px) {
  .cinema-title-strip {
    display: block;
    margin-top: 8px;
  }

  .cinema-title-strip h1 {
    font-size: 34px;
  }

  .cinema-title-strip p {
    margin-top: 6px;
  }

  .section-products-page[data-section-module="cinema"] .product-filter-chip {
    min-width: max-content;
    min-height: 40px;
    padding-inline: 14px;
  }

  .cinema-featured-card {
    min-height: 390px;
    background-image:
      linear-gradient(180deg, rgba(2,6,23,.24) 0%, rgba(2,6,23,.88) 70%),
      var(--cinema-bg);
    background-position: center top;
  }

  .cinema-featured-content {
    width: 100%;
    justify-content: flex-end;
    padding: 22px;
  }

  .cinema-featured-card h2 {
    font-size: 30px;
  }

  .cinema-featured-card p {
    display: none;
  }

  .cinema-featured-actions a {
    min-width: 0;
    flex: 1;
  }

  .cinema-rail {
    grid-auto-columns: 168px;
    gap: 12px;
  }

  .cinema-sidebar-card {
    padding: 16px;
  }

  .cinema-session-mini {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .cinema-session-mini img {
    width: 76px;
    height: 98px;
  }

  .cinema-promo-card {
    min-height: 0;
    padding: 22px;
  }

  .product-module-hero {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 16px;
    border-radius: 20px;
  }

  .product-module-icon {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  .product-module-perks {
    display: none;
  }

  .product-module-toolbar {
    align-items: stretch;
    flex-direction: column;
    padding: 12px;
  }

  .product-search-field {
    width: 100%;
  }

  .product-module-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .product-showcase-card {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    border-radius: 18px;
  }

  .product-card-media {
    height: 100%;
    min-height: 150px;
    aspect-ratio: auto;
  }

  .section-products-page[data-section-module="cars"] .product-card-media {
    min-height: 150px;
  }

  .product-card-body {
    padding: 12px 12px 8px;
  }

  .product-card-body h2 {
    min-height: 0;
    font-size: 16px;
  }

  .product-card-description,
  .product-sessions span:nth-child(n+3) {
    display: none;
  }

  .product-card-footer {
    grid-column: 1 / -1;
    padding: 10px 12px 12px;
  }
}

@media (max-width: 360px) {
  .product-showcase-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .product-card-media {
    min-height: 136px;
  }
}

@media (max-width: 1180px) {
  .event-header-inner {
    grid-template-columns: auto auto minmax(180px, 1fr) auto auto;
  }

  .event-header-nav {
    order: 6;
    grid-column: 1 / -1;
    justify-content: center;
    border-top: 1px solid var(--event-line);
    padding-top: 8px;
    margin-bottom: 8px;
  }

  .events-grid,
  .home-events-grid,
  .detail-events-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .sections-hero {
    grid-template-columns: 1fr;
    padding: 28px;
  }

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

  .section-card-primary {
    grid-column: 1 / -1;
  }

  .event-detail-layout {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 767px) {
  body.home-page .mobile-nav,
  .detail-mobile-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.home-page .mobile-nav a .label,
  .detail-mobile-nav a span {
    font-size: 10px !important;
  }

  body.events-page,
  body.sections-page {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }

  .event-shell {
    width: min(100% - 28px, 520px);
  }

  .event-main {
    padding-top: 12px;
  }

  .event-header {
    padding: 0;
  }

  .event-header-inner {
    width: 100%;
    min-height: 118px;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 0 0 22px 22px;
  }

  .event-brand span {
    font-size: 18px;
  }

  .event-brand img {
    width: 34px;
    height: 34px;
  }

  .event-location {
    justify-self: start;
    min-height: 38px;
    padding: 0 8px;
    border-left: 0;
    font-size: 13px;
  }

  .event-search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .event-header-nav,
  .event-theme {
    display: none;
  }

  .sections-hero {
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
  }

  .sections-hero h1,
  .afisha-heading h1 {
    font-size: 34px;
  }

  .sections-hero p,
  .afisha-heading p {
    font-size: 14px;
  }

  .sections-hero-media {
    min-height: 130px;
  }

  .sections-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .section-card {
    min-height: 180px;
    padding: 16px;
    border-radius: 18px;
  }

  .section-card-primary {
    min-height: 0;
    display: flex;
    grid-column: 1 / -1;
    padding: 18px;
  }

  .section-cover {
    width: 100%;
    min-height: 120px;
  }

  .section-card h2 {
    font-size: 18px;
  }

  .section-card-primary h2 {
    font-size: 28px;
  }

  .section-card p {
    font-size: 13px;
  }

  .section-status {
    top: 10px;
    right: 10px;
  }

  .afisha-heading {
    align-items: start;
    flex-direction: column;
  }

  .afisha-date-chip {
    display: none;
  }

  .event-panel {
    padding: 14px;
    border-radius: 20px;
  }

  .event-panel-head {
    align-items: center;
  }

  .event-panel-head h2 {
    font-size: 22px;
  }

  .afisha-search-row {
    grid-template-columns: 1fr;
  }

  .filter-chip-row {
    margin-inline: -2px;
  }

  .events-grid {
    grid-template-columns: 1fr;
  }

  .home-events-grid,
  .detail-events-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .home-events-grid::-webkit-scrollbar,
  .detail-events-grid::-webkit-scrollbar {
    display: none;
  }

  .home-events-grid .event-card,
  .detail-events-grid .event-card {
    flex: 0 0 78%;
  }

  .event-card {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    min-height: 132px;
  }

  .event-card-media {
    aspect-ratio: auto;
    min-height: 132px;
  }

  .event-card-body {
    padding: 12px;
  }

  .event-card h3 {
    min-height: 0;
    font-size: 15px;
  }

  .event-meta {
    gap: 4px;
    font-size: 12px;
  }

  .media-pill {
    top: 8px;
    left: 8px;
    min-height: 24px;
    font-size: 11px;
  }

  .event-detail-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .event-detail-cover {
    min-height: 220px;
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .event-detail-copy {
    padding: 16px;
  }

  .event-description-card {
    margin: 12px;
    padding: 16px;
  }

  .event-detail-title {
    font-size: 30px;
  }

  .event-side-list {
    padding: 14px;
  }

  .events-mobile-nav {
    position: fixed;
    left: 50%;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 80;
    width: min(calc(100% - 24px), 430px);
    height: 72px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 7px;
    border: 1px solid var(--event-line);
    border-radius: 24px;
    background: var(--event-surface);
    box-shadow: 0 18px 45px rgba(24,32,45,.18);
    transform: translateX(-50%);
  }

  .events-mobile-nav a {
    min-width: 0;
    display: grid;
    place-items: center;
    gap: 2px;
    border-radius: 17px;
    color: var(--event-muted);
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
  }

  .events-mobile-nav a.active {
    color: var(--event-green-dark);
    background: var(--event-green-soft);
  }

  .events-mobile-nav svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 340px) {
  .sections-grid {
    grid-template-columns: 1fr;
  }

  .event-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}

/* Sections hub redesign */
body.sections-page {
  background:
    radial-gradient(circle at 7% 12%, rgba(47, 179, 68, .12), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(47, 179, 68, .10), transparent 22%),
    linear-gradient(180deg, #f7f4ea 0%, #fbfaf6 46%, #fff 100%);
}

.sections-page .event-main {
  padding-top: 18px;
}

.sections-hub-hero {
  min-height: 236px;
  grid-template-columns: minmax(0, .42fr) minmax(360px, .58fr);
  padding: 32px 38px;
  border-radius: 22px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .78)),
    radial-gradient(circle at 68% 44%, rgba(93, 202, 66, .22), transparent 34%),
    linear-gradient(135deg, rgba(241, 251, 235, .78), rgba(255, 255, 255, .94));
}

.sections-hub-hero .event-kicker {
  display: none;
}

.sections-hub-hero h1 {
  max-width: 480px;
  margin: 0 0 10px;
  font-family: inherit;
  font-size: clamp(42px, 4.1vw, 62px);
  font-weight: 800;
  line-height: 1.02;
}

.sections-hub-hero p {
  max-width: 460px;
  font-size: 18px;
  line-height: 1.48;
}

.sections-hub-hero .sections-hero-note {
  max-width: 520px;
  margin-top: 14px !important;
}

.sections-hub-hero .sections-hero-media {
  min-height: 196px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 16% 72%, rgba(255, 255, 255, .74) 0 30px, transparent 31px),
    radial-gradient(circle at 30% 48%, rgba(177, 92, 228, .72) 0 42px, transparent 43px),
    radial-gradient(circle at 44% 34%, rgba(255, 151, 57, .84) 0 47px, transparent 48px),
    radial-gradient(circle at 62% 68%, rgba(58, 109, 218, .72) 0 46px, transparent 47px),
    radial-gradient(circle at 34% 24%, rgba(93, 202, 66, .74) 0 38px, transparent 39px),
    linear-gradient(135deg, rgba(230, 248, 221, .9), rgba(255, 255, 255, .72));
}

.sections-hub-hero .sections-hero-media img {
  width: 72%;
  height: 86%;
  margin-left: auto;
  object-fit: contain;
  opacity: .34;
  filter: saturate(1.08);
}

.sections-hub-hero .sections-hero-media::before {
  content: "MAKON";
  inset: auto 18% 28px auto;
  width: 230px;
  height: 126px;
  z-index: 4;
  display: grid;
  place-items: center;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 28% 28%, rgba(255, 255, 255, .28), transparent 26%),
    linear-gradient(145deg, #35b52d, #08752e);
  box-shadow: 0 26px 54px rgba(15, 111, 43, .32);
  font-size: 26px;
  font-weight: 900;
  letter-spacing: .02em;
  transform: rotate(13deg);
}

.sections-hub-hero .sections-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background:
    radial-gradient(circle at 70% 14%, rgba(255, 255, 255, .86) 0 18px, transparent 19px),
    radial-gradient(circle at 85% 62%, rgba(255, 255, 255, .82) 0 31px, transparent 32px),
    linear-gradient(90deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.sections-hub-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr) minmax(0, .75fr);
  grid-auto-rows: 168px;
  gap: 16px;
  margin-top: 18px;
}

.sections-hub-grid .section-card {
  border-radius: 20px;
  border-color: rgba(18, 33, 28, .09);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.section-card-afisha {
  grid-column: span 2;
  grid-row: span 2;
  min-height: 350px;
  display: flex;
  justify-content: flex-end;
  padding: 34px;
  color: #fff;
  background:
    radial-gradient(circle at 76% 38%, rgba(64, 198, 74, .24), transparent 34%),
    linear-gradient(135deg, #061813, #0a2d20 62%, #071f17);
  box-shadow: 0 26px 64px rgba(3, 27, 18, .22);
}

.section-card-afisha::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(3, 18, 13, .88), rgba(3, 18, 13, .52) 44%, rgba(3, 18, 13, .08)),
    linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .32));
  pointer-events: none;
}

.section-card-afisha .section-status {
  top: 24px;
  left: 28px;
  right: auto;
  z-index: 7;
  color: #e9fff0;
  background: rgba(47, 179, 68, .78);
  box-shadow: none;
}

.section-card-afisha .section-cover {
  position: absolute;
  inset: 0;
  min-height: 0;
  z-index: 1;
  border-radius: inherit;
  opacity: .86;
  filter: saturate(1.08) contrast(1.03);
}

.section-card-afisha .section-cover::after {
  background:
    radial-gradient(circle at 76% 34%, rgba(47, 179, 68, .26), transparent 28%),
    linear-gradient(90deg, rgba(3, 18, 13, .72), transparent 60%);
}

.section-card-afisha .section-icon {
  display: none;
}

.section-card-afisha .section-content {
  z-index: 6;
  width: min(410px, 58%);
  align-self: end;
  margin-right: auto;
}

.section-card-afisha .section-eyebrow {
  color: #fff;
  background: rgba(47, 179, 68, .76);
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 11px;
  border-radius: 999px;
}

.section-card-afisha h2 {
  margin-top: 16px;
  color: #fff;
  font-size: clamp(34px, 3.2vw, 48px);
}

.section-card-afisha p {
  color: rgba(255, 255, 255, .92);
  font-weight: 650;
}

.section-card-afisha .section-stat {
  color: #e9fff0;
  background: rgba(47, 179, 68, .18);
  border: 1px solid rgba(255, 255, 255, .16);
}

.section-card-afisha .section-cta {
  color: var(--event-green-dark);
  background: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}

.section-card-afisha .section-cta::after,
.section-module-card .section-cta::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.section-module-card {
  min-height: 168px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44%;
  grid-template-rows: auto auto minmax(38px, 1fr) auto auto;
  gap: 8px 12px;
  padding: 22px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .78)),
    var(--event-surface);
}

.section-module-card .section-status {
  top: 18px;
  right: 18px;
  min-height: 24px;
  padding-inline: 9px;
  font-size: 11px;
}

.section-module-card .section-icon {
  width: 44px;
  height: 44px;
  grid-column: 1;
  grid-row: 1;
  border-radius: 14px;
  color: var(--event-green-dark);
  background: rgba(47, 179, 68, .11);
}

.section-module-card h2 {
  grid-column: 1;
  grid-row: 2;
  margin: 4px 0 0;
  font-size: 22px;
  font-weight: 800;
}

.section-module-card p {
  grid-column: 1;
  grid-row: 3;
  max-width: 290px;
  color: #667085;
  font-size: 14px;
  line-height: 1.38;
}

.section-module-card .section-stat {
  grid-column: 1;
  grid-row: 4;
  width: max-content;
  min-height: 24px;
  margin: 0;
  padding: 0;
  color: var(--event-green-dark);
  background: transparent;
  font-size: 12px;
}

.section-module-card .section-cta {
  grid-column: 1;
  grid-row: 5;
  align-self: end;
  min-height: 32px;
  margin: 24px 0 0;
  padding-inline: 15px;
  border-radius: 999px;
  color: var(--event-green-dark);
  background: #fff;
  box-shadow: 0 10px 26px rgba(24, 32, 45, .08);
}

.section-module-card .section-stat + .section-cta {
  margin-top: 8px;
}

.section-module-card .section-mini-cover {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: 100%;
  margin: 0;
  border-radius: 0 20px 20px 0;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

.section-module-card .section-mini-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .30) 48%, rgba(255, 255, 255, 0));
}

.section-module-card .section-mini-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right bottom;
  padding: 16px 10px 0 0;
  opacity: .92;
  filter: drop-shadow(0 18px 28px rgba(25, 58, 34, .16));
}

.section-module-cinema {
  grid-row: span 2;
  min-height: 350px;
}

.section-module-cinema .section-mini-cover {
  width: 62%;
  height: 100%;
  background:
    radial-gradient(circle at 85% 10%, rgba(255, 255, 255, .92), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, .2), rgba(32, 30, 30, .18)),
    url("/uploads/cinema/showcase_movie_01.png") center right / cover no-repeat;
}

.section-module-cinema .section-mini-cover img {
  display: none;
}

.section-module-food .section-mini-cover img,
.section-module-cars .section-mini-cover img,
.section-module-products .section-mini-cover img,
.section-module-services .section-mini-cover img,
.section-module-promotions .section-mini-cover img {
  display: none;
}

.section-module-food .section-mini-cover {
  background:
    radial-gradient(circle at 75% 40%, rgba(255, 255, 255, .74), transparent 38%),
    url("/static/images/sections/food.svg") right bottom / 66% auto no-repeat;
}

.section-module-cars .section-mini-cover {
  background:
    radial-gradient(circle at 78% 50%, rgba(255, 255, 255, .80), transparent 32%),
    url("/uploads/cars/showcase_car_01.png") right bottom / 88% auto no-repeat;
}

.section-module-products .section-mini-cover {
  background:
    radial-gradient(circle at 74% 52%, rgba(255, 255, 255, .8), transparent 34%),
    url("/static/images/sections/products.svg") right bottom / 66% auto no-repeat;
}

.section-module-services .section-mini-cover {
  background:
    radial-gradient(circle at 74% 52%, rgba(255, 255, 255, .8), transparent 34%),
    url("/static/images/sections/services.svg") right bottom / 68% auto no-repeat;
}

.section-module-promotions .section-mini-cover {
  background:
    radial-gradient(circle at 74% 52%, rgba(255, 255, 255, .8), transparent 34%),
    url("/static/images/sections/discounts.svg") right bottom / 66% auto no-repeat;
}

.section-module-card.disabled {
  opacity: 1;
}

.section-module-card.disabled h2,
.section-module-card.disabled p {
  color: #667085;
}

.sections-today-panel {
  margin-top: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.sections-today-panel .event-panel-head {
  margin-bottom: 12px;
}

.sections-today-panel .event-kicker {
  min-height: 26px;
  margin-right: 10px;
}

.sections-today-panel .home-events-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .sections-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-card-afisha,
  .section-module-cinema {
    grid-column: span 2;
    grid-row: span 1;
    min-height: 280px;
  }
}

@media (max-width: 767px) {
  body.sections-page {
    background:
      radial-gradient(circle at 30% 0%, rgba(67, 210, 91, .26), transparent 30%),
      linear-gradient(180deg, #072719 0%, #0d3423 52%, #f7f4ea 52%, #fbfaf6 100%);
  }

  .sections-page .event-main {
    padding-top: 10px;
  }

  .sections-hub-hero {
    display: block;
    min-height: 0;
    padding: 20px;
    border-color: rgba(255, 255, 255, .14);
    border-radius: 24px;
    color: #fff;
    background:
      linear-gradient(90deg, rgba(6, 39, 25, .86), rgba(9, 70, 39, .48)),
      radial-gradient(circle at 82% 42%, rgba(78, 211, 82, .30), transparent 36%);
    box-shadow: 0 24px 54px rgba(3, 22, 15, .30);
  }

  .sections-hub-hero h1 {
    max-width: 230px;
    margin-bottom: 8px;
    color: #fff;
    font-size: 28px;
  }

  .sections-hub-hero p {
    max-width: 230px;
    color: rgba(255, 255, 255, .86);
    font-size: 13px;
  }

  .sections-hub-hero .sections-hero-note {
    display: none;
  }

  .sections-hub-hero .sections-hero-media {
    position: absolute;
    right: 8px;
    top: 10px;
    width: 45%;
    min-height: 118px;
    opacity: .95;
    background:
      radial-gradient(circle at 32% 58%, rgba(255, 154, 73, .86) 0 22px, transparent 23px),
      radial-gradient(circle at 62% 72%, rgba(79, 119, 224, .78) 0 22px, transparent 23px),
      radial-gradient(circle at 52% 34%, rgba(95, 207, 82, .78) 0 28px, transparent 29px);
  }

  .sections-hub-hero .sections-hero-media img {
    display: none;
  }

  .sections-hub-hero .sections-hero-media::before {
    right: 10px;
    bottom: 25px;
    width: 92px;
    height: 62px;
    border-radius: 16px;
    font-size: 13px;
    transform: rotate(14deg);
  }

  .sections-hub-hero .sections-hero-media::after {
    display: none;
  }

  .sections-hub-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 10px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 24px;
    background: rgba(3, 30, 19, .76);
    box-shadow: 0 24px 54px rgba(3, 22, 15, .24);
  }

  .section-card-afisha {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 254px;
    padding: 20px;
    border-radius: 20px;
  }

  .section-card-afisha .section-status {
    top: 16px;
    left: 18px;
  }

  .section-card-afisha .section-content {
    width: 100%;
    max-width: 280px;
  }

  .section-card-afisha h2 {
    font-size: 34px;
  }

  .section-card-afisha p {
    max-width: 230px;
    font-size: 13px;
  }

  .section-card-afisha .section-cta {
    width: 100%;
    min-height: 48px;
    margin-top: 16px;
    color: #fff;
    background: linear-gradient(180deg, #29c94a, #138937);
  }

  .section-module-card,
  .section-module-cinema {
    grid-column: auto;
    grid-row: auto;
    min-height: 118px;
    display: flex;
    align-items: center;
    padding: 12px 8px;
    gap: 6px;
    border-radius: 18px;
    text-align: center;
    background: rgba(255, 255, 255, .94);
  }

  .section-module-card .section-status,
  .section-module-card .section-mini-cover,
  .section-module-card p,
  .section-module-card .section-cta {
    display: none;
  }

  .section-module-card .section-icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 2px;
    border-radius: 16px;
  }

  .section-module-card h2 {
    margin: 0;
    color: #172033;
    font-size: 13px;
    line-height: 1.15;
  }

  .section-module-card .section-stat {
    min-height: 18px;
    margin: 0 auto;
    color: var(--event-green-dark);
    font-size: 10px;
    line-height: 1.2;
    white-space: normal;
  }

  .sections-today-panel {
    margin-top: 18px;
    padding: 0 0 96px;
  }

  .sections-today-panel .event-panel-head h2 {
    font-size: 20px;
  }

  .sections-today-panel .event-kicker {
    min-height: 22px;
    padding-inline: 9px;
    font-size: 11px;
  }
}

/* Sections reference layout, 2026-08-07 */
.sections-page .event-shell {
  max-width: 1390px;
}

body.sections-page {
  background:
    radial-gradient(circle at 6% 16%, rgba(122, 190, 65, .12), transparent 24%),
    radial-gradient(circle at 92% 12%, rgba(247, 181, 83, .12), transparent 24%),
    linear-gradient(180deg, #f5f0e4 0%, #fbfaf5 42%, #fff 100%);
}

.sections-page .event-header {
  margin-top: 16px;
}

.sections-page .event-header-inner {
  min-height: 72px;
  border-radius: 22px;
  box-shadow: 0 16px 46px rgba(22, 34, 26, .08);
}

.sections-hub-hero {
  min-height: 248px;
  grid-template-columns: minmax(340px, .42fr) minmax(0, .58fr);
  gap: 28px;
  padding: 34px 38px;
  border: 1px solid rgba(21, 45, 31, .08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 70% 44%, rgba(96, 196, 82, .18), transparent 33%),
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.83)),
    linear-gradient(135deg, #fffaf0, #f7fff2);
  box-shadow: 0 22px 58px rgba(22, 34, 26, .09);
}

.sections-hub-hero .event-kicker {
  display: inline-flex;
  color: #08752e;
  background: #e8f8df;
}

.sections-hub-hero h1 {
  max-width: 460px;
  margin: 18px 0 10px;
  color: #111827;
  font-size: clamp(44px, 4vw, 60px);
  font-weight: 850;
  line-height: .98;
}

.sections-hub-hero p {
  max-width: 500px;
  color: #3f4b5f;
  font-size: 17px;
  font-weight: 500;
}

.sections-hub-hero .sections-hero-media {
  min-height: 210px;
  overflow: visible;
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 70%, rgba(153, 92, 218, .66) 0 44px, transparent 45px),
    radial-gradient(circle at 36% 44%, rgba(255, 149, 44, .9) 0 43px, transparent 44px),
    radial-gradient(circle at 55% 28%, rgba(77, 196, 73, .82) 0 38px, transparent 39px),
    radial-gradient(circle at 78% 70%, rgba(52, 101, 207, .72) 0 50px, transparent 51px),
    linear-gradient(135deg, rgba(237, 249, 229, .68), rgba(255, 255, 255, .34));
  box-shadow: none;
}

.sections-hub-hero .sections-hero-media img,
.sections-hub-hero .sections-hero-media .cover-tile,
.sections-hub-hero .sections-hero-media .cover-wide {
  position: absolute;
  border: 0;
  box-shadow: 0 24px 42px rgba(12, 51, 30, .16);
}

.sections-hub-hero .sections-hero-media .cover-wide,
.sections-hub-hero .sections-hero-media .tile-2 {
  left: 32%;
  top: 22px;
  z-index: 4;
  width: 40%;
  height: 150px;
  border-radius: 20px;
  object-fit: cover;
  transform: rotate(4deg);
}

.sections-hub-hero .sections-hero-media .tile-1 {
  left: 12%;
  top: 58px;
  z-index: 3;
  width: 28%;
  height: 118px;
  border-radius: 18px;
  object-fit: cover;
  opacity: .88;
  transform: rotate(-7deg);
}

.sections-hub-hero .sections-hero-media .tile-3 {
  right: 20%;
  top: 70px;
  z-index: 2;
  width: 28%;
  height: 116px;
  border-radius: 18px;
  object-fit: cover;
  opacity: .72;
  transform: rotate(8deg);
}

.sections-hub-hero .sections-hero-media::before {
  content: "";
  left: 59%;
  right: auto;
  bottom: 8px;
  top: auto;
  z-index: 6;
  width: 138px;
  height: 142px;
  border-radius: 18px 18px 32px 32px;
  background:
    linear-gradient(90deg, transparent 18%, rgba(255,255,255,.75) 18% 31%, transparent 31% 42%, rgba(255,255,255,.75) 42% 55%, transparent 55% 66%, rgba(255,255,255,.75) 66% 79%, transparent 79%),
    radial-gradient(circle at 28% 8%, #fff 0 12px, transparent 13px),
    radial-gradient(circle at 48% 3%, #fff 0 11px, transparent 12px),
    radial-gradient(circle at 68% 8%, #fff 0 12px, transparent 13px),
    linear-gradient(180deg, #f8fbef 0 20%, #0b7d35 21% 100%);
  box-shadow: 0 22px 38px rgba(24, 52, 31, .18);
  transform: rotate(5deg);
}

.sections-hub-hero .sections-hero-media::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 12px;
  z-index: 5;
  width: 128px;
  height: 150px;
  border-radius: 18px 18px 8px 8px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(180deg, #198d43, #0b6d31);
  box-shadow: 0 24px 42px rgba(15, 111, 43, .18);
  transform: rotate(-2deg);
}

.sections-hub-grid {
  grid-template-columns: minmax(360px, 430px) repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(126px, 1fr));
  gap: 16px;
  margin: 24px 0 30px;
}

.sections-hub-grid .section-card {
  border-radius: 18px;
  border-color: rgba(22, 34, 26, .08);
}

.section-card-afisha {
  grid-column: 1;
  grid-row: 1 / span 3;
  min-height: 440px;
  padding: 28px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 80% 30%, rgba(55, 222, 86, .26), transparent 28%),
    linear-gradient(135deg, #062016, #064922);
}

.section-card-afisha::before {
  background:
    linear-gradient(90deg, rgba(0, 84, 36, .92), rgba(0, 96, 39, .62) 42%, rgba(0,0,0,.08)),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.30));
}

.section-card-afisha .section-status {
  display: none;
}

.section-card-afisha .section-cover {
  opacity: .95;
}

.section-card-afisha .section-cover img,
.section-card-afisha .section-cover .cover-wide,
.section-card-afisha .section-cover .cover-tile {
  object-fit: cover;
}

.section-card-afisha .section-icon {
  width: 74px;
  height: 74px;
  position: relative;
  z-index: 6;
  display: grid;
  margin: 38px 0 0;
  border-radius: 26px;
  color: #fff;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22);
}

.section-card-afisha .section-content {
  width: 100%;
  max-width: 300px;
  align-self: end;
  margin: 0;
}

.section-card-afisha .section-eyebrow {
  position: absolute;
  left: 22px;
  top: 22px;
  min-height: 30px;
  color: #eaffee;
  background: rgba(0, 118, 42, .76);
}

.section-card-afisha h2 {
  margin-top: 18px;
  font-size: 34px;
}

.section-card-afisha p {
  max-width: 260px;
  font-size: 15px;
  line-height: 1.45;
}

.section-card-afisha .section-cta {
  min-height: 44px;
  padding: 0 22px;
  color: #08752e;
  background: #fff;
  border-radius: 999px;
}

.section-module-card,
.section-module-cinema {
  grid-column: auto;
  grid-row: auto;
  min-height: 126px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) minmax(120px, 38%);
  grid-template-rows: auto auto 1fr;
  gap: 8px 14px;
  padding: 22px 18px;
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.99), rgba(255,255,255,.90) 58%, rgba(255,255,255,.52)),
    var(--event-surface);
  box-shadow: 0 14px 34px rgba(24, 32, 45, .075);
}

.section-module-card .section-status {
  display: none;
}

.section-module-card .section-icon {
  width: 54px;
  height: 54px;
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  border-radius: 18px;
}

.section-module-card h2 {
  grid-column: 2;
  grid-row: 1;
  margin: 2px 0 0;
  font-size: 20px;
}

.section-module-card p {
  grid-column: 2;
  grid-row: 2;
  max-width: 270px;
  font-size: 13.5px;
}

.section-module-card .section-stat {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  color: #0d8d3c;
  font-size: 12px;
}

.section-module-card .section-cta {
  grid-column: 1;
  grid-row: 3;
  width: 44px;
  min-width: 44px;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0;
  align-self: end;
  border-radius: 999px;
  color: #162033;
  background: #fff;
  font-size: 0;
}

.section-module-card .section-cta::after {
  width: 7px;
  height: 7px;
}

.section-module-card .section-mini-cover {
  width: 42%;
  height: 100%;
  border-radius: 0 18px 18px 0;
}

.section-module-card .section-mini-cover::before {
  background: linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.58) 46%, rgba(255,255,255,0));
}

.section-module-cinema .section-mini-cover {
  background:
    radial-gradient(circle at 72% 42%, rgba(255,255,255,.74), transparent 35%),
    url("/uploads/cinema/showcase_movie_01.png") center right / cover no-repeat;
}

.section-module-cinema .section-mini-cover::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 10px;
  z-index: 2;
  width: 74px;
  height: 88px;
  border-radius: 12px 12px 24px 24px;
  background:
    linear-gradient(90deg, transparent 18%, rgba(255,255,255,.75) 18% 31%, transparent 31% 42%, rgba(255,255,255,.75) 42% 55%, transparent 55% 66%, rgba(255,255,255,.75) 66% 79%, transparent 79%),
    radial-gradient(circle at 28% 8%, #fff 0 7px, transparent 8px),
    radial-gradient(circle at 48% 4%, #fff 0 7px, transparent 8px),
    radial-gradient(circle at 68% 8%, #fff 0 7px, transparent 8px),
    linear-gradient(180deg, #f8fbef 0 20%, #0b7d35 21% 100%);
}

.section-module-food .section-mini-cover {
  background:
    radial-gradient(circle at 78% 48%, rgba(255,255,255,.88), transparent 38%),
    radial-gradient(circle at 82% 58%, #fef6de 0 48px, transparent 49px),
    radial-gradient(circle at 84% 55%, #f97316 0 8px, transparent 9px),
    radial-gradient(circle at 75% 47%, #22c55e 0 7px, transparent 8px),
    radial-gradient(circle at 89% 45%, #ef4444 0 7px, transparent 8px),
    radial-gradient(circle at 78% 64%, #84cc16 0 8px, transparent 9px),
    url("/static/images/sections/food.svg") right 20px bottom 18px / 90px auto no-repeat;
}

.section-module-cars .section-mini-cover {
  background:
    radial-gradient(circle at 72% 52%, rgba(255,255,255,.8), transparent 35%),
    url("/uploads/cars/showcase_car_03.png") right bottom / 96% auto no-repeat;
}

.section-module-products .section-mini-cover {
  background:
    radial-gradient(circle at 77% 62%, rgba(255,255,255,.84), transparent 34%),
    linear-gradient(90deg, transparent 36%, #eaf6e2 36% 100%);
}

.section-module-products .section-mini-cover::after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 12px;
  width: 78px;
  height: 86px;
  border-radius: 12px 12px 4px 4px;
  background: linear-gradient(180deg, #24964b, #0d7334);
  box-shadow: -46px 12px 0 -8px #f3e2bf, 0 18px 24px rgba(22,34,26,.12);
}

.section-module-services .section-mini-cover {
  background:
    radial-gradient(circle at 78% 54%, rgba(255,255,255,.82), transparent 36%),
    linear-gradient(90deg, transparent 36%, #eff8eb 36% 100%);
}

.section-module-services .section-mini-cover::after {
  content: "";
  position: absolute;
  right: 26px;
  bottom: 8px;
  width: 118px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(180deg, #2f8d39, #1f6d31);
  box-shadow: 0 -36px 0 -8px #3ca751, -24px -18px 0 -12px #222;
  transform: rotate(-12deg);
}

.section-module-promotions .section-mini-cover {
  background:
    radial-gradient(circle at 78% 54%, rgba(255,255,255,.82), transparent 36%),
    linear-gradient(90deg, transparent 36%, #eff8eb 36% 100%);
}

.section-module-promotions .section-mini-cover::after {
  content: "%";
  position: absolute;
  right: 24px;
  bottom: 18px;
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  border-radius: 18px 18px 28px 18px;
  color: #fff;
  background: linear-gradient(180deg, #68b749, #2c8a38);
  font-size: 38px;
  font-weight: 900;
  transform: rotate(-14deg);
  box-shadow: 0 18px 28px rgba(22,34,26,.14);
}

.sections-today-panel {
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid rgba(22,34,26,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 44px rgba(24,32,45,.07);
}

.sections-today-panel .home-events-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.sections-today-panel .event-card {
  grid-template-columns: 160px minmax(0, 1fr);
  min-height: 150px;
}

.sections-today-panel .event-card-media {
  aspect-ratio: auto;
}

@media (max-width: 1180px) {
  .sections-hub-grid {
    grid-template-columns: minmax(320px, .95fr) minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .section-card-afisha {
    grid-column: 1;
    grid-row: span 3;
  }

  .section-module-card,
  .section-module-cinema {
    grid-column: 2;
    min-height: 132px;
  }
}

@media (max-width: 767px) {
  body.sections-page {
    background:
      radial-gradient(circle at 50% 0%, rgba(68, 198, 80, .18), transparent 30%),
      linear-gradient(180deg, #fbf8ef 0%, #fbf8ef 42%, #fff 100%);
  }

  .sections-page .event-header {
    margin-top: 0;
  }

  .sections-page .event-header-inner {
    border-radius: 0 0 22px 22px;
  }

  .sections-hub-hero {
    min-height: 154px;
    padding: 16px;
    border-radius: 18px;
    color: #172033;
    background:
      linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.72)),
      radial-gradient(circle at 86% 44%, rgba(58, 192, 72, .18), transparent 34%),
      #fff8ed;
    box-shadow: 0 16px 36px rgba(24,32,45,.08);
  }

  .sections-hub-hero .event-kicker {
    display: inline-flex;
    min-height: 22px;
    font-size: 10px;
  }

  .sections-hub-hero h1 {
    max-width: 210px;
    margin: 10px 0 7px;
    color: #111827;
    font-size: 25px;
  }

  .sections-hub-hero p {
    max-width: 205px;
    color: #3f4b5f;
    font-size: 11.5px;
  }

  .sections-hub-hero .sections-hero-note {
    display: none;
  }

  .sections-hub-hero .sections-hero-media {
    right: 8px;
    top: 26px;
    width: 48%;
    min-height: 118px;
    background:
      radial-gradient(circle at 20% 72%, rgba(255, 158, 66, .88) 0 20px, transparent 21px),
      radial-gradient(circle at 48% 80%, rgba(72, 118, 219, .72) 0 24px, transparent 25px),
      radial-gradient(circle at 60% 22%, rgba(70, 190, 74, .78) 0 26px, transparent 27px);
  }

  .sections-hub-hero .sections-hero-media .cover-wide,
  .sections-hub-hero .sections-hero-media .cover-tile {
    left: 26%;
    top: 24px;
    width: 58%;
    height: 72px;
    border-radius: 10px;
    transform: rotate(4deg);
  }

  .sections-hub-hero .sections-hero-media .tile-1,
  .sections-hub-hero .sections-hero-media .tile-3 {
    display: none;
  }

  .sections-hub-hero .sections-hero-media::before {
    left: 58%;
    bottom: 0;
    width: 54px;
    height: 60px;
    border-radius: 9px 9px 18px 18px;
  }

  .sections-hub-hero .sections-hero-media::after {
    display: none;
  }

  .sections-hub-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .section-card-afisha {
    grid-column: 1 / -1;
    min-height: 238px;
    padding: 18px;
    border-radius: 18px;
  }

  .section-card-afisha .section-icon {
    width: 52px;
    height: 52px;
    margin-top: 34px;
    border-radius: 18px;
  }

  .section-card-afisha .section-eyebrow {
    left: 14px;
    top: 14px;
    min-height: 24px;
    font-size: 10px;
  }

  .section-card-afisha h2 {
    font-size: 25px;
  }

  .section-card-afisha p {
    max-width: 210px;
    font-size: 12px;
  }

  .section-card-afisha .section-cta {
    width: max-content;
    min-height: 36px;
    padding: 0 16px;
    font-size: 12px;
  }

  .section-module-card,
  .section-module-cinema {
    min-height: 92px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    padding: 12px 6px;
    border-radius: 14px;
    text-align: center;
    background: #fff;
    box-shadow: 0 10px 26px rgba(24,32,45,.075);
  }

  .section-module-card .section-mini-cover,
  .section-module-card .section-status,
  .section-module-card p,
  .section-module-card .section-stat,
  .section-module-card .section-cta {
    display: none;
  }

  .section-module-card .section-icon {
    width: 38px;
    height: 38px;
    grid-column: 1;
    grid-row: 1;
    margin: 0 auto;
    border-radius: 14px;
  }

  .section-module-card h2 {
    grid-column: 1;
    grid-row: 2;
    margin: 2px 0 0;
    color: #111827;
    font-size: 12px;
    line-height: 1.15;
  }

  .sections-today-panel {
    margin-top: 18px;
    padding: 0 0 94px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .sections-today-panel .home-events-grid {
    display: flex;
    gap: 12px;
    overflow-x: auto;
  }

  .sections-today-panel .home-events-grid .event-card {
    flex: 0 0 86%;
    grid-template-columns: 124px minmax(0, 1fr);
    min-height: 132px;
  }
}

/* Fixed section cover artwork */
.sections-hub-hero .sections-fixed-media {
  overflow: hidden;
  background: #fff8ed;
}

.sections-hub-hero .sections-fixed-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  opacity: 1;
  filter: none;
  box-shadow: none;
  transform: none;
}

.sections-hub-hero .sections-fixed-media::before,
.sections-hub-hero .sections-fixed-media::after {
  display: none;
}

.section-card-afisha .sections-fixed-cover > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: 1;
  filter: none;
}

.section-card-afisha > :not(.section-cover) {
  display: none !important;
}

.section-card-afisha .section-cover {
  opacity: 1;
}

.section-card-afisha::before {
  display: none;
}

.section-module-card .section-mini-cover {
  background: none !important;
}

.section-module-card .section-mini-cover::before,
.section-module-card .section-mini-cover::after {
  display: none !important;
}

.section-module-food .section-mini-cover img,
.section-module-cars .section-mini-cover img,
.section-module-products .section-mini-cover img,
.section-module-services .section-mini-cover img,
.section-module-promotions .section-mini-cover img,
.section-module-cinema .section-mini-cover img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: contain;
  object-position: right center;
  opacity: 1;
  filter: none;
}

.section-module-card .section-mini-cover img {
  border-radius: 0 18px 18px 0;
}

@media (max-width: 767px) {
  .sections-hub-hero .sections-fixed-media {
    display: block;
    opacity: 1;
  }

  .sections-hub-hero .sections-fixed-media > img {
    object-fit: cover;
  }
}

/* Quality pass: Afisha background only, text rendered by HTML */
.section-card-afisha::before {
  display: block;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(0, 91, 39, .96), rgba(0, 92, 39, .78) 42%, rgba(0, 55, 28, .18) 72%),
    radial-gradient(circle at 76% 18%, rgba(77, 224, 97, .24), transparent 30%);
}

.section-card-afisha > .section-status {
  display: none !important;
}

.section-card-afisha > .section-icon {
  display: grid !important;
  position: relative;
  z-index: 6;
}

.section-card-afisha > .section-content {
  display: block !important;
  position: relative;
  z-index: 6;
}

.section-card-afisha .section-cover {
  z-index: 1;
}

.section-card-afisha .sections-fixed-cover > img {
  object-fit: cover;
  object-position: center center;
}

.section-card-afisha .section-eyebrow {
  position: absolute;
  left: 0;
  top: -130px;
  display: inline-flex !important;
  color: #eaffef;
  background: rgba(0, 111, 42, .78);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.section-card-afisha .section-icon {
  margin-top: 88px;
}

.section-module-card p {
  max-width: 185px;
}

.section-module-card .section-mini-cover {
  width: 40%;
}

.section-module-card .section-mini-cover img {
  object-fit: cover;
  object-position: right center;
}

.section-module-cinema .section-mini-cover img,
.section-module-food .section-mini-cover img,
.section-module-products .section-mini-cover img,
.section-module-promotions .section-mini-cover img {
  object-fit: contain;
}

.section-module-cars .section-mini-cover img,
.section-module-services .section-mini-cover img {
  object-fit: cover;
}

.sections-today-panel .home-events-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 767px) {
  .section-card-afisha > .section-icon,
  .section-card-afisha > .section-content {
    display: block !important;
  }

  .section-card-afisha > .section-icon {
    display: grid !important;
  }

  .section-card-afisha .section-eyebrow {
    top: -92px;
    left: 0;
  }

  .section-card-afisha .section-icon {
    margin-top: 72px;
  }
}

/* Final sections artwork pass: clean cover images, live text overlay */
.sections-page .sections-hub-hero {
  overflow: hidden;
}

.sections-page .sections-hub-hero .sections-fixed-media > img {
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
}

.sections-page .section-card-afisha {
  isolation: isolate;
  overflow: hidden;
  justify-content: flex-end;
  background: linear-gradient(135deg, #062016, #04551f);
}

.sections-page .section-card-afisha::before {
  display: block !important;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(0, 82, 35, .98) 0%, rgba(0, 95, 40, .88) 31%, rgba(0, 65, 30, .35) 64%, rgba(0, 30, 18, .08) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .36));
}

.sections-page .section-card-afisha > :not(.section-cover) {
  display: revert !important;
}

.sections-page .section-card-afisha > .section-status {
  display: none !important;
}

.sections-page .section-card-afisha > .section-icon {
  display: grid !important;
  position: relative;
  z-index: 6;
  width: 74px;
  height: 74px;
  margin: 58px 0 16px;
  border-radius: 26px;
  color: #fff;
  background: rgba(255, 255, 255, .13);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .23);
}

.sections-page .section-card-afisha > .section-content {
  display: block !important;
  position: relative;
  z-index: 6;
  width: min(310px, 76%);
  max-width: 310px;
  margin: 0 auto 0 0;
  color: #fff;
}

.sections-page .section-card-afisha .section-eyebrow {
  position: absolute;
  left: 0;
  top: -148px;
  display: inline-flex !important;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border-radius: 999px;
  color: #eaffef;
  background: rgba(0, 116, 44, .78);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

.sections-page .section-card-afisha h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1;
}

.sections-page .section-card-afisha p {
  max-width: 270px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .94);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
}

.sections-page .section-card-afisha .section-stat {
  display: none !important;
}

.sections-page .section-card-afisha .section-cta {
  display: inline-flex !important;
  width: max-content;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  border-radius: 999px;
  color: #08752e;
  background: #fff;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .20);
}

.sections-page .section-card-afisha .section-cover {
  display: block !important;
  z-index: 1;
  opacity: 1;
  filter: saturate(1.08) contrast(1.05);
}

.sections-page .section-card-afisha .sections-fixed-cover > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  image-rendering: auto;
}

.sections-page .section-module-card .section-mini-cover img {
  image-rendering: auto;
}

.sections-page .section-module-cinema .section-mini-cover img,
.sections-page .section-module-food .section-mini-cover img,
.sections-page .section-module-products .section-mini-cover img,
.sections-page .section-module-promotions .section-mini-cover img {
  object-fit: contain;
  object-position: right center;
}

.sections-page .section-module-cars .section-mini-cover img,
.sections-page .section-module-services .section-mini-cover img {
  object-fit: cover;
  object-position: right center;
}

.sections-page .sections-today-panel[hidden] {
  display: none !important;
}

.sections-page .sections-today-panel:not([hidden]) {
  display: block;
}

@media (max-width: 767px) {
  .sections-page .section-card-afisha {
    min-height: 246px;
    padding: 18px;
  }

  .sections-page .section-card-afisha > .section-icon {
    width: 52px;
    height: 52px;
    margin: 74px 0 14px;
    border-radius: 18px;
  }

  .sections-page .section-card-afisha > .section-content {
    width: min(235px, 78%);
    max-width: 235px;
  }

  .sections-page .section-card-afisha .section-eyebrow {
    top: -126px;
    min-height: 24px;
    padding-inline: 10px;
    font-size: 10px;
  }

  .sections-page .section-card-afisha h2 {
    font-size: 26px;
  }

  .sections-page .section-card-afisha p {
    max-width: 205px;
    margin-bottom: 16px;
    font-size: 12px;
  }

  .sections-page .section-card-afisha .section-cta {
    min-height: 36px;
    padding-inline: 17px;
    font-size: 12px;
  }

  .sections-page .section-card-afisha .sections-fixed-cover > img {
    object-position: 66% center;
  }
}

/* 1080p sections asset placement */
.sections-page .sections-hub-hero .sections-fixed-media {
  background:
    radial-gradient(circle at 52% 45%, rgba(53, 184, 70, .10), transparent 42%),
    #fffaf1;
}

.sections-page .sections-hub-hero .sections-fixed-media > img {
  object-fit: cover;
  object-position: center;
}

.sections-page .section-module-card,
.sections-page .section-module-cinema {
  position: relative;
  overflow: hidden;
  grid-template-columns: 68px minmax(0, 1fr);
  padding-right: clamp(154px, 42%, 260px);
}

.sections-page .section-module-card .section-icon {
  position: relative;
  z-index: 3;
}

.sections-page .section-module-card h2,
.sections-page .section-module-card p,
.sections-page .section-module-card .section-stat,
.sections-page .section-module-card .section-cta {
  position: relative;
  z-index: 3;
}

.sections-page .section-module-card p {
  max-width: 220px;
}

.sections-page .section-module-card .section-mini-cover {
  display: block !important;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(44%, 260px);
  height: 100%;
  overflow: hidden;
  border-radius: 0 18px 18px 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .84));
  pointer-events: none;
}

.sections-page .section-module-card .section-mini-cover::before {
  display: block !important;
  z-index: 2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .78) 26%, rgba(255, 255, 255, .20) 58%, rgba(255, 255, 255, 0) 100%);
}

.sections-page .section-module-card .section-mini-cover::after {
  display: none !important;
}

.sections-page .section-module-card .section-mini-cover img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 8px 8px 8px 0;
  object-fit: contain !important;
  object-position: right center !important;
  filter: none;
  transform: none;
}

.sections-page .section-module-cars .section-mini-cover {
  width: min(47%, 290px);
}

.sections-page .section-module-cars .section-mini-cover img {
  padding: 14px 0 10px 0;
  object-position: right bottom !important;
}

.sections-page .section-module-services .section-mini-cover img {
  padding-top: 18px;
  object-position: right bottom !important;
}

.sections-page .section-module-products .section-mini-cover img,
.sections-page .section-module-promotions .section-mini-cover img {
  padding-right: 0;
  object-position: right bottom !important;
}

.sections-page .section-card-afisha .sections-fixed-cover > img {
  object-position: center center;
}

@media (max-width: 1180px) {
  .sections-page .section-module-card,
  .sections-page .section-module-cinema {
    padding-right: clamp(138px, 40%, 230px);
  }
}

@media (max-width: 767px) {
  .sections-page .section-module-card,
  .sections-page .section-module-cinema {
    padding-right: 6px;
  }

  .sections-page .section-module-card .section-mini-cover {
    display: none !important;
  }
}

/* ============================================================
   SECTION PRODUCTS MOBILE POLISH V9
   Cars page + food imagery + shared public header mobile layout.
   Scoped only to .section-products-page.
   ============================================================ */

/* Food/product photos: avoid aggressive crop/zoom. */
.section-products-page[data-section-module="food"] .product-card-media {
  background: #fbfcfb !important;
}

.section-products-page[data-section-module="food"] .product-card-media img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 12px !important;
  transform: scale(.95) !important;
  transform-origin: center !important;
}

/* Rental cars: clean neutral media stage on all sizes. */
.section-products-page[data-section-module="cars"] .product-card-media {
  background:
    radial-gradient(circle at 50% 85%, rgba(39,93,57,.06), transparent 42%),
    linear-gradient(180deg, #fafcfb, #eef2ef) !important;
}

.section-products-page[data-section-module="cars"] .product-card-media img {
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px !important;
  transform: scale(.96) !important;
  transform-origin: center !important;
}

/* Tablet/phone header: same two-row behavior as Overview/Home. */
@media (max-width: 767px) {
  .section-products-page {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
  }

  .section-products-page .event-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 12000 !important;
    width: 100% !important;
    padding: 0 !important;
    background: #f7f4ee !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .section-products-page .event-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 154px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) 56px !important;
    grid-template-rows: 58px 58px !important;
    gap: 10px 12px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 10px 14px 14px !important;
    border: 0 !important;
    border-radius: 0 0 20px 20px !important;
    background: #f7f4ee !important;
    box-shadow: 0 6px 18px rgba(21,30,45,.045) !important;
  }

  .section-products-page .event-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .section-products-page .event-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    justify-self: start !important;
    padding-left: 12px !important;
    border-left: 1px solid rgba(24,32,45,.10) !important;
  }

  .section-products-page .event-location span:not(.event-chevron) {
    max-width: 118px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .section-products-page .event-profile-chip {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }

  .section-products-page .event-search {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 17px !important;
    background: #fff !important;
  }

  .section-products-page .event-search input,
  .section-products-page .event-search button {
    height: 56px !important;
  }

  .section-products-page .event-header-nav,
  .section-products-page .event-theme {
    display: none !important;
  }

  .section-products-page .event-mobile-menu {
    position: relative !important;
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    justify-self: end !important;
  }

  .section-products-page .event-mobile-menu > summary {
    list-style: none !important;
    width: 56px !important;
    height: 56px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: #edf6e5 !important;
    color: #2f9e22 !important;
  }

  .section-products-page .event-mobile-menu > summary::-webkit-details-marker {
    display: none !important;
  }

  .section-products-page .event-mobile-menu > summary::marker {
    content: "" !important;
  }

  .section-products-page .event-mobile-menu > summary span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 99px !important;
    background: currentColor !important;
  }

  .section-products-page .event-mobile-menu-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 12150 !important;
    width: min(260px, calc(100vw - 28px)) !important;
    display: grid !important;
    gap: 6px !important;
    padding: 10px !important;
    border: 1px solid rgba(24,32,45,.08) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.14) !important;
  }

  .section-products-page .event-mobile-menu:not([open]) .event-mobile-menu-panel {
    display: none !important;
  }

  .section-products-page .event-mobile-menu-panel a {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    color: #182235 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  /* Main module itself gets a clean mobile rail. */
  .section-products-page .event-main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 14px calc(112px + env(safe-area-inset-bottom,0px)) !important;
  }

  .section-products-page .product-module-toolbar {
    margin: 0 0 14px !important;
    border-radius: 20px !important;
    background: #fff !important;
  }

  /* Cars: ALWAYS vertical card on mobile. This overrides the old 132px + text grid. */
  .section-products-page[data-section-module="cars"] .product-module-grid {
    width: min(100%, 540px) !important;
    max-width: 540px !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 0 auto 34px !important;
  }

  .section-products-page[data-section-module="cars"] .product-showcase-card {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    overflow: hidden !important;
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.065) !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-media img {
    width: 100% !important;
    height: 100% !important;
    padding: 10px 12px !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: scale(.95) !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-media span {
    left: 12px !important;
    top: 12px !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-body {
    width: 100% !important;
    padding: 15px 16px 8px !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-body h2 {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    font-size: 19px !important;
    line-height: 1.17 !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-meta {
    gap: 6px !important;
    margin: 9px 0 !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-price strong {
    font-size: 22px !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-footer {
    width: 100% !important;
    grid-column: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 12px 16px 16px !important;
    border-top: 1px solid rgba(15,23,42,.06) !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-footer a {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 12px !important;
  }

  /* Food cards on product page also stay vertically clean. */
  .section-products-page[data-section-module="food"] .product-showcase-card {
    overflow: hidden !important;
  }

  .section-products-page[data-section-module="food"] .product-card-media img {
    padding: 10px !important;
    transform: scale(.93) !important;
  }
}

@media (max-width: 390px) {
  .section-products-page[data-section-module="cars"] .product-card-body {
    padding-inline: 14px !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-footer {
    padding-inline: 14px !important;
  }
}

/* ============================================================
   PUBLIC SECTION SHELL + RENTAL CAR CARDS V12 — 2026-08-19
   Afisha, Cinema and Overview modules use the same centered header shell.
   ============================================================ */

:is(.afisha-page, .section-products-page) {
  --makon-public-shell: 1340px;
  --makon-public-header: 70px;
  background: #f7f4ee !important;
}

/* Desktop: header and page content are one centered white surface. */
@media (min-width: 1024px) {
  :is(.afisha-page, .section-products-page) .event-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 12000 !important;
    width: 100% !important;
    height: var(--makon-public-header) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #f7f4ee !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-inner {
    width: min(calc(100% - 32px), var(--makon-public-shell)) !important;
    max-width: var(--makon-public-shell) !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    display: grid !important;
    grid-template-columns: auto auto minmax(260px, 1fr) auto auto auto !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    border: 1px solid rgba(24,32,45,.07) !important;
    border-bottom-color: transparent !important;
    border-radius: 28px 28px 0 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-nav {
    order: initial !important;
    grid-column: auto !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 0 !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu {
    display: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-main {
    width: min(calc(100% - 32px), var(--makon-public-shell)) !important;
    max-width: var(--makon-public-shell) !important;
    min-height: 100vh !important;
    margin: 0 auto 54px !important;
    padding: calc(var(--makon-public-header) + 20px) 24px 46px !important;
    border: 1px solid rgba(24,32,45,.07) !important;
    border-top: 0 !important;
    border-radius: 0 0 28px 28px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.055) !important;
  }

  :is(.afisha-page, .section-products-page) .event-brand img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
  }

  :is(.afisha-page, .section-products-page) .event-brand span {
    font-size: 20px !important;
    font-weight: 850 !important;
  }

  :is(.afisha-page, .section-products-page) .event-search {
    min-height: 46px !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-search input,
  :is(.afisha-page, .section-products-page) .event-search button {
    height: 46px !important;
  }
}

/* Tablet: keep a centered connected surface, allow navigation to wrap cleanly. */
@media (min-width: 768px) and (max-width: 1023px) {
  :is(.afisha-page, .section-products-page) .event-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 12000 !important;
    padding: 8px 0 0 !important;
    background: #f7f4ee !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-inner,
  :is(.afisha-page, .section-products-page) .event-main {
    width: min(calc(100% - 24px), 920px) !important;
    max-width: 920px !important;
    margin-inline: auto !important;
    background: #fff !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-inner {
    border-radius: 24px 24px 0 0 !important;
  }

  :is(.afisha-page, .section-products-page) .event-main {
    padding: 18px 20px 42px !important;
    border-radius: 0 0 24px 24px !important;
  }
}

/* Mobile: exactly the Overview two-row header and a centered content rail. */
@media (max-width: 767px) {
  :is(.afisha-page, .section-products-page) {
    --makon-public-header: 154px;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: calc(106px + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: hidden !important;
  }

  :is(.afisha-page, .section-products-page) .event-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 12000 !important;
    width: 100% !important;
    height: var(--makon-public-header) !important;
    padding: 0 !important;
    background: #f7f4ee !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 56px !important;
    grid-template-rows: 58px 58px !important;
    align-items: center !important;
    gap: 10px 12px !important;
    margin: 0 !important;
    padding: 10px 14px 14px !important;
    border: 0 !important;
    border-radius: 0 0 20px 20px !important;
    background: #f7f4ee !important;
    box-shadow: 0 6px 18px rgba(21,30,45,.045) !important;
  }

  :is(.afisha-page, .section-products-page) .event-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  :is(.afisha-page, .section-products-page) .event-brand img {
    width: 34px !important;
    height: 34px !important;
  }

  :is(.afisha-page, .section-products-page) .event-brand span {
    font-size: 20px !important;
  }

  :is(.afisha-page, .section-products-page) .event-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    justify-self: start !important;
    padding: 0 0 0 12px !important;
    border-left: 1px solid rgba(24,32,45,.10) !important;
    background: transparent !important;
  }

  :is(.afisha-page, .section-products-page) .event-location span:not(.event-chevron) {
    max-width: 118px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
  }

  :is(.afisha-page, .section-products-page) .event-profile-chip {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }

  :is(.afisha-page, .section-products-page) .event-search {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    margin: 0 !important;
    border: 1px solid rgba(24,32,45,.08) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-search input,
  :is(.afisha-page, .section-products-page) .event-search button {
    height: 56px !important;
  }

  :is(.afisha-page, .section-products-page) .event-header-nav,
  :is(.afisha-page, .section-products-page) .event-theme {
    display: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu {
    position: relative !important;
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    justify-self: end !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu > summary {
    list-style: none !important;
    width: 56px !important;
    height: 56px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: #edf6e5 !important;
    color: #2f9e22 !important;
    cursor: pointer !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu > summary::-webkit-details-marker {
    display: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu > summary::marker {
    content: "" !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu > summary span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 99px !important;
    background: currentColor !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 12150 !important;
    width: min(260px, calc(100vw - 28px)) !important;
    display: grid !important;
    gap: 6px !important;
    padding: 10px !important;
    border: 1px solid rgba(24,32,45,.08) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.14) !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu:not([open]) .event-mobile-menu-panel {
    display: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-mobile-menu-panel a {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    color: #182235 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  :is(.afisha-page, .section-products-page) .event-main {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    min-height: 100dvh !important;
    margin: 0 auto !important;
    padding: calc(var(--makon-public-header) + 14px) 14px calc(114px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
}

/* Section hero icon: never show an empty green square. */
.section-products-page .product-module-icon {
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

.section-products-page .product-module-icon svg,
.section-products-page .cinema-title-icon svg {
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.section-products-page .cinema-title-strip {
  align-items: center !important;
  justify-content: flex-start !important;
}

.section-products-page .cinema-title-icon {
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #2fb344, #16852f) !important;
  box-shadow: 0 14px 28px rgba(47,179,68,.20) !important;
}

.section-products-page .cinema-title-strip > div {
  min-width: 0 !important;
}

/* Rental-car section: edge-to-edge media, no inner white frame, no shrink. */
.section-products-page[data-section-module="cars"] .product-module-hero {
  min-height: 142px !important;
  margin-top: 14px !important;
  border-radius: 22px !important;
}

.section-products-page[data-section-module="cars"] .product-module-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.section-products-page[data-section-module="cars"] .product-showcase-card {
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.075) !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.section-products-page[data-section-module="cars"] .product-showcase-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 19px 42px rgba(15,23,42,.11) !important;
}

.section-products-page[data-section-module="cars"] .product-card-media {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 20px 20px 0 0 !important;
  background: linear-gradient(180deg, #f6f8f7, #e9eeeb) !important;
  overflow: hidden !important;
}

.section-products-page[data-section-module="cars"] .product-card-media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.015) !important;
  transform-origin: center !important;
}

.section-products-page[data-section-module="cars"] .product-card-media > span {
  left: 12px !important;
  top: 12px !important;
  z-index: 2 !important;
  min-height: 28px !important;
  background: rgba(239, 253, 233, .94) !important;
  box-shadow: 0 7px 18px rgba(18, 109, 50, .10) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}

.section-products-page[data-section-module="cars"] .product-card-body {
  padding: 16px 16px 9px !important;
}

.section-products-page[data-section-module="cars"] .product-card-body h2 {
  min-height: 0 !important;
  margin-bottom: 8px !important;
  font-size: 18px !important;
}

.section-products-page[data-section-module="cars"] .product-card-footer {
  padding: 11px 16px 16px !important;
  border-top: 0 !important;
}

.section-products-page[data-section-module="cars"] .product-card-footer a {
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
}

@media (min-width: 1024px) and (max-width: 1280px) {
  .section-products-page[data-section-module="cars"] .product-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .section-products-page[data-section-module="cars"] .product-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .section-products-page .product-module-hero {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 18px !important;
  }

  .section-products-page .product-module-icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 15px !important;
  }

  .section-products-page .product-module-icon svg {
    width: 25px !important;
    height: 25px !important;
  }

  .section-products-page[data-section-module="cars"] .product-module-grid {
    width: 100% !important;
    max-width: 520px !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 0 auto 34px !important;
  }

  .section-products-page[data-section-module="cars"] .product-showcase-card {
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .section-products-page[data-section-module="cars"] .product-card-media img {
    padding: 0 !important;
    object-fit: cover !important;
    transform: scale(1.015) !important;
  }

  .section-products-page .cinema-title-strip {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
  }

  .section-products-page .cinema-title-icon {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
    border-radius: 15px !important;
  }

  .section-products-page .cinema-title-icon svg {
    width: 25px !important;
    height: 25px !important;
  }

  .section-products-page .cinema-title-strip h1 {
    font-size: 34px !important;
  }
}

body.dark:is(.afisha-page, .section-products-page),
body.dark-theme:is(.afisha-page, .section-products-page) {
  background: #151715 !important;
}

body.dark:is(.afisha-page, .section-products-page) .event-header,
body.dark-theme:is(.afisha-page, .section-products-page) .event-header {
  background: #151715 !important;
}

body.dark:is(.afisha-page, .section-products-page) .event-header-inner,
body.dark-theme:is(.afisha-page, .section-products-page) .event-header-inner,
body.dark:is(.afisha-page, .section-products-page) .event-main,
body.dark-theme:is(.afisha-page, .section-products-page) .event-main {
  border-color: rgba(255,255,255,.08) !important;
  background: #1f221d !important;
}

/* ============================================================
   SECTION FOOD MEDIA V10 — DISPLAY SAVED 800x600 WITHOUT RE-CROP
   ============================================================ */
.section-products-page[data-section-module="food"] .product-card-media {
  aspect-ratio: 4 / 3 !important;
  background: #f7f9f5 !important;
}

.section-products-page[data-section-module="food"] .product-card-media img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}


/* ============================================================
   MAKON PUBLIC MEDIA V18.1 — OVERVIEW SECTION TABS
   The source frame is already authored by the business editor,
   therefore product cards must not crop it a second time.
   ============================================================ */
.section-products-page .product-card-media {
  aspect-ratio: 4 / 3 !important;
  background: #f5f7f5 !important;
}

.section-products-page .product-card-media img {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  background-color: white !important;
}

.section-products-page[data-section-module="cars"] .product-card-media,
.section-products-page[data-section-module="rooms"] .product-card-media,
.section-products-page[data-section-module="offices"] .product-card-media,
.section-products-page[data-section-module="office"] .product-card-media {
  aspect-ratio: 16 / 9 !important;
}

.section-products-page[data-section-module="cinema"] .product-card-media {
  aspect-ratio: 2 / 3 !important;
}

@media (max-width: 720px) {
  .section-products-page .product-module-grid {
    grid-template-columns: 1fr !important;
  }

  .section-products-page .product-card-media,
  .section-products-page[data-section-module="cars"] .product-card-media,
  .section-products-page[data-section-module="rooms"] .product-card-media,
  .section-products-page[data-section-module="offices"] .product-card-media,
  .section-products-page[data-section-module="office"] .product-card-media,
  .section-products-page[data-section-module="cinema"] .product-card-media {
    width: 100% !important;
    min-height: 0 !important;
  }
}


/* ============================================================
   MAKON OVERVIEW SECTIONS V41.8 — UNIFIED PUBLIC HEADER
   Scope: Afisha + all product/module pages only. Sponsored banner untouched.
   ============================================================ */
:is(body.afisha-page, body.section-products-page):not(.dark):not(.dark-theme),
:is(body.afisha-page, body.section-products-page):not(.dark):not(.dark-theme) .event-header,
:is(body.afisha-page, body.section-products-page):not(.dark):not(.dark-theme) .event-header-inner,
:is(body.afisha-page, body.section-products-page):not(.dark):not(.dark-theme) .event-main {
  background: #fff !important;
}

/* Public section pages must never inherit Home floating actions/editor controls. */
:is(body.afisha-page, body.section-products-page) :is(
  .floating-icon,
  .floating-map-btn,
  .floating-voice-btn,
  .makon-assistant-launcher,
  [data-floating-action],
  [data-assistant-launcher]
) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
:is(body.afisha-page, body.section-products-page) input[type="color"] {
  display: none !important;
}

@media (max-width: 767px) {
  :is(body.afisha-page, body.section-products-page) {
    --makon-public-header: 78px !important;
    background: #fff !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 52px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 0 !important;
    border-radius: 0 0 18px 18px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(20, 28, 43, .035) !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    gap: 8px !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-brand img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-brand span {
    font-size: 19px !important;
    line-height: 1 !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    justify-self: start !important;
    padding: 0 0 0 10px !important;
    border-left: 1px solid rgba(24,32,45,.10) !important;
    background: transparent !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-location span:not(.event-chevron) {
    max-width: 105px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
  }

  /* Overview-like mobile header: no persistent search field/avatar/hamburger. */
  :is(body.afisha-page, body.section-products-page) .event-search,
  :is(body.afisha-page, body.section-products-page) .event-profile-chip,
  :is(body.afisha-page, body.section-products-page) .event-mobile-menu,
  :is(body.afisha-page, body.section-products-page) .event-header-nav,
  :is(body.afisha-page, body.section-products-page) .event-theme {
    display: none !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-mobile-search-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: grid !important;
    place-items: center !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: #f0f7eb !important;
    color: #078b42 !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-mobile-search-toggle svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  /* Search icon opens the same header search without creating a second header row. */
  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-brand,
  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-location {
    display: none !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-header-inner {
    grid-template-columns: minmax(0, 1fr) 50px !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-search {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    border: 1px solid rgba(24,32,45,.08) !important;
    border-radius: 16px !important;
    background: #fff !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-search input,
  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-search button {
    height: 48px !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-header.is-search-open .event-mobile-search-toggle {
    grid-column: 2 !important;
    background: #078f45 !important;
    color: #fff !important;
  }

  :is(body.afisha-page, body.section-products-page) .event-main {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding-top: calc(var(--makon-public-header) + 12px) !important;
    background: #fff !important;
  }
}

/* Deep-linked selected object on company detail gets a short, tasteful focus ring. */
.detail-deep-focus {
  outline: 3px solid rgba(25, 135, 84, .28) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 7px rgba(25, 135, 84, .07) !important;
  transition: outline-color .25s ease, box-shadow .25s ease !important;
}

/* ============================================================
   MAKON V42.4 — PUBLIC HEADER / TABLET SEARCH / DOCKED NAV
   Shared by Overview sections and Afisha. Sponsored content untouched.
   ============================================================ */
.event-header-assistant-btn {
  display: none;
}

@media (max-width: 1023px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) {
    --makon-public-header: 66px !important;
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 12000 !important;
    width: 100% !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--makon-public-header) !important;
    min-height: var(--makon-public-header) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) 42px 42px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 5px 12px !important;
    border: 0 !important;
    border-radius: 0 0 16px 16px !important;
    background: #fff !important;
    box-shadow: 0 4px 13px rgba(20, 28, 43, .035) !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    gap: 7px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand span {
    font-size: 19px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    max-width: 180px !important;
    height: 42px !important;
    justify-self: start !important;
    padding: 0 4px 0 9px !important;
    border-left: 1px solid rgba(24,32,45,.09) !important;
    background: transparent !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location span:not(.event-chevron) {
    max-width: 130px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
  }

  /* Tablet follows mobile behavior: persistent search/profile are hidden. */
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) :is(
    .event-search,
    .event-profile-chip,
    .event-mobile-menu,
    .event-header-nav,
    .event-theme
  ) {
    display: none !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #f1f8ed !important;
    color: #118c3b !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn svg,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle svg {
    width: 21px !important;
    height: 21px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn .assistant-spark {
    fill: currentColor !important;
    stroke: none !important;
  }

  /* Search replaces brand/location in the same 66px row. */
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-brand,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-location {
    display: none !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-inner {
    grid-template-columns: minmax(0, 1fr) 42px 42px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-search {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-mobile-search-toggle {
    grid-column: 2 !important;
    background: #0f9a45 !important;
    color: #fff !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-assistant-btn {
    grid-column: 3 !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) :is(.event-main, .overview-shell) {
    padding-top: calc(var(--makon-public-header) + 10px) !important;
  }
}

@media (max-width: 899px) {
  .events-mobile-nav,
  .makon-bottom-nav.events-mobile-nav {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    height: 64px !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 5px 7px max(5px, env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    border-bottom: 0 !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 -8px 28px rgba(15,23,42,.11) !important;
    backdrop-filter: blur(18px) !important;
    z-index: 12500 !important;
  }

  .events-mobile-nav a {
    min-width: 0 !important;
    min-height: 52px !important;
    height: 52px !important;
    gap: 2px !important;
    padding: 4px 3px !important;
    border-radius: 15px !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
  }

  .events-mobile-nav .icon,
  .events-mobile-nav .overview-nav-icon,
  .events-mobile-nav img {
    width: 22px !important;
    height: 22px !important;
  }
}

/* ============================================================
   MAKON V42.5 — PHONE-ONLY PUBLIC BOTTOM NAV
   Tablet (768–1023) uses the page/header navigation and no bottom dock.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) {
    padding-bottom: 0 !important;
  }

  .events-mobile-nav,
  .makon-bottom-nav.events-mobile-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 767px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) {
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
  }
}


/* ============================================================
   MAKON V46.1 — SHARED PUBLIC TABLET HEADER NAV
   ============================================================ */
@media (min-width: 541px) and (max-width: 1023px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    grid-template-columns: auto minmax(72px, 150px) auto 42px 42px !important;
    grid-template-areas: "brand city tablet-nav search assistant" !important;
    gap: 5px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand { grid-area: brand !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location { grid-area: city !important; max-width: 150px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav { grid-area: tablet-nav !important; justify-self: end !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle { grid-area: search !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn { grid-area: assistant !important; }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .makon-tablet-header-nav {
    display: none !important;
  }
}

@media (max-width: 540px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav { display: none !important; }
}

body.dark :is(.event-header, .event-header-inner),
body.dark-theme :is(.event-header, .event-header-inner) {
  background: #1b1f1b !important;
  border-color: rgba(255,255,255,.07) !important;
  color: #eef3ee !important;
}
@media (max-width: 1023px) {
  body.dark :is(.event-mobile-search-toggle, .event-header-assistant-btn),
  body.dark-theme :is(.event-mobile-search-toggle, .event-header-assistant-btn) {
    background: #272d27 !important;
    color: #8fe56e !important;
  }
}

/* ============================================================
   MAKON V48.2 — OVERVIEW HEADER CROSSOVER FIX
   At 541px the tablet nav appears, so every control gets a real grid slot.
   Search can no longer overlap the Home icon while resizing phone -> tablet.
   ============================================================ */
@media (min-width: 541px) and (max-width: 1023px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(68px, 108px) max-content 38px 38px !important;
    grid-template-areas: "brand city tablet-nav search assistant" !important;
    grid-template-rows: 1fr !important;
    gap: 5px !important;
    align-items: center !important;
    padding-inline: 8px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand { grid-area: brand !important; min-width: 0 !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location { grid-area: city !important; min-width: 0 !important; max-width: 108px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav { grid-area: tablet-nav !important; justify-self: center !important; min-width: max-content !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle { grid-area: search !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn { grid-area: assistant !important; }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) :is(.event-mobile-search-toggle, .event-header-assistant-btn) {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
  }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-inner {
    grid-template-columns: minmax(0, 1fr) 38px 38px !important;
    grid-template-areas: "filters search assistant" !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open :is(.event-brand, .event-location, .makon-tablet-header-nav) {
    display: none !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-search {
    grid-area: filters !important;
    grid-column: auto !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-mobile-search-toggle { grid-area: search !important; grid-column: auto !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-assistant-btn { grid-area: assistant !important; grid-column: auto !important; }
}

@media (min-width: 541px) and (max-width: 639px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand span {
    display: none !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand {
    width: 36px !important;
    min-width: 36px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location {
    max-width: 82px !important;
    padding-inline: 4px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav {
    gap: 2px !important;
    padding: 2px 3px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav a {
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav :is(.makon-nav-icon, img) {
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
  }
}


/* ============================================================
   MAKON V48.3 — PUBLIC HEADER = HOME HEADER
   Overview + all Overview sections use one icon-only header language.
   ============================================================ */
.event-header-map-btn,
.event-header-assistant-btn,
.event-mobile-search-toggle {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--event-line);
  border-radius: 12px;
  color: var(--event-green-dark);
  background: rgba(245,249,242,.92);
  text-decoration: none;
  cursor: pointer;
}
.event-header-map-btn svg,
.event-header-assistant-btn svg,
.event-mobile-search-toggle svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.dark .event-header-map-btn,
body.dark-theme .event-header-map-btn,
body.dark .event-header-assistant-btn,
body.dark-theme .event-header-assistant-btn,
body.dark .event-mobile-search-toggle,
body.dark-theme .event-mobile-search-toggle {
  border-color: rgba(255,255,255,.08) !important;
  background: #272d27 !important;
  color: #8fe56e !important;
}

/* Old text navigation/profile/menu are intentionally retired: the 4 icon nav
   is the single navigation source, matching the Home header. */
.event-header-nav,
.event-profile-chip,
.event-mobile-menu {
  display: none !important;
}

@media (min-width: 1024px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(95px, 150px) max-content minmax(220px, 1fr) 40px 40px auto !important;
    grid-template-areas: "brand city tablet-nav search map assistant theme" !important;
    align-items: center !important;
    gap: 8px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand { grid-area: brand !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location { grid-area: city !important; min-width: 0 !important; max-width: 150px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav {
    grid-area: tablet-nav !important;
    display: inline-flex !important;
    justify-self: center !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-search {
    grid-area: search !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-map-btn { grid-area: map !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn {
    grid-area: assistant !important;
    display: grid !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-theme {
    grid-area: theme !important;
    display: flex !important;
    justify-self: end !important;
  }
  /* The gray square seen on desktop was the mobile-search control escaping
     its breakpoint. It must never render in desktop mode. */
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (min-width: 900px) and (max-width: 1023px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(80px, 112px) max-content minmax(140px, 1fr) 40px 40px !important;
    grid-template-areas: "brand city tablet-nav search map assistant" !important;
    gap: 6px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-search {
    grid-area: search !important;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-map-btn { grid-area: map !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn { grid-area: assistant !important; display:grid !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-theme,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle {
    display: none !important;
  }
}

@media (min-width: 541px) and (max-width: 899px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(68px, 100px) max-content 38px 38px 38px !important;
    grid-template-areas: "brand city tablet-nav search map assistant" !important;
    gap: 5px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-map-btn { grid-area: map !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle { grid-area: search !important; display:grid !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn { grid-area: assistant !important; display:grid !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-search,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-theme { display:none !important; }

  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-inner {
    grid-template-columns: minmax(0,1fr) 38px 38px 38px !important;
    grid-template-areas: "filters search map assistant" !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-search {
    display:flex !important;
    grid-area: filters !important;
    width:100% !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header.is-search-open .event-header-map-btn { grid-area:map !important; }
}

@media (max-width: 540px) {
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(62px,1fr) 38px 38px 38px !important;
    grid-template-areas: "brand city search map assistant" !important;
    gap: 5px !important;
  }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand { grid-area:brand !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-brand span { display:none !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-location { grid-area:city !important; min-width:0 !important; max-width:104px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .makon-tablet-header-nav,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-search,
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-theme { display:none !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-mobile-search-toggle { grid-area:search !important; display:grid !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-map-btn { grid-area:map !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
  :is(body.overview-page, body.afisha-page, body.section-products-page, body.sections-page, body.events-page) .event-header-assistant-btn { grid-area:assistant !important; display:grid !important; width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; }
}


/* MAKON V52 event gallery */
.event-card-gallery,.event-detail-gallery{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#eef3ec}
.event-gallery-track{display:block;position:relative;width:100%;height:100%}
.event-gallery-track>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .18s ease}
.event-gallery-track>img.is-active{opacity:1;pointer-events:auto}
.event-gallery-nav{position:absolute;top:50%;z-index:5;width:34px;height:34px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(15,23,42,.48);color:#fff;font-size:25px;line-height:1;display:grid;place-items:center;transform:translateY(-50%);cursor:pointer}
.event-gallery-nav.prev{left:10px}.event-gallery-nav.next{right:10px}
.event-gallery-dots{position:absolute;z-index:5;left:50%;bottom:9px;display:flex;gap:5px;transform:translateX(-50%)}
.event-gallery-dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.58)}
.event-gallery-dots button.active{width:18px;background:#32b84a}
.event-detail-gallery{min-height:360px;border-radius:inherit}
@media(max-width:540px){.event-gallery-nav{display:none}.event-detail-gallery{min-height:260px}.event-gallery-dots{bottom:7px}}

/* MAKON V191 — final five-action public mobile dock override. */
@media (max-width: 899px) {
  .events-mobile-nav.makon-bottom-nav,
  body.home-page .mobile-nav.client-mobile-nav,
  body.home-page .mobile-nav.makon-bottom-nav,
  .detail-mobile-nav.makon-bottom-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  .events-mobile-nav.makon-bottom-nav > a,
  body.home-page .mobile-nav.client-mobile-nav > a,
  body.home-page .mobile-nav.makon-bottom-nav > a,
  .detail-mobile-nav.makon-bottom-nav > a {
    min-width: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* MAKON V192 — overview/events use one non-wrapping five-action row. */
@media (max-width: 899px) {
  .events-mobile-nav.makon-bottom-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    overflow: hidden !important;
  }
  .events-mobile-nav.makon-bottom-nav > a {
    display: grid !important;
    flex: 1 1 20% !important;
    width: 20% !important;
    min-width: 0 !important;
  }
}
