/* =============================================================================
   TRIPALOT ENTERPRISE — SINGLE CATEGORY PAGE ENHANCEMENTS
   Hotels, BnB/Space, Tours, Car Rentals, Events, Flights, Buses
   Version 1.0 | 2026
   ============================================================================= */

/* ===================================================================
   A. SHARED — PROPERTY DETAIL HEADER (.g-header)
   =================================================================== */
.g-header {
  background: var(--tl-white);
  border-bottom: 1px solid var(--tl-border);
  padding-top: 32px !important;
  padding-bottom: 28px !important;
}

.g-header h1.text-30,
.g-header h1.text-22,
.g-header h1.sm\:text-25 {
  font-family: var(--tl-font-display) !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  color: var(--tl-navy) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin-bottom: 10px;
}

.g-header .icon-star.text-yellow-1 { color: var(--tl-gold) !important; font-size: 14px; }
.g-header .icon-location-2,
.g-header .icon-placeholder { color: var(--tl-gold) !important; }
.g-header .text-light-1 { color: var(--tl-charcoal-60) !important; font-size: 0.9rem; }

.g-header .text-22.lh-12.fw-600,
.g-header .text-20.fw-500.text-dark-1 {
  font-family: var(--tl-font-body) !important;
  font-weight: 800 !important;
  color: var(--tl-navy) !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
}

.g-header .text-16.text-red-1.line-through {
  color: var(--tl-charcoal-40) !important;
  font-size: 1rem !important;
}

/* WhatsApp button */
.app-button {
  background: #25D366 !important;
  border: none !important;
  border-radius: var(--tl-radius) !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  color: white !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 2px 12px rgba(37,211,102,0.3) !important;
  transition: var(--tl-transition) !important;
  cursor: pointer;
}
.app-button:hover { background: #1db954 !important; transform: translateY(-1px); }
.app-button a { color: white !important; text-decoration: none !important; }

/* Book Now CTA in header */
.g-header a.button.h-50,
.g-header a.button.-dark-1.bg-blue-1 {
  background: var(--tl-gold) !important;
  color: var(--tl-navy) !important;
  border-radius: var(--tl-radius) !important;
  font-weight: 700 !important;
  font-size: 0.9375rem;
  padding: 0 28px !important;
  height: 50px;
  display: inline-flex;
  align-items: center;
  box-shadow: var(--tl-shadow-gold) !important;
  transition: var(--tl-transition) !important;
}
.g-header a.button:hover {
  background: var(--tl-gold-dark) !important;
  transform: translateY(-2px);
}

/* Share / Save / Wishlist buttons */
.g-header .button.px-15,
.service-wishlist .button {
  border: 1.5px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  color: var(--tl-charcoal) !important;
  background: var(--tl-white) !important;
  transition: var(--tl-transition-fast) !important;
}
.g-header .button.px-15:hover { border-color: var(--tl-navy) !important; color: var(--tl-navy) !important; }
.service-wishlist.active .button { background: #FFF0F0 !important; border-color: #e74c3c !important; color: #e74c3c !important; }

/* ===================================================================
   B. GALLERY
   =================================================================== */
.gotrip-banner .button.-blue-1 {
  background: rgba(255,255,255,0.95) !important;
  color: var(--tl-navy) !important;
  border-radius: var(--tl-radius) !important;
  font-weight: 700 !important;
  font-size: 0.875rem;
  border: none !important;
}
.gotrip-banner .button.-blue-1:hover { background: var(--tl-gold) !important; }

.section-slider-nav {
  background: rgba(255,255,255,0.92) !important;
  box-shadow: var(--tl-shadow-md) !important;
  border: none !important;
  color: var(--tl-navy) !important;
  transition: var(--tl-transition-fast) !important;
}
.section-slider-nav:hover { background: var(--tl-gold) !important; }

/* ===================================================================
   C. OVERVIEW / DESCRIPTION
   =================================================================== */
.gotrip-overview h3.text-22 {
  font-family: var(--tl-font-display) !important;
  font-size: 1.375rem !important;
  color: var(--tl-navy) !important;
  font-weight: 700 !important;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--tl-gold);
  display: inline-block;
  margin-bottom: 16px !important;
}
.gotrip-overview .text-dark-1.text-15,
.description.text-dark-1.text-15 {
  color: var(--tl-charcoal) !important;
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
}

.border-top-light { border-color: var(--tl-border) !important; }
.border-bottom-light { border-color: var(--tl-border) !important; }

section h3.text-22,
.text-22.fw-500.heading-section,
.text-22.fw-500.pt-40 {
  font-family: var(--tl-font-display) !important;
  color: var(--tl-navy) !important;
  font-weight: 700 !important;
}

/* ===================================================================
   D. HOTEL — AMENITIES GRID
   =================================================================== */
.g-attributes { padding-bottom: 28px !important; }

.g-attributes h3.text-22 {
  font-family: var(--tl-font-display) !important;
  font-size: 1.125rem !important;
  color: var(--tl-navy) !important;
  font-weight: 700 !important;
  padding-top: 28px !important;
  margin-bottom: 16px !important;
  border-top-color: var(--tl-border) !important;
}

/* .g-attributes .list-attributes — chip layout & icon styles are fully
   handled by .list-attributes rules in tripalot-enterprise.css Section 29-A.
   Only keep the grid layout override unique to this context. */
.g-attributes .list-attributes {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* ===================================================================
   E. HOTEL — ROOMS DATE/GUEST PICKER
   =================================================================== */
#hotel-rooms-form.hotel_rooms_form {
  background: var(--tl-white) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-lg) !important;
  box-shadow: var(--tl-shadow-md) !important;
  overflow: visible; /* was hidden — clipped guest/date picker dropdowns */
  margin-bottom: 28px;
}

