.text {
  transition: 0.3s;
}
.text--link {
  color: #FFBF00;
}
.text--primary {
  color: #FFFFFF;
}
.text--secondary {
  color: #C496AA;
}
.text--tertiary {
  color: #A8768A;
}

.icon--accent {
  color: #FFBF00 !important;
}
.icon--1 {
  color: #4F0F28;
}
.icon--2 {
  color: #FFFFFF;
}
.icon--3 {
  color: #C496AA;
}

:root {
  --bg-main: #330C1C;
  --yellow-main: #FFBF00;
  --bg-3: #4F0F28;
  --border-main: #6E2B46;
  --text-secondary: #C496AA;
  --border-secondary: #6E2B46;
  --switcher: #C496AA;
}

.background {
  transition: 0.3s;
}
.background--back-main {
  background: #330C1C;
}
.background--back-2 {
  background: #3F0C21;
}
.background--back-3 {
  background: #4F0F28;
}
.background--white {
  background: rgba(255, 255, 255, 0.1);
}

body.light-theme {
  --bg-main: #F1F1F3;
  --yellow-main: #80113C;
  --bg-3: #fff;
  --border-main: #E4E4E8;
  --text-secondary: #777788;
  --border-secondary: #6E2B46;
  --switcher: #FFBF00;
}

body.light-theme .text--link {
  color: #80113C;
}
body.light-theme .text--primary {
  color: #18181C;
}
body.light-theme .text--secondary {
  color: #777788;
}
body.light-theme .text--tertiary {
  color: #AEAEB8;
}
body.light-theme .icon--accent {
  color: #80113C !important;
}
body.light-theme .icon--1 {
  color: #FFBF00;
}
body.light-theme .icon--2 {
  color: #18181C;
}
body.light-theme .icon--3 {
  color: #777788;
}
body.light-theme .background--back-main {
  background: #F1F1F3;
}
body.light-theme .background--back-2 {
  background: #E4E4E8;
}
body.light-theme .background--back-3 {
  background: #FFFFFF;
}
body.light-theme .background--white {
  background: #FFFFFF;
}

