/**
 * XTREME REPUBLIC — Tsavo Editorial Design System
 * =================================================
 * Visual overhaul only. Does not change JS, forms, booking, or payments.
 *
 * Direction: East-African safari editorial — canopy green, ink charcoal,
 * mist surfaces, Cormorant + Manrope. Signature: green rail on cards +
 * luminous white hero type on photography.
 */

/* ═══════════════════════════════════════════════════════════════════════
   0. TOKENS
   ═══════════════════════════════════════════════════════════════════════ */
:root {
  --xr-canopy: #31964a;
  --xr-canopy-deep: #1f6f35;
  --xr-canopy-soft: #e7f4eb;
  --xr-canopy-mid: #4aad63;
  --xr-ink: #07140e;
  --xr-ink-2: #1a2c22;
  --xr-ink-3: #3d5248;
  --xr-fog: #eef3ef;
  --xr-bone: #f7faf7;
  --xr-white: #ffffff;
  --xr-line: rgba(7, 20, 14, 0.09);
  --xr-line-2: rgba(7, 20, 14, 0.16);
  --xr-dust: #a67c52;
  --xr-danger: #c43c3c;
  --xr-warn: #c4892a;
  --xr-ok: #1f8a4c;

  --xr-r: 16px;
  --xr-r-sm: 10px;
  --xr-r-lg: 24px;
  --xr-r-pill: 999px;

  --xr-sh: 0 12px 40px rgba(7, 20, 14, 0.08);
  --xr-sh-sm: 0 2px 12px rgba(7, 20, 14, 0.06);
  --xr-sh-lg: 0 24px 60px rgba(7, 20, 14, 0.12);
  --xr-sh-green: 0 10px 28px rgba(49, 150, 74, 0.32);

  --xr-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --xr-fast: 160ms ease;

  --font-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;
  --font-body: "Manrope", system-ui, sans-serif;
  --font-family-display: var(--font-display);
  --font-family-body: var(--font-body);
  --font-family-primary: var(--font-body);

  /* Bridge into existing luxury / GoTrip vars */
  --luxury-accent: var(--brand-primary, var(--xr-canopy));
  --luxury-gold: var(--brand-primary, var(--xr-canopy));
  --luxury-gold-light: var(--brand-primary-light, var(--xr-canopy-mid));
  --luxury-gold-hover: var(--brand-primary-dark, var(--xr-canopy-deep));
  --luxury-charcoal: var(--xr-ink);
  --luxury-cream: var(--xr-bone);
  --luxury-ivory: var(--xr-fog);
  --luxury-primary: var(--xr-ink);
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body: "Manrope", system-ui, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════════════
   1. BASE
   ═══════════════════════════════════════════════════════════════════════ */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body) !important;
  color: var(--xr-ink-2) !important;
  background:
    radial-gradient(1000px 520px at 0% -5%, rgba(49, 150, 74, 0.07), transparent 55%),
    radial-gradient(800px 480px at 100% 0%, rgba(166, 124, 82, 0.05), transparent 50%),
    var(--xr-bone) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

p, li, span, label, td, th, input, select, textarea, button, a {
  font-family: inherit;
}

/* Display type — never paint dark ink onto .text-white heroes */
h1:not(.text-white):not(.typewriter-title--white):not(.sr-hero__title),
h2:not(.text-white),
h3:not(.text-white),
.sectionTitle,
.sectionTitle__title,
.page-title,
.bravo-list-tour .title,
.tourCard__title,
.hotelCard__title,
.dashboard .title-bar h1,
.main-content .title-bar h1 {
  font-family: var(--font-display) !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em;
  color: var(--xr-ink) !important;
  line-height: 1.15;
}

.text-30, .text-40, .text-50, .text-60, .text-70 {
  font-family: var(--font-display) !important;
  letter-spacing: -0.02em;
}

/* ═══════════════════════════════════════════════════════════════════════
   2. HERO / MASTHEAD — luminous white type (CRITICAL)
   ═══════════════════════════════════════════════════════════════════════ */
.masthead,
.unified-search-hero,
.hero-luxury,
.sr-hero,
.modern-tour-banner,
.location_banner,
.hotel-detail-hero,
.bravo_hotel_detail .banner {
  position: relative;
}

.masthead .masthead__bg::after,
.unified-search-hero .masthead__bg::after,
.hero-luxury__overlay {
  background:
    linear-gradient(180deg, rgba(7, 20, 14, 0.55) 0%, rgba(7, 20, 14, 0.25) 45%, rgba(7, 20, 14, 0.65) 100%) !important;
}