/* Book / Enquiry tabs */
.nav-enquiry {
  display: flex;
  border-bottom: 1px solid var(--tl-border);
  background: var(--tl-bg-section);
  /* Preserve card's rounded top corners now that parent overflow:hidden is removed */
  border-radius: var(--tl-radius-lg) var(--tl-radius-lg) 0 0;
}
.nav-enquiry .enquiry-item {
  flex: 1;
  padding: 14px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tl-charcoal-60);
  cursor: pointer;
  text-align: center;
  border-bottom: 2px solid transparent;
  transition: var(--tl-transition-fast);
}
.nav-enquiry .enquiry-item.active,
.nav-enquiry .enquiry-item:hover {
  color: var(--tl-navy);
  border-bottom-color: var(--tl-gold);
  background: var(--tl-white);
}

.form-search-rooms { padding: 20px; }

.form-search-row {
  background: var(--tl-bg-section);
  border: 1px solid var(--tl-border);
  border-radius: var(--tl-radius);
  overflow: visible; /* was hidden — clipped guest picker and date picker dropdowns */
}
.form-search-row > [class*="col-"] { border-right: 1px solid var(--tl-border); }
.form-search-row > [class*="col-"]:last-child { border-right: none; }

.form-date-field.form-date-search h4,
.form-date-field h4.text-15 {
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--tl-charcoal-60) !important;
  margin-bottom: 4px !important;
}
.form-date-field .render,
.form-date-field .check-in-render {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--tl-navy) !important;
}
.form-date-field .date-wrapper,
.searchMenu-guests { padding: 14px 30px !important; cursor: pointer; }

/* Check Availability button */
.g-button-submit {
  background: var(--tl-navy) !important;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: var(--tl-transition) !important;
}
.g-button-submit:hover { background: var(--tl-gold) !important; }
.g-button-submit .btn-search {
  background: transparent !important; border: none !important;
  color: white !important; font-weight: 700 !important;
  font-size: 0.9375rem !important; width: 100%; min-height: 56px;
  cursor: pointer; padding: 0 20px;
}
.g-button-submit:hover .btn-search { color: var(--tl-navy) !important; }

/* Guest counter popup */
.searchMenu-guests__field {
  background: var(--tl-white) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-lg) !important;
  box-shadow: var(--tl-shadow-lg) !important;
  padding: 20px !important;
  z-index: 900;
}

