/*
 * Meladze Asia Tour — production design overrides.
 * Load after header.css, oneband-layout.css and sb_custom.css.
 * Existing PHP markup, ids, names and data attributes remain unchanged.
 */

body:is(.home, .event) {
  --asia-black: #000;
  --asia-white: #fff;
  --asia-cyan: #00e9ef;
  --asia-pink: #ff00bb;
  --asia-magenta: #ff00fd;
  --asia-muted: #b2b2b2;
  /* 3840 / 317 — exact ratio of the full-width header asset. */
  --asia-header-height: max(84px, 8.25520833vw);
  --asia-gradient: linear-gradient(130deg, #ff00bb 0%, #14d6f0 100%);
  --asia-gradient-horizontal: linear-gradient(90deg, #ff00fd 0%, #00e9ef 100%);
  /* Remap the legacy EventoBot red theme only on branded public pages. */
  --bg-color: var(--asia-pink);
  --font-color: var(--asia-white);
  --hover-color: var(--asia-cyan);
  --footer-color: var(--asia-black);
  --elements-color: var(--asia-cyan);
  --main-btn-bg-color: var(--asia-pink);
  --main-btn-border-color: var(--asia-white);
  --main-btn-font-color: var(--asia-white);
  --main-additional-elements-color: var(--asia-cyan);
  --main-additional-fonts-color: var(--asia-white);
  --main-additional-buttons-color: var(--asia-pink);
}

body:is(.home, .event),
body:is(.home, .event) * {
  box-sizing: border-box;
}

body:is(.home, .event) {
  margin: 0;
  min-width: 320px;
  background-color: var(--asia-black);
  background-image: url("../images/meladze-asia/page-neon-vector-v12.svg");
  background-position: top center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  color: var(--asia-white);
  font-family: "MontseratRegular", Montserrat, Arial, sans-serif;
}

body:is(.home, .event) #content,
body:is(.home, .event) .main-catalog {
  background: transparent !important;
}

body:is(.home, .event) .container {
  width: 100%;
  max-width: 1170px;
  margin-inline: auto;
  padding-inline: 15px;
}

/* Header */
body:is(.home, .event) header.header-new {
  position: relative !important;
  isolation: isolate;
  z-index: 10000;
  min-height: var(--asia-header-height);
  /* Visible, so the language dropdown can open over the slider below. */
  overflow: visible;
  padding: 0 !important;
  background: var(--asia-black) !important;
  box-shadow: none;
}

/*
 * The neon is a separate wide decorative layer. On desktop its complete
 * composition is fitted to the responsive header without cover/cropping.
 */
body:is(.home, .event) header.header-new::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: url("../images/meladze-asia/header-neon-vector-v12.svg");
  background-position: center top;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  content: "";
  pointer-events: none;
}

body:is(.home, .event) header.header-new > .container {
  position: relative;
  z-index: 1;
  min-height: var(--asia-header-height);
  display: flex;
  align-items: center;
  gap: 30px;
  padding-block: 10px;
}

/*
 * Hall map tooltips (seats, sections, standing places) are rendered by
 * jQuery UI directly under <body>, on a white plate. oneband-layout.css paints
 * their text with --main-additional-fonts-color, which the branded palette
 * above remaps to white — so the seat info became white on white.
 * Not scoped to .home/.event: the tooltip node is a body child and the same
 * variable is white everywhere on this site.
 */
.ui-tooltip,
.ui-tooltip .ui-tooltip-content,
div.ui-tooltip-content > b {
  color: var(--asia-black, #000);
}

@media (min-width: 1024px) {
  body:is(.home, .event) header.header-new,
  body:is(.home, .event) header.header-new > .container {
    height: var(--asia-header-height);
  }

  /* Overrides header.css and oneband-layout.css: header { height: auto !important; } */
  body:is(.home, .event) header.header-new {
    height: var(--asia-header-height) !important;
  }

  /*
   * The blurred nav glow (::before below) is taller than the header up to
   * ~1300px wide. Clip only that layer to the header band — clipping the whole
   * header also cut off the language dropdown.
   */
  body:is(.home, .event) .header__buttons-list {
    clip-path: inset(calc((100% - var(--asia-header-height)) / 2) -100vmax);
  }
}

body:is(.home, .event) header .logo-menu-row {
  position: relative;
  flex: 0 1 clamp(210px, 20.833vw, 300px);
  max-width: clamp(210px, 20.833vw, 300px);
  display: flex;
  align-items: center;
  justify-content: center;
}

body:is(.home, .event) header .logo-menu-row,
body:is(.home, .event) header .logotype,
body:is(.home, .event) header .logotype img {
  background: transparent !important;
  box-shadow: none !important;
}

body:is(.home, .event) header .logo-menu-row::before,
body:is(.home, .event) header .logo-menu-row::after,
body:is(.home, .event) header .logotype::before,
body:is(.home, .event) header .logotype::after {
  display: none !important;
  content: none !important;
}

body:is(.home, .event) header .logotype {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

body:is(.home, .event) header .logotype img {
  display: block;
  width: clamp(210px, 20.833vw, 300px);
  max-width: 100%;
  max-height: calc(var(--asia-header-height) - 20px);
  object-fit: contain;
}

body:is(.home, .event) .header__buttons-list {
  position: relative;
  isolation: isolate;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  gap: clamp(35px, 5vw, 80px);
  height: auto;
}

body:is(.home, .event) .header__buttons-list::before {
  position: absolute;
  z-index: 0;
  inset: -27px -42px;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    rgb(0 0 0 / 92%) 0%,
    rgb(0 0 0 / 72%) 43%,
    rgb(0 0 0 / 30%) 70%,
    transparent 100%
  );
  filter: blur(8px);
  content: "";
  pointer-events: none;
}

body:is(.home, .event) .header__buttons-list > a {
  position: relative;
  z-index: 1;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--asia-white);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-shadow:
    0 2px 5px #000,
    0 0 11px #000,
    0 0 18px rgb(0 0 0 / 90%);
  white-space: nowrap;
}

body:is(.home, .event) .header__buttons-list > a:hover,
body:is(.home, .event) .header__buttons-list > a:focus-visible {
  color: var(--asia-cyan);
}

body:is(.home, .event) .header__buttons-list .sb_header__buy-ticket,
body:is(.home, .event) header .phone {
  display: none !important;
}

body:is(.home, .event) .header__buttons-list .sb_header__buy-ticket {
  text-shadow: none;
}

body:is(.home, .event) header .menu-row {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 16px;
}

body:is(.home, .event) header .lang {
  margin: 0;
}

body:is(.home, .event) header .lang > .current,
body:is(.home, .event) header .menu-row > .btn.desktop {
  height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid var(--asia-cyan);
  border-radius: 0;
  background: rgb(0 0 0 / 55%);
  color: var(--asia-cyan);
  font-size: 15px;
  line-height: 43px;
  text-decoration: none;
}

body:is(.home, .event) header .lang > .current {
  min-width: 86px;
  gap: 8px;
  padding-inline: 12px;
}

body:is(.home, .event) header .lang > .current .icon {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  object-fit: cover;
}

body:is(.home, .event) header .menu-row > .btn.desktop {
  min-width: 136px;
  padding-inline: 20px;
}

body:is(.home, .event) header .lang > ul {
  background: #050509;
  border: 1px solid var(--asia-cyan);
}

body:is(.home, .event) header .lang > ul a {
  color: var(--asia-white);
}

body:is(.home, .event) .header-mobile__buttons-list {
  display: none;
  border: 0;
  background: transparent;
  color: var(--asia-cyan);
  font: inherit;
}

/* Sessions */
body.home .sessions-home-list {
  padding: 34px 0 48px;
}

body.home .sessions-container {
  position: relative;
}

body.home .header-search-list {
  position: absolute;
  top: 0;
  right: 15px;
  z-index: 2;
}

body.home .header-search-list .search-field-wrapper {
  position: relative;
  width: 300px;
}

body.home .header-search-list input {
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0 44px 0 12px;
  border: 3px solid var(--asia-cyan);
  border-radius: 5px;
  outline: 0;
  background: #000;
  color: var(--asia-white);
  font:
    700 18px/34px "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
}

body.home .header-search-list input::placeholder {
  color: var(--asia-white);
  opacity: 1;
}

body.home .header-search-list input:focus {
  box-shadow: 0 0 0 3px rgb(0 233 239 / 22%);
}

body.home .header-search-list .search-button-icon {
  position: absolute;
  top: 0;
  right: 0;
  transform: unset !important;
  width: 42px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--asia-white);
  pointer-events: none;
}

