/* Клас рейсу + вкладка «Автобус» */

/* Mobile: кнопка swap не повинна вилазити за екран (right:-4rem у styles.min) */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 991px) {
  .search__form,
  .search__form .search__form-wrapper,
  .search__form .search__form-selectize-wrapper {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .search__form .search__form-swap {
    right: auto !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 5 !important;
  }

  .search__bus-bg,
  .search__clouds {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .ticket__details-tabs.tabs__btns {
    flex-wrap: wrap !important;
    max-width: 100% !important;
    gap: 0.4rem !important;
  }

  .ticket__details,
  .ticket__details-content,
  .eurobus-fleet-panel {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
}

.eurobus-class-badge {
  font-weight: 700;
  letter-spacing: 0.01em;
}

.eurobus-class--economy {
  background: #e8f3ff !important;
  color: #1a5f9e !important;
}

.eurobus-class--comfort {
  background: #e9f7ef !important;
  color: #1e7a46 !important;
}

.eurobus-class--lux {
  background: linear-gradient(135deg, #ffe7a3 0%, #f0c14b 55%, #e0a825 100%) !important;
  color: #5a3a00 !important;
  font-weight: 800 !important;
  border: 1px solid rgba(176, 120, 10, 0.35) !important;
  box-shadow: 0 2px 10px rgba(200, 140, 20, 0.28);
  text-transform: none;
}

/* Люкс — помітна картка без «подвійної» рамки (синє оформлення ticket--blue/base-card) */
.ticket__container.eurobus-ticket--lux,
.ticket__container[data-eurobus-class="lux"] {
  position: relative;
}

.ticket__container.eurobus-ticket--lux > .ticket__container-wrapper,
.ticket__container[data-eurobus-class="lux"] > .ticket__container-wrapper {
  border-radius: 10px;
}

.ticket__container.eurobus-ticket--lux .ticket,
.ticket__container[data-eurobus-class="lux"] .ticket,
.ticket__container.eurobus-ticket--lux .ticket.ticket--blue,
.ticket__container[data-eurobus-class="lux"] .ticket.ticket--blue,
.ticket__container.eurobus-ticket--lux .ticket.base-card,
.ticket__container[data-eurobus-class="lux"] .ticket.base-card,
.ticket__container.eurobus-ticket--lux .base-card.ticket--blue,
.ticket__container[data-eurobus-class="lux"] .base-card.ticket--blue {
  border: 2px solid #d4a017 !important;
  outline: none !important;
  /* прибираємо синє підсвічування base-card (#f8fbfd) і подвійний box-shadow */
  box-shadow: 0 8px 22px rgba(160, 110, 10, 0.12) !important;
  background: #fffef8 !important;
  background-color: #fffef8 !important;
  border-radius: 10px !important;
}

/* старий синій акцент не має «заїжджати» всередину золотої рамки */
.ticket__container.eurobus-ticket--lux .ticket::before,
.ticket__container[data-eurobus-class="lux"] .ticket::before,
.ticket__container.eurobus-ticket--lux .ticket::after,
.ticket__container[data-eurobus-class="lux"] .ticket::after {
  display: none !important;
  content: none !important;
}

.ticket__container.eurobus-ticket--lux .ticket__price,
.ticket__container[data-eurobus-class="lux"] .ticket__price {
  color: #8a5a00 !important;
}

/* бейдж люксу — як звичайний benefits-tab зверху, без наїзду на рамку */
.ticket__container.eurobus-ticket--lux .eurobus-class-badge.eurobus-class--lux,
.ticket__container[data-eurobus-class="lux"] .eurobus-class-badge.eurobus-class--lux {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 10px 10px 0 0 !important;
  position: relative;
  z-index: 0;
}

/* «Деталі рейсу» + фото автобусу — без зміни сітки футера */
.ticket__details-btn.eurobus-details-btn,
.js-ticket-detail-btn.eurobus-details-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.7rem;
  text-align: left;
  line-height: 1.15;
}

.eurobus-details-btn__photo {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #eef1f4;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.eurobus-details-btn__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.eurobus-details-btn__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.eurobus-details-btn__main {
  font-size: inherit;
  font-weight: inherit;
}

.eurobus-details-btn__sub {
  font-size: 0.85em;
  font-weight: 500;
  opacity: 0.72;
  margin-top: 0.1rem;
}

.eurobus-details-btn--lux .eurobus-details-btn__photo {
  border-color: rgba(212, 160, 23, 0.55);
  box-shadow: 0 0 0 1px rgba(224, 184, 74, 0.35);
}

.eurobus-details-btn--lux .eurobus-details-btn__sub {
  opacity: 0.9;
  color: #9a6b00;
  font-weight: 600;
}

.eurobus-fleet-panel {
  display: grid;
  gap: 1.2rem;
  padding: 0.2rem 0 0.6rem;
}

.eurobus-fleet-main {
  border-radius: 12px;
  overflow: hidden;
  background: #f3f5f7;
  aspect-ratio: 16 / 10;
}

.eurobus-fleet-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.eurobus-fleet-thumbs {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.eurobus-fleet-thumb {
  border: 2px solid transparent;
  padding: 0;
  margin: 0;
  width: 72px;
  height: 54px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  background: #eef1f4;
}

.eurobus-fleet-thumb.is-active {
  border-color: #2a71b1;
}

.eurobus-fleet-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.eurobus-fleet-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1919;
  margin-bottom: 0.6rem;
}

.eurobus-fleet-specs,
.eurobus-fleet-amen {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.eurobus-fleet-specs li,
.eurobus-fleet-amen li {
  font-size: 1.4rem;
  line-height: 1.45;
  color: #1a1919;
}

.eurobus-fleet-amen-title {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.eurobus-fleet-amen li::before {
  content: "•";
  margin-right: 0.55rem;
  color: #2a71b1;
}

@media (min-width: 768px) {
  .eurobus-fleet-panel {
    grid-template-columns: 1.4fr 1fr;
    align-items: start;
  }

  .eurobus-fleet-thumbs {
    grid-column: 1 / 2;
  }

  .eurobus-fleet-meta {
    grid-column: 2 / 3;
    grid-row: 1 / span 2;
  }
}
