/* Tour Detail Page — Luxury Visual Upgrade */
/* Scope: visual polish only. No layout changes, no JS, no booking logic touched. */

/* ============================================================
   1. HERO BANNER — richer gradient, tighter title
   ============================================================ */
.modern-tour-banner {
  min-height: 520px !important;
}
.modern-tour-banner .banner-overlay {
  background: linear-gradient(to bottom,
    rgba(13,27,42,0.15) 0%,
    rgba(13,27,42,0.50) 60%,
    rgba(13,27,42,0.82) 100%) !important;
}
.modern-tour-banner .banner-content h1:not(.typewriter-title) {
  font-size: 25px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}
.modern-tour-banner .banner-content h1.typewriter-title {
  font-size: 25px !important;
  line-height: 1.3 !important;
  display: block !important;
  width: 100%;
  max-width: 100%;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  letter-spacing: normal !important;
  word-spacing: 0.1em !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4) !important;
  visibility: visible;
}
.modern-tour-banner .banner-content h1.typewriter-title:not(.typewriter-active):not(.typewriter-done) {
  /* Keep the original visibility behavior so typewriter still hides until JS runs */
  visibility: hidden;
}
.modern-tour-banner .banner-content h1.typewriter-title .typewriter-text {
  display: inline;
  font-size: 25px !important;
  letter-spacing: normal !important;
  word-spacing: 0.1em !important;
}
/* Gold accent under title (do not use ::after — reserved for typewriter cursor) */
.modern-tour-banner .banner-content h1:not(.typewriter-title)::after,
.modern-tour-banner .banner-content h1.typewriter-title.typewriter-done::before {
  content: '';
  display: block;
  width: 56px;
  height: 3px;
  background: var(--luxury-accent, var(--brand-primary, #31964a));
  border-radius: 2px;
  margin-top: 12px;
}
@media (max-width: 767px) {
  .modern-tour-banner {
    min-height: 340px !important;
  }
}

/* ============================================================
   2. PAGE BACKGROUND
   ============================================================ */
.bravo_detail_tour {
  background: #F4F6F9 !important;
}

/* ============================================================
   3. SECTION CARDS — luxury shell
   ============================================================ */
.tour-section .bg-white.rounded-4.border-light.shadow-4.px-30.py-30,
.tour-section .bg-white.px-30.py-30 {
  background: #FFFFFF !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(13,27,42,0.06), 0 1px 4px rgba(13,27,42,0.04) !important;
}
.tour-section .bg-white.rounded-4.border-light.shadow-4.px-30.py-30:hover,
.tour-section .bg-white.px-30.py-30:hover {
  box-shadow: 0 6px 24px rgba(13,27,42,0.10), 0 2px 8px rgba(13,27,42,0.06) !important;
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.25) !important;
}

/* ============================================================
   4. SECTION HEADINGS — gold underline accent
   ============================================================ */
.tour-section h3.text-22 {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
  letter-spacing: -0.01em !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  display: block !important;
  margin-bottom: 20px !important;
}
.tour-section h3.text-22::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: var(--luxury-accent, var(--brand-primary, #31964a));
  border-radius: 2px;
  margin-top: 8px;
}

/* ============================================================
   5. SIDEBAR NAV — luxury pill style
   ============================================================ */
.tour-sidebar {
  background: #FFFFFF !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.15) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(13,27,42,0.08) !important;
  padding: 20px 16px !important;
}
.tour-sidebar-nav-link {
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #4A5568 !important;
  padding: 9px 12px !important;
  transition: all 0.2s ease !important;
}
.tour-sidebar-nav-link:hover {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.08) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
.tour-sidebar-nav-link.active {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.15), rgba(var(--brand-primary-rgb, 49,150,74),0.08)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 600 !important;
  border-left: 3px solid var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.tour-sidebar-nav-icon {
  font-size: 14px !important;
}

/* ============================================================
   6. TOUR SNAPSHOT ICONS
   ============================================================ */
.tour-section #tour-overview .d-flex > i.icon-clock,
.tour-section #tour-overview .d-flex > i.icon-customer,
.tour-section #tour-overview .d-flex > i.icon-location,
.tour-section #tour-overview .d-flex > i.icon-route {
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}

/* ============================================================
   7. ITINERARY — new lux-* classes (timeline style)
   ============================================================ */
.lux-itinerary::before {
  background: linear-gradient(to bottom,
    rgba(var(--brand-primary-rgb, 49,150,74),0.90) 0%,
    rgba(var(--brand-primary-rgb, 49,150,74),0.25) 85%,
    transparent 100%) !important;
}
.lux-day-badge {
  background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-light, #5fb673) 100%) !important;
  box-shadow: 0 3px 12px rgba(var(--brand-primary-rgb, 49,150,74),0.45) !important;
}
.lux-day-card {
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.18) !important;
  box-shadow: 0 2px 14px rgba(13,27,42,0.06) !important;
}
.lux-day-card:hover {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.42) !important;
  box-shadow: 0 6px 24px rgba(13,27,42,0.10) !important;
}
.lux-day-card.is-open {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.45) !important;
  box-shadow: 0 6px 24px rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
}
.lux-day-toggle {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.10) !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.28) !important;
  color: var(--brand-primary, #31964a) !important;
}
.lux-day-content {
  background: var(--brand-body-bg, #ffffff) !important;
  border-top: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.14) !important;
}
.lux-see-details { color: var(--brand-primary, #31964a) !important; }

/* ============================================================
   8. INCLUDE / EXCLUDE — refined colors (new lux-ie-* classes)
   ============================================================ */
.lux-ie-wrap {
  box-shadow: 0 4px 28px rgba(13,27,42,0.10) !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
}
.lux-included {
  background: linear-gradient(160deg, var(--brand-primary-soft, #e8f5ec) 0%, #F0E6C8 100%) !important;
}
.lux-excluded {
  background: linear-gradient(160deg, var(--brand-heading, #0a0f1e) 0%, #162436 100%) !important;
}

/* ============================================================
   9. FAQ ACCORDION — luxury style
   ============================================================ */
.bravo-faq-lists .accordion__item {
  border: 1px solid rgba(13,27,42,0.08) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(13,27,42,0.04) !important;
  margin-bottom: 8px !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.bravo-faq-lists .accordion__item:hover {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.30) !important;
  box-shadow: 0 4px 12px rgba(13,27,42,0.08) !important;
}
.bravo-faq-lists .accordion__item.is-active {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.40) !important;
  box-shadow: 0 4px 16px rgba(13,27,42,0.10) !important;
}
.bravo-faq-lists .accordion__icon {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.10) !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.25) !important;
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.bravo-faq-lists .accordion__button .button {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 600 !important;
}

/* ============================================================
   10. PRICING SECTION PANELS
   ============================================================ */
#tour-pricing {
  background: #FFFFFF !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(13,27,42,0.06) !important;
}
.pricing-outer-container .panel {
  border: 1px solid rgba(13,27,42,0.10) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 6px rgba(13,27,42,0.04) !important;
  margin-bottom: 12px !important;
}
.pricing-outer-container .panel:hover {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.35) !important;
  box-shadow: 0 4px 16px rgba(13,27,42,0.08) !important;
}
.pricing-outer-container .panel.active {
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  box-shadow: 0 6px 24px rgba(var(--brand-primary-rgb, 49,150,74),0.15) !important;
}
.pricing-outer-container .setting-title {
  background: linear-gradient(135deg, var(--brand-body-bg, #ffffff) 0%, #FFFFFF 100%) !important;
}
.pricing-outer-container .panel.active .setting-title {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.08) 0%, rgba(var(--brand-primary-rgb, 49,150,74),0.04) 100%) !important;
  border-bottom: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
}
.pricing-outer-container .setting-title i.fa:first-child {
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.pricing-outer-container .setting-title h3 {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
.pricing-outer-container .panel.active .accordion-arrow {
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
/* Pricing card headers */
.pricing-card-header {
  background: linear-gradient(135deg, var(--luxury-primary, var(--brand-heading, #0a0f1e)) 0%, var(--brand-primary-dark, #247339) 100%) !important;
}
/* Residency selector active button */
.btn-group .btn.active {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 600 !important;
}
.btn-group .btn:hover {
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}

/* ============================================================
   11. BOOKING FORM — luxury shell
   ============================================================ */
#tour-booking {
  background: #FFFFFF !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 16px rgba(13,27,42,0.06) !important;
}
/* Booking tabs */
.nav-enquiry {
  background: var(--brand-surface-alt, #f8fafc) !important;
  border-bottom: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
  border-radius: 12px 12px 0 0 !important;
}
.enquiry-item.active {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  border-bottom-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  font-weight: 700 !important;
}
.enquiry-item:hover {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.06) !important;
}
/* Booking summary header */
.booking-summary-header {
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--brand-body-bg, #ffffff) 0%, #FFFFFF 100%) !important;
}
/* Section dividers */
.section-divider {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.06) !important;
  border-top: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.15) !important;
  border-bottom: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.15) !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
}
.section-divider span {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}
/* Grand total box */
.grand-total-box {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.08) 0%, rgba(var(--brand-primary-rgb, 49,150,74),0.04) 100%) !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.25) !important;
  border-radius: 12px !important;
}
.total-row .amount {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
}
/* Proceed to checkout button */
.bravo_single_book_wrap .button.-md.-dark-1.text-white,
#bravo_tour_book_app button[style*="background: #111827"],
#bravo_tour_book_app button[style*="background:#111827"] {
  background: linear-gradient(135deg, var(--luxury-primary, var(--brand-heading, #0a0f1e)) 0%, var(--brand-primary-dark, #247339) 100%) !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 16px rgba(13,27,42,0.25) !important;
  transition: all 0.25s ease !important;
}
/* No-selection prompt CTA */
.no-selection-prompt button {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb, 49,150,74),0.30) !important;
}
/* Date selection prompt CTA */
.date-selection-prompt button {
  background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-light, #5fb673) 100%) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}

/* ============================================================
   12. PREMIUM STEPPER — gold accent
   ============================================================ */
.premium-stepper {
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.25) !important;
  border-radius: 12px !important;
}
.premium-stepper:hover,
.premium-stepper:focus-within {
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  box-shadow: 0 0 0 3px rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
}
.premium-stepper-btn.plus {
  background: linear-gradient(135deg, var(--luxury-primary, var(--brand-heading, #0a0f1e)) 0%, var(--brand-primary-dark, #247339) 100%) !important;
  box-shadow: 0 2px 6px rgba(13,27,42,0.20) !important;
}
.premium-stepper-btn.plus:hover {
  box-shadow: 0 4px 12px rgba(13,27,42,0.30) !important;
}
.guest-selector-item:hover {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.35) !important;
  box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb, 49,150,74),0.10) !important;
}

/* ============================================================
   13. HOTEL CARDS ON DETAIL PAGE
   ============================================================ */
.tour-hotel-card {
  border: 1px solid rgba(13,27,42,0.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(13,27,42,0.06) !important;
}
.tour-hotel-card:hover {
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.30) !important;
  box-shadow: 0 6px 20px rgba(13,27,42,0.10) !important;
}
.tour-hotel-card__title {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
/* Hotel carousel nav arrows */
.arrow-left-hover:hover,
.arrow-right-hover:hover {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
/* Pagination dots */
.pagination.-dots .swiper-pagination-bullet-active {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}

/* ============================================================
   14. MAP SECTION
   ============================================================ */
.map-controls {
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.15) !important;
  border-radius: 14px 14px 0 0 !important;
  background: linear-gradient(135deg, var(--brand-body-bg, #ffffff) 0%, #FFFFFF 100%) !important;
}
.stat-item i {
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.map-actions .btn-outline-primary {
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.map-actions .btn-outline-primary:hover {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}

/* ============================================================
   15. MOBILE BOTTOM BAR
   ============================================================ */
.bravo-more-book-mobile {
  border-top: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
  box-shadow: 0 -4px 20px rgba(13,27,42,0.10) !important;
}
.bravo-more-book-mobile .btn-primary,
.bravo-more-book-mobile a.rounded-4 {
  background: linear-gradient(135deg, var(--luxury-primary, var(--brand-heading, #0a0f1e)) 0%, var(--brand-primary-dark, #247339) 100%) !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(13,27,42,0.25) !important;
}
.bravo-more-book-mobile .text-price {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 800 !important;
}

/* ============================================================
   16. RELATED TOURS SECTION
   ============================================================ */
.bravo_content .layout-pt-lg .sectionTitle__title {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
.bravo_content .layout-pt-lg .button.-blue-1 {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.12) !important;
  color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.25) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
}
.bravo_content .layout-pt-lg .button.-blue-1:hover {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}

/* ============================================================
   17. GALLERY NAV ARROWS
   ============================================================ */
#tour-gallery .luxury-nav-arrow:hover {
  background: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
#tour-gallery .luxury-thumbnail-item.active {
  border-color: var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}

/* ============================================================
   18. CONTENT TABLES — luxury borders
   ============================================================ */
.content-text table th {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.08) 0%, rgba(var(--brand-primary-rgb, 49,150,74),0.04) 100%) !important;
  border-color: rgba(var(--brand-primary-rgb, 49,150,74),0.20) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 700 !important;
}
.content-text table td {
  border-color: rgba(13,27,42,0.08) !important;
}
.content-text table tr:nth-child(even) td {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.03) !important;
}

/* ============================================================
   19. REVIEW SECTION
   ============================================================ */
.bravo_detail_tour .review-score-box,
.bravo_detail_tour .flex-center.bg-blue-1 {
  background: linear-gradient(135deg, var(--luxury-accent, var(--brand-primary, #31964a)) 0%, var(--brand-primary-light, #5fb673) 100%) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}
/* Star icons */
.bravo_detail_tour .icon-star,
.bravo_detail_tour .fa-star {
  color: var(--luxury-gold, var(--brand-primary, #31964a)) !important;
}

/* ============================================================
   20. COMPACT SPACING — tighter, more modern
   ============================================================ */
.tour-section {
  margin-bottom: 20px !important;
}
@media (max-width: 767px) {
  .tour-section {
    margin-bottom: 14px !important;
  }
}

/* ============================================================
   21. SIDEBAR — override tour-details.css blue icons
   ============================================================ */
.bravo_detail_tour .tour-sidebar-nav-icon,
.bravo_detail_tour .tour-sidebar-nav-icon i {
  color: #4A5568 !important;
  font-size: 14px !important;
}
.bravo_detail_tour .tour-sidebar-nav-link:hover .tour-sidebar-nav-icon,
.bravo_detail_tour .tour-sidebar-nav-link:hover .tour-sidebar-nav-icon i {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
.bravo_detail_tour .tour-sidebar-nav-link.active .tour-sidebar-nav-icon,
.bravo_detail_tour .tour-sidebar-nav-link.active .tour-sidebar-nav-icon i {
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}
.bravo_detail_tour .tour-sidebar-nav-link.active {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.15), rgba(var(--brand-primary-rgb, 49,150,74),0.08)) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
  border-left: 3px solid var(--luxury-accent, var(--brand-primary, #31964a)) !important;
}
.bravo_detail_tour .tour-sidebar-nav-link:hover {
  background: rgba(var(--brand-primary-rgb, 49,150,74),0.08) !important;
  color: var(--luxury-primary, var(--brand-heading, #0a0f1e)) !important;
}

/* Sticky pricing card in sidebar (scroll CTA only) */
.bravo_detail_tour .sticky-booking-sidebar {
  margin-top: 16px !important;
  background: #fff !important;
  border: 1px solid #e8e0d0 !important;
  border-radius: 10px !important;
  padding: 20px !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08) !important;
}
.bravo_detail_tour .sticky-booking-sidebar__tour-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #555 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.bravo_detail_tour .sticky-booking-sidebar__label,
.bravo_detail_tour .sticky-booking-sidebar__per {
  font-size: 11px !important;
  color: #999 !important;
  margin: 0 0 2px !important;
}
.bravo_detail_tour .sticky-booking-sidebar__per {
  margin-bottom: 16px !important;
}
.bravo_detail_tour .sticky-booking-sidebar__price-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  margin-bottom: 2px !important;
}
.bravo_detail_tour .sticky-booking-sidebar__sale {
  font-size: 13px !important;
  color: #bbb !important;
  text-decoration: line-through !important;
}
.bravo_detail_tour .sticky-booking-sidebar__price {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--brand-heading, #0a0f1e) !important;
  line-height: 1 !important;
}
.bravo_detail_tour .sticky-booking-sidebar__cta {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-dark, #247339) 100%) !important;
  color: #fff !important;
  padding: 11px 16px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: opacity 0.2s !important;
}
.bravo_detail_tour .sticky-booking-sidebar__cta:hover {
  opacity: 0.88 !important;
  color: #fff !important;
  text-decoration: none !important;
}
.bravo_detail_tour .sticky-booking-sidebar__cta i {
  margin-right: 6px !important;
}
.bravo_detail_tour .sticky-booking-sidebar__whatsapp {
  display: block !important;
  text-align: center !important;
  margin-top: 10px !important;
  font-size: 13px !important;
  color: #25D366 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.bravo_detail_tour .sticky-booking-sidebar__whatsapp:hover {
  color: #1da851 !important;
  text-decoration: none !important;
}
.bravo_detail_tour .sticky-booking-sidebar__whatsapp i {
  margin-right: 5px !important;
}

/* ============================================================
   22. ITINERARY — full timeline (beats redesign accordion rules)
   ============================================================ */
.bravo_detail_tour #tour-itinerary .lux-itinerary {
  position: relative !important;
  padding-left: 0 !important;
}
.bravo_detail_tour #tour-itinerary .lux-itinerary::before {
  content: '' !important;
  position: absolute !important;
  left: 19px !important;
  top: 20px !important;
  bottom: 20px !important;
  width: 2px !important;
  display: block !important;
  background: linear-gradient(to bottom,
    rgba(var(--brand-primary-rgb, 49,150,74),0.8) 0%,
    rgba(var(--brand-primary-rgb, 49,150,74),0.3) 80%,
    transparent 100%) !important;
  z-index: 0 !important;
}
.bravo_detail_tour #tour-itinerary .lux-day {
  position: relative !important;
  display: flex !important;
  gap: 18px !important;
  margin-bottom: 12px !important;
  align-items: flex-start !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-badge {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-light, #5fb673) 100%) !important;
  color: var(--brand-heading, #0a0f1e) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 3px 10px rgba(var(--brand-primary-rgb, 49,150,74),0.40) !important;
  position: relative !important;
  z-index: 1 !important;
  border: 2px solid #fff !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-card {
  flex: 1 !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(var(--brand-primary-rgb, 49,150,74),0.18) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(13,27,42,0.06) !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  padding: 14px 18px 12px !important;
  cursor: pointer !important;
  border-left: 4px solid transparent !important;
  gap: 12px !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-card.is-open .lux-day-header {
  background: linear-gradient(135deg, rgba(var(--brand-primary-rgb, 49,150,74),0.07) 0%, rgba(var(--brand-primary-rgb, 49,150,74),0.03) 100%) !important;
  border-left-color: var(--brand-primary, #31964a) !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--brand-heading, #0a0f1e) !important;
  margin: 0 0 3px !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-subtitle {
  font-size: 13px !important;
  color: #6B7280 !important;
  margin: 0 !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-toggle {
  flex-shrink: 0 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-card.is-open .lux-day-toggle {
  transform: rotate(180deg) !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-content {
  display: none !important;
  padding: 0 18px 16px !important;
}
.bravo_detail_tour #tour-itinerary .lux-day-card.is-open .lux-day-content {
  display: block !important;
}
.bravo_detail_tour #tour-itinerary .lux-itinerary-expand-btn {
  padding: 8px 20px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-dark, #247339) 100%) !important;
  color: #fff !important;
}
.bravo_detail_tour #tour-itinerary .lux-itinerary-expand-btn i {
  font-size: 11px !important;
  margin-right: 6px !important;
}
/* Hide legacy accordion if any cached markup remains */
.bravo_detail_tour #tour-itinerary .accordion.-map {
  display: none !important;
}

/* ============================================================
   SAFETY ZONE — booking/payment untouched
   ============================================================ */
/* The following are intentionally NOT styled here:
   - .bravo-booking-form internals (Vue data/computed)
   - .checkout-*
   - .payment-*
   - .mpesa-*
   - #price-breakdown-container values
   - .price-summary-value amounts
   - form submit handlers */
/* Basic booking form (legacy / no enhanced pricing) */
.bravo_detail_tour #tour-booking .tour-basic-booking-luxury {
  margin-top: 0 !important;
}
.bravo_detail_tour #tour-booking .bravo_single_book_wrap {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Shell-only #tour-booking card styling above; never target #bravo_tour_book_app children */

/* Tour detail — unified gold CTAs (booking sidebar + related cards) */
.bravo_detail_tour .bravo_single_book_wrap #proceed-checkout-btn,
.bravo_detail_tour .bravo_single_book_wrap button.button.-dark-1,
.bravo_detail_tour #tour-booking .button.-dark-1 {
    background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-dark, #247339) 100%) !important;
    color: var(--brand-heading, #0a0f1e) !important;
    border: none !important;
    box-shadow: 0 6px 18px rgba(var(--brand-primary-rgb, 49,150,74), 0.3) !important;
}
.bravo_detail_tour .layout-pt-lg .tourCard .button,
.bravo_detail_tour .layout-pt-md .tourCard .button,
.bravo_hotel_detail .layout-pt-md .tourCard .button {
    background: linear-gradient(135deg, var(--brand-primary, #31964a) 0%, var(--brand-primary-dark, #247339) 100%) !important;
    color: var(--brand-heading, #0a0f1e) !important;
    border: none !important;
}
.bravo_detail_tour .layout-pt-lg .tourCard .button .icon-arrow-top-right,
.bravo_detail_tour .layout-pt-md .tourCard .button .icon-arrow-top-right,
.bravo_hotel_detail .layout-pt-md .tourCard .button .icon-arrow-top-right {
    display: none !important;
}

/* ============================================================
   RELATED — "You might also like" (2 per row, compact cards)
   ============================================================ */
.layout-pt-lg .row.y-gap-30 > .col-6,
.layout-pt-md .row.y-gap-30 > .col-6 {
    padding-left: 8px;
    padding-right: 8px;
}
@media (min-width: 992px) {
    .layout-pt-lg .row.y-gap-30 > .col-lg-3,
    .layout-pt-md .row.y-gap-30 > .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

.layout-pt-lg .row.y-gap-30.pt-40,
.layout-pt-md .row.y-gap-30.pt-40 {
    padding-top: 24px !important;
    row-gap: 16px !important;
}

.layout-pt-lg .col-6 .tourCard,
.layout-pt-md .col-6 .tourCard {
    margin-bottom: 0;
}

.layout-pt-lg .col-6 .tourCard__title,
.layout-pt-md .col-6 .tourCard__title {
    font-size: 14px !important;
    line-height: 1.3 !important;
}

.layout-pt-lg .col-6 .tourCard__content,
.layout-pt-md .col-6 .tourCard__content {
    padding: 8px 10px 10px !important;
}

.layout-pt-lg .col-6 .cardImage.ratio,
.layout-pt-md .col-6 .cardImage.ratio {
    min-height: 0;
}

.bravo_hotel_detail .layout-pt-md .col-6 .tourCard__title {
    font-size: 14px !important;
}