body.home .header-search-list .search-button-icon > i.fa-search {
  color: var(--asia-cyan) !important;
}

body.home .session-month {
  margin: 0 0 28px;
  color: var(--asia-white);
  font:
    700 18px/1.2 "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

body.home .session-item + .session-month {
  margin-top: 58px;
}

body.home .session-month > span {
  padding-bottom: 4px;
  border-bottom: 1px solid var(--asia-white);
}

body.home .session-item {
  position: relative;
  min-height: 100px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  margin-inline-start: 40px;
  padding: 0 0 0 5%;
  border-radius: 10px;
  background: var(--asia-white);
  color: #111;
}

body.home .session-item + .session-item {
  margin-top: 22px;
}

body.home .session-item__date {
  position: absolute;
  top: 50%;
  left: 0;
  width: 80px;
  height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--asia-gradient);
  color: var(--asia-white);
}

body.home.rtl .session-item__date {
  right: 0;
  left: auto;
  transform: translate(50%, -50%);
}

body.home .session-item__day {
  font-size: 36px;
  font-weight: 600;
  line-height: 36px;
}

body.home .session-item__date > span:not(.session-item__day) {
  font-size: 16px;
  line-height: 18px;
}

body.home .session-item__element {
  width: 30%;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px;
}

body.home .session-item__city {
  color: #111;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

body.home .session-item__datetime,
body.home .session-item__location {
  color: #222;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
}

body.home .session-item__datetime {
  min-height: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

body.home .session-item__location {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

body.home .session-item__datetime svg,
body.home .session-item__location svg,
body.home .session-item__prices svg {
  flex: 0 0 auto;
  width: 18px;
  max-height: 20px;
}

body.home .session-item__datetime svg path,
body.home .session-item__location svg path {
  fill: #222;
}

body.home .session-item__prices svg path {
  fill: var(--asia-pink);
}

body.home .session-item__prices {
  align-items: center;
  color: var(--asia-pink);
}

body.home .session-item__prices > div {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--asia-pink);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

body.home .session-item__buy {
  position: relative;
  flex: 0 0 140px;
  width: 140px;
  min-height: 100px;
  height: auto;
  align-self: stretch;
  display: block;
  overflow: hidden;
  border-radius: 0 10px 10px 0;
  color: var(--asia-white);
  text-decoration: none;
  cursor: pointer;
}

body.home.rtl .session-item__buy {
  border-radius: 10px 0 0 10px;
}

body.home .session-item__buy > div {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: inherit;
}

body.home .session-item__buy-button {
  background: var(--asia-gradient);
}

body.home .session-item__buy > .session-item__border {
  position: absolute;
  inset: 6px;
  width: auto;
  height: auto;
  border: 1px solid rgb(255 255 255 / 85%);
  border-radius: 8px;
  background: transparent;
  pointer-events: none;
}

body.home .session-item__buy svg {
  width: 42px;
  height: 36px;
}

body.home .session-item__buy svg path {
  fill: var(--asia-white);
}

body.home .session-item__buy-button > span,
body.home .session-item__soldout > span {
  color: var(--asia-white);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

body.home .session-item__soldout {
  background: #2a2a2a;
}

/*
 * "More details" plate (no tickets on sale). The 18px label above outweighs
 * header.css' 14px and overflowed the button, so keep it inside the inner
 * border; multi-word translations wrap onto a second line.
 */
body.home .session-item__soldout.more-details {
  padding-inline: 12px;
}

body.home .session-item__soldout.more-details > span {
  max-width: 100%;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
}

body.home .session-item__buy:hover {
  filter: brightness(0.88);
}

body.home .show-more-wrapper {
  text-align: center;
}

/* Optional tour notice: move the existing tour description here */
body.home .tour-notice {
  margin: 30px 20px 20px;
  padding: 20px 24px;
  border-radius: 8px;
  background: var(--asia-white);
  color: #20202a;
  text-align: center;
  font-size: 20px;
  line-height: 1.35;
}

body.home .tour-notice :is(p, h1, h2, h3, h4, h5, h6) {
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
}

body.home .tour-notice a {
  color: #20202a;
  text-decoration: underline;
}

body.home button.show-more-sessions,
body.home button.subscription__submit {
  width: 265px;
  height: 60px;
  display: inline-block;
  padding: 4px;
  border: 0;
  border-radius: 15px;
  background: var(--asia-gradient-horizontal);
  color: var(--asia-white);
  font:
    700 18px/1 "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

body.home button.show-more-sessions > div,
body.home button.subscription__submit > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 90%);
  border-radius: 12px;
}

body.home button.show-more-sessions:hover,
body.home button.subscription__submit:hover {
  filter: brightness(0.9);
}

/* Subscription */
body.home .subscription {
  position: relative;
  padding: 42px 0 74px;
  background: transparent;
  color: var(--asia-white);
  text-align: center;
}

body.home .subscription__background,
body.home .subscription__overlay {
  display: none;
}

body.home .subsdcription__header {
  max-width: 1120px;
  margin: 0 auto;
  color: var(--asia-white);
  font:
    700 28px/1.15 "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.home .subscription__form {
  margin-top: 70px;
}

body.home .subscription__form .row {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -10px;
}

body.home .subscription__form .col-md-4 {
  width: 33.3333%;
  padding-inline: 10px;
}

body.home .subscription__input,
body.home .select2-container--default .select2-selection--multiple {
  width: 100%;
  min-height: 60px !important;
  margin: 0;
  padding: 0 24px;
  border: 1px solid #3b3b48 !important;
  border-radius: 8px !important;
  outline: 0;
  background: #030306 !important;
  color: var(--asia-white);
  font:
    400 16px/58px "MontseratRegular",
    Montserrat,
    Arial,
    sans-serif;
  text-align: left;
}

body.home .subscription__input::placeholder {
  color: var(--asia-muted);
  opacity: 1;
}

body.home .subscription__input:focus {
  border-color: var(--asia-cyan) !important;
  box-shadow: 0 0 0 3px rgb(0 233 239 / 15%);
}

body.home #subscription__form select,
body.home #subscription__form input,
body.home #subscription__form .select2-selection__rendered,
body.home #subscription__form .select2-search__field {
  color: var(--asia-white) !important;
}

body.home
  #subscription__form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  border-color: var(--asia-cyan) !important;
  background: rgb(0 233 239 / 12%) !important;
  color: var(--asia-white) !important;
}

body.home
  #subscription__form
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice__remove {
  color: var(--asia-pink) !important;
}

body.home #subscription__form .select2-search__field::placeholder {
  color: var(--asia-muted) !important;
  opacity: 1;
}