.masthead h1,
.masthead h1.text-white,
.masthead .text-white,
.unified-search-hero h1,
.unified-search-hero h1.text-white,
.unified-search-hero .text-white,
.unified-search-hero p,
.hero-luxury__title,
.hero-luxury__subtitle,
.hero-luxury__description,
.sr-hero__title,
.modern-tour-banner h1,
.modern-tour-banner .text-white,
.location_banner .text-white,
.bravo_hotel_detail .banner-overlay .text-white,
.hotel-detail-hero__overlay .text-white,
.typewriter-title--white,
h1.text-white,
h2.text-white,
p.text-white,
.service-quick-icon .text-white {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow:
    0 2px 24px rgba(0, 0, 0, 0.55),
    0 1px 3px rgba(0, 0, 0, 0.45) !important;
}

.masthead h1,
.unified-search-hero h1,
.hero-luxury__title,
.sr-hero__title {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: clamp(2.6rem, 6vw, 4.5rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
}

.unified-search-hero p,
.hero-luxury__subtitle,
.masthead p.text-white {
  font-family: var(--font-body) !important;
  font-size: clamp(1rem, 2vw, 1.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  opacity: 0.95 !important;
}

/* Search panel on hero — transparent wrapper; bar itself stays white */
.unified-search-hero__panel,
.hero-luxury__search {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
}

.mainSearch.-w-auto,
.searchForm.-type-1,
.unified-search-bar--glam.mainSearch {
  background: rgba(255, 255, 255, 0.97) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  border-radius: var(--xr-r-pill) !important;
  box-shadow: var(--xr-sh-lg) !important;
  backdrop-filter: blur(12px);
}

/* ═══════════════════════════════════════════════════════════════════════
   3. BUTTONS — white label on canopy green ALWAYS
   ═══════════════════════════════════════════════════════════════════════ */
.button.-dark-1,
.button.-blue-1,
.button.-sm.-blue-1,
.button.-sm.-dark-1,
.button.bg-blue-1,
.button.bg-blue-1-05,
.button.text-blue-1,
a.button.-blue-1,
a.button.-dark-1,
a.button.bg-blue-1-05,
a.button.text-blue-1,
.tourCard a.button,
.hotelCard a.button,
.item-loop a.button,
.btn-primary,
.btn-search,
.btn-success,
a.btn-primary,
button.btn-primary,
.bravo-form .btn-primary,
.form-submit .btn,
.whatsapp-float,
a.whatsapp-chat-btn,
.chat-fab,
.select-package-btn,
.fixed-select-package-btn,
.select-occupancy-package-btn,
.btn-select-package,
.gj-select-btn {
  background: linear-gradient(145deg, var(--xr-canopy-mid) 0%, var(--xr-canopy) 42%, var(--xr-canopy-deep) 100%) !important;
  border: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: var(--xr-r-pill) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  box-shadow: var(--xr-sh-green) !important;
  transition: transform var(--xr-fast), box-shadow var(--xr-fast), filter var(--xr-fast);
}

.button.-dark-1 *,
.button.-blue-1 *,
.button.bg-blue-1-05 *,
.button.text-blue-1 *,
a.button *,
.btn-primary *,
.btn-search *,
.select-package-btn *,
.fixed-select-package-btn *,
.select-occupancy-package-btn *,
.btn-select-package * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.button.-dark-1:hover,
.button.-blue-1:hover,
.button.bg-blue-1-05:hover,
.btn-primary:hover,
.btn-search:hover,
.tourCard a.button:hover,
.hotelCard a.button:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 14px 32px rgba(49, 150, 74, 0.4) !important;
}

.button.-outline-blue-1:not(.bg-blue-1):not(.bg-blue-1-05):not(.text-blue-1),
.btn-outline-primary {
  background: transparent !important;
  border: 1.5px solid var(--xr-canopy) !important;
  color: var(--xr-canopy) !important;
  -webkit-text-fill-color: var(--xr-canopy) !important;
  box-shadow: none !important;
  border-radius: var(--xr-r-pill) !important;
}

.button.-outline-blue-1:not(.bg-blue-1):not(.bg-blue-1-05):hover,
.btn-outline-primary:hover {
  background: var(--xr-canopy-soft) !important;
}

/* Kill GoTrip tinted “ghost” CTAs that caused green-on-green */
.bg-blue-1-05.text-blue-1,
a.bg-blue-1-05.text-blue-1,
.button.bg-blue-1-05.text-blue-1 {
  background: linear-gradient(145deg, var(--xr-canopy-mid), var(--xr-canopy-deep)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   4. FORMS
   ═══════════════════════════════════════════════════════════════════════ */
input.form-control,
select.form-control,
textarea.form-control,
.form-input,
.searchForm input,
.searchForm select,
.bravo-form input[type="text"],
.bravo-form input[type="email"],
.bravo-form input[type="password"],
.bravo-form input[type="number"],
.bravo-form input[type="tel"],
.bravo-form input[type="date"],
.bravo-form select,
.bravo-form textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1.5px solid var(--xr-line-2) !important;
  border-radius: var(--xr-r-sm) !important;
  background: var(--xr-white) !important;
  color: var(--xr-ink) !important;
  box-shadow: none !important;
  min-height: 44px;
  transition: border-color var(--xr-fast), box-shadow var(--xr-fast);
}

input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
.bravo-form input:focus,
.bravo-form select:focus,
.bravo-form textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--xr-canopy) !important;
  box-shadow: 0 0 0 4px rgba(49, 150, 74, 0.18) !important;
  outline: none !important;
}