/* +/- counter buttons */
.button.-outline-blue-1 {
  border: 1.5px solid var(--tl-border) !important;
  color: var(--tl-navy) !important;
  background: var(--tl-white) !important;
  border-radius: var(--tl-radius-sm) !important;
  transition: var(--tl-transition-fast) !important;
}
.button.-outline-blue-1:hover {
  border-color: var(--tl-gold) !important;
  background: var(--tl-gold-pale) !important;
  color: var(--tl-gold-dark) !important;
}

/* ===================================================================
   F. HOTEL — ROOM LIST CARDS
   =================================================================== */
.room-item {
  background: var(--tl-white) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-lg) !important;
  box-shadow: var(--tl-shadow-xs) !important;
  padding: 24px !important;
  transition: var(--tl-transition) !important;
  margin-bottom: 16px;
}
.room-item:hover {
  box-shadow: var(--tl-shadow-md) !important;
  border-color: rgba(201,168,76,0.3) !important;
}
.room-item h3.text-18 {
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--tl-navy) !important;
}

/* Room grid table */
.roomGrid__header {
  display: grid !important;
  grid-template-columns: 200px 1fr 180px !important;
  gap: 16px;
  padding: 10px 16px;
  background: var(--tl-navy) !important;
  border-radius: var(--tl-radius) var(--tl-radius) 0 0;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
}
.roomGrid__grid {
  display: grid !important;
  grid-template-columns: 200px 1fr 180px !important;
  gap: 16px;
  align-items: start;
  padding: 16px;
  background: var(--tl-bg-section);
  border: 1px solid var(--tl-border);
  border-top: none;
  border-radius: 0 0 var(--tl-radius) var(--tl-radius);
}
.roomGrid__grid .ratio { border-radius: var(--tl-radius) !important; overflow: hidden; }
.roomGrid__grid a.text-blue-1 {
  color: var(--tl-gold-dark) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  text-decoration: underline;
}
.room-attribute .tooltip .tooltip__text i { color: var(--tl-gold) !important; }
.roomGrid__grid .price {
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  color: var(--tl-navy) !important;
  display: block;
  text-align: center;
}
.room-item select.custom-select,
.room-item select.form-select {
  border: 1.5px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  font-size: 0.9rem !important;
  color: var(--tl-charcoal) !important;
  height: 44px !important;
  background: var(--tl-white) !important;
  cursor: pointer;
}
.room-item select:focus { border-color: var(--tl-gold) !important; box-shadow: 0 0 0 3px rgba(201,168,76,0.15) !important; }

/* Total / Book button */
.hotel_room_book_status {
  background: var(--tl-white);
  border: 1px solid var(--tl-border);
  border-radius: var(--tl-radius-lg);
  padding: 20px 24px;
  margin-top: 16px;
}
.row_total_price .total-room-price {
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  color: var(--tl-navy) !important;
  margin-bottom: 12px;
}
.hotel_room_book_status button[name="submit"],
.hotel_room_book_status .button.-dark-1 {
  background: var(--tl-gold) !important;
  color: var(--tl-navy) !important;
  border: none !important;
  border-radius: var(--tl-radius) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 14px 36px !important;
  box-shadow: var(--tl-shadow-gold) !important;
  transition: var(--tl-transition) !important;
  cursor: pointer;
}
.hotel_room_book_status button[name="submit"]:hover {
  background: var(--tl-gold-dark) !important;
  transform: translateY(-2px);
}
.alert.alert-warning {
  background: var(--tl-warning-bg) !important;
  border: 1px solid rgba(212,128,26,0.25) !important;
  border-radius: var(--tl-radius) !important;
  color: var(--tl-warning) !important;
  font-size: 0.9rem; padding: 14px 18px;
}

/* Extra prices */
.extra-price-wrap { padding: 6px 0; }

/* ===================================================================
   G. HOTEL — POLICIES / RULES
   =================================================================== */