/* Select2 appends the open dropdown directly to body, outside the form. */
body.home .select2-container--open .select2-dropdown,
body.home .select2-container--default .select2-results,
body.home .select2-container--default .select2-results__options {
  border-color: var(--asia-cyan) !important;
  background: #030306 !important;
  color: var(--asia-white) !important;
}

body.home .select2-container--open .select2-dropdown {
  overflow: hidden;
  box-shadow: 0 10px 28px rgb(0 0 0 / 55%);
}

body.home .select2-container--default .select2-results__option {
  background: #030306 !important;
  color: var(--asia-white) !important;
}

body.home
  .select2-container--default
  .select2-results__option[aria-selected="true"] {
  background: rgb(255 0 187 / 18%) !important;
}

body.home
  .select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background: var(--asia-gradient-horizontal) !important;
  color: var(--asia-white) !important;
}

body.home .subscription__form .form-check {
  margin: 20px 0 13px;
}

body.home .subscription__form .form-check-input {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 0;
  accent-color: var(--asia-pink);
  vertical-align: middle;
}

body.home input[type="checkbox"] + label.subscription__agreement {
  color: var(--asia-white);
  font:
    700 14px/20px "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
  vertical-align: middle;
}

body.home .subscribe__success {
  color: var(--asia-white);
}