label,
.form-label,
.bravo-form label {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--xr-ink-2) !important;
  letter-spacing: 0.02em;
}

/*
 * GoTrip main.css resets ALL inputs to border:0 + transparent background.
 * Restore visible field boundaries on standard forms — NOT on tour detail,
 * package options, or checkout (those pages ship dedicated CSS).
 */
.modal input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]):not(.unified-search-input),
.modal select,
.modal textarea,
.request-quote-page .rq-input,
.request-quote-page .rq-select,
.request-quote-page .rq-textarea,
.request-quote-page .dial-prefix,
.request-quote-page .rq-date-btn,
.bravo-form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="submit"]):not([type="button"]),
.bravo-form select,
.bravo-form textarea,
.bravo_wrap .contact-form input:not([type="range"]),
.bravo_wrap .contact-form textarea,
.bravo_wrap .contact-form select,
.hotel_rooms_form input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="submit"]):not([type="button"]),
.hotel_rooms_form select,
.hotel_rooms_form textarea {
  border: 2px solid var(--xr-line-2) !important;
  border-radius: var(--xr-r-sm) !important;
  background-color: var(--xr-white) !important;
  box-shadow: inset 0 1px 2px rgba(7, 20, 14, 0.04) !important;
}

.modal input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="file"]):not(.unified-search-input):focus,
.modal select:focus,
.modal textarea:focus,
.request-quote-page .rq-input:focus,
.request-quote-page .rq-select:focus,
.request-quote-page .rq-textarea:focus,
.bravo-form input:focus,
.bravo-form select:focus,
.bravo-form textarea:focus,
.bravo_wrap .contact-form input:not([type="range"]):focus,
.bravo_wrap .contact-form textarea:focus,
.bravo_wrap .contact-form select:focus,
.hotel_rooms_form input:focus,
.hotel_rooms_form select:focus,
.hotel_rooms_form textarea:focus {
  border-color: var(--xr-canopy) !important;
  box-shadow: 0 0 0 4px rgba(49, 150, 74, 0.18), inset 0 1px 2px rgba(7, 20, 14, 0.04) !important;
  outline: none !important;
}

.bravo_wrap input::placeholder,
.bravo_wrap textarea::placeholder,
.modal input::placeholder,
.modal textarea::placeholder,
.request-quote-page input::placeholder,
.request-quote-page textarea::placeholder,
.bravo-booking-page input::placeholder,
.bravo-booking-page textarea::placeholder {
  color: var(--xr-ink-3) !important;
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   5. CARDS — signature green rail
   ═══════════════════════════════════════════════════════════════════════ */
.tourCard,
.hotelCard,
.tourCard.-type-1,
.hotelCard.-type-1,
.item-loop,
.bravo-list-item .item-loop {
  position: relative;
  border: 1px solid var(--xr-line) !important;
  border-radius: var(--xr-r) !important;
  background: var(--xr-white) !important;
  box-shadow: var(--xr-sh-sm) !important;
  overflow: hidden;
  transition: transform 0.35s var(--xr-ease), box-shadow 0.35s var(--xr-ease);
}

.tourCard::before,
.hotelCard::before,
.item-loop::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--xr-canopy-mid), var(--xr-canopy-deep));
  z-index: 3;
  opacity: 0;
  transition: opacity var(--xr-fast);
}

.tourCard:hover,
.hotelCard:hover,
.item-loop:hover {
  transform: translateY(-6px);
  box-shadow: var(--xr-sh) !important;
}