.color--black {
  color: #000000;
}
.color--black-50 {
  color: rgbd(#000000, 0.5);
}
.color--white {
  color: #FFFFFF;
}
.color--gray {
  color: #D9D9D9;
}
.color--gray-secondary {
  color: #BFBFBF;
}
.color--gray-third {
  color: #333333;
}
.color--gray-5 {
  color: #E0E0E0;
}
.color--gray-2 {
  color: #F5F5F5;
}
.color--dark-gray {
  color: #404040;
}
.color--green {
  color: #29D37E;
}
.color--red {
  color: #E0455A;
}
.color--burgundy-800 {
  color: #200610;
}
.color--burgundy-800 {
  color: #200610;
}
.color--burgundy-600 {
  color: #3F0C21;
}
.color--burgundy-500 {
  color: #4F0F28;
}
.color--burgundy-400 {
  color: #6E2B46;
}
.color--burgundy-300 {
  color: #A8768A;
}
.color--burgundy-200 {
  color: #C496AA;
}
.color--burgundy-100 {
  color: #DAAEC1;
}
.color--burgundy-50 {
  color: #EBBDD0;
}
.color--burgundy-accent {
  color: #80113C;
}
.color--neutral-900 {
  color: #18181C;
}
.color--neutral-800 {
  color: #27272B;
}
.color--neutral-700 {
  color: #484852;
}
.color--neutral-600 {
  color: #5F5F6D;
}
.color--neutral-500 {
  color: #777788;
}
.color--neutral-400 {
  color: #9292A0;
}
.color--neutral-300 {
  color: #AEAEB8;
}
.color--neutral-200 {
  color: #C8C9D0;
}
.color--neutral-100 {
  color: #E4E4E8;
}
.color--neutral-50 {
  color: #F1F1F3;
}
.color--yellow-600 {
  color: #CC9800;
}
.color--yellow-500 {
  color: #FFBF00;
}
.color--yellow-300 {
  color: #FFD761;
}
.color--yellow-200 {
  color: #FFEBB2;
}
.color--blue {
  color: #0099FF;
}
.color--orange {
  color: #E48423;
}

.bg--black {
  background: #000000;
}
.bg--black-50 {
  background: rgbd(#000000, 0.5);
}
.bg--white {
  background: #FFFFFF;
}
.bg--gray {
  background: #D9D9D9;
}
.bg--gray-third {
  background: #333333;
}
.bg--gray-5 {
  background: #E0E0E0;
}
.bg--gray-2 {
  background: #F5F5F5;
}
.bg--dark-gray {
  background: #404040;
}
.bg--green {
  background: #29D37E;
}
.bg--red {
  background: #E0455A;
}
.bg--burgundy-800 {
  background: #200610;
}
.bg--burgundy-700 {
  background: #330C1C;
}
.bg--burgundy-600 {
  background: #3F0C21;
}
.bg--burgundy-500 {
  background: #4F0F28;
}
.bg--burgundy-400 {
  background: #6E2B46;
}
.bg--burgundy-300 {
  background: #A8768A;
}
.bg--burgundy-200 {
  background: #C496AA;
}
.bg--burgundy-100 {
  background: #DAAEC1;
}
.bg--burgundy-50 {
  background: #EBBDD0;
}
.bg--burgundy-accent {
  background: #80113C;
}
.bg--neutral-900 {
  background: #18181C;
}
.bg--neutral-800 {
  background: #27272B;
}
.bg--neutral-700 {
  background: #484852;
}
.bg--neutral-600 {
  background: #5F5F6D;
}
.bg--neutral-500 {
  background: #777788;
}
.bg--neutral-400 {
  background: #9292A0;
}
.bg--neutral-300 {
  background: #AEAEB8;
}
.bg--neutral-200 {
  background: #C8C9D0;
}
.bg--neutral-100 {
  background: #E4E4E8;
}
.bg--neutral-50 {
  background: #F1F1F3;
}
.bg--yellow-600 {
  background: #CC9800;
}
.bg--yellow-500 {
  background: #FFBF00;
}
.bg--yellow-300 {
  background: #FFD761;
}
.bg--yellow-200 {
  background: #FFEBB2;
}
.bg--blue {
  background: #0099FF;
}
.bg--orange {
  background: #E48423;
}

.ls--1-1 {
  letter-spacing: -1.1%;
}

.border--stroke-1 {
  border: 1px solid #6E2B46;
}
.border--stroke-3 {
  border: 1px solid #C496AA;
}

body.light-theme .border--stroke-1 {
  border: 1px solid #E4E4E8;
}
body.light-theme .border--stroke-3 {
  border: 1px solid #AEAEB8;
}

.tickets .ticket .left, .tickets .ticket .right {
  width: calc(50% - 238px);
  flex: 0 0 auto;
}
@media (max-width: 992px) {
  .tickets .ticket .left, .tickets .ticket .right {
    width: 100%;
  }
}
.tickets .abonement {
  position: relative;
  overflow: hidden;
}
.tickets .abonement:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 300px;
  height: 35px;
  background: url(../../images/ab-after.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
}
.tickets .abonement .left, .tickets .abonement .right {
  width: calc(50% - 238px);
  flex: 0 0 auto;
}
@media (max-width: 992px) {
  .tickets .abonement .left, .tickets .abonement .right {
    width: 100%;
  }
}
.tickets .abonement .center {
  width: 100%;
}
@media (max-width: 992px) {
  .tickets .abonement .center {
    flex-direction: row-reverse;
  }
}

.join__body {
  position: relative;
  overflow: hidden;
}
.join__body .col {
  position: relative;
  z-index: 2;
}
.join__body:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 480px;
  height: 95px;
  background: url(../../images/join.svg);
  background-size: cover;
  background-position: left;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .join__body:before {
    left: auto;
    right: 0;
    bottom: auto;
    top: 0;
    width: 250px;
    height: 56px;
    background: url(../../images/join-mob.svg);
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
  }
}

#buffer {
  display: none;
}