.g-rules {
  background: var(--tl-bg-section);
  border-radius: var(--tl-radius-lg);
  padding: 28px 32px !important;
  margin-top: 28px;
  border: 1px solid var(--tl-border);
}
.g-rules h3.text-22 {
  font-family: var(--tl-font-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--tl-navy) !important;
  margin-bottom: 20px !important;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--tl-gold);
  display: inline-block;
}
.g-rules .description .row {
  padding: 12px 0;
  border-bottom: 1px solid var(--tl-border);
}
.g-rules .description .row:last-child { border-bottom: none; }
.g-rules .key {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--tl-charcoal-60) !important;
}
.g-rules .value {
  font-size: 0.9375rem !important;
  color: var(--tl-charcoal) !important;
  font-weight: 500;
}
.g-rules .strong.fw-500 { color: var(--tl-navy) !important; font-weight: 700 !important; }
.g-rules .btn-show-all { color: var(--tl-gold-dark) !important; font-weight: 700 !important; cursor: pointer; }

/* ===================================================================
   H. SHARED BOOKING SIDEBAR — Tour, Car, Event, Space
   =================================================================== */
.bravo_single_book_wrap {
  position: sticky;
  top: 88px;
}

.bravo_single_book {
  background: var(--tl-white) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-lg) !important;
  box-shadow: var(--tl-shadow-lg) !important;
  padding: 0 !important;
  overflow: hidden;
}

/* Sidebar header (price + rating) */
.bravo_single_book > div > div#bravo_tour_book_app > .row.y-gap-15.items-center.justify-between,
.bravo_single_book > div > div#bravo_car_book_app > .row.y-gap-15.items-center.justify-between,
.bravo_single_book > div > div#bravo_event_book_app > .row.y-gap-15.items-center.justify-between,
.bravo_single_book .row.y-gap-15.items-center.justify-between:first-of-type {
  padding: 20px 24px !important;
  background: var(--tl-navy) !important;
  margin: 0 !important;
}

.bravo_single_book .text-14.text-light-1 {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.bravo_single_book .text-20.fw-500.text-dark-1 {
  font-weight: 800 !important;
  font-size: 1.625rem !important;
  color: var(--tl-gold) !important;
  line-height: 1;
}

.bravo_single_book .text-14.text-red-1.line-through {
  color: rgba(255,255,255,0.4) !important;
  font-size: 0.875rem;
}

/* Review score badge */
.bravo_single_book .size-40.flex-center.bg-blue-1 {
  background: var(--tl-gold) !important;
  border-radius: var(--tl-radius-sm) !important;
}
.bravo_single_book .size-40.flex-center.bg-blue-1 .text-14.fw-600 { color: var(--tl-navy) !important; }
.bravo_single_book .lh-15.fw-500 { color: white !important; font-weight: 600 !important; }
.bravo_single_book .lh-15.text-light-1 { color: rgba(255,255,255,0.6) !important; }

/* Form body */
.bravo_single_book .form-book .form-content { padding: 20px 22px; }

/* Date picker */
.bravo_single_book .form-date-field,
.bravo_single_book .form-date-field.form-date-search {
  border: 1.5px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  background: var(--tl-bg-section) !important;
  transition: var(--tl-transition-fast) !important;
  padding: 14px 16px !important;
}
.bravo_single_book .form-date-field:hover { border-color: var(--tl-gold) !important; }

/* Guest / ticket counter */
.bravo_single_book .searchMenu-guests {
  border: 1.5px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  background: var(--tl-bg-section) !important;
  transition: var(--tl-transition-fast) !important;
}
.bravo_single_book .searchMenu-guests:hover { border-color: var(--tl-gold) !important; }

/* Extra prices */
.bravo_single_book .form-section-group {
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  background: var(--tl-bg-section) !important;
  padding: 14px 16px !important;
}
.bravo_single_book .form-section-title {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--tl-charcoal-60) !important;
  margin-bottom: 10px !important;
}

/* Total price box */
.bravo_single_book .form-section-total {
  background: var(--tl-gold-pale) !important;
  border: 1px solid var(--tl-gold) !important;
  border-radius: var(--tl-radius) !important;
  padding: 14px 16px !important;
  list-style: none;
}
.bravo_single_book .form-section-total .text-15.fw-500 { color: var(--tl-navy) !important; font-weight: 700 !important; }
.bravo_single_book .form-section-total .price { font-weight: 800 !important; color: var(--tl-navy) !important; font-size: 1.125rem !important; }