.tourCard:hover::before,
.hotelCard:hover::before,
.item-loop:hover::before {
  opacity: 1;
}

.tourCard__image,
.hotelCard__image,
.item-loop .thumb-image {
  overflow: hidden;
}

.tourCard__image img,
.hotelCard__image img,
.item-loop .thumb-image img {
  transition: transform 0.7s var(--xr-ease);
}

.tourCard:hover .tourCard__image img,
.hotelCard:hover .hotelCard__image img,
.item-loop:hover .thumb-image img {
  transform: scale(1.06);
}

.tourCard__title,
.hotelCard__title,
.item-loop .item-title,
.item-loop .service-name {
  font-family: var(--font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--xr-ink) !important;
  line-height: 1.25 !important;
}

.tourCard .text-blue-1,
.hotelCard .text-blue-1,
.item-loop .text-blue-1,
.price__text,
.text-blue-1.fw-500,
.text-blue-1.fw-600 {
  color: var(--xr-canopy) !important;
}

/* Featured badge */
.tourCard .badge,
.hotelCard .badge,
.featured,
.tourCard [class*="featured"],
.tourCard .absolute .bg-blue-1,
.tourCard .bg-blue-1 {
  background: var(--xr-canopy) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   6. HEADER / FOOTER
   ═══════════════════════════════════════════════════════════════════════ */
.header,
.bravo_header,
.header.-type-1,
.header.-type-5,
.header.-type-8 {
  background: rgba(7, 20, 14, 0.92) !important;
  backdrop-filter: blur(14px) saturate(1.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Top bar links only — NEVER force white into white dropdowns */
.header .header-menu > .menu > li > a,
.header .header-right a.is_login,
.header .header-right > .d-flex > a,
.header .currency-selector > a,
.header .language-selector > a,
.header .topbar a,
.bravo_header .header-right a.is_login,
.bravo_topbar a {
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
}

.header .header-menu > .menu > li > a:hover,
.header .header-right a.is_login:hover {
  color: #fff !important;
}

/* User / language / currency dropdown panels — dark text on white */
.header .dropdown-menu,
.header .subnav,
.bravo_header .dropdown-menu,
.bravo_header .subnav,
.header .login-item .subnav,
.header .menu-item-has-children .subnav {
  background: #ffffff !important;
  border: 1px solid rgba(7, 20, 14, 0.1) !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 40px rgba(7, 20, 14, 0.16) !important;
  padding: 8px 0 !important;
  min-width: 220px;
}

.header .dropdown-menu a,
.header .dropdown-menu .dropdown-item,
.header .subnav a,
.header .subnav .dropdown-item,
.bravo_header .dropdown-menu a,
.bravo_header .dropdown-menu .dropdown-item,
.bravo_header .subnav a,
.header .login-item .subnav a,
.header .menu-item-has-children .subnav a,
.header .d-flex .dropdown-menu a {
  color: #07140e !important;
  -webkit-text-fill-color: #07140e !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  background: transparent !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.header .dropdown-menu a:hover,
.header .dropdown-menu .dropdown-item:hover,
.header .subnav a:hover,
.header .subnav li:hover > a,
.bravo_header .dropdown-menu a:hover,
.header .login-item .subnav a:hover,
.header .menu-item-has-children .subnav a:hover {
  background: #e7f4eb !important;
  color: #1f6f35 !important;
  -webkit-text-fill-color: #1f6f35 !important;
}

.header .dropdown-menu a i,
.header .subnav a i,
.header .dropdown-item i {
  color: #31964a !important;
  width: 18px;
  text-align: center;
}

/* Avatar initial badge (the “X”) */
.header .avatar-text,
.bravo_header .avatar-text {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50% !important;
  background: #31964a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  margin-right: 8px;
  vertical-align: middle;
}

.header .avatar.rounded-circle {
  width: 28px;
  height: 28px;
  object-fit: cover;
  margin-right: 8px;
  vertical-align: middle;
}

.header .logo img {
  filter: none;
}

.footer,
.bravo_footer,
.footer.-type-1,
.footer.-type-2,
.footer.-type-4,
.footer.-type-7 {
  background:
    linear-gradient(165deg, #0a1a12 0%, #07140e 50%, #0d2216 100%) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  position: relative;
  overflow: hidden;
  padding-top: 64px !important;
}

.footer::before,
.bravo_footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, transparent 5%, var(--xr-canopy) 30%, var(--xr-dust) 55%, var(--xr-canopy) 75%, transparent 95%);
}

.footer a,
.bravo_footer a {
  color: rgba(255, 255, 255, 0.72) !important;
  transition: color var(--xr-fast);
}

.footer a:hover,
.bravo_footer a:hover {
  color: #fff !important;
}

.footer h4,
.footer h5,
.bravo_footer .widget-title,
.bravo_footer h4 {
  font-family: var(--font-display) !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   7–8. TOUR DETAIL / PACKAGES / CHECKOUT
   Intentionally omitted — those pages use dedicated CSS (tour-detail-redesign,
   tour-detail-luxury, package-options-remodel, checkout-luxury-redesign).
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   9. USER DASHBOARD / PROFILE
   ═══════════════════════════════════════════════════════════════════════ */
body.user-page,
.bravo_user_profile,
.dashboard.bravo_user_profile {
  background:
    radial-gradient(900px 420px at 0% 0%, rgba(49, 150, 74, 0.08), transparent 55%),
    var(--xr-fog) !important;
}

.dashboard__sidebar,
.dashboard__sidebar.dashboard__sidebar--dark,
.sidebar.-dashboard,
.bravo_wrap .dashboard.bravo_user_profile > .sidebar-user {
  background: linear-gradient(175deg, #07140e 0%, #0f2418 55%, #14301f 100%) !important;
  color: #fff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.dashboard__sidebar .sidebar__button,
.sidebar.-dashboard .sidebar__button,
.sidebar-user .sidebar-menu ul li a {
  color: rgba(255, 255, 255, 0.82) !important;
  border-radius: var(--xr-r-sm) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
}

.dashboard__sidebar .sidebar__button.-is-active,
.dashboard__sidebar .sidebar__button.active,
.sidebar.-dashboard .sidebar__button.-is-active,
.sidebar-user .sidebar-menu ul li.active > a,
.bravo_wrap .dashboard.bravo_user_profile .dashboard__sidebar .sidebar.-dashboard .sidebar__button.-is-active,
.bravo_wrap .dashboard.bravo_user_profile .dashboard__sidebar .sidebar.-dashboard .sidebar__button.active,
.bravo_wrap .dashboard.bravo_user_profile > .sidebar-user .sidebar-menu ul li.active > a {
  background: linear-gradient(135deg, var(--xr-canopy), var(--xr-canopy-deep)) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: var(--xr-sh-green);
}

.dashboard__sidebar .sidebar__button.-is-active *,
.dashboard__sidebar .sidebar__button.active *,
.sidebar-user .sidebar-menu ul li.active > a * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.dashboard .card,
.dashboard .panel,
.bravo_user_profile .panel,
.user-form-settings,
.profile-form,
.booking-history-manager {
  border: 1px solid var(--xr-line) !important;
  border-radius: var(--xr-r) !important;
  background: #fff !important;
  box-shadow: var(--xr-sh-sm) !important;
}

.dashboard .dashboard__content h1,
.dashboard .dashboard__content h2,
.user-profile-content h1 {
  font-family: var(--font-display) !important;
  color: var(--xr-ink) !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   10. AUTH / MODALS
   ═══════════════════════════════════════════════════════════════════════ */
.bravo_wrap .modal-content,
.login-form,
.register-form,
.bravo-login-form-page,
.bravo-register-form {
  border-radius: var(--xr-r-lg) !important;
  border: 1px solid var(--xr-line) !important;
  box-shadow: var(--xr-sh-lg) !important;
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════
   11. SECTIONS / RHYTHM
   ═══════════════════════════════════════════════════════════════════════ */
.layout-pt-lg,
.layout-pt-md {
  position: relative;
}

.sectionTitle__title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
}

.sectionTitle__title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 14px;
  border-radius: var(--xr-r-pill);
  background: linear-gradient(90deg, var(--xr-canopy), transparent);
}

/* ═══════════════════════════════════════════════════════════════════════
   12. MOTION
   ═══════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: no-preference) {
  .tourCard,
  .hotelCard,
  .item-loop,
  .button.-dark-1,
  .btn-primary {
    will-change: transform;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Focus */
a:focus-visible,
button:focus-visible,
.button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--xr-canopy);
  outline-offset: 3px;
}

/* Mobile */
@media (max-width: 767px) {
  .masthead h1,
  .unified-search-hero h1 {
    font-size: 2.25rem !important;
  }

  .unified-search-hero__panel,
  .searchForm.-type-1 {
    border-radius: var(--xr-r) !important;
  }

  .sectionTitle__title::after {
    margin-left: auto;
    margin-right: auto;
  }
}