.buy-tickets__content {
  width: 100%;
}
.buy-tickets__content.buy-away-tickets .second-row {
  display: none;
}
.buy-tickets__content.buy-away-tickets .second-row:has(.ticket-info) {
  display: block;
}
.buy-tickets__content:has(.ticket-info:nth-child(4)) .add-aditional-ticket {
  display: none;
}
.buy-tickets__content .info-field {
  border: 1px solid #26AE6A;
  background: #227A50;
  position: relative;
}
.buy-tickets__content .info-field:before {
  content: "";
  display: block;
  position: absolute;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #26AE6A;
  left: -21px;
  top: -21px;
}
.buy-tickets__content .info-field:after {
  content: "";
  display: block;
  position: absolute;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #26AE6A;
  right: -21px;
  top: -21px;
}
.buy-tickets__content .step-section {
  transition: 0.3s;
  opacity: 0.5;
}
.buy-tickets__content .step-section .hidden-text {
  display: none;
}
.buy-tickets__content .step-section .visible-row {
  display: none;
}
.buy-tickets__content .step-section.filled {
  opacity: 1;
}
.buy-tickets__content .step-section.is-active {
  opacity: 1;
}
.buy-tickets__content .step-section.is-active .hidden-text {
  display: block;
}
.buy-tickets__content .step-section.is-active .visible-row {
  display: block;
}
.buy-tickets__content .step-section.is-active .hidden-row {
  display: none;
}
.buy-tickets__content .stadium-image {
  padding-left: 100px;
  padding-right: 100px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 992px) {
  .buy-tickets__content .stadium-image {
    padding: 16px !important;
    min-height: 345px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.buy-tickets__content .stadium-image .stadium-map svg {
  display: block;
  width: 100%;
  height: auto;
}
.buy-tickets__content .stadium-image .stadium-map svg path[data-sector-key] {
  cursor: pointer;
  transition: opacity 0.2s ease, filter 0.2s ease, stroke 0.2s ease, stroke-width 0.2s ease;
  vector-effect: non-scaling-stroke;
}
.buy-tickets__content .stadium-image .stadium-map svg path[data-sector-key]:hover {
  filter: brightness(1.08);
}
.buy-tickets__content .stadium-image .stadium-map svg path[data-sector-key].is-sector-active {
  opacity: 1 !important;
  stroke: #fff;
  stroke-width: 2px;
  filter: brightness(1.15);
}
@media (max-width: 992px) {
  .buy-tickets__content .stadium-image .stadium-map {
    /* rotate: 90deg; */
  }
}
.buy-tickets__content .stadium-image .stadium-tooltip {
  position: fixed;
  z-index: 1000;
  min-width: 230px;
  max-width: 260px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #5B0D2B;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}
.buy-tickets__content .stadium-image .stadium-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.buy-tickets__content .stadium-image .stadium-tooltip__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 8px;
}
.buy-tickets__content .stadium-image .stadium-tooltip__meta {
  font-size: 15px;
  line-height: 1.4;
}
@media (max-width: 992px) {
  .buy-tickets__content .stadium-image .stadium-tooltip {
    display: none;
  }
}
.buy-tickets__content .stadium-image.second-view {
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 992px) {
  .buy-tickets__content .stadium-image.second-view {
    padding: 16px !important;
  }
}
.buy-tickets__content .stadium-image .fullw-btn {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 4;
  transition: 0.3s;
}
@media (max-width: 992px) {
  .buy-tickets__content .stadium-image .fullw-btn {
    display: none;
  }
}
.buy-tickets__content .stadium-image .fullw-btn:hover {
  opacity: 0.7;
}
.buy-tickets__content .stadium-image .buttons {
  position: absolute;
  right: 16px;
  bottom: 16px;
}
.buy-tickets__content .stadium-image .buttons .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #FFBF00;
  border-radius: 4px;
  font-size: 24px;
  color: #18181C;
  cursor: pointer;
  transition: 0.3s;
}
.buy-tickets__content .stadium-image .buttons .btn:hover {
  opacity: 0.7;
}
.buy-tickets__content .main-section {
  min-width: 0;
}
@media (max-width: 992px) {
  .buy-tickets__content .main-section {
    padding: 24px 20px 40px;
    width: calc(100% + 40px);
    margin-left: -20px;
    border-radius: 0;
    overflow: hidden;
  }
}
.buy-tickets__content .main-section .get-details {
  min-width: 0;
  width: fit-content;
}
@media (max-width: 992px) {
  .buy-tickets__content .main-section .get-details {
    width: 100%;
  }
}
.buy-tickets__content .main-section .row {
  min-width: 0;
}
.buy-tickets__content .main-section .select-tickets-form .scrl {
  min-width: 0;
}
@media (max-width: 992px) {
  .buy-tickets__content .main-section .select-tickets-form .scrl {
    width: calc(100% + 40px);
    margin-left: -20px;
    padding: 0 20px;
    overflow: auto;
    white-space: nowrap;
  }
}
.buy-tickets__content .main-section .select-tickets-form .ticket-radio {
  width: 200px;
  cursor: pointer;
  transition: 0.3s;
  flex: 0 0 auto;
}
.buy-tickets__content .main-section .select-tickets-form .ticket-radio:has(input:checked) {
  border: 1px solid #FFBF00;
}
.buy-tickets__content .buss-section .image {
  position: relative;
}
.buy-tickets__content .buss-section .image:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
}
.buy-tickets__content .buss-section .image img {
  aspect-ratio: 2.35;
}
.buy-tickets__side-bar {
  width: 100%;
  max-width: 392px;
  position: sticky;
  top: 100px;
}
@media (max-width: 992px) {
  .buy-tickets__side-bar {
    position: relative;
    max-width: 100%;
    top: unset;
  }
}
.buy-tickets__side-bar .tickets-price-block .hidden-block {
  display: none;
}