/* Book Now button in sidebar */
.bravo_single_book .submit-group a.button,
.bravo_single_book .submit-group button {
  background: var(--tl-gold) !important;
  color: var(--tl-navy) !important;
  border: none !important;
  border-radius: var(--tl-radius) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  height: 56px !important;
  box-shadow: var(--tl-shadow-gold) !important;
  transition: var(--tl-transition) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bravo_single_book .submit-group a.button:hover {
  background: var(--tl-gold-dark) !important;
  transform: translateY(-2px);
}

.form-send-enquiry .btn.btn-primary {
  background: var(--tl-navy) !important;
  color: white !important;
  border-radius: var(--tl-radius) !important;
  border: none !important;
  font-weight: 600;
  padding: 12px 24px;
  width: 100%;
  font-size: 0.9375rem;
}

/* ===================================================================
   I. TOUR — SNAPSHOT STAT PILLS
   =================================================================== */
.bravo_detail .col-md-auto.col-6 .d-flex {
  background: var(--tl-bg-section) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  padding: 12px 16px !important;
  gap: 10px !important;
  transition: var(--tl-transition-fast) !important;
  align-items: flex-start;
}
.bravo_detail .col-md-auto.col-6 .d-flex:hover {
  border-color: var(--tl-gold) !important;
  background: var(--tl-gold-pale) !important;
}
.bravo_detail .col-md-auto.col-6 i.text-blue-1 { color: var(--tl-gold) !important; }
.bravo_detail .col-md-auto.col-6 .text-15.lh-15 { color: var(--tl-charcoal) !important; font-size: 0.9rem !important; font-weight: 500; }

/* ===================================================================
   J. TOUR — INCLUDE / EXCLUDE PANELS
   =================================================================== */
.tour-include-exclude-wrap h3.text-22 {
  font-family: var(--tl-font-display) !important;
  font-size: 1.25rem !important;
  color: var(--tl-navy) !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
}

/* Wrap the included/excluded columns for scoped styles */
.tour-include-exclude-wrap .row.x-gap-40 { gap: 16px !important; }

.tour-include-exclude-wrap .col-md-6:first-child {
  background: var(--tl-success-bg) !important;
  border: 1px solid rgba(26,127,90,0.2) !important;
  border-radius: var(--tl-radius-lg) !important;
  padding: 20px !important;
}
.tour-include-exclude-wrap .col-md-6:last-child {
  background: var(--tl-error-bg) !important;
  border: 1px solid rgba(192,57,43,0.15) !important;
  border-radius: var(--tl-radius-lg) !important;
  padding: 20px !important;
}
.tour-include-exclude-wrap .col-md-6:first-child::before {
  content: 'INCLUDED';
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--tl-success);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(26,127,90,0.15);
}
.tour-include-exclude-wrap .col-md-6:last-child::before {
  content: 'EXCLUDED';
  display: block;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--tl-error);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(192,57,43,0.12);
}

.tour-include-exclude-wrap .text-dark-1.text-15 {
  font-size: 0.9rem !important;
  color: var(--tl-charcoal) !important;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(0,0,0,0.06);
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
.tour-include-exclude-wrap .text-dark-1.text-15:last-child { border-bottom: none; }
.tour-include-exclude-wrap .col-md-6:first-child .icon-check { color: var(--tl-success) !important; flex-shrink: 0; margin-top: 2px; }
.tour-include-exclude-wrap .col-md-6:last-child .icon-close { color: var(--tl-error) !important; flex-shrink: 0; margin-top: 2px; }

/* ===================================================================
   K. TOUR — ITINERARY TIMELINE
   =================================================================== */
.bravo_detail .accordion.-map {
  position: relative;
  padding-left: 32px;
}
.bravo_detail .accordion.-map::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 20px;
  bottom: 20px;
  width: 2px;
  background: linear-gradient(to bottom, var(--tl-gold), var(--tl-navy));
  border-radius: 2px;
}