body.home .subscription__description {
  display: none;
}

/* Event details */
body.event .main-content,
body.event section.breadcmps,
body.event .main-catalog {
  background: transparent !important;
}

body.event .banner {
  min-height: 0 !important;
  overflow: hidden;
  background-color: var(--asia-black);
}

body.event .banner > img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

body.event .breadcrumbs a,
body.event .breadcrumbs span,
body.event .breadcrumbs a::after {
  color: var(--asia-white) !important;
}

body.event .breadcrumbs a:hover,
body.event .breadcrumbs a:focus-visible {
  color: var(--asia-cyan) !important;
}

body.event .main-content h1,
body.event .main-content h2,
body.event .main-content h3,
body.event .main-content p {
  color: var(--asia-white);
}

body.event .schedule {
  border-top-color: rgb(255 255 255 / 18%);
}

body.event .schedule > .tr:not(#hall_map) {
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid rgb(0 233 239 / 35%);
  border-radius: 10px;
  background: var(--asia-white);
}

body.event .schedule > .tr:not(#hall_map) > .td {
  border-bottom: 0;
  color: #111;
}

body.event
  .schedule
  > .tr:not(#hall_map)
  :is(.date, .date span, .date small, .where, .where strong) {
  color: #111 !important;
}

body.event .schedule > .tr:not(#hall_map) .date,
body.event .schedule > .tr:not(#hall_map) .where strong {
  color: #111;
}

body.event .schedule > .tr:not(#hall_map) .where {
  color: #3c3c46;
}

body.event .schedule .buy-ticket {
  border: 1px solid var(--asia-cyan);
  border-radius: 8px;
}

body.event .schedule .buy-ticket .btn.button-buy {
  border: 0;
  background: var(--asia-gradient-horizontal) !important;
  color: var(--asia-white) !important;
}

body.event .schedule .buy-ticket .price {
  background: var(--asia-white);
  color: var(--asia-pink);
}

body.event .tr.selected-row {
  border-color: var(--asia-cyan);
}

body.event .session-item,
body.event .session-item__city,
body.event .session-item__datetime,
body.event .session-item__datetime > span,
body.event .session-item__location,
body.event .session-item__location > span {
  color: #111 !important;
}

body.event .session-item__datetime svg path,
body.event .session-item__location svg path {
  fill: #111 !important;
}

body.event .session-item__date {
  background: var(--asia-gradient) !important;
  color: var(--asia-white) !important;
}

body.event .session-item__date > span {
  color: var(--asia-white) !important;
}

body.event .session-item__prices,
body.event .session-item__prices > div {
  color: var(--asia-pink) !important;
}

body.event .session-item__prices svg path {
  fill: var(--asia-pink) !important;
}

body.event .session-item__buy-button {
  background: var(--asia-gradient) !important;
}

body.event .session-item__buy-button > span,
body.event .session-item__buy-button svg path {
  color: var(--asia-white) !important;
  fill: var(--asia-white) !important;
}

/* Footer actions */
body:is(.home, .event) footer .sb_footer__buy-ticket {
  position: relative;
  isolation: isolate;
  width: 190px;
  height: 58px;
  margin: 22px auto;
  overflow: visible;
  background: transparent !important;
  color: var(--asia-white) !important;
}

body:is(.home, .event) footer .sb_footer__buy-ticket::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--asia-gradient-horizontal);
  -webkit-mask: url("/assets/main/ticket-button.svg") center / 100% 100%
    no-repeat;
  mask: url("/assets/main/ticket-button.svg") center / 100% 100% no-repeat;
  content: "";
  pointer-events: none;
}