.radio-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
.radio-btn:hover {
  opacity: 1;
}
.radio-btn:has(input:checked) {
  opacity: 1;
  border: 1px solid #FFBF00;
}
.radio-btn input {
  display: none;
}

.place-select {
  min-width: 0;
}
@media (max-width: 992px) {
  .place-select {
    width: calc(100% + 40px);
    margin-left: -20px;
    padding: 0;
    padding-left: 20px;
  }
}

.place-select-body {
  flex: 0 0 auto;
  overflow: auto;
  width: calc(100% - 34px);
}
@media (max-width: 992px) {
  .place-select-body {
    margin-right: 20px;
  }
}
.place-select-body .place-label .icon {
  width: 32.64px;
}

.label-example, .place-label {
  transition: 0.3s;
}
.label-example .icon, .place-label .icon {
  transition: 0.3s;
}
.label-example input, .place-label input {
  display: none;
}
.label-example.active .icon, .label-example:has(input:checked) .icon, .place-label.active .icon, .place-label:has(input:checked) .icon {
  border: 1px solid #FFBF00;
  color: #FFBF00;
}
.label-example.inactive .icon, .place-label.inactive .icon {
  border: 1px solid #6E2B46;
  background: #4F0F28;
  color: #A8768A;
}
.label-example .icon, .place-label .icon {
  background: #330C1C;
  border: 1px solid #330C1C;
}

.bb {
  border-bottom: 1px solid #6E2B46;
}

body.light-theme .bb {
  border-bottom: 1px solid #E4E4E8;
}
body.light-theme .label-example.active .icon, body.light-theme .label-example:has(input:checked) .icon, body.light-theme .place-label.active .icon, body.light-theme .place-label:has(input:checked) .icon {
  border: 1px solid #FFBF00;
  color: #80113C;
  background: #E4E4E8;
}
body.light-theme .label-example.inactive .icon, body.light-theme .place-label.inactive .icon {
  border: 1px solid #E4E4E8;
  background: #FFFFFF;
  color: #AEAEB8;
}
body.light-theme .label-example .icon, body.light-theme .place-label .icon {
  background: #F1F1F3;
  border: 1px solid #F1F1F3;
}

/* Booking alert banner/toast */
#booking-alert-container {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    width: 100%;
    max-width: 890px;
    padding: 0 16px;
    box-sizing: border-box;
    pointer-events: none;
}

.booking-alert-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 1rem auto;
    padding: 12px 24px;
    background-color: #290d19; /* Точний колір з Figma */
    border: 1px solid #6E2B46; /* Рамка */
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    pointer-events: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.booking-alert-banner.show {
    opacity: 1;
    transform: translateY(0);
}

.booking-alert-text {
    color: #ffffff;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0.3px;
    padding-left: 8px;
}

.booking-alert-close {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    margin-left: 16px;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.booking-alert-close:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
}

.booking-alert-close svg {
    width: 20px;
    height: 20px;
}