.bravo_detail .accordion__item {
  position: relative;
  padding: 16px 20px !important;
  background: var(--tl-white) !important;
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-lg) !important;
  margin-bottom: 10px;
  transition: var(--tl-transition-fast);
}
.bravo_detail .accordion__item:hover,
.bravo_detail .accordion__item.js-accordion-item-active {
  border-color: var(--tl-gold) !important;
  box-shadow: var(--tl-shadow-sm);
}

/* Step circle */
.bravo_detail .accordion__icon.size-40 {
  width: 36px !important;
  height: 36px !important;
  background: var(--tl-gold-pale) !important;
  border: 2px solid var(--tl-gold) !important;
  border-radius: 50% !important;
  flex-shrink: 0;
  position: absolute;
  left: -48px;
  top: 16px;
}
.bravo_detail .accordion__icon .text-14.fw-500 { color: var(--tl-gold-dark) !important; font-weight: 800 !important; }
.bravo_detail .accordion__item.js-accordion-item-active .accordion__icon { background: var(--tl-gold) !important; }
.bravo_detail .accordion__item.js-accordion-item-active .accordion__icon .text-14 { color: var(--tl-navy) !important; }

.bravo_detail .accordion__item .text-16.lh-15.fw-500 { font-size: 0.9375rem !important; font-weight: 700 !important; color: var(--tl-navy) !important; }
.bravo_detail .accordion__item .text-14.lh-15.text-light-1 { color: var(--tl-charcoal-60) !important; font-size: 0.8125rem !important; margin-top: 4px; }
.bravo_detail .accordion__button button {
  color: var(--tl-gold-dark) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-decoration: underline;
  background: none; border: none; cursor: pointer; padding: 0;
}
.bravo_detail .accordion__content img { border-radius: var(--tl-radius) !important; width: 100%; }
.bravo_detail .border-test {
  display: none; /* hide default border, replaced by ::before */
}

/* ===================================================================
   L. EVENTS — TICKET TYPES (sidebar)
   =================================================================== */
.bravo_single_book .searchMenu-guests h4.text-12.fw-400 {
  font-size: 0.75rem !important;
  color: var(--tl-gold) !important;
  font-weight: 700 !important;
}

/* Time slot picker */
.bravo_single_book .slots-wrapper .btn {
  border: 1.5px solid var(--tl-border) !important;
  border-radius: var(--tl-radius-sm) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--tl-charcoal) !important;
  background: var(--tl-white) !important;
  transition: var(--tl-transition-fast) !important;
  padding: 6px 10px !important;
}
.bravo_single_book .slots-wrapper .btn:hover,
.bravo_single_book .slots-wrapper .btn.btn-success {
  background: var(--tl-navy) !important;
  border-color: var(--tl-navy) !important;
  color: white !important;
}

/* ===================================================================
   M. BUS — SEARCH RESULTS & BOOKING MODAL
   =================================================================== */
#busFormBookModal .modal-content {
  border: none !important;
  border-radius: var(--tl-radius-lg) !important;
  box-shadow: var(--tl-shadow-xl) !important;
  overflow: hidden;
}
#busFormBookModal .modal-body { padding: 0 !important; }
#busFormBookModal .card { border: none !important; border-radius: 0 !important; }

#busFormBookModal .card-header {
  background: var(--tl-navy) !important;
  color: white !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 0 !important;
  padding: 20px 24px !important;
}
#busFormBookModal .text-22.text-gray-5 { color: white !important; font-weight: 800 !important; }
#busFormBookModal .text-14.text-gray-5,
#busFormBookModal .text-14.text-gray-1 { color: rgba(255,255,255,0.7) !important; }
#busFormBookModal .icofont-bus { color: var(--tl-gold) !important; }

#busFormBookModal .card-body { padding: 20px 24px !important; }

#busFormBookModal .list-group {
  border: 1px solid var(--tl-border) !important;
  border-radius: var(--tl-radius) !important;
  padding: 14px 16px !important;
  background: var(--tl-bg-section) !important;
  margin-bottom: 10px;
}
#busFormBookModal .fw-500.text-dark { color: var(--tl-navy) !important; font-weight: 700 !important; font-size: 0.875rem; }