body:is(.home, .event) footer .sb_footer__buy-ticket svg {
  opacity: 0;
}

body:is(.home, .event) footer .sb_footer__buy-ticket span {
  right: 14px !important;
  width: 118px;
  color: var(--asia-white);
  font:
    700 13px/1.1 "MontseratBold",
    Montserrat,
    Arial,
    sans-serif;
  text-shadow: 0 1px 4px rgb(0 0 0 / 35%);
  white-space: nowrap;
}

body:is(.home, .event) footer .btn.rec {
  min-width: 230px;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  overflow: hidden;
  border: 0 !important;
  border-radius: 8px;
  background: var(--asia-gradient-horizontal) !important;
  background-clip: border-box !important;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 90%);
  color: var(--asia-white) !important;
  font:
    500 18px/1 "MontseratRegular",
    Montserrat,
    Arial,
    sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}

body:is(.home, .event) footer .sb_footer__buy-ticket:hover,
body:is(.home, .event) footer .btn.rec:hover,
body:is(.home, .event) footer .sb_footer__buy-ticket:focus-visible,
body:is(.home, .event) footer .btn.rec:focus-visible {
  filter: brightness(0.9);
}

@media (max-width: 1023px) {
  body:is(.home, .event) header.header-new,
  body:is(.home, .event) header.header-new > .container {
    min-height: 84px;
  }

  body:is(.home, .event) header.header-new {
    background-color: var(--asia-black) !important;
    background-image: url("../images/meladze-asia/header-neon-vector-v12.svg") !important;
    background-position: center top !important;
    background-size: auto 84px !important;
    background-repeat: no-repeat !important;
  }

  body:is(.home, .event) header.header-new::before {
    display: none !important;
  }

  body:is(.home, .event) header.header-new > .container {
    flex-direction: row;
    justify-content: space-between;
    gap: 14px;
    padding-block: 10px;
  }

  body:is(.home, .event) header .logo-menu-row {
    flex: 0 1 210px;
    max-width: 210px;
  }

  body:is(.home, .event) header .logotype img {
    width: 210px;
    max-height: 74px;
  }

  body:is(.home, .event) .header__buttons-list {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 0;
  }

  body:is(.home, .event) .header__buttons-list::before {
    display: none;
  }

  body:is(.home, .event) .header__buttons-list > a:not(.sb_header__buy-ticket) {
    display: none;
  }

  body:is(.home, .event) .header__buttons-list > .sb_header__buy-ticket {
    position: relative;
    isolation: isolate;
    width: 150px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: visible;
    background: transparent !important;
    color: var(--main-btn-font-color, var(--asia-white));
  }

  body:is(.home, .event) .header__buttons-list > .sb_header__buy-ticket::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: var(--asia-gradient-horizontal);
    -webkit-mask: url("/assets/main/ticket-button.svg") center / 100% 100%
      no-repeat;
    mask: url("/assets/main/ticket-button.svg") center / 100% 100% no-repeat;
    content: "";
    pointer-events: none;
  }

  body:is(.home, .event) .sb_header__buy-ticket > svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
  }

  body:is(.home, .event) .sb_header__buy-ticket > svg path {
    fill: var(--main-btn-bg-color, var(--asia-pink)) !important;
  }

  body:is(.home, .event) .sb_header__buy-ticket > span {
    position: relative;
    z-index: 1;
    width: 90px;
    color: var(--main-btn-font-color, var(--asia-white));
    font-size: 11px;
    line-height: 1.15;
    text-align: center;
    text-transform: uppercase;
    white-space: normal;
  }

  body:is(.home, .event) header .menu-row {
    display: none;
  }

  body:is(.home, .event) .header-mobile__buttons-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  body:is(.home, .event) .header-mobile__buttons-list .wrap_open_nav {
    display: block;
  }

  body:is(.home, .event) .header-mobile__buttons-list .open-nav {
    position: relative;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
  }

  body:is(.home, .event) .header-mobile__buttons-list .open-nav .fa-bars {
    color: var(--asia-white);
    font-size: 27px;
    line-height: 1;
  }

  body:is(.home, .event) .hamburger-lines,
  body:is(.home, .event) .hamburger-lines::before,
  body:is(.home, .event) .hamburger-lines::after {
    width: 27px;
    height: 3px;
    display: block;
    border-radius: 2px;
    background: var(--asia-white);
  }

  body:is(.home, .event) .hamburger-lines {
    position: relative;
  }

  body:is(.home, .event) .hamburger-lines::before,
  body:is(.home, .event) .hamburger-lines::after {
    position: absolute;
    left: 0;
    content: "";
  }

  body:is(.home, .event) .hamburger-lines::before {
    top: -8px;
  }

  body:is(.home, .event) .hamburger-lines::after {
    top: 8px;
  }

  body:is(.home, .event) header.header-new > .container.mobile {
    min-height: 300px;
    flex-direction: column;
  }

  body:is(.home, .event) header.header-new > .container.mobile .header__buttons-list,
  body:is(.home, .event) header.header-new > .container.mobile .menu-row {
    display: flex;
  }

  body:is(.home, .event) header.header-new > .container.mobile .header__buttons-list {
    flex-direction: column;
    gap: 15px;
  }

  body:is(.home, .event)
    header.header-new
    > .container.mobile
    .header__buttons-list
    > a:not(.sb_header__buy-ticket) {
    display: inline-flex;
  }

  body.home .session-item__city {
    font-size: 16px;
  }

  body.home .session-item__datetime,
  body.home .session-item__location {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  body:is(.home, .event) {
    background-size: auto 1900px;
  }

  body.home .sessions-home-list {
    padding: 24px 0 34px;
  }

  body.home .header-search-list {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    margin-bottom: 28px;
  }

  body.home .header-search-list .search-field-wrapper {
    width: 100%;
  }

  body.home .session-month,
  body.home .session-item + .session-month {
    margin-top: 0;
    margin-bottom: 22px;
    padding-inline-start: 26px;
  }

  body.home .session-item + .session-month {
    margin-top: 38px;
  }

  body.home .session-item {
    min-height: 112px;
    height: auto;
    flex-direction: column;
    margin-inline-start: 26px;
    padding: 10px 88px 10px 36px;
    align-items: stretch;
    justify-content: space-around;
  }

  body.home.rtl .session-item {
    padding: 10px 36px 10px 88px;
  }

  body.home .session-item + .session-item {
    margin-top: 18px;
  }

  body.home .session-item__date {
    width: 54px;
    height: 54px;
  }

  body.home .session-item__day {
    font-size: 24px;
    line-height: 23px;
  }

  body.home .session-item__date > span:not(.session-item__day) {
    font-size: 11px;
    line-height: 13px;
  }

  body.home .session-item__element {
    width: 100%;
    min-height: 0;
    padding: 1px 0;
    justify-content: center;
  }

  body.home .session-item__city {
    font-size: 13px;
  }

  body.home .session-item__datetime,
  body.home .session-item__location,
  body.home .session-item__prices > div {
    font-size: 11px;
  }

  body.home .session-item__datetime {
    min-height: 14px;
    margin-top: 4px;
  }

  body.home .session-item__location > span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

  body.home .session-item__prices {
    align-items: flex-start;
  }

  body.home .session-item__datetime svg,
  body.home .session-item__location svg {
    width: 12px !important;
    height: 13px;
  }

  body.home .session-item__prices svg {
    width: 14px !important;
    height: 14px;
  }

  body.home .session-item__buy {
    position: absolute;
    top: 0;
    right: 0;
    width: 82px;
    min-height: 0;
    height: 100%;
    border-radius: 0 10px 10px 0;
  }

  body.home.rtl .session-item__buy {
    right: auto;
    left: 0;
    border-radius: 10px 0 0 10px;
  }

  body.home .session-item__buy svg {
    width: 34px;
    height: 29px;
  }

  body.home .session-item__buy-button > span,
  body.home .session-item__soldout > span {
    font-size: 12px;
  }

  /* 82px is too narrow for "ПОДРОБНЕЕ" and longer translations. */
  body.home .session-item:has(.session-item__soldout.more-details) {
    padding-inline-end: 110px;
  }

  body.home .session-item__buy:has(.more-details) {
    width: 104px;
  }

  body.home .session-item__soldout.more-details {
    padding-inline: 10px;
  }

  body.home .session-item__soldout.more-details > span {
    font-size: 10px;
  }

  body.home .tour-notice {
    margin: 26px 0 18px;
    padding: 17px;
    font-size: 16px;
  }

  body.home button.show-more-sessions,
  body.home button.subscription__submit {
    width: min(265px, 100%);
    height: 54px;
    font-size: 15px;
  }

  body.home .subscription {
    padding: 34px 0 50px;
  }

  body.home .subsdcription__header {
    font-size: 21px;
    letter-spacing: 0.04em;
  }

  body.home .subscription__form {
    margin-top: 34px;
  }

  body.home .subscription__form .row {
    display: block;
    margin-inline: 0;
  }

  body.home .subscription__form .col-md-4 {
    width: 100%;
    padding-inline: 0;
  }

  body.home .subscription__input,
  body.home .select2-container--default .select2-selection--multiple {
    min-height: 52px !important;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 50px;
  }

  body:is(.home, .event) footer .sb_footer__buy-ticket {
    width: 164px !important;
    height: 50px !important;
  }

  body:is(.home, .event) footer .sb_footer__buy-ticket span {
    right: 12px !important;
    width: 104px;
    font-size: 12px;
  }

  body:is(.home, .event) footer .btn.rec {
    width: min(230px, 100%);
    min-width: 0;
    min-height: 52px;
    padding-inline: 20px;
    font-size: 16px;
  }
}

@media (max-width: 420px) {
  body:is(.home, .event) header.header-new,
  body:is(.home, .event) header.header-new > .container {
    min-height: 76px;
  }

  body:is(.home, .event) header.header-new {
    background-size: auto 76px !important;
  }

  body:is(.home, .event) header.header-new > .container {
    gap: 8px;
    padding-inline: 10px;
  }

  body:is(.home, .event) header .logo-menu-row {
    flex: 0 1 108px;
    max-width: 108px;
  }

  body:is(.home, .event) header .logotype img {
    width: 108px;
    max-height: 54px;
  }

  body:is(.home, .event) .header__buttons-list > .sb_header__buy-ticket {
    width: 108px !important;
    height: 42px !important;
  }

  body:is(.home, .event) .sb_header__buy-ticket > span {
    width: 68px;
    font-size: 9px;
  }

  body:is(.home, .event) .header-mobile__buttons-list .open-nav {
    width: 32px;
    height: 36px;
  }

  body:is(.home, .event) .hamburger-lines,
  body:is(.home, .event) .hamburger-lines::before,
  body:is(.home, .event) .hamburger-lines::after {
    width: 24px;
  }

  body.home .session-item {
    padding-inline-start: 33px;
  }
}