/* Bus search result loop items — operator badge */
.bravo_search_bus .operator-badge,
.bravo_search_bus .bus-operator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--tl-navy);
  color: white;
  padding: 3px 10px;
  border-radius: var(--tl-radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
}

/* ===================================================================
   N. MOBILE STICKY BOTTOM BAR
   =================================================================== */
.bravo-more-book-mobile {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 800;
  background: var(--tl-white) !important;
  border-top: 1px solid var(--tl-border);
  box-shadow: 0 -4px 24px rgba(11,28,62,0.12);
  padding: 12px 0 !important;
}
.bravo-more-book-mobile .g-price .price .onsale {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--tl-navy) !important;
}
.bravo-more-book-mobile .btn-primary,
.bravo-more-book-mobile a.rounded-4.bg-blue-1 {
  background: var(--tl-gold) !important;
  color: var(--tl-navy) !important;
  border-radius: var(--tl-radius) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 12px 28px !important;
  border: none !important;
  box-shadow: var(--tl-shadow-gold) !important;
}

/* ===================================================================
   O. MAP SECTION
   =================================================================== */
.bravo_detail #map_content {
  border-radius: var(--tl-radius-lg) !important;
  border: 1px solid var(--tl-border) !important;
  overflow: hidden;
}

/* ===================================================================
   P. PROPERTY HIGHLIGHTS BAR
   =================================================================== */
.tl-highlights-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid var(--tl-border);
  border-bottom: 1px solid var(--tl-border);
  margin: 16px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.tl-highlights-bar::-webkit-scrollbar { display: none; }
.tl-highlight { display: flex; align-items: center; gap: 8px; white-space: nowrap; flex-shrink: 0; font-size: 0.875rem; color: var(--tl-charcoal); font-weight: 500; }
.tl-highlight i { color: var(--tl-gold); font-size: 1.0625rem; }
.tl-highlight-divider { width: 1px; height: 20px; background: var(--tl-border); flex-shrink: 0; }

/* ===================================================================
   Q. SECTION ANCHOR NAV
   =================================================================== */
.tl-section-nav {
  position: sticky;
  top: 74px;
  z-index: var(--tl-z-sticky);
  background: var(--tl-white);
  border-bottom: 1px solid var(--tl-border);
  box-shadow: 0 2px 8px rgba(11,28,62,0.04);
  margin-bottom: 0;
}
.tl-section-nav__inner {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.tl-section-nav__inner::-webkit-scrollbar { display: none; }
.tl-section-nav__link {
  display: inline-block;
  padding: 14px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--tl-charcoal-60);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  transition: var(--tl-transition-fast);
  flex-shrink: 0;
}
.tl-section-nav__link:hover,
.tl-section-nav__link.is-active {
  color: var(--tl-navy);
  border-bottom-color: var(--tl-gold);
}

/* ===================================================================
   R. RESPONSIVE
   =================================================================== */
@media (max-width: 991px) {
  .bravo_single_book { width: 100% !important; }
  .bravo_single_book_wrap { position: static; margin-top: 32px; }
  .roomGrid__header, .roomGrid__grid { grid-template-columns: 1fr !important; }
  .g-rules { padding: 20px !important; }
  .g-attributes .list-attributes { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important; }
  .bravo_detail .accordion.-map { padding-left: 24px; }
  .bravo_detail .accordion.-map::before { left: 8px; }
  .bravo_detail .accordion__icon.size-40 { left: -36px; width: 28px !important; height: 28px !important; }
}

@media (max-width: 767px) {
  .tour-include-exclude-wrap .col-md-6 { margin-bottom: 12px; }
  .tl-highlights-bar { gap: 14px; }
  .form-search-row { flex-direction: column; }
  .form-search-row > [class*="col-"] { border-right: none; border-bottom: 1px solid var(--tl-border); }
  .form-search-row > [class*="col-"]:last-child { border-bottom: none; }
  .g-header .text-22.lh-12.fw-600 { font-size: 1.375rem !important; }
  .bravo_detail .col-md-auto.col-6 .d-flex { padding: 10px 12px; }
}
