/*
 * Simar Holidays - Product UI refinement layer
 * Frontend-only visual normalization. No business logic, API, routing or data changes.
 * Loaded after the existing public theme. The goal is a mature, compact,
 * production-oriented interface with a restrained design system.
 */

:root {
  --tb-ink-950: #17151d;
  --tb-ink-900: #211e29;
  --tb-ink-800: #2f2b39;
  --tb-violet-700: #55218f;
  --tb-violet-600: #6528a6;
  --tb-violet-500: #7440b1;
  --tb-violet-100: #eee7f5;
  --tb-violet-50: #f8f6fa;
  --tb-teal-700: #0f6d68;
  --tb-teal-600: #147d77;
  --tb-teal-500: #1d8e87;
  --tb-teal-100: #dff1ef;
  --tb-teal-50: #f1f8f7;
  --tb-white: #ffffff;
  --tb-canvas: #f7f8fa;
  --tb-surface-soft: #fafafb;
  --tb-text: #26232c;
  --tb-text-muted: #6e6876;
  --tb-border: #e2e3e8;
  --tb-border-strong: #cfd1d8;
  --tb-success: #287a55;
  --tb-danger: #b63e4b;
  --tb-warning: #a96914;
  --tb-info: #315e96;
  --tb-gradient: #211e29;
  --tb-gradient-button: #5b248f;
  --tb-gradient-teal: #147d77;
  --tb-shadow-xs: 0 1px 2px rgba(21, 18, 28, .04);
  --tb-shadow-sm: 0 4px 14px rgba(21, 18, 28, .06);
  --tb-shadow-md: 0 10px 28px rgba(21, 18, 28, .09);
  --tb-shadow-button: 0 1px 2px rgba(21, 18, 28, .08);
  --tb-radius-sm: 6px;
  --tb-radius-md: 10px;
  --tb-radius-lg: 12px;
  --tb-radius-pill: 999px;
  --tb-container: 1200px;
  --tb-section-space: clamp(44px, 5vw, 68px);
  --tb-header-height: 72px;
  --tb-transition: 150ms ease;
}

html { scroll-padding-top: calc(var(--tb-header-height) + 12px); }

body,
button,
input,
select,
textarea {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
}

body {
  color: var(--tb-text) !important;
  background: var(--tb-canvas) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

h1, h2, h3, h4, h5, h6,
h1.tb-display-title {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  color: var(--tb-ink-950) !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

h1 { font-size: clamp(2rem, 4vw, 3.25rem) !important; }
h2 { font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important; }
h3 { font-size: 1.1rem !important; }
h4 { font-size: 1rem !important; }
p { color: var(--tb-text-muted) !important; }

.tb-script,
.tb-kicker,
.booking-kicker,
.page-intro small,
.booking-page small,
.eyebrow,
.tb-service-kicker {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--tb-violet-700) !important;
}

.container { width: min(100% - 32px, var(--tb-container)) !important; }
.tb-section, .section, .page-section { padding-block: var(--tb-section-space) !important; }
.tb-soft-section, .section-soft { background: #f5f6f8 !important; }

/* ---------------- Header / Navigation ---------------- */
.tb-topbar {
  background: #211e29 !important;
  color: #f5f4f7 !important;
}
.tb-topbar-inner { min-height: 34px !important; }
.tb-topbar a, .tb-topbar-contact a {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.88) !important;
}
.tb-topbar a i { color: rgba(255,255,255,.64) !important; }
.tb-topbar-social { gap: 4px !important; }
.tb-topbar-social a {
  width: 26px !important;
  height: 26px !important;
  border-radius: 6px !important;
  border-color: rgba(255,255,255,.12) !important;
}
.tb-topbar-social a:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.2) !important;
  transform: none !important;
}

.tb-header {
  min-height: var(--tb-header-height) !important;
  background: rgba(255,255,255,.985) !important;
  border-bottom: 1px solid var(--tb-border) !important;
  box-shadow: 0 1px 0 rgba(22,18,30,.02) !important;
}
.tb-navbar { min-height: var(--tb-header-height) !important; padding-block: 7px !important; }
.tb-navbar .navbar-brand { min-width: 132px !important; max-width: 180px !important; margin-right: 18px !important; }
.tb-navbar .navbar-brand img { height: 44px !important; }

.tb-main-menu {
  align-items: center !important;
  gap: 2px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.tb-main-menu > .nav-item + .nav-item { border-left: 0 !important; }
.tb-main-menu > .nav-item > .nav-link,
.tb-main-menu > .nav-item:first-child > .nav-link,
.tb-main-menu > .nav-item:last-child > .nav-link {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #47414f !important;
}
.tb-main-menu > .nav-item > .nav-link i:not(.tb-nav-caret) {
  font-size: 13px !important;
  color: #77717e !important;
}
.tb-main-menu > .nav-item > .nav-link::after { display: none !important; }
.tb-main-menu > .nav-item > .nav-link:hover {
  color: var(--tb-ink-950) !important;
  background: #f4f4f6 !important;
}
.tb-main-menu > .nav-item > .nav-link.active {
  color: var(--tb-violet-700) !important;
  background: var(--tb-violet-50) !important;
}
.tb-main-menu > .nav-item > .nav-link.active i:not(.tb-nav-caret) { color: var(--tb-violet-700) !important; }

.tb-service-menu,
.tb-mega-menu,
.tb-client-menu-list {
  padding: 6px !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 9px !important;
  box-shadow: var(--tb-shadow-md) !important;
  background: #fff !important;
}
.tb-service-menu .dropdown-item,
.tb-client-menu-list a,
.tb-client-menu-list button {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.tb-service-menu .dropdown-item:hover,
.tb-client-menu-list a:hover,
.tb-client-menu-list button:hover {
  background: #f5f5f7 !important;
  transform: none !important;
}
.tb-mega-head { background: #211e29 !important; }
.tb-mega-grid a { border-radius: 6px !important; }
.tb-mega-grid a:hover { background: #f5f5f7 !important; }

/* ---------------- Buttons ---------------- */
.btn,
.tb-btn,
.tb-live-search-btn,
.tb-booking-pay-btn,
.tb-select-slot-btn,
.tb-lead-submit,
.tb-demo-form > button,
.tb-client-login-btn,
.tb-service-btn,
.tb-myapp-btn,
.tb-app-pay-btn {
  min-height: 42px !important;
  padding: 9px 15px !important;
  gap: 8px !important;
  color: #fff !important;
  background: var(--tb-violet-700) !important;
  background-image: none !important;
  border: 1px solid var(--tb-violet-700) !important;
  border-radius: 8px !important;
  box-shadow: var(--tb-shadow-button) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  transform: none !important;
}
.btn::after,
.tb-btn::after,
.tb-live-search-btn::after,
.tb-booking-pay-btn::after,
.tb-select-slot-btn::after,
.tb-lead-submit::after,
.tb-demo-form > button::after,
.tb-client-login-btn::after { display: none !important; content: none !important; }
.btn:hover,
.tb-btn:hover,
.tb-live-search-btn:hover,
.tb-booking-pay-btn:hover,
.tb-select-slot-btn:hover,
.tb-lead-submit:hover,
.tb-demo-form > button:hover,
.tb-client-login-btn:hover,
.tb-service-btn:hover,
.tb-myapp-btn:hover,
.tb-app-pay-btn:hover {
  color: #fff !important;
  background: #481a79 !important;
  border-color: #481a79 !important;
  box-shadow: 0 2px 5px rgba(45, 26, 66, .14) !important;
  transform: none !important;
  filter: none !important;
}
.btn-light,
.btn-outline,
.btn-outline-primary,
.tb-btn-light,
.tb-service-btn.secondary,
.tb-myapp-btn.secondary {
  color: #37323f !important;
  background: #fff !important;
  border-color: var(--tb-border-strong) !important;
  box-shadow: none !important;
}
.btn-light:hover,
.btn-outline:hover,
.btn-outline-primary:hover,
.tb-btn-light:hover,
.tb-service-btn.secondary:hover,
.tb-myapp-btn.secondary:hover {
  color: #211e29 !important;
  background: #f5f5f7 !important;
  border-color: #bfc1c8 !important;
}
.btn-danger,
.tb-btn-danger { background: #b33f4c !important; border-color: #b33f4c !important; }
.tb-btn-sm,
.tb-client-login-btn { min-height: 38px !important; padding: 8px 12px !important; font-size: 12.5px !important; }
.tb-client-login-btn { background: #147d77 !important; border-color: #147d77 !important; }

/* ---------------- Tabs / segmented controls ---------------- */
.booking-tabs,
.tb-category-tabs,
.tb-day-tabs,
.tb-trip-tabs,
.tb-search-tabs,
.plan-switch,
.tb-flight-booking-steps,
.tb-hotel-booking-steps {
  gap: 2px !important;
  padding: 3px !important;
  background: #f3f4f6 !important;
  border: 1px solid #e1e3e7 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.booking-tabs button,
.tb-category-tabs button,
.tb-day-tabs button,
.tb-trip-tab,
.tb-search-tab,
.plan-switch button,
.tb-flight-booking-steps a,
.tb-hotel-booking-steps a {
  min-height: 36px !important;
  padding: 7px 12px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.booking-tabs button.active,
.tb-category-tabs button.active,
.tb-day-tabs button.active,
.tb-trip-tab.active,
.tb-search-tab.active,
.plan-switch button.active,
.tb-flight-booking-steps a.active,
.tb-hotel-booking-steps a.active {
  color: #211e29 !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 1px 3px rgba(20,18,25,.08) !important;
}
.booking-tabs button.active i,
.tb-search-tab.active i { color: var(--tb-violet-700) !important; }

/* ---------------- Forms ---------------- */
form label,
.tb-form-label,
.tb-profile-grid label > span,
.tb-service-grid label,
.tb-smart-visa-app label {
  color: #403a48 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea,
.form-control,
.form-select,
.tb-service-grid input,
.tb-service-grid select,
.tb-service-grid textarea,
.tb-smart-visa-app input,
.tb-smart-visa-app select,
.tb-smart-visa-app textarea {
  min-height: 42px !important;
  padding: 9px 11px !important;
  color: #25212b !important;
  background: #fff !important;
  border: 1px solid #d8d9df !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 14px !important;
}
textarea,
.tb-service-grid textarea,
.tb-smart-visa-app textarea { min-height: 92px !important; resize: vertical !important; }
input::placeholder, textarea::placeholder { color: #9a96a0 !important; }
input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus {
  border-color: #8d65b4 !important;
  box-shadow: 0 0 0 3px rgba(85,33,143,.10) !important;
  outline: 0 !important;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--tb-violet-700); }

/* ---------------- General cards / surfaces ---------------- */
.country-card,
.tb-home-package-card,
.tb-blog-card,
.tb-list-package-card,
.tb-package-card,
.tb-content-card,
.tb-detail-card,
.tb-outline-card,
.tb-planning-card,
.tb-contact-info-panel,
.tb-contact-form-panel,
.tb-contact-map-card,
.tb-booking-search-card,
.tb-booking-panel,
.tb-flight-filter-panel,
.tb-hotel-filter-panel,
.tb-package-filter-panel,
.tb-flight-list-panel,
.tb-hotel-list-panel,
.tb-package-results-panel,
.tb-booking-fare-card,
.tb-hotel-price-summary-card,
.tb-profile-card,
.tb-myapp-card,
.tb-app-pay-card,
.form-card,
.tb-service-card,
.tb-choice-card,
.tb-upload,
.plan,
.article {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--tb-shadow-xs) !important;
}
.country-card:hover,
.tb-home-package-card:hover,
.tb-blog-card:hover,
.tb-list-package-card:hover,
.tb-package-card:hover,
.tb-choice-card:hover {
  border-color: #c9cbd2 !important;
  box-shadow: var(--tb-shadow-sm) !important;
  transform: translateY(-1px) !important;
}

.tb-card-body,
.tb-home-package-body,
.card-copy { padding: 14px !important; }
.tb-card-actions { padding-top: 10px !important; }

/* ---------------- Hero / page headings ---------------- */
.tb-hero,
.booking-hero,
.tb-page-hero,
.tb-client-account-hero,
.tb-service-form-hero,
.tb-flight-page-hero,
.tb-package-detail-hero,
.dest-hero {
  border-radius: 0 !important;
  box-shadow: none !important;
}
.tb-hero-overlay { background: rgba(24,20,30,.54) !important; }
.tb-hero-content { max-width: 720px !important; }
.tb-hero-content h1 { max-width: 760px !important; font-size: clamp(2.45rem, 5vw, 4.35rem) !important; line-height: 1.05 !important; }
.tb-hero-content p { max-width: 640px !important; font-size: 1rem !important; color: rgba(255,255,255,.85) !important; }
.tb-hero-mini { gap: 12px !important; }
.tb-hero-mini span { font-size: 12px !important; font-weight: 600 !important; }
.tb-hero-actions { gap: 8px !important; }
.tb-hero-arrow { width: 40px !important; height: 40px !important; border-radius: 8px !important; background: rgba(255,255,255,.88) !important; box-shadow: none !important; }
.tb-hero-dots button { width: 22px !important; height: 3px !important; border-radius: 2px !important; }

.page-intro,
.center-head { padding-block: 38px 28px !important; }
.page-intro h1,
.center-head h1,
.tb-client-account-hero h1,
.tb-service-form-hero h1 { font-size: clamp(2rem, 3.6vw, 3rem) !important; }
.page-intro p,
.center-head p { max-width: 720px !important; margin-inline: auto !important; }

/* Search controls */
.tb-visaway-search,
.search-wrap,
.tb-flight-result-search-card,
.tb-hotel-result-search-card {
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.tb-visaway-search { background: rgba(255,255,255,.96) !important; }
.tb-visaway-search input { border: 0 !important; box-shadow: none !important; min-height: 46px !important; }
.tb-visaway-search button { border-radius: 7px !important; }
.tb-visaway-explore { font-size: 13px !important; font-weight: 600 !important; }

/* ---------------- Home ---------------- */
.tb-section-title { margin-bottom: 24px !important; }
.tb-section-title h2 { margin-bottom: 8px !important; }
.tb-section-title p { max-width: 680px !important; }
.tb-home-destination-grid,
.tb-home-package-grid { gap: 16px !important; }
.tb-home-destination-card,
.tb-home-destination-linkcard {
  border-radius: 10px !important;
  box-shadow: none !important;
}
.tb-home-destination-overlay { background: rgba(20,18,26,.4) !important; }
.tb-journey-card {
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.tb-journey-points { gap: 12px !important; }
.tb-journey-points > div {
  padding: 12px !important;
  background: #fafafb !important;
  border: 1px solid #e7e7eb !important;
  border-radius: 8px !important;
}
.fast,
.fast-inner { background-image: none !important; }
.fast { background: #211e29 !important; border-radius: 0 !important; }
.feature { padding: 12px 0 !important; border-radius: 0 !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; background: transparent !important; box-shadow: none !important; }
.feature:last-child { border-bottom: 0 !important; }
.feature > span { width: 34px !important; height: 34px !important; border-radius: 7px !important; }
.trust .stats { gap: 12px !important; }
.trust .stats > div {
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* ---------------- Visa listing/detail ---------------- */
.tb-visa-listing { gap: 18px !important; }
.tb-visa-listing .country-card {
  overflow: hidden !important;
  min-height: 0 !important;
  border-radius: 10px !important;
}
.tb-visa-listing .card-meta { padding: 12px 14px !important; font-size: 12px !important; }
.tb-visa-listing .card-img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #f1f2f4 !important;
  border-radius: 0 !important;
}
.tb-visa-listing .card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.tb-visa-listing .card-img > b {
  left: 12px !important;
  bottom: 10px !important;
  padding: 3px 7px !important;
  border-radius: 5px !important;
  background: rgba(20,18,26,.76) !important;
}
.tb-visa-listing .card-copy { min-height: 0 !important; padding: 13px 14px 14px !important; }
.tb-visa-listing .card-copy h3 { margin: 0 0 3px !important; }
.tb-visa-listing .card-copy p { margin: 0 !important; font-size: 13px !important; }

.apply-banner {
  padding: 16px 18px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.apply-banner .faces { display: none !important; }
.details { gap: 22px !important; }
.article { padding: 22px !important; }
.plan { padding: 18px !important; }
.steps { gap: 8px !important; }
.steps > div { padding: 10px !important; border: 1px solid #e5e6ea !important; border-radius: 7px !important; background: #fafafb !important; }
.steps > div > span { width: 26px !important; height: 26px !important; border-radius: 6px !important; background: var(--tb-violet-50) !important; color: var(--tb-violet-700) !important; }
.docs { gap: 8px !important; }
.docs span { padding: 8px 10px !important; border-radius: 7px !important; background: #f7f7f9 !important; border: 1px solid #e6e6ea !important; }

/* ---------------- Functional forms ---------------- */
.tb-service-form-page,
.tb-visa-application-page { background: #f5f6f8 !important; }
.tb-service-form-hero,
.tb-smart-visa-app .hero {
  padding: 30px 0 !important;
  background: #fff !important;
  background-image: none !important;
  border-bottom: 1px solid var(--tb-border) !important;
}
.tb-service-form-hero .container,
.tb-smart-visa-app .hero {
  align-items: center !important;
}
.tb-service-form-hero h1,
.tb-smart-visa-app .hero h1 { margin: 4px 0 6px !important; font-size: clamp(1.9rem, 3vw, 2.6rem) !important; }
.tb-service-form-hero p,
.tb-smart-visa-app .hero p { max-width: 700px !important; margin: 0 !important; }
.tb-service-secure,
.secure-badge {
  padding: 7px 10px !important;
  color: #3d5f50 !important;
  background: #f1f7f4 !important;
  border: 1px solid #dcebe3 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.tb-service-form-wrap,
.tb-smart-visa-app .form-wrap { max-width: 1120px !important; padding: 24px 16px 56px !important; }
.tb-service-progress,
.tb-smart-visa-app .progress {
  margin-bottom: 16px !important;
  padding: 12px 14px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.tb-service-progress-track,
.tb-smart-visa-app .progress-bar {
  height: 5px !important;
  background: #e9e9ed !important;
  border-radius: 3px !important;
}
.tb-service-progress-track > span,
.tb-smart-visa-app .progress-bar > span { background: var(--tb-violet-700) !important; background-image: none !important; border-radius: 3px !important; }
.tb-service-progress-meta,
.tb-smart-visa-app .progress-meta { margin-top: 8px !important; font-size: 12px !important; }

.form-card,
.tb-service-card {
  margin-bottom: 14px !important;
  padding: 18px !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.section-title,
.tb-service-card-title { margin-bottom: 16px !important; padding-bottom: 12px !important; border-bottom: 1px solid #ececf0 !important; }
.section-title .step,
.tb-service-card-icon {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  border-radius: 7px !important;
  background: var(--tb-violet-50) !important;
  border: 1px solid var(--tb-violet-100) !important;
  color: var(--tb-violet-700) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.section-title h2,
.tb-service-card-title h2 { margin: 0 0 3px !important; font-size: 1.05rem !important; }
.section-title p,
.tb-service-card-title p { margin: 0 !important; font-size: 12.5px !important; }

.grid,
.tb-service-grid { gap: 14px !important; }
.dynamic-banner,
.tb-service-note,
.tb-service-warning,
.dynamic-empty {
  padding: 10px 12px !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
}
.dynamic-banner { background: #f7f5fa !important; border: 1px solid #e6def0 !important; color: #3f3151 !important; }
.tb-service-note { background: #f3f6fa !important; border: 1px solid #dfe6ef !important; color: #4b5c70 !important; }
.tb-service-warning { background: #fff8eb !important; border: 1px solid #f0dfbb !important; color: #77511d !important; }

.tb-choice-grid { gap: 12px !important; }
.tb-choice-card { padding: 14px !important; border-radius: 8px !important; box-shadow: none !important; }
.tb-choice-card:has(input:checked),
.tb-choice-card.selected { border-color: #8d65b4 !important; background: #faf8fc !important; box-shadow: 0 0 0 2px rgba(85,33,143,.08) !important; }
.tb-choice-card > span { border-radius: 5px !important; background: #f2eef6 !important; color: #62427d !important; }

.tb-upload-grid { gap: 10px !important; }
.tb-upload {
  min-height: 112px !important;
  padding: 14px !important;
  border-style: dashed !important;
  border-color: #d7d8df !important;
  border-radius: 8px !important;
  background: #fafafb !important;
  box-shadow: none !important;
}
.tb-upload:hover { border-color: #9b78bb !important; background: #faf8fc !important; }
.tb-upload .uicon { font-size: 24px !important; }
.tb-upload strong { font-size: 13px !important; }
.tb-upload small { font-size: 11.5px !important; }

.tb-service-check { padding: 10px 0 !important; border-bottom: 1px solid #eeeef1 !important; }
.tb-service-check:last-child { border-bottom: 0 !important; }
.tb-service-actions,
.form-actions { gap: 8px !important; padding-top: 10px !important; }
.tb-service-btn.primary,
.tb-service-btn.teal { background: var(--tb-violet-700) !important; border-color: var(--tb-violet-700) !important; }
.tb-service-btn .arrow { display: none !important; }

/* Preview and auth modals */
.tb-preview-dialog,
.tb-client-auth-dialog,
.tb-visa-modal-dialog,
.modal-dialog,
.tb-lead-popup-dialog {
  border-radius: 11px !important;
  box-shadow: 0 18px 50px rgba(21,18,28,.16) !important;
}
.tb-preview-head,
.tb-preview-foot,
.modal-header,
.modal-footer { padding: 14px 16px !important; border-color: var(--tb-border) !important; }
.tb-preview-body,
.modal-body { padding: 16px !important; }
.tb-preview-close,
.tb-client-auth-close,
.tb-lead-popup-close {
  width: 34px !important;
  height: 34px !important;
  border-radius: 7px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  box-shadow: none !important;
}

/* ---------------- Tables ---------------- */
table { border-color: var(--tb-border) !important; }
thead th,
.table thead th {
  padding: 10px 12px !important;
  color: #55505d !important;
  background: #f5f6f8 !important;
  border-color: var(--tb-border) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
tbody td,
.table tbody td {
  padding: 10px 12px !important;
  border-color: #ececf0 !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}
tbody tr:hover,
.table tbody tr:hover { background: #fafafb !important; }

/* ---------------- Client account / applications ---------------- */
.tb-client-account-hero {
  padding: 28px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid var(--tb-border) !important;
}
.tb-client-account-shell {
  gap: 18px !important;
  align-items: start !important;
}
.tb-client-account-sidebar {
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.tb-client-account-user { padding: 4px 4px 14px !important; border-bottom: 1px solid #ececf0 !important; }
.tb-client-account-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 9px !important;
  background: var(--tb-violet-700) !important;
  background-image: none !important;
  box-shadow: none !important;
}
.tb-client-account-nav { gap: 2px !important; padding-top: 10px !important; }
.tb-client-account-nav a,
.tb-client-account-nav button {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.tb-client-account-nav a.active { background: var(--tb-violet-50) !important; color: var(--tb-violet-700) !important; }
.tb-client-account-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.tb-client-account-panel-head { margin-bottom: 14px !important; }
.tb-profile-card { margin-bottom: 12px !important; padding: 16px !important; }
.tb-profile-card h3 { margin-bottom: 12px !important; font-size: .95rem !important; }
.tb-profile-grid { gap: 12px !important; }

.tb-myapps,
.tb-app-pay { background: #f5f6f8 !important; }
.tb-myapps-head { padding-bottom: 16px !important; }
.tb-myapp-card { padding: 0 !important; overflow: hidden !important; }
.tb-myapp-detail { padding: 16px !important; }
.tb-myapp-badge,
.tb-booking-status-pill,
.tb-app-pay-status,
.badge,
.pill {
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 11.5px !important;
  font-weight: 650 !important;
}

/* ---------------- Booking / search results ---------------- */
.booking-page,
.tb-flight-results-page,
.tb-hotel-results-page,
.tb-package-listing-page,
.tb-flight-booking-page,
.tb-hotel-booking-page { background: #f5f6f8 !important; }
.booking-hero,
.tb-flight-page-topband { background: #fff !important; background-image: none !important; border-bottom: 1px solid var(--tb-border) !important; }
.booking-float-card { border-radius: 10px !important; box-shadow: none !important; border: 1px solid var(--tb-border) !important; }
.booking-shell { box-shadow: none !important; border-radius: 10px !important; border: 1px solid var(--tb-border) !important; }
.tb-flight-card,
.tb-hotel-card,
.tb-list-package-card { border-radius: 9px !important; box-shadow: none !important; }
.tb-filter-block + .tb-filter-block { border-top: 1px solid #ececf0 !important; }
.tb-flight-count-pill { border-radius: 5px !important; }

/* ---------------- Popup / Footer ---------------- */
.tb-lead-popup-backdrop { background: rgba(19,17,23,.52) !important; backdrop-filter: none !important; }
.tb-lead-popup-dialog { overflow: hidden !important; border: 1px solid rgba(255,255,255,.15) !important; }
.tb-lead-popup-visual {
  background: #211e29 !important;
  background-image: none !important;
}
.tb-lead-popup-badge { border-radius: 6px !important; background: rgba(255,255,255,.09) !important; border: 1px solid rgba(255,255,255,.16) !important; }
.tb-lead-popup-points span { border-radius: 0 !important; background: transparent !important; padding: 3px 0 !important; }
.tb-lead-popup-form-wrap { background: #fff !important; }

.tb-footer {
  background: #211e29 !important;
  background-image: none !important;
  border-top: 0 !important;
}
.tb-footer h4 { color: #fff !important; font-size: 14px !important; }
.tb-footer p,
.tb-footer li,
.tb-footer a { font-size: 13px !important; }
.tb-footer-social a {
  width: 34px !important;
  height: 34px !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.tb-footer-bottom { border-top: 1px solid rgba(255,255,255,.11) !important; }
.tb-back-top {
  width: 38px !important;
  height: 38px !important;
  border-radius: 8px !important;
  background: #5b248f !important;
  box-shadow: 0 4px 14px rgba(21,18,28,.18) !important;
}

/* ---------------- Empty states / alerts ---------------- */
.tb-empty-box,
.tb-account-login-required,
.tb-myapps-empty,
.tb-flight-booking-empty,
.tb-hotel-booking-empty {
  padding: 28px 20px !important;
  background: #fff !important;
  border: 1px dashed #d7d8de !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.tb-empty-icon,
.tb-account-empty-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  background: #f3f0f6 !important;
  color: var(--tb-violet-700) !important;
}
.alert,
.tb-form-alert,
.tb-account-alert,
.tb-myapps-alert,
.tb-app-pay-error,
.tb-service-success,
.tb-success-message {
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

/* ---------------- Motion ---------------- */
@media (prefers-reduced-motion: no-preference) {
  .reveal:not(.is-visible):not(.visible) { transform: translateY(8px) !important; }
  .reveal.is-visible, .reveal.visible { transition: opacity .3s ease, transform .3s ease !important; }
}

/* ---------------- Responsive ---------------- */
@media (max-width: 1199.98px) {
  .tb-main-menu > .nav-item > .nav-link { padding-inline: 8px !important; }
}

@media (max-width: 991.98px) {
  :root { --tb-header-height: 64px; }
  .tb-header { min-height: 64px !important; }
  .tb-navbar { min-height: 64px !important; }
  .tb-navbar .navbar-brand img { height: 40px !important; }
  .navbar-toggler { border: 1px solid var(--tb-border) !important; border-radius: 7px !important; padding: 6px 8px !important; }
  .navbar-collapse {
    margin-top: 8px !important;
    padding: 8px !important;
    background: #fff !important;
    border: 1px solid var(--tb-border) !important;
    border-radius: 9px !important;
    box-shadow: var(--tb-shadow-md) !important;
  }
  .tb-main-menu { align-items: stretch !important; }
  .tb-main-menu > .nav-item { display: block !important; }
  .tb-main-menu > .nav-item > .nav-link { width: 100% !important; justify-content: flex-start !important; }
  .tb-client-account-shell { grid-template-columns: 1fr !important; }
  .tb-client-account-sidebar { position: static !important; }
  .tb-client-account-nav { display: flex !important; overflow-x: auto !important; padding-bottom: 4px !important; }
  .tb-client-account-nav a,
  .tb-client-account-nav button { white-space: nowrap !important; }
  .details { grid-template-columns: 1fr !important; }
  .plan { position: static !important; }
}

@media (max-width: 767.98px) {
  body { font-size: 14px !important; }
  .container { width: min(100% - 24px, var(--tb-container)) !important; }
  .tb-section, .section, .page-section { padding-block: 36px !important; }
  h1 { font-size: clamp(1.8rem, 8vw, 2.55rem) !important; }
  h2 { font-size: clamp(1.35rem, 6vw, 1.8rem) !important; }
  .tb-hero-content h1 { font-size: clamp(2rem, 10vw, 3rem) !important; }
  .tb-hero-actions { flex-wrap: wrap !important; }
  .tb-hero-actions .btn { flex: 1 1 auto !important; }
  .page-intro, .center-head { padding-block: 28px 18px !important; }
  .tb-service-form-wrap,
  .tb-smart-visa-app .form-wrap { padding-inline: 12px !important; }
  .form-card,
  .tb-service-card { padding: 14px !important; }
  .tb-service-grid,
  .tb-smart-visa-app .grid,
  .tb-profile-grid { grid-template-columns: 1fr !important; }
  .tb-service-grid .span2,
  .tb-service-grid .span3,
  .tb-smart-visa-app .span-2,
  .tb-profile-grid .wide { grid-column: 1 !important; }
  .tb-choice-grid,
  .tb-upload-grid { grid-template-columns: 1fr !important; }
  .tb-service-actions,
  .form-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .tb-service-actions .tb-service-btn,
  .form-actions button { width: 100% !important; }
  .tb-lead-popup-dialog { width: min(94vw, 620px) !important; max-height: 90vh !important; overflow-y: auto !important; }
  .tb-lead-popup-visual { display: none !important; }
  .tb-lead-popup-form-wrap { width: 100% !important; padding: 18px !important; }
  .tb-footer-bottom { align-items: flex-start !important; gap: 10px !important; }
}

@media (max-width: 575.98px) {
  .tb-visa-listing { grid-template-columns: 1fr !important; }
  .tb-visa-listing .card-img { aspect-ratio: 16 / 9 !important; }
  .tb-topbar { display: none !important; }
  .tb-hero-arrow { display: none !important; }
  .btn, .tb-btn, .tb-service-btn { min-height: 40px !important; }
}

/* =========================================================
   Visa destination cards — strict professional grid alignment
   Equal meta / media / copy zones; preserve the full image.
   ========================================================= */
.tb-visa-page .tb-visa-listing {
  align-items: stretch !important;
}

.tb-visa-page .tb-visa-listing .country-card,
.tb-visa-page .tb-visa-listing .country-card:nth-child(n) {
  display: grid !important;
  grid-template-rows: 72px auto 76px !important;
  height: 100% !important;
  min-height: 0 !important;
  align-self: stretch !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-meta {
  height: 72px !important;
  min-height: 72px !important;
  padding: 14px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-meta b {
  min-width: 0 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  line-height: 1.35 !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-meta span {
  flex: 0 0 auto !important;
  align-self: center !important;
  white-space: nowrap !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
  background: #f3f4f6 !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-img > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-copy {
  height: 76px !important;
  min-height: 76px !important;
  padding: 14px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.tb-visa-page .tb-visa-listing .country-card .card-copy h3,
.tb-visa-page .tb-visa-listing .country-card .card-copy p {
  flex: 0 0 auto !important;
}

@media (max-width: 767.98px) {
  .tb-visa-page .tb-visa-listing .country-card,
  .tb-visa-page .tb-visa-listing .country-card:nth-child(n) {
    grid-template-rows: auto auto auto !important;
    height: auto !important;
  }

  .tb-visa-page .tb-visa-listing .country-card .card-meta {
    height: auto !important;
    min-height: 58px !important;
  }

  .tb-visa-page .tb-visa-listing .country-card .card-copy {
    height: auto !important;
    min-height: 70px !important;
  }
}

/* =========================================================
   Homepage hero — CRM multi-banner, full-bleed media and plain navigation
   ========================================================= */
body.tb-home-page .tb-main-menu {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  gap: 2px !important;
  overflow: visible !important;
}
body.tb-home-page .tb-main-menu > .nav-item > .nav-link,
body.tb-home-page .tb-main-menu > .nav-item:first-child > .nav-link,
body.tb-home-page .tb-main-menu > .nav-item:last-child > .nav-link {
  min-height: 44px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #3f3a46 !important;
}
body.tb-home-page .tb-main-menu > .nav-item > .nav-link:hover,
body.tb-home-page .tb-main-menu > .nav-item > .nav-link.active {
  color: #0f766e !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.tb-home-page .tb-main-menu > .nav-item > .nav-link::after { display: none !important; }
body.tb-home-page .tb-main-menu > .nav-item > .nav-link > i:first-child { color: #746d7b !important; }
body.tb-home-page .tb-main-menu > .nav-item > .nav-link:hover > i:first-child,
body.tb-home-page .tb-main-menu > .nav-item > .nav-link.active > i:first-child { color: #0f766e !important; }

body.tb-home-page .tb-reference-home .tb-home-banner-hero {
  position: relative !important;
  min-height: calc(100svh - 126px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #111827 !important;
  display: block !important;
}
body.tb-home-page .tb-home-banner-hero::after { display: none !important; }
.tb-home-banner-track { position: absolute; inset: 0; z-index: 0; }
.tb-home-banner-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .55s ease, visibility .55s ease;
  background-image: var(--tb-home-banner-image);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tb-home-banner-slide.active { opacity: 1; visibility: visible; z-index: 1; }
.tb-home-banner-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(10,15,24,.72) 0%,rgba(10,15,24,.52) 44%,rgba(10,15,24,.28) 100%); }
body.tb-home-page .tb-reference-hero .tb-home-banner-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(1040px, calc(100% - 48px));
  min-height: 0 !important;
  margin: 86px auto 0 !important;
  padding: 72px 0 44px !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1 { margin: 14px auto 10px !important; }
body.tb-home-page .tb-reference-hero .tb-home-banner-copy > p { max-width: 900px !important; margin: 0 auto 20px !important; }
body.tb-home-page .tb-reference-hero .tb-home-banner-search {
  position: absolute !important;
  z-index: 5 !important;
  top: 46px;
  left: 50%;
  transform: translateX(-50%);
  width: min(1060px, calc(100% - 48px));
  margin: 0 !important;
}
.tb-home-banner-arrow {
  position: absolute;
  z-index: 6;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  background: rgba(11,18,29,.36);
  color: #fff;
  display: grid;
  place-items: center;
  backdrop-filter: blur(5px);
}
.tb-home-banner-prev { left: 24px; }
.tb-home-banner-next { right: 24px; }
.tb-home-banner-dots { position: absolute; z-index: 6; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; gap: 7px; }
.tb-home-banner-dots button { width: 24px; height: 4px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.45); }
.tb-home-banner-dots button.active { background: #fff; width: 38px; }

/* Visa Master section-media galleries rendered on public country Visa pages. */
.tb-visa-section-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 18px 0 22px;
  overflow: hidden;
  border: 1px solid #e4e7ec;
  border-radius: 12px;
  background: #f8fafc;
}
.tb-visa-section-track,
.tb-visa-section-slide { position: absolute; inset: 0; margin: 0; }
.tb-visa-section-slide { opacity: 0; visibility: hidden; transition: opacity .4s ease, visibility .4s ease; }
.tb-visa-section-slide.active { opacity: 1; visibility: visible; }
.tb-visa-section-slide img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.tb-visa-section-prev,
.tb-visa-section-next { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(15,23,42,.62); color: #fff; display: grid; place-items: center; }
.tb-visa-section-prev { left: 12px; }
.tb-visa-section-next { right: 12px; }
.tb-visa-section-dots { position: absolute; z-index: 3; left: 50%; bottom: 10px; transform: translateX(-50%); display: flex; gap: 6px; }
.tb-visa-section-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); }
.tb-visa-section-dots button.active { background: #fff; transform: scale(1.2); }
.tb-visa-hero-media { aspect-ratio: 18 / 7; margin-top: 18px; border-radius: 18px; }
.tb-visa-plan-media { aspect-ratio: 4 / 3; margin: 0 0 16px; }

@media (max-width: 991.98px) {
  body.tb-home-page .tb-reference-home .tb-home-banner-hero { min-height: 620px !important; }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search { top: 26px; width: min(760px, calc(100% - 32px)); }
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy { margin-top: 110px !important; width: min(760px, calc(100% - 32px)); }
  .tb-home-banner-arrow { display: none; }
}
@media (max-width: 720px) {
  body.tb-home-page .tb-main-menu > .nav-item > .nav-link { border-right: 0 !important; }
  body.tb-home-page .tb-reference-home .tb-home-banner-hero { min-height: 560px !important; }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search { top: 18px; display: grid; grid-template-columns: 1fr; gap: 8px; }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .explore-btn { display: none; }
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy { margin-top: 92px !important; padding: 60px 0 50px !important; }
  .tb-home-banner-shade { background: rgba(8,12,19,.54); }
  .tb-visa-hero-media { aspect-ratio: 16 / 10; }
}

/* =========================================================
   Full-bleed public hero/header alignment
   Banner/hero media extends underneath the main navigation on every public
   page family that has a visual hero. Non-hero/account/status pages keep the
   normal document flow.
   ========================================================= */
@media (min-width: 992px) {
  body.tb-home-page,
  body.tb-reference-booking-page,
  body.tb-service-form-page,
  body.tb-visa-application-page,
  body:has(.tb-page-hero),
  body:has(.tb-flight-page-hero),
  body:has(.tb-package-detail-hero),
  body:has(.tb-client-account-hero),
  body:has(.booking-hero) {
    --tb-public-overlay-header: var(--tb-header-height, 72px);
  }

  body.tb-home-page .tb-header,
  body.tb-reference-booking-page .tb-header,
  body.tb-service-form-page .tb-header,
  body.tb-visa-application-page .tb-header,
  body:has(.tb-page-hero) .tb-header,
  body:has(.tb-flight-page-hero) .tb-header,
  body:has(.tb-package-detail-hero) .tb-header,
  body:has(.tb-client-account-hero) .tb-header,
  body:has(.booking-hero) .tb-header {
    position: relative !important;
    z-index: 80 !important;
    margin-bottom: calc(-1 * var(--tb-public-overlay-header)) !important;
    background: rgba(9, 22, 39, .62) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }

  body.tb-home-page .tb-header .navbar-brand img,
  body.tb-reference-booking-page .tb-header .navbar-brand img,
  body.tb-service-form-page .tb-header .navbar-brand img,
  body.tb-visa-application-page .tb-header .navbar-brand img,
  body:has(.tb-page-hero) .tb-header .navbar-brand img,
  body:has(.tb-flight-page-hero) .tb-header .navbar-brand img,
  body:has(.tb-package-detail-hero) .tb-header .navbar-brand img,
  body:has(.tb-client-account-hero) .tb-header .navbar-brand img,
  body:has(.booking-hero) .tb-header .navbar-brand img {
    filter: brightness(0) invert(1) !important;
  }

  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body.tb-reference-booking-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body.tb-service-form-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body.tb-visa-application-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.tb-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.tb-flight-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.tb-package-detail-hero) .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.tb-client-account-hero) .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.booking-hero) .tb-header .tb-main-menu > .nav-item > .nav-link {
    color: rgba(255,255,255,.90) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body.tb-reference-booking-page .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body.tb-service-form-page .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body.tb-visa-application-page .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.tb-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.tb-flight-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.tb-package-detail-hero) .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.tb-client-account-hero) .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.booking-hero) .tb-header .tb-main-menu > .nav-item > .nav-link i {
    color: rgba(255,255,255,.72) !important;
  }

  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body.tb-reference-booking-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-reference-booking-page .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body.tb-service-form-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-service-form-page .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body.tb-visa-application-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-visa-application-page .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.tb-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.tb-flight-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-flight-page-hero) .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.tb-package-detail-hero) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-package-detail-hero) .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.tb-client-account-hero) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-client-account-hero) .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.booking-hero) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.booking-hero) .tb-header .tb-main-menu > .nav-item > .nav-link.active {
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
  }

  body.tb-home-page .tb-header .tb-client-login-btn,
  body.tb-reference-booking-page .tb-header .tb-client-login-btn,
  body.tb-service-form-page .tb-header .tb-client-login-btn,
  body.tb-visa-application-page .tb-header .tb-client-login-btn,
  body:has(.tb-page-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-flight-page-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-package-detail-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-client-account-hero) .tb-header .tb-client-login-btn,
  body:has(.booking-hero) .tb-header .tb-client-login-btn,
  body.tb-home-page .tb-header .tb-client-menu-btn,
  body.tb-reference-booking-page .tb-header .tb-client-menu-btn,
  body.tb-service-form-page .tb-header .tb-client-menu-btn,
  body.tb-visa-application-page .tb-header .tb-client-menu-btn,
  body:has(.tb-page-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-flight-page-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-package-detail-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-client-account-hero) .tb-header .tb-client-menu-btn,
  body:has(.booking-hero) .tb-header .tb-client-menu-btn {
    color: #fff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    border-radius: 8px !important;
    padding-inline: 16px !important;
  }

  /* Home banner now visually begins immediately below the contact topbar. */
  body.tb-home-page .tb-reference-home .tb-home-banner-hero {
    min-height: calc(100svh - 34px) !important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search {
    top: calc(var(--tb-public-overlay-header) + 34px) !important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy {
    margin-top: calc(var(--tb-public-overlay-header) + 96px) !important;
  }

  /* Generic inner-page heroes retain readable content below the overlaid nav. */
  body:has(.tb-page-hero) .tb-page-hero {
    padding-top: calc(72px + var(--tb-public-overlay-header)) !important;
  }
  body.tb-reference-booking-page .booking-hero-inner,
  body:has(.booking-hero) .booking-hero-inner {
    padding-top: calc(64px + var(--tb-public-overlay-header)) !important;
  }
  body.tb-service-form-page .tb-service-form-hero {
    padding-top: calc(54px + var(--tb-public-overlay-header)) !important;
  }
  body.tb-visa-application-page .tb-smart-visa-app .hero {
    padding-top: calc(62px + var(--tb-public-overlay-header)) !important;
  }
  body:has(.tb-flight-page-hero) .tb-flight-page-hero {
    padding-top: calc(44px + var(--tb-public-overlay-header)) !important;
  }
  body:has(.tb-client-account-hero) .tb-client-account-hero {
    padding-top: calc(44px + var(--tb-public-overlay-header)) !important;
  }
  body:has(.tb-package-detail-hero) .tb-package-detail-hero {
    padding-top: var(--tb-public-overlay-header) !important;
  }
}

/* On compact screens the standard mobile navigation remains in normal flow;
   only the media itself stays edge-to-edge below it. */
@media (max-width: 991.98px) {
  body.tb-home-page .tb-reference-home .tb-home-banner-hero,
  .tb-page-hero,
  .booking-hero,
  .tb-flight-page-hero,
  .tb-service-form-hero,
  .tb-client-account-hero,
  .tb-package-detail-hero {
    margin-top: 0 !important;
  }
}

/* =========================================================
   Application journey — shared public flow from discovery to CRM tracking
   ========================================================= */
.tb-application-journey{
  margin:18px 0 24px;
  padding:14px 16px 16px;
  border:1px solid var(--tb-border,#e2e8f0);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
.tb-application-journey-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.tb-application-journey-head span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#0f766e}
.tb-application-journey-head strong{font-size:12px;color:#475569}
.tb-application-journey ol{display:grid;grid-template-columns:repeat(var(--tb-journey-columns,7),minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
.tb-application-journey li{position:relative;display:flex;align-items:flex-start;gap:8px;min-width:0;padding:0 10px 0 0}
.tb-application-journey li:not(:last-child)::after{content:"";position:absolute;top:14px;left:31px;right:0;height:1px;background:#dbe4ee;z-index:0}
.tb-application-journey li>span{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#64748b;font-size:11px;font-weight:800}
.tb-application-journey li>div{position:relative;z-index:1;min-width:0;background:#fff;padding-right:4px}
.tb-application-journey li b{display:block;font-size:11px;line-height:1.25;color:#334155}
.tb-application-journey li small{display:block;margin-top:2px;font-size:9.5px;line-height:1.3;color:#94a3b8}
.tb-application-journey li.done>span{border-color:#99f6e4;background:#ccfbf1;color:#0f766e}
.tb-application-journey li.done:not(:last-child)::after{background:#99f6e4}
.tb-application-journey li.active>span{border-color:#0f766e;background:#0f766e;color:#fff}
.tb-application-journey li.active b{color:#0f766e}
.tb-application-journey.compact{margin:12px 0 18px;padding:12px}
.tb-visa-master-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px}
.tb-visa-master-doc{display:flex;align-items:flex-start;gap:9px;border:1px solid #e2e8f0;border-radius:8px;padding:10px;background:#fff}
.tb-visa-master-doc i{margin-top:2px;color:#0f766e}
.tb-visa-master-doc b{display:block;font-size:12px;color:#0f172a}
.tb-visa-master-doc small{display:block;margin-top:2px;color:#64748b;font-size:10px;line-height:1.35}
.tb-visa-master-doc em{display:inline-flex;margin-top:5px;padding:2px 6px;border-radius:4px;background:#f1f5f9;color:#475569;font-style:normal;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.tb-visa-master-doc em.required{background:#fff7ed;color:#c2410c}
@media(max-width:1100px){
  .tb-application-journey ol{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}
  .tb-application-journey li:nth-child(4)::after{display:none}
}
@media(max-width:767px){
  .tb-application-journey{padding:12px;margin:12px 0 18px;overflow:hidden}
  .tb-application-journey-head{align-items:flex-start;flex-direction:column;gap:2px}
  .tb-application-journey ol{display:flex;overflow-x:auto;gap:12px;padding-bottom:4px;scrollbar-width:thin}
  .tb-application-journey li{flex:0 0 150px;padding-right:0}
  .tb-application-journey li::after{display:none!important}
  .tb-visa-master-docs{grid-template-columns:1fr}
}
.tb-visa-application-context{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-4px 0 14px;padding:10px 12px;border:1px solid #dbe4ee;border-radius:8px;background:#f8fafc}
.tb-visa-application-context small{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}
.tb-visa-application-context strong{display:block;margin-top:2px;font-size:12px;color:#0f172a}
.tb-visa-application-context a{font-size:11px;font-weight:800;color:#0f766e;text-decoration:none}
@media(max-width:640px){.tb-visa-application-context{align-items:flex-start;flex-direction:column}}

/* End-to-end public service path: hero -> application service -> master/form flow. */
.tb-home-application-path{padding:28px 0;background:#fff;border-bottom:1px solid var(--ui-border,#e2e8f0)}
.tb-home-application-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.tb-home-application-head span{font-size:11px;letter-spacing:.08em;font-weight:800;color:var(--ui-primary,#0f766e)}
.tb-home-application-head h2{font-size:24px;line-height:1.25;margin:4px 0 0;color:var(--ui-text,#0f172a)}
.tb-home-application-head>a{font-size:13px;font-weight:750;color:var(--ui-primary,#0f766e);text-decoration:none;white-space:nowrap}
.tb-home-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tb-home-application-card{display:flex;gap:13px;padding:16px;border:1px solid var(--ui-border,#e2e8f0);border-radius:10px;background:#fff;text-decoration:none;color:inherit;min-width:0}
.tb-home-application-card>i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#ecfdf5;color:var(--ui-primary,#0f766e)}
.tb-home-application-card b{display:block;color:var(--ui-text,#0f172a);font-size:15px}
.tb-home-application-card p{margin:4px 0 9px;color:var(--ui-text-muted,#64748b);font-size:12.5px;line-height:1.45}
.tb-home-application-card span{font-size:12px;font-weight:750;color:var(--ui-primary,#0f766e)}
.tb-home-application-card:hover{border-color:#99d5cf;background:#fbfefd}
@media(max-width:900px){.tb-home-application-grid{grid-template-columns:1fr}.tb-home-application-head{align-items:start;flex-direction:column}.tb-home-application-head h2{font-size:21px}}


/* =========================================================
   STABLE HOMEPAGE HERO - final authoritative layer
   CRM banner images render as real <img> elements so old/current media URLs
   and image-load failures are handled reliably. This block intentionally
   overrides earlier experimental full-bleed positioning.
   ========================================================= */
body.tb-home-page .tb-reference-home .tb-home-banner-hero{
  position:relative!important;
  min-height:clamp(650px,calc(100svh - 34px),860px)!important;
  padding:0!important;
  overflow:hidden!important;
  background:#101827!important;
  isolation:isolate;
}
body.tb-home-page .tb-home-banner-track{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}
body.tb-home-page .tb-home-banner-slide{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  background:#101827!important;
  transition:opacity .5s ease,visibility .5s ease;
}
body.tb-home-page .tb-home-banner-slide.active{opacity:1!important;visibility:visible!important;z-index:1!important}
body.tb-home-page .tb-home-banner-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}
body.tb-home-page .tb-home-banner-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(7,15,27,.46) 0%,rgba(7,15,27,.42) 34%,rgba(7,15,27,.62) 100%)!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
  position:relative!important;
  z-index:2!important;
  width:min(1000px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding:clamp(150px,18vh,205px) 0 170px!important;
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy .hero-kicker{margin:0 0 14px!important}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{
  margin:0 auto 14px!important;
  max-width:980px!important;
  font-size:clamp(40px,5vw,72px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{
  max-width:820px!important;
  margin:0 auto 22px!important;
  font-size:clamp(16px,1.3vw,20px)!important;
  line-height:1.55!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search{
  position:absolute!important;
  z-index:7!important;
  top:auto!important;
  bottom:42px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1040px,calc(100% - 64px))!important;
  margin:0!important;
}
body.tb-home-page .tb-home-banner-arrow{z-index:8!important}
body.tb-home-page .tb-home-banner-dots{z-index:8!important}

@media (min-width:992px){
  body.tb-home-page .tb-header{
    position:relative!important;
    z-index:80!important;
    margin-bottom:calc(-1 * var(--tb-public-overlay-header,72px))!important;
  }
}
@media (max-width:991.98px){
  body.tb-home-page .tb-reference-home .tb-home-banner-hero{min-height:620px!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
    width:min(760px,calc(100% - 36px))!important;
    padding:80px 0 150px!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search{
    width:calc(100% - 32px)!important;
    bottom:24px!important;
  }
}
@media (max-width:575.98px){
  body.tb-home-page .tb-reference-home .tb-home-banner-hero{min-height:570px!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy{padding:58px 0 130px!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{font-size:clamp(32px,10vw,46px)!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{font-size:15px!important}
  body.tb-home-page .tb-home-banner-media{object-position:center center}
}

/* =========================================================
   HOMEPAGE HERO CLEANUP - no borders/shadows, continuous media,
   compact title and no decorative kicker pill.
   ========================================================= */
body.tb-home-page .tb-topbar{
  border:0!important;
  box-shadow:none!important;
}

@media (min-width:992px){
  /* Keep the banner continuous immediately below the contact topbar and
     place navigation directly over the image without a separate strip. */
  body.tb-home-page .tb-header{
    position:absolute!important;
    top:34px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    z-index:80!important;
    background:rgba(7,15,27,.30)!important;
    border:0!important;
    border-bottom:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body.tb-home-page .tb-header .tb-navbar,
  body.tb-home-page .tb-header .container{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link.active{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  body.tb-home-page .tb-header .tb-client-login-btn,
  body.tb-home-page .tb-header .tb-client-menu-btn{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  body.tb-home-page .tb-reference-home .tb-home-banner-hero{
    margin-top:0!important;
    min-height:calc(100svh - 34px)!important;
  }
}

body.tb-home-page .tb-home-banner-media{
  object-position:center top!important;
}
body.tb-home-page .tb-home-banner-shade{
  background:linear-gradient(180deg,rgba(7,15,27,.34) 0%,rgba(7,15,27,.31) 35%,rgba(7,15,27,.50) 100%)!important;
}

/* Remove the decorative subtitle pill from the centre of the hero. */
body.tb-home-page .tb-reference-hero .tb-home-banner-copy .hero-kicker{
  display:none!important;
}

/* Smaller, cleaner hero typography. */
body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{
  max-width:900px!important;
  margin:0 auto 12px!important;
  font-size:clamp(36px,3.7vw,58px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{
  max-width:760px!important;
  font-size:clamp(15px,1.05vw,18px)!important;
  text-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
  padding-top:clamp(118px,14vh,160px)!important;
  padding-bottom:155px!important;
}

/* Search area: remove the extra outer frame, glow and shadow. */
body.tb-home-page .tb-reference-hero .tb-home-banner-search,
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search-wrap{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:10px!important;
  background:#fff!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search input{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search button{
  border:0!important;
  box-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .explore-btn{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(7,15,27,.48)!important;
}

/* Slider controls stay functional but without outlined rings or shadows. */
body.tb-home-page .tb-home-banner-arrow{
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:rgba(7,15,27,.34)!important;
}
body.tb-home-page .tb-home-banner-dots button{
  box-shadow:none!important;
  border:0!important;
}

@media (max-width:991.98px){
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{
    font-size:clamp(32px,7vw,48px)!important;
  }
}
@media (max-width:575.98px){
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{
    font-size:clamp(29px,9vw,40px)!important;
  }
}

/* =========================================================
   HOMEPAGE HERO TOP-CLEAN FINAL OVERRIDE
   - no contact/social strip on homepage
   - banner begins at the very top of the public page
   - navigation overlays the banner
   - no decorative slider arrows/dots in corners
   - destination search uses a clean oval/pill shape
   ========================================================= */
body.tb-home-page .tb-topbar{
  display:none!important;
}

@media (min-width:992px){
  body.tb-home-page .tb-header{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    z-index:80!important;
    background:rgba(7,15,27,.28)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.tb-home-page .tb-reference-home .tb-home-banner-hero{
    margin-top:0!important;
    min-height:100svh!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
    padding-top:clamp(105px,13vh,145px)!important;
  }
}

/* Remove corner/slider decoration; autoplay remains handled by JS. */
body.tb-home-page .tb-home-banner-arrow,
body.tb-home-page .tb-home-banner-dots{
  display:none!important;
}

/* Clean oval search control. */
body.tb-home-page .tb-reference-hero .tb-home-banner-search{
  border:0!important;
  box-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search{
  border-radius:999px!important;
  overflow:hidden!important;
  min-height:64px!important;
  padding-left:24px!important;
  padding-right:6px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search input{
  min-height:58px!important;
  border-radius:999px!important;
  padding-left:8px!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .search button{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:50%!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}

/* Keep Explore visually simple if it is enabled beside search. */
body.tb-home-page .tb-reference-hero .tb-home-banner-search .explore-btn{
  border-radius:999px!important;
  border:0!important;
  box-shadow:none!important;
}

@media (max-width:991.98px){
  /* Mobile keeps the normal navigation flow, but homepage contact strip stays removed. */
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .search{
    min-height:58px!important;
    padding-left:18px!important;
    padding-right:5px!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .search input{
    min-height:52px!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .search button{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
  }
}


/* 2026-08-11: homepage unified Visa / Insurance / destination search. */
body.tb-home-page .tb-reference-hero .tb-home-banner-search{
  display:block!important;
  width:min(1120px,calc(100% - 64px))!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .results{
  left:0!important;
  right:0!important;
  width:100%!important;
  top:72px!important;
  border-radius:16px!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .results a span{
  display:flex;
  align-items:center;
  gap:10px;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .results a span i{
  width:18px;
  text-align:center;
  color:var(--tb-primary,#148c83);
}
@media (max-width:720px){
  body.tb-home-page .tb-reference-hero .tb-home-banner-search{
    width:calc(100% - 24px)!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .results{
    top:64px!important;
  }
}

/* =========================================================
   HOMEPAGE SEARCH RESULTS CLIP FIX - 2026-08-11
   Search sits at the bottom of the hero, so results must expand upward to
   stay inside the hero instead of being clipped by its overflow boundary.
   ========================================================= */
body.tb-home-page .tb-reference-hero .tb-home-banner-search .results{
  top:auto!important;
  bottom:72px!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-height:min(360px,calc(100svh - 220px))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:30!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(15,23,42,.12)!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-search .results a{
  min-height:48px;
  align-items:center;
}
@media (max-width:720px){
  body.tb-home-page .tb-reference-hero .tb-home-banner-search .results{
    top:auto!important;
    bottom:66px!important;
    max-height:min(300px,calc(100svh - 190px))!important;
  }
}


/* =========================================================
   Homepage flight / hotel booking ticker
   Customer-facing copy only; no internal CRM/API terminology.
   ========================================================= */
.tb-booking-ticker{
  position:relative;
  overflow:hidden;
  width:100%;
  background:#0f766e;
  color:#fff;
  border:0;
}
.tb-booking-ticker-track{
  display:flex;
  align-items:center;
  width:max-content;
  min-height:48px;
  white-space:nowrap;
  animation:tbBookingTickerMove 34s linear infinite;
  will-change:transform;
}
.tb-booking-ticker:hover .tb-booking-ticker-track{animation-play-state:paused;}
.tb-booking-ticker a,
.tb-booking-ticker-note{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:0 26px;
  min-height:48px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
}
.tb-booking-ticker a:hover{background:rgba(255,255,255,.08);}
.tb-booking-ticker i{font-size:14px;color:#fff;}
.tb-booking-ticker strong{font-size:13px;font-weight:750;letter-spacing:.01em;}
.tb-booking-ticker span span,
.tb-booking-ticker a span{opacity:.86;font-weight:500;}
.tb-booking-ticker-dot{
  width:4px;
  height:4px;
  flex:0 0 4px;
  border-radius:50%;
  background:rgba(255,255,255,.5);
}
@keyframes tbBookingTickerMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){
  .tb-booking-ticker-track{animation:none;}
}
@media (max-width:767px){
  .tb-booking-ticker-track{min-height:44px;animation-duration:28s;}
  .tb-booking-ticker a,
  .tb-booking-ticker-note{min-height:44px;padding:0 18px;font-size:12px;gap:7px;}
  .tb-booking-ticker strong{font-size:12px;}
}

/* Homepage CRM testimonials replacing the old stats block */
body.tb-home-page .tb-home-reviews {
  padding: 64px 0 72px;
  background: #fff;
  border-top: 1px solid #e8edf3;
}
body.tb-home-page .tb-home-reviews-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}
body.tb-home-page .tb-home-reviews-kicker {
  display: block;
  margin-bottom: 8px;
  color: #087c78;
  font: 800 12px/1.2 "DM Sans", Inter, sans-serif;
  letter-spacing: .12em;
}
body.tb-home-page .tb-home-reviews h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.12;
}
body.tb-home-page .tb-home-reviews-head p {
  margin: 0;
  color: #667085;
  font-size: 15px;
}
body.tb-home-page .tb-home-reviews-controls {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
body.tb-home-page .tb-home-review-arrow {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe3ec;
  border-radius: 50%;
  background: #fff;
  color: #087c78;
  box-shadow: none;
}
body.tb-home-page .tb-home-review-arrow:hover {
  background: #f3fbfa;
  border-color: #b9dcda;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-shell {
  display: block;
  overflow: hidden;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-window {
  padding: 0 !important;
  overflow: hidden !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-track {
  display: flex !important;
  gap: 18px !important;
  padding: 2px 0 8px !important;
  overflow: hidden !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-card {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  min-width: calc((100% - 36px) / 3) !important;
  min-height: 220px !important;
  padding: 24px !important;
  border: 1px solid #e1e7ee !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
}
body.tb-home-page .tb-home-reviews .tb-stars {
  margin-bottom: 14px !important;
  color: #e5a500 !important;
  font-size: 14px !important;
  letter-spacing: 2px !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-card > p {
  margin: 0 0 22px !important;
  color: #475467 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  flex: 1;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-author {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-author img {
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-author h4 {
  margin: 0 0 2px !important;
  color: #101828 !important;
  font: 800 14px/1.25 "DM Sans", Inter, sans-serif !important;
}
body.tb-home-page .tb-home-reviews .tb-testimonial-author span {
  color: #667085 !important;
  font-size: 12px !important;
}

/* Dynamic footer map driven by Website Settings > Contact Settings address/map fields */
.tb-footer .tb-footer-map-block {
  display: grid;
  grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.tb-footer .tb-footer-map-copy {
  padding: 6px 0;
}
.tb-footer .tb-footer-map-copy > span {
  display: block;
  margin-bottom: 7px;
  color: #7dd7d2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}
.tb-footer .tb-footer-map-copy h4 {
  margin: 0 0 10px;
  font-size: 22px;
}
.tb-footer .tb-footer-map-copy p {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin: 0;
  color: #d6deea;
  line-height: 1.65;
}
.tb-footer .tb-footer-map-copy i {
  margin-top: 4px;
  color: #2bb7b0;
}
.tb-footer .tb-footer-map-frame {
  overflow: hidden;
  min-height: 220px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  background: #0b1726;
}
.tb-footer .tb-footer-map-frame iframe {
  width: 100%;
  height: 220px;
  display: block;
  border: 0;
}
@media (max-width: 991px) {
  body.tb-home-page .tb-home-reviews .tb-testimonial-card {
    flex-basis: calc((100% - 18px) / 2) !important;
    min-width: calc((100% - 18px) / 2) !important;
  }
  .tb-footer .tb-footer-map-block { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body.tb-home-page .tb-home-reviews { padding: 48px 0 56px; }
  body.tb-home-page .tb-home-reviews-head { align-items: flex-start; }
  body.tb-home-page .tb-home-reviews .tb-testimonial-card {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
  .tb-footer .tb-footer-map-frame,
  .tb-footer .tb-footer-map-frame iframe { min-height: 200px; height: 200px; }
}


/* 2026-08-11: compact footer location + clearer testimonial colour */
body.tb-home-page .tb-home-reviews {
  padding: 54px 0 60px !important;
  background: #eef8f6 !important;
  border-top: 1px solid #d7ebe7 !important;
  border-bottom: 1px solid #d7ebe7 !important;
}
body.tb-home-page .tb-home-reviews .container {
  position: relative;
}
body.tb-home-page .tb-home-reviews-kicker { color: #087c78 !important; }
body.tb-home-page .tb-home-reviews h2 { color: #132238 !important; }
body.tb-home-page .tb-home-reviews-head p { color: #526174 !important; }
body.tb-home-page .tb-home-reviews .tb-testimonial-card {
  background: #ffffff !important;
  border: 1px solid #cfe4e0 !important;
  border-top: 3px solid #0d8d88 !important;
  min-height: 206px !important;
}
body.tb-home-page .tb-home-review-arrow {
  background: #ffffff !important;
  border-color: #badbd6 !important;
  color: #087c78 !important;
}
body.tb-home-page .tb-home-review-arrow:hover {
  background: #087c78 !important;
  border-color: #087c78 !important;
  color: #ffffff !important;
}

body.tb-home-page .tb-footer > .container {
  padding: 28px 34px 20px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.tb-footer .tb-footer-map-block {
  display: block !important;
  margin-top: 22px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
.tb-footer .tb-footer-map-copy { display: none !important; }
.tb-footer .tb-footer-map-frame {
  width: 100% !important;
  min-height: 148px !important;
  height: 148px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.tb-footer .tb-footer-map-frame iframe {
  width: 100% !important;
  min-height: 148px !important;
  height: 148px !important;
}
.tb-footer .tb-footer-bottom {
  margin-top: 20px !important;
  padding-top: 18px !important;
}
@media (max-width: 767px) {
  body.tb-home-page .tb-home-reviews { padding: 42px 0 46px !important; }
  body.tb-home-page .tb-footer > .container { padding: 24px 20px 18px !important; }
  .tb-footer .tb-footer-map-block { margin-top: 18px !important; padding-top: 16px !important; }
  .tb-footer .tb-footer-map-frame,
  .tb-footer .tb-footer-map-frame iframe {
    min-height: 170px !important;
    height: 170px !important;
  }
}

/* 2026-08-11: final homepage testimonial width fix.
   The legacy tb-home-testimonial-shell is a 3-column arrow grid; the new
   reviews section keeps arrows in the heading, so its slider shell must
   occupy the full content width. */
body.tb-home-page .tb-home-reviews .tb-home-reviews-shell {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden !important;
}
body.tb-home-page .tb-home-reviews .tb-home-reviews-shell .tb-testimonial-window {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
body.tb-home-page .tb-home-reviews .tb-home-reviews-shell .tb-testimonial-track {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 18px !important;
  overflow: hidden !important;
}
body.tb-home-page .tb-home-reviews .tb-home-reviews-shell .tb-testimonial-card {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
  min-width: calc((100% - 36px) / 3) !important;
  max-width: calc((100% - 36px) / 3) !important;
  box-sizing: border-box !important;
}
@media (max-width: 991px) {
  body.tb-home-page .tb-home-reviews .tb-home-reviews-shell .tb-testimonial-card {
    flex-basis: calc((100% - 18px) / 2) !important;
    width: calc((100% - 18px) / 2) !important;
    min-width: calc((100% - 18px) / 2) !important;
    max-width: calc((100% - 18px) / 2) !important;
  }
}
@media (max-width: 767px) {
  body.tb-home-page .tb-home-reviews .tb-home-reviews-shell .tb-testimonial-card {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* 2026-08-11: final CRM-driven homepage enhancement */
body.tb-home-page .tb-home-v2-section { padding: 64px 0; background:#fff; }
body.tb-home-page .tb-home-v2-section:nth-of-type(even) { background:#f8fafc; }
.tb-home-v2-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.tb-home-v2-heading > div { max-width:760px; }
.tb-home-v2-heading span, .tb-home-v2-process-copy > span { display:block; margin-bottom:8px; font-size:12px; font-weight:800; letter-spacing:.14em; color:#087c78; }
.tb-home-v2-heading h2, .tb-home-v2-process-copy h2 { margin:0; font-size:clamp(28px,3vw,42px); line-height:1.08; color:#122033; }
.tb-home-v2-heading p, .tb-home-v2-process-copy p { margin:10px 0 0; color:#64748b; font-size:15px; }
.tb-home-v2-heading > a { flex:0 0 auto; color:#087c78; font-weight:750; text-decoration:none; }

.tb-home-v2-visa-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.tb-home-v2-visa-card { display:block; overflow:hidden; background:#fff; border:1px solid #dbe5ea; border-radius:12px; color:inherit; text-decoration:none; }
.tb-home-v2-visa-card:hover { border-color:#9fcfc8; transform:translateY(-2px); }
.tb-home-v2-visa-card .tb-home-v2-media { display:block; aspect-ratio:16/9; background:#eef2f4; overflow:hidden; }
.tb-home-v2-visa-card img { width:100%; height:100%; object-fit:cover; display:block; }
.tb-home-v2-visa-body { display:block; padding:16px; }
.tb-home-v2-visa-body small { display:block; min-height:32px; color:#087c78; font-weight:700; font-size:12px; }
.tb-home-v2-visa-body strong { display:block; margin:7px 0 4px; color:#122033; font-size:19px; }
.tb-home-v2-visa-body > span { color:#64748b; font-size:13px; }

.tb-home-v2-package-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tb-home-v2-package-grid .tb-home-package-card { height:100%; margin:0 !important; }

.tb-home-v2-destination-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tb-home-v2-destination-card { position:relative; display:block; min-height:220px; overflow:hidden; border-radius:12px; background:#e8eef2; color:#fff; text-decoration:none; }
.tb-home-v2-destination-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.tb-home-v2-destination-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,20,30,.06),rgba(8,20,30,.78)); }
.tb-home-v2-destination-card > span { position:absolute; z-index:2; left:18px; right:18px; bottom:16px; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.tb-home-v2-destination-card strong { font-size:20px; }
.tb-home-v2-destination-card small { font-size:12px; }
.tb-home-v2-destination-card:hover img { transform:scale(1.035); }

.tb-home-v2-booking { padding-top:36px !important; padding-bottom:36px !important; }
.tb-home-v2-booking-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tb-home-v2-booking-grid > a { display:flex; gap:18px; align-items:center; padding:24px 26px; border:1px solid #d9e5e7; border-radius:12px; background:#fff; color:inherit; text-decoration:none; }
.tb-home-v2-booking-grid > a > i { width:50px; height:50px; border-radius:10px; display:grid; place-items:center; color:#087c78; background:#eaf8f5; font-size:21px; }
.tb-home-v2-booking-grid small { display:block; color:#087c78; font-weight:800; letter-spacing:.1em; font-size:11px; }
.tb-home-v2-booking-grid strong { display:block; margin:4px 0; color:#122033; font-size:20px; }
.tb-home-v2-booking-grid span { color:#64748b; font-size:13px; }

.tb-home-v2-process { padding:64px 0; background:#102a43; color:#fff; }
.tb-home-v2-process .container { display:grid; grid-template-columns:.8fr 1.45fr; gap:48px; align-items:center; }
.tb-home-v2-process-copy h2 { color:#fff; }
.tb-home-v2-process-copy p { color:#c7d4df; }
.tb-home-v2-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tb-home-v2-steps > div { display:flex; gap:13px; padding:17px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.035); }
.tb-home-v2-steps b { width:34px; height:34px; flex:0 0 34px; border-radius:50%; display:grid; place-items:center; background:#0d8d88; }
.tb-home-v2-steps strong,.tb-home-v2-steps small { display:block; }
.tb-home-v2-steps small { margin-top:3px; color:#c7d4df; line-height:1.4; }

.tb-home-v2-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tb-home-v2-blog-grid article { overflow:hidden; border:1px solid #dbe5ea; border-radius:12px; background:#fff; }
.tb-home-v2-blog-media { display:block; aspect-ratio:16/9; overflow:hidden; background:#eef2f4; }
.tb-home-v2-blog-media img { width:100%; height:100%; object-fit:cover; display:block; }
.tb-home-v2-blog-grid article > div { padding:18px; }
.tb-home-v2-blog-grid small { color:#087c78; font-weight:800; letter-spacing:.1em; }
.tb-home-v2-blog-grid h3 { margin:7px 0 8px; font-size:20px; line-height:1.25; }
.tb-home-v2-blog-grid h3 a,.tb-home-v2-blog-grid article > div > a { color:#122033; text-decoration:none; }
.tb-home-v2-blog-grid p { color:#64748b; line-height:1.55; }
.tb-home-v2-blog-grid article > div > a { color:#087c78; font-weight:700; }

.tb-home-v2-faq { background:#f7faf9 !important; }
.tb-home-v2-faq-list { max-width:980px; }
.tb-home-v2-faq-list details { border-bottom:1px solid #d9e5e4; }
.tb-home-v2-faq-list summary { list-style:none; cursor:pointer; padding:19px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#122033; font-size:17px; font-weight:750; }
.tb-home-v2-faq-list summary::-webkit-details-marker { display:none; }
.tb-home-v2-faq-list details[open] summary i { transform:rotate(45deg); }
.tb-home-v2-faq-list details > div { padding:0 34px 18px 0; color:#64748b; line-height:1.65; }

@media(max-width:1100px){
  .tb-home-v2-visa-grid,.tb-home-v2-destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tb-home-v2-package-grid,.tb-home-v2-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tb-home-v2-process .container { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:767px){
  body.tb-home-page .tb-home-v2-section,.tb-home-v2-process { padding:44px 0; }
  .tb-home-v2-heading { align-items:flex-start; flex-direction:column; margin-bottom:22px; }
  .tb-home-v2-heading h2,.tb-home-v2-process-copy h2 { font-size:29px; }
  .tb-home-v2-visa-grid,.tb-home-v2-package-grid,.tb-home-v2-destination-grid,.tb-home-v2-blog-grid,.tb-home-v2-booking-grid,.tb-home-v2-steps { grid-template-columns:1fr; }
  .tb-home-v2-destination-card { min-height:190px; }
  .tb-home-v2-booking-grid > a { padding:20px; }
}


/* 2026-08-11: public website service-only cleanup */
body.tb-home-page .tb-footer { display:block !important; visibility:visible !important; opacity:1 !important; position:relative !important; clear:both !important; margin-top:0 !important; }
body.tb-home-page .tb-home-v2-process { margin-bottom:0 !important; }
body.tb-home-page .tb-home-v2-faq:last-child { margin-bottom:0 !important; }
body.tb-home-page .tb-home-application-path { scroll-margin-top:90px; }
@media (min-width: 992px){
  body.tb-home-page .tb-home-application-grid { grid-template-columns: repeat(5, minmax(0,1fr)) !important; }
}
@media (max-width: 1199px) and (min-width: 768px){
  body.tb-home-page .tb-home-application-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* 2026-08-11: service-only homepage final flow cleanup.
   Removes leftover vertical dead-space and keeps the public homepage focused
   on Flight, Hotel, Visa, Insurance and OK To Board only. */
body.tb-home-page main {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.tb-home-page main > section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.tb-home-page .tb-home-application-path {
  padding: 38px 0 !important;
}
body.tb-home-page .tb-home-application-head {
  margin-bottom: 20px !important;
}
body.tb-home-page .tb-home-application-grid {
  gap: 14px !important;
}
body.tb-home-page .tb-home-v2-section {
  padding: 44px 0 !important;
}
body.tb-home-page .tb-home-v2-visa {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
  background: #f7faf9 !important;
}
body.tb-home-page .tb-home-v2-visa-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 280px)) !important;
  justify-content: flex-start !important;
  gap: 16px !important;
}
body.tb-home-page .tb-home-v2-heading {
  margin-bottom: 22px !important;
}
body.tb-home-page .tb-home-v2-booking {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
body.tb-home-page .tb-home-v2-process {
  padding: 48px 0 !important;
}
body.tb-home-page .tb-home-reviews {
  padding: 46px 0 50px !important;
}
body.tb-home-page .tb-home-v2-faq {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
}

.tb-home-service-details {
  padding: 48px 0;
  background: #ffffff;
  border-top: 1px solid #e5ecef;
  border-bottom: 1px solid #e5ecef;
}
.tb-home-service-details-head {
  max-width: 760px;
  margin-bottom: 24px;
}
.tb-home-service-details-head > span {
  display: block;
  margin-bottom: 7px;
  color: #087c78;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}
.tb-home-service-details-head h2 {
  margin: 0;
  color: #122033;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.08;
}
.tb-home-service-details-head p {
  margin: 10px 0 0;
  color: #64748b;
  line-height: 1.55;
}
.tb-home-service-details-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.tb-home-service-detail-card {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #dbe5ea;
  border-radius: 12px;
  background: #fff;
}
.tb-home-service-detail-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #eaf8f5;
  color: #087c78;
  font-size: 18px;
}
.tb-home-service-detail-card h3 {
  margin: 1px 0 7px;
  color: #122033;
  font-size: 18px;
}
.tb-home-service-detail-card p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.55;
}
.tb-home-service-detail-card ul {
  margin: 0 0 12px;
  padding-left: 18px;
  color: #526174;
  font-size: 12.5px;
  line-height: 1.55;
}
.tb-home-service-detail-card a {
  color: #087c78;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}

/* Footer must immediately follow the final service content without an empty band. */
body.tb-home-page .tb-footer {
  display: block !important;
  position: static !important;
  clear: both !important;
  width: 100% !important;
  margin: 0 !important;
}
body.tb-home-page .tb-footer > .container {
  margin-top: 0 !important;
}

@media (max-width: 1050px) {
  .tb-home-service-details-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
  body.tb-home-page .tb-home-application-path,
  body.tb-home-page .tb-home-v2-section,
  .tb-home-service-details,
  body.tb-home-page .tb-home-v2-process,
  body.tb-home-page .tb-home-reviews {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }
  .tb-home-service-details-grid { grid-template-columns: 1fr; }
  .tb-home-service-detail-card { padding: 17px; }
  body.tb-home-page .tb-home-v2-visa-grid { grid-template-columns: 1fr !important; }
}


/* 2026-08-11: final homepage blank-gap + footer visibility repair.
   Keep every non-hero service section content-sized and make the footer
   independent of old fixed/min-height homepage experiments. */
body.tb-home-page main.tb-reference-home {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}
body.tb-home-page main.tb-reference-home > section:not(.tb-home-banner-hero) {
  min-height: 0 !important;
  height: auto !important;
}
body.tb-home-page main.tb-reference-home > section:empty {
  display: none !important;
}
body.tb-home-page .tb-home-application-path {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}
body.tb-home-page .tb-home-v2-faq {
  margin: 0 !important;
}
body.tb-home-page main.tb-reference-home + .tb-footer,
body.tb-home-page .tb-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding-top: 30px !important;
  padding-bottom: 18px !important;
  background: #211f2a !important;
}
body.tb-home-page .tb-footer > .container {
  display: block !important;
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: 1220px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 26px 28px 18px !important;
  background: #292631 !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
}
body.tb-home-page .tb-footer .row {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1fr 1.15fr !important;
  gap: 30px !important;
  margin: 0 !important;
}
body.tb-home-page .tb-footer .row > [class*="col-"] {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
body.tb-home-page .tb-footer-logo {
  display: block !important;
  max-width: 170px !important;
  height: 46px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body.tb-home-page .tb-footer h4,
body.tb-home-page .tb-footer p,
body.tb-home-page .tb-footer ul,
body.tb-home-page .tb-footer li,
body.tb-home-page .tb-footer a,
body.tb-home-page .tb-footer-social,
body.tb-home-page .tb-footer-map-block,
body.tb-home-page .tb-footer-bottom {
  visibility: visible !important;
  opacity: 1 !important;
}
body.tb-home-page .tb-footer .tb-footer-map-block {
  min-height: 0 !important;
  height: auto !important;
  margin-top: 20px !important;
  padding-top: 18px !important;
}
body.tb-home-page .tb-footer .tb-footer-map-frame,
body.tb-home-page .tb-footer .tb-footer-map-frame iframe {
  min-height: 135px !important;
  height: 135px !important;
}
body.tb-home-page .tb-footer .tb-footer-bottom {
  margin-top: 18px !important;
  padding-top: 16px !important;
}
@media (max-width: 991px) {
  body.tb-home-page .tb-footer .row {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 640px) {
  body.tb-home-page .tb-footer > .container {
    width: calc(100% - 24px) !important;
    padding: 22px 18px 16px !important;
  }
  body.tb-home-page .tb-footer .row {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  body.tb-home-page .tb-footer .tb-footer-map-frame,
  body.tb-home-page .tb-footer .tb-footer-map-frame iframe {
    min-height: 160px !important;
    height: 160px !important;
  }
}

/* 2026-08-11: footer-after-FAQ hardening.
   Empty/unusable FAQ data must not reserve a large blank section, and the
   homepage footer must stay directly in normal document flow. */
body.tb-home-page .tb-home-v2-faq {
  min-height: 0 !important;
  height: auto !important;
  padding: 30px 0 28px !important;
}
body.tb-home-page .tb-home-v2-faq .tb-home-v2-heading {
  margin-bottom: 12px !important;
}
body.tb-home-page .tb-home-v2-faq-list:empty {
  display: none !important;
}
body.tb-home-page .tb-home-v2-faq + .tb-footer,
body.tb-home-page main.tb-reference-home + .tb-footer,
body.tb-home-page .tb-footer-fallback,
body.tb-home-page .tb-footer {
  margin-top: 0 !important;
  z-index: 2 !important;
}
body.tb-home-page .tb-footer-fallback {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #211f2a !important;
}

/* =========================================================
   2026-08-11 FRESH BASELINE: SERVICE-ONLY HOMEPAGE FLOW
   One public journey only:
   Banner/Search -> Ticker -> 5 Services -> Popular Visa ->
   How It Works -> Testimonials -> FAQ (when available) -> Footer.
   ========================================================= */
body.tb-home-page .tb-home-v2-booking,
body.tb-home-page .tb-home-service-details,
body.tb-home-page .tb-home-v2-package,
body.tb-home-page .tb-home-v2-destination,
body.tb-home-page .tb-home-v2-blog {
  display:none !important;
}

body.tb-home-page main.tb-reference-home {
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
}
body.tb-home-page main.tb-reference-home > section:not(.tb-home-banner-hero) {
  position:relative !important;
  min-height:0 !important;
  height:auto !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.tb-home-page main.tb-reference-home > section:empty {
  display:none !important;
}

body.tb-home-page .tb-home-application-path {
  padding:36px 0 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
body.tb-home-page .tb-home-v2-visa {
  padding:40px 0 !important;
}
body.tb-home-page .tb-home-v2-process {
  clear:both !important;
  padding:44px 0 !important;
  margin:0 !important;
}
body.tb-home-page .tb-home-reviews {
  clear:both !important;
  padding:44px 0 48px !important;
  margin:0 !important;
}
body.tb-home-page .tb-home-v2-faq {
  clear:both !important;
  min-height:0 !important;
  height:auto !important;
  padding:34px 0 !important;
  margin:0 !important;
}
body.tb-home-page .tb-home-v2-faq-list:empty {
  display:none !important;
}

/* Footer must always be the final normal-flow block on homepage. */
body.tb-home-page main.tb-reference-home + .tb-footer,
body.tb-home-page .tb-footer {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  inset:auto !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:28px 0 18px !important;
  background:#211f2a !important;
  z-index:2 !important;
}
body.tb-home-page .tb-footer > .container {
  display:block !important;
  width:min(1220px,calc(100% - 48px)) !important;
  max-width:1220px !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 auto !important;
  padding:26px 28px 18px !important;
  background:#292631 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}
body.tb-home-page .tb-footer .row {
  display:grid !important;
  grid-template-columns:1.3fr 1fr 1fr 1.15fr !important;
  gap:28px !important;
  margin:0 !important;
}
body.tb-home-page .tb-footer .row > [class*="col-"] {
  display:block !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
}
body.tb-home-page .tb-footer-logo {
  display:block !important;
  max-width:170px !important;
  height:46px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
body.tb-home-page .tb-footer h4,
body.tb-home-page .tb-footer p,
body.tb-home-page .tb-footer ul,
body.tb-home-page .tb-footer li,
body.tb-home-page .tb-footer a,
body.tb-home-page .tb-footer-social,
body.tb-home-page .tb-footer-map-block,
body.tb-home-page .tb-footer-bottom {
  visibility:visible !important;
  opacity:1 !important;
}
body.tb-home-page .tb-footer .tb-footer-map-block {
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  margin-top:20px !important;
  padding-top:18px !important;
}
body.tb-home-page .tb-footer .tb-footer-map-frame,
body.tb-home-page .tb-footer .tb-footer-map-frame iframe {
  display:block !important;
  width:100% !important;
  min-height:140px !important;
  height:140px !important;
}
body.tb-home-page .tb-footer .tb-footer-bottom {
  margin-top:18px !important;
  padding-top:16px !important;
}

@media (max-width:991px) {
  body.tb-home-page .tb-footer .row {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:767px) {
  body.tb-home-page .tb-home-application-path,
  body.tb-home-page .tb-home-v2-visa,
  body.tb-home-page .tb-home-v2-process,
  body.tb-home-page .tb-home-reviews,
  body.tb-home-page .tb-home-v2-faq {
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  body.tb-home-page .tb-footer {
    padding-top:18px !important;
  }
  body.tb-home-page .tb-footer > .container {
    width:calc(100% - 24px) !important;
    padding:22px 18px 16px !important;
  }
  body.tb-home-page .tb-footer .row {
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  body.tb-home-page .tb-footer .tb-footer-map-frame,
  body.tb-home-page .tb-footer .tb-footer-map-frame iframe {
    min-height:165px !important;
    height:165px !important;
  }
}


/* 2026-08-11: service-only trust section restored from the approved homepage direction. */
body.tb-home-page .tb-home-travel-simplified {
  padding: 54px 0;
  background: linear-gradient(115deg,#140522 0%,#201034 52%,#2f2a67 100%);
  color: #fff;
}
body.tb-home-page .tb-home-travel-simplified .container {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr);
  gap: 56px;
  align-items: center;
}
body.tb-home-page .tb-home-travel-simplified-copy > span {
  display: block;
  margin-bottom: 9px;
  color: #5eead4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}
body.tb-home-page .tb-home-travel-simplified-copy h2 {
  margin: 0;
  max-width: 610px;
  color: #fff;
  font-size: clamp(28px,3vw,43px);
  line-height: 1.08;
}
body.tb-home-page .tb-home-travel-simplified-copy p {
  margin: 14px 0 0;
  max-width: 590px;
  color: #d7d2df;
  font-size: 15px;
  line-height: 1.65;
}
body.tb-home-page .tb-home-travel-simplified-cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  padding: 11px 16px;
  border-radius: 8px;
  background: #6d28d9;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
body.tb-home-page .tb-home-travel-simplified-cta:hover { background:#5b21b6; color:#fff; }
body.tb-home-page .tb-home-travel-simplified-points {
  display: grid;
  gap: 10px;
}
body.tb-home-page .tb-home-travel-simplified-points article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 13px;
  align-items: start;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
}
body.tb-home-page .tb-home-travel-simplified-points article > i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  background: #ecfdf5;
  color: #087c78;
  font-size: 14px;
}
body.tb-home-page .tb-home-travel-simplified-points strong {
  display:block;
  color:#fff;
  font-size:14px;
  line-height:1.3;
}
body.tb-home-page .tb-home-travel-simplified-points span {
  display:block;
  margin-top:4px;
  color:#d6d0dc;
  font-size:13px;
  line-height:1.45;
}
@media (max-width: 991.98px) {
  body.tb-home-page .tb-home-travel-simplified { padding: 42px 0; }
  body.tb-home-page .tb-home-travel-simplified .container { grid-template-columns:1fr; gap:28px; }
}
@media (max-width: 575.98px) {
  body.tb-home-page .tb-home-travel-simplified { padding: 34px 0; }
  body.tb-home-page .tb-home-travel-simplified-copy h2 { font-size: 28px; }
  body.tb-home-page .tb-home-travel-simplified-points article { grid-template-columns:34px 1fr; padding:12px; }
}

/* 2026-08-11: shared public footer also applies to booking payment status screens. */
body.tb-public-status-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #f7f9fb;
}
body.tb-public-status-page .tb-public-status-main {
  flex: 1 0 auto;
  display: grid;
  place-items: center;
  width: 100%;
  padding: 72px 20px;
}
body.tb-public-status-page .tb-status-card {
  position: relative;
  inset: auto;
  transform: none;
  margin: 0 auto;
}
body.tb-public-status-page .tb-footer { flex: 0 0 auto; width: 100%; }

/* 2026-08-11: final trust-section contrast + public footer hardening. */
body.tb-home-page .tb-home-travel-simplified,
body.tb-home-page .tb-home-travel-simplified * {
  box-sizing: border-box;
}
body.tb-home-page .tb-home-travel-simplified-copy > span {
  color:#5eead4 !important;
}
body.tb-home-page .tb-home-travel-simplified-copy h2 {
  color:#ffffff !important;
  text-shadow:none !important;
}
body.tb-home-page .tb-home-travel-simplified-copy p {
  color:#eeeaf3 !important;
}
body.tb-home-page .tb-home-travel-simplified-points strong {
  color:#ffffff !important;
}
body.tb-home-page .tb-home-travel-simplified-points span {
  color:#e6e1eb !important;
}

/* Shared footer must remain visible as the final public-page block. */
.tb-footer {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  clear:both !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
.tb-footer > .container,
.tb-footer .row,
.tb-footer .tb-footer-map-block,
.tb-footer .tb-footer-bottom {
  visibility:visible !important;
  opacity:1 !important;
}
body.tb-home-page main.tb-reference-home + .tb-footer {
  margin-top:0 !important;
}

/* 2026-08-11: final five-point Why Choose Us layout. */
body.tb-home-page .tb-home-travel-simplified-points {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
body.tb-home-page .tb-home-travel-simplified-points article:last-child {
  grid-column: 1 / -1;
}
@media (max-width: 767.98px) {
  body.tb-home-page .tb-home-travel-simplified-points {
    grid-template-columns: 1fr;
  }
  body.tb-home-page .tb-home-travel-simplified-points article:last-child {
    grid-column: auto;
  }
}

/* Frontend-only Flight / Hotel reservation process */
.tb-reservation-process-page{background:#f6f8fb;color:#172033}
.tb-reservation-process{min-height:70vh}
.tb-reservation-hero{position:relative;padding:20px 0 42px;background:linear-gradient(135deg,rgba(10,58,70,.92) 0%,rgba(12,111,104,.88) 100%);color:#fff;overflow:visible}
.tb-reservation-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,39,52,.50) 0%,rgba(8,39,52,.22) 100%),url("../images/reference-uae.png") center center/cover no-repeat;opacity:.38;pointer-events:none}
.tb-reservation-hero .container{position:relative;z-index:1;max-width:1120px}
.tb-reservation-kicker{display:block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.16em;color:#c9fff4}
.tb-reservation-hero h1{max-width:660px;margin:0 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.06;color:#fff}
.tb-reservation-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.88);font-size:15px;line-height:1.55}
.tb-reservation-hero-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:1120px}
.tb-reservation-hero-process>div{display:grid;grid-template-columns:32px 1fr;gap:3px 9px;align-items:start;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(7,34,46,.22);backdrop-filter:blur(2px)}
.tb-reservation-hero-process>div>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#0f8d83;color:#fff;font-weight:800}
.tb-reservation-hero-process>div>b{display:block;color:#fff;font-size:14px;line-height:1.22}
.tb-reservation-hero-process>div>small{display:block;color:rgba(255,255,255,.82);font-size:11px;line-height:1.4}
.tb-reservation-shell{max-width:1120px;margin:-18px auto 70px;position:relative;z-index:2}
.tb-reservation-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;padding:10px;background:#fff;border:1px solid #dbe5ec;border-radius:14px;box-shadow:0 18px 44px rgba(15,23,42,.10)}
.tb-reservation-steps button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;border:0;background:transparent;border-radius:10px;text-align:left;color:#5a6678;cursor:pointer}
.tb-reservation-steps button span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3f6;color:#64748b;font-weight:800}
.tb-reservation-steps button b{font-size:13px;color:#223047}.tb-reservation-steps button small{font-size:10.5px;color:#7c8798}
.tb-reservation-steps button.active{background:#e7f7f3}.tb-reservation-steps button.active span,.tb-reservation-steps button.done span{background:#0f8d83;color:#fff}.tb-reservation-steps button.active b{color:#08766e}
.tb-reservation-form{background:#fff;border:1px solid #dbe5ec;border-radius:16px;padding:26px;box-shadow:0 12px 40px rgba(15,23,42,.06)}
.tb-reservation-panel[hidden]{display:none!important}.tb-reservation-panel{animation:tbReservationFade .2s ease}
@keyframes tbReservationFade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.tb-reservation-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #e8edf2}
.tb-reservation-panel-head small{display:block;margin-bottom:5px;color:#0b8278;font-weight:800;letter-spacing:.12em}.tb-reservation-panel-head h2{margin:0;font-size:26px;color:#162238}.tb-reservation-panel-head p{max-width:430px;margin:4px 0 0;color:#697487;line-height:1.6}
.tb-reservation-choice-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tb-reservation-choice-row label{position:relative}.tb-reservation-choice-row input{position:absolute;opacity:0}.tb-reservation-choice-row span{display:block;padding:10px 16px;border:1px solid #d6e0e8;border-radius:8px;background:#fff;font-weight:700;color:#39465a;cursor:pointer}.tb-reservation-choice-row input:checked+span{border-color:#0f8d83;background:#e9f8f5;color:#08766e}
.tb-reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tb-reservation-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#4b5568}.tb-reservation-grid .span2{grid-column:1/-1}.tb-reservation-grid input,.tb-reservation-grid select,.tb-reservation-grid textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #cfd9e2;border-radius:8px;background:#fff;color:#182235;font:inherit;font-weight:500;outline:none}.tb-reservation-grid textarea{min-height:92px;resize:vertical}.tb-reservation-grid input:focus,.tb-reservation-grid select:focus,.tb-reservation-grid textarea:focus{border-color:#0f8d83;box-shadow:0 0 0 3px rgba(15,141,131,.10)}
.tb-reservation-info{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:12px 14px;border-radius:8px;background:#f2f7fb;color:#536174;font-size:13px}.tb-reservation-info i{color:#0f8d83;margin-top:2px}
.tb-reservation-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid #e8edf2}.tb-reservation-primary,.tb-reservation-secondary{min-height:44px;padding:10px 18px;border-radius:8px;font-weight:800;border:1px solid transparent;cursor:pointer}.tb-reservation-primary{background:#0f8d83;color:#fff}.tb-reservation-primary:hover{background:#0a786f}.tb-reservation-secondary{background:#fff;border-color:#cfd9e2;color:#384559}
.tb-reservation-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#dfe7ed;border:1px solid #dfe7ed;border-radius:10px;overflow:hidden}.tb-reservation-review>div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;background:#fff}.tb-reservation-review span{color:#738094;font-size:12px}.tb-reservation-review strong{color:#1f2d42;font-size:13px;text-align:right}
.tb-reservation-payment-preview{display:flex;gap:18px;align-items:center;padding:22px;border:1px solid #cfe2dd;background:#effaf7;border-radius:12px}.tb-reservation-payment-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#0f8d83;color:#fff;font-size:22px}.tb-reservation-payment-preview small{font-weight:800;color:#0c786f;letter-spacing:.1em}.tb-reservation-payment-preview h3{margin:4px 0 6px;font-size:21px;color:#17253a}.tb-reservation-payment-preview p{margin:0;color:#5e6b7e}
.tb-reservation-future-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.tb-reservation-future-grid>div{display:grid;grid-template-columns:36px 1fr;gap:4px 10px;padding:16px;border:1px solid #dbe5ec;border-radius:10px}.tb-reservation-future-grid i{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#eef7f5;color:#0b8278}.tb-reservation-future-grid b{font-size:14px;color:#223047}.tb-reservation-future-grid span{font-size:12px;color:#6c7889;line-height:1.55}
.tb-reservation-preview-message{margin-top:18px;padding:13px 16px;border-radius:9px;background:#edf9f2;color:#167342;font-weight:700}.tb-reservation-preview-message i{margin-right:7px}.tb-reservation-preview-message.is-error{background:#fff1f1;color:#b42318;border:1px solid #fecaca}.tb-reservation-preview-message.is-success{background:#edf9f2;color:#167342;border:1px solid #ccebd8}
@media(max-width:767px){.tb-reservation-hero{padding:18px 0 40px}.tb-reservation-hero h1{font-size:clamp(24px,8vw,34px)}.tb-reservation-hero p{font-size:13px;line-height:1.45}.tb-reservation-hero-process{grid-template-columns:1fr;gap:8px}.tb-reservation-hero-process>div{padding:10px 12px}.tb-reservation-shell{margin-top:-16px}.tb-reservation-steps{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.tb-reservation-steps button{padding:10px}.tb-reservation-form{padding:18px}.tb-reservation-panel-head{display:block}.tb-reservation-panel-head p{margin-top:8px}.tb-reservation-grid,.tb-reservation-review,.tb-reservation-future-grid{grid-template-columns:1fr}.tb-reservation-review>div{display:block}.tb-reservation-review strong{display:block;text-align:left;margin-top:4px}.tb-reservation-actions{flex-wrap:wrap}.tb-reservation-actions button{flex:1 1 auto}}
body.tb-reservation-process-page .tb-page-banner-slider{display:none!important}


/* Shared CRM-managed full-width multi-image banners for service pages */
.tb-page-banner-slider{position:relative;width:100%;height:clamp(360px,48vw,620px);overflow:hidden;background:#0f2f35;color:#fff}
.tb-page-banner-track,.tb-page-banner-slide{position:absolute;inset:0}
.tb-page-banner-slide{opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}
.tb-page-banner-slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.tb-page-banner-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.tb-page-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,32,.72) 0%,rgba(4,27,32,.42) 52%,rgba(4,27,32,.15) 100%)}
.tb-page-banner-copy{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:30px;padding-bottom:30px}
.tb-page-banner-kicker{font-size:13px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;margin-bottom:14px;color:#d7fffa}
.tb-page-banner-copy h1{max-width:820px;margin:0 0 14px;color:#fff!important;font-size:clamp(38px,5vw,68px);line-height:1.02;text-shadow:none!important}
.tb-page-banner-copy p{max-width:760px;margin:0;color:rgba(255,255,255,.9)!important;font-size:clamp(16px,1.5vw,20px);line-height:1.55}
.tb-page-banner-cta{display:inline-flex;margin-top:22px;padding:12px 20px;border-radius:999px;background:#0f8f87;color:#fff!important;text-decoration:none;font-weight:700}
.tb-page-banner-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#0f766e;font-size:29px;line-height:1;cursor:pointer}.tb-page-banner-nav.prev{left:22px}.tb-page-banner-nav.next{right:22px}
.tb-page-banner-dots{position:absolute;z-index:5;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}.tb-page-banner-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.tb-page-banner-dots button.active{width:24px;border-radius:999px;background:#fff}
.tb-page-banner-slider + .tb-reservation-process > .tb-reservation-hero,.tb-page-banner-slider + .tb-service-form-hero{display:none}
@media(max-width:767px){.tb-page-banner-slider{height:430px}.tb-page-banner-copy{padding-left:24px;padding-right:24px}.tb-page-banner-copy h1{font-size:38px}.tb-page-banner-nav{width:38px;height:38px}.tb-page-banner-nav.prev{left:10px}.tb-page-banner-nav.next{right:10px}}

/* =========================================================
   Page-wise service banners — true top-edge full bleed
   The banner starts at the very top of the public page and the main
   navigation overlays it instead of occupying a separate white strip.
   ========================================================= */
@media (min-width: 992px) {
  body:has(.tb-page-banner-slider) .tb-topbar {
    display: none !important;
  }

  body:has(.tb-page-banner-slider) .tb-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 100 !important;
    margin: 0 !important;
    background: linear-gradient(180deg, rgba(7,22,31,.68) 0%, rgba(7,22,31,.34) 72%, rgba(7,22,31,0) 100%) !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body:has(.tb-page-banner-slider) .tb-page-banner-slider {
    margin-top: 0 !important;
    height: clamp(560px, 72vh, 760px) !important;
    min-height: 560px !important;
  }

  body:has(.tb-page-banner-slider) .tb-header .navbar-brand img {
    filter: brightness(0) invert(1) !important;
  }

  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link {
    color: rgba(255,255,255,.92) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link i {
    color: rgba(255,255,255,.78) !important;
  }

  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link.active {
    color: #fff !important;
    background: rgba(255,255,255,.12) !important;
  }

  body:has(.tb-page-banner-slider) .tb-header .tb-client-login-btn,
  body:has(.tb-page-banner-slider) .tb-header .tb-client-menu-btn {
    color: #fff !important;
    background: rgba(10,25,34,.30) !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    box-shadow: none !important;
  }

  body:has(.tb-page-banner-slider) .tb-page-banner-copy {
    padding-top: 118px !important;
  }
}

@media (max-width: 991.98px) {
  body:has(.tb-page-banner-slider) .tb-page-banner-slider {
    margin-top: 0 !important;
  }
}

/* =========================================================
   GLOBAL PUBLIC PAGE BANNERS — FULL BLEED ON EVERY PAGE
   Shared header.php now renders the relevant CRM page banner once.
   The banner starts at the page top and navigation overlays the image.
   ========================================================= */
body:has(.tb-page-banner-slider) .tb-topbar{
  display:none!important;
}
body:has(.tb-page-banner-slider) .tb-header{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:100!important;
  margin:0!important;
  background:rgba(5,22,30,.52)!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body:has(.tb-page-banner-slider) .tb-page-banner-slider{
  margin:0!important;
  width:100%!important;
  border:0!important;
  box-shadow:none!important;
}
body:has(.tb-page-banner-slider) .tb-header .navbar-brand img{
  filter:brightness(0) invert(1)!important;
}
body:has(.tb-page-banner-slider) .tb-header .tb-main-menu>.nav-item>.nav-link{
  color:rgba(255,255,255,.94)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body:has(.tb-page-banner-slider) .tb-header .tb-main-menu>.nav-item>.nav-link i{
  color:rgba(255,255,255,.82)!important;
}
body:has(.tb-page-banner-slider) .tb-header .tb-main-menu>.nav-item>.nav-link:hover,
body:has(.tb-page-banner-slider) .tb-header .tb-main-menu>.nav-item>.nav-link.active{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
}
body:has(.tb-page-banner-slider) .tb-header .tb-client-login-btn,
body:has(.tb-page-banner-slider) .tb-header .tb-client-menu-btn{
  color:#fff!important;
  background:rgba(8,25,34,.28)!important;
  border:1px solid rgba(255,255,255,.40)!important;
  box-shadow:none!important;
}
body:has(.tb-page-banner-slider) .tb-header .navbar-toggler{
  border-color:rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
body:has(.tb-page-banner-slider) .tb-header .navbar-toggler-icon{
  filter:brightness(0) invert(1)!important;
}

@media(min-width:992px){
  body:has(.tb-page-banner-slider) .tb-page-banner-slider{
    height:clamp(560px,72vh,780px)!important;
    min-height:560px!important;
  }
  body:has(.tb-page-banner-slider) .tb-page-banner-copy{
    padding-top:118px!important;
  }
}

@media(max-width:991.98px){
  body:has(.tb-page-banner-slider) .tb-header{
    background:rgba(5,22,30,.70)!important;
  }
  body:has(.tb-page-banner-slider) .tb-header .navbar-collapse.show,
  body:has(.tb-page-banner-slider) .tb-header .navbar-collapse.collapsing{
    margin-top:10px!important;
    padding:12px!important;
    border-radius:10px!important;
    background:rgba(6,28,36,.94)!important;
  }
  body:has(.tb-page-banner-slider) .tb-page-banner-slider{
    height:clamp(460px,78vh,620px)!important;
    min-height:460px!important;
  }
  body:has(.tb-page-banner-slider) .tb-page-banner-copy{
    padding-top:96px!important;
  }
}

/* =========================================================
   Shared full-bleed navigation readability
   Keep the same subtle shadow treatment on Home and every
   page-wise/full-bleed public banner header.
   ========================================================= */
@media (min-width: 768px) {
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link,
  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link {
    text-shadow: 0 1px 3px rgba(0, 0, 0, .68), 0 2px 10px rgba(0, 0, 0, .22) !important;
  }

  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link i,
  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link i {
    text-shadow: 0 1px 3px rgba(0, 0, 0, .68), 0 2px 10px rgba(0, 0, 0, .22) !important;
  }

  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body.tb-home-page .tb-header .tb-main-menu > .nav-item > .nav-link.active,
  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link:hover,
  body:has(.tb-page-banner-slider) .tb-header .tb-main-menu > .nav-item > .nav-link.active {
    text-shadow: 0 1px 4px rgba(0, 0, 0, .78), 0 3px 12px rgba(0, 0, 0, .28) !important;
  }
}

/* Flight reservation: complete Multi City journey builder */
.tb-reservation-common-title{display:flex;align-items:center;gap:12px;margin:26px 0 16px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tb-reservation-common-title:after{content:"";height:1px;flex:1;background:#e5ebf0}
.tb-multicity-wrap{margin:4px 0 8px;padding:18px;border:1px solid #dbe5ec;border-radius:12px;background:#f8fbfc}
.tb-multicity-wrap[hidden]{display:none!important}
.tb-multicity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.tb-multicity-head small{display:block;margin-bottom:4px;color:#0b8278;font-size:11px;font-weight:800;letter-spacing:.12em}
.tb-multicity-head h3{margin:0 0 3px;color:#1d2a3d;font-size:18px}
.tb-multicity-head p{margin:0;color:#6b7788;font-size:12px}
.tb-multicity-add{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px}
.tb-multicity-add:disabled{opacity:.45;cursor:not-allowed}
.tb-multicity-list{display:grid;gap:12px}
.tb-multicity-segment{padding:15px;border:1px solid #d8e2e8;border-radius:10px;background:#fff}
.tb-multicity-segment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid #edf1f4}
.tb-multicity-segment-head>div{display:flex;align-items:center;gap:10px}
.tb-multicity-number{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e4f7f3;color:#08776f;font-weight:800}
.tb-multicity-segment-head small{display:block;color:#0b8278;font-size:10px;font-weight:800;letter-spacing:.11em}
.tb-multicity-segment-head b{display:block;margin-top:2px;color:#253247;font-size:13px}
.tb-multicity-remove{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #f0cfd2;border-radius:7px;background:#fff;color:#b4232e;font-size:11px;font-weight:800;cursor:pointer}
.tb-multicity-remove:hover{background:#fff5f5;border-color:#eaa5aa}
.tb-multicity-remove:disabled{opacity:.3;cursor:not-allowed;background:#fff}
.tb-multicity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tb-multicity-grid label{display:flex;flex-direction:column;gap:7px;color:#4b5568;font-size:13px;font-weight:700}
.tb-multicity-grid input{width:100%;min-height:46px;padding:11px 13px;border:1px solid #cfd9e2;border-radius:8px;background:#fff;color:#182235;font:inherit;font-weight:500;outline:none}
.tb-multicity-grid input:focus{border-color:#0f8d83;box-shadow:0 0 0 3px rgba(15,141,131,.10)}
@media(max-width:767px){
  .tb-multicity-wrap{padding:13px}
  .tb-multicity-head{display:block}
  .tb-multicity-add{margin-top:12px;width:100%;justify-content:center}
  .tb-multicity-grid{grid-template-columns:1fr}
  .tb-multicity-segment-head{align-items:flex-start}
  .tb-multicity-remove{font-size:0}
  .tb-multicity-remove i{font-size:12px}
}

/* Visa listing — keep intro close to the page banner */
body.tb-visa-page main.tb-visa-listing-main {
  padding-top: 18px !important;
  padding-bottom: 44px !important;
}
body.tb-visa-page .tb-visa-listing-main .page-intro {
  padding-top: 18px !important;
  padding-bottom: 12px !important;
  margin-bottom: 8px !important;
}
body.tb-visa-page .tb-visa-listing-main .tb-application-journey {
  margin-top: 8px !important;
}
@media (max-width: 767.98px) {
  body.tb-visa-page main.tb-visa-listing-main { padding-top: 10px !important; }
  body.tb-visa-page .tb-visa-listing-main .page-intro {
    padding-top: 14px !important;
    padding-bottom: 8px !important;
  }
}

/* =========================================================
   Visa public flow — simple destination -> CRM visa options
   ========================================================= */
body.tb-visa-page .tb-visa-simple-intro{max-width:820px;margin-inline:auto}
body.tb-visa-page .tb-visa-listing-note{display:flex;align-items:center;gap:9px;margin:18px 0 0;padding:12px 14px;border:1px solid #dce7e5;border-radius:9px;background:#f7fbfa;color:#536273;font-size:12px;line-height:1.45}
body.tb-visa-page .tb-visa-listing-note i{color:#0f766e}
body.tb-visa-page .tb-visa-listing .card-copy p{display:flex;align-items:center;gap:7px;color:#0f766e!important;font-weight:750}
body.tb-visa-page .tb-visa-listing .card-meta{align-items:center}
body.tb-visa-page .tb-visa-listing .card-meta b{font-size:11px!important;letter-spacing:0!important;text-transform:none!important;color:#5b6575!important}
body.tb-visa-page .tb-visa-listing .card-meta span{font-size:11px!important;font-weight:800!important;color:#0f766e!important}

.tb-visa-country-main{padding-top:18px!important;padding-bottom:48px!important}
.tb-visa-country-main .breadcrumb{margin-bottom:16px}
.tb-visa-country-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:28px;align-items:center;margin-bottom:42px;padding:28px;border:1px solid #e0e5e9;border-radius:14px;background:#fff;box-shadow:none}
.tb-visa-country-kicker,.tb-visa-section-heading span,.tb-visa-document-note span{display:block;margin-bottom:6px;color:#0f766e;font-size:10px;font-weight:850;letter-spacing:.1em}
.tb-visa-country-copy h1{margin:0;color:#171322;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.08}
.tb-visa-country-copy>p{max-width:670px;margin:14px 0 18px;color:#667085;font-size:14px;line-height:1.7}
.tb-visa-country-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.tb-visa-country-facts>div{min-width:130px;padding:11px 13px;border:1px solid #e2e8f0;border-radius:8px;background:#fafcfc}
.tb-visa-country-facts small{display:block;margin-bottom:3px;color:#8992a2;font-size:9px;font-weight:800;letter-spacing:.07em}
.tb-visa-country-facts strong{display:block;color:#172033;font-size:13px}
.tb-visa-country-media{overflow:hidden;min-height:300px;border-radius:11px;background:#eef2f3}
.tb-visa-country-media img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.tb-visa-country-media-empty{min-height:300px;display:grid;place-items:center;align-content:center;gap:8px;color:#172033;background:#eef6f4}
.tb-visa-country-media-empty span{font-size:36px}.tb-visa-country-media-empty b{font-size:18px}

.tb-visa-options-section,.tb-visa-simple-process{margin:0 0 40px}
.tb-visa-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.tb-visa-section-heading h2,.tb-visa-document-note h2{margin:0;color:#171322;font-size:26px;line-height:1.2}
.tb-visa-section-heading p{margin:6px 0 0;color:#6b7280;font-size:13px}
.tb-visa-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tb-visa-option-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #dfe5e8;border-radius:11px;background:#fff;box-shadow:none}
.tb-visa-option-media{height:150px;margin:-18px -18px 15px;overflow:hidden;border-radius:11px 11px 0 0;background:#eef2f3}.tb-visa-option-media img{display:block;width:100%;height:100%;object-fit:cover}
.tb-visa-option-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px}
.tb-visa-option-top span,.tb-visa-option-top em{display:inline-flex;padding:4px 7px;border-radius:5px;font-size:9.5px;font-weight:800;font-style:normal}
.tb-visa-option-top span{background:#eaf7f5;color:#0f766e}.tb-visa-option-top em{background:#f4f5f7;color:#626b79}
.tb-visa-option-card h3{margin:0;color:#172033;font-size:17px;line-height:1.35}
.tb-visa-option-plan{margin:4px 0 14px;color:#7b8492;font-size:11px;font-weight:700}
.tb-visa-option-details{display:grid;gap:8px;margin-bottom:18px}
.tb-visa-option-details>div{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf0f2}
.tb-visa-option-details>div:last-child{border-bottom:0}
.tb-visa-option-details i{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#f1f7f6;color:#0f766e;font-size:11px}
.tb-visa-option-details small,.tb-visa-option-footer small{display:block;color:#98a0ad;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.tb-visa-option-details strong{display:block;margin-top:1px;color:#394357;font-size:11.5px}
.tb-visa-option-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e8ecef}
.tb-visa-option-footer>div>strong{display:block;margin-top:2px;color:#171322;font-size:20px;line-height:1}
.tb-visa-option-footer .btn{white-space:nowrap}

.tb-visa-simple-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tb-visa-simple-steps>div{position:relative;padding:16px;border:1px solid #e1e6e9;border-radius:10px;background:#fff}
.tb-visa-simple-steps>div>span{position:absolute;top:12px;right:12px;color:#a1a9b5;font-size:10px;font-weight:850}
.tb-visa-simple-steps>div>i{width:34px;height:34px;display:grid;place-items:center;margin-bottom:10px;border-radius:8px;background:#eaf7f5;color:#0f766e}
.tb-visa-simple-steps h3{margin:0 0 5px;color:#1f2937;font-size:14px}.tb-visa-simple-steps p{margin:0;color:#737d8d;font-size:11px;line-height:1.5}
.tb-visa-document-note{display:flex;gap:15px;align-items:flex-start;margin:0 0 14px;padding:20px;border:1px solid #dce7e5;border-radius:11px;background:#f8fcfb}
.tb-visa-document-note>div:first-child{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#dff4f0;color:#0f766e}
.tb-visa-document-note p{margin:7px 0 0;max-width:860px;color:#657181;font-size:12.5px;line-height:1.6}
.tb-visa-important-note{display:flex;gap:9px;align-items:flex-start;margin:0 0 28px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:9px;background:#fafafa;color:#697386}
.tb-visa-important-note i{margin-top:2px;color:#7b8492}.tb-visa-important-note p{margin:0;font-size:11.5px;line-height:1.55}.tb-visa-important-note strong{color:#3d4656}
.tb-visa-final-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:11px;background:#173d3a;color:#fff}
.tb-visa-final-cta strong{display:block;font-size:16px}.tb-visa-final-cta span{display:block;margin-top:3px;color:rgba(255,255,255,.75);font-size:11.5px}

@media(max-width:991.98px){
  .tb-visa-country-overview{grid-template-columns:1fr;padding:20px}.tb-visa-country-media,.tb-visa-country-media img{min-height:240px}
  .tb-visa-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-visa-simple-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .tb-visa-country-main{padding-top:10px!important}.tb-visa-country-overview{gap:18px;margin-bottom:30px;padding:16px}.tb-visa-country-copy h1{font-size:2.1rem}
  .tb-visa-country-facts{display:grid;grid-template-columns:1fr 1fr}.tb-visa-country-facts>div{min-width:0}.tb-visa-country-media,.tb-visa-country-media img{min-height:190px}
  .tb-visa-option-grid,.tb-visa-simple-steps{grid-template-columns:1fr}.tb-visa-section-heading h2,.tb-visa-document-note h2{font-size:21px}.tb-visa-option-footer{align-items:center}
  .tb-visa-document-note{padding:15px}.tb-visa-final-cta{align-items:flex-start;flex-direction:column}.tb-visa-final-cta .btn{width:100%}
}

/* Visa country detail — CRM-driven document checklist */
.tb-visa-documents-section{margin:0 0 18px}
.tb-visa-document-groups{display:grid;gap:16px}
.tb-visa-document-group{padding:20px;border:1px solid #dfe5e8;border-radius:12px;background:#fff}
.tb-visa-document-group-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #edf0f2}
.tb-visa-document-group-head>div>span{display:block;margin-bottom:5px;color:#0f766e;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.tb-visa-document-group-head h3{margin:0;color:#172033;font-size:18px;line-height:1.3}
.tb-visa-document-group-head>i{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#eaf7f5;color:#0f766e}
.tb-visa-document-subhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:17px 0 10px}
.tb-visa-document-subhead strong{color:#1f2937;font-size:13px}
.tb-visa-document-subhead span{color:#7b8492;font-size:11px}
.tb-visa-document-subhead.profile{margin-top:22px}
.tb-visa-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tb-visa-document-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e5eaed;border-radius:9px;background:#fbfcfc}
.tb-visa-document-item>i{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#e8f7f4;color:#0f766e;font-size:10px}
.tb-visa-document-item strong{display:block;color:#263244;font-size:12px;line-height:1.35}
.tb-visa-document-item small{display:block;margin-top:3px;color:#8992a2;font-size:10px;line-height:1.35}
.tb-visa-document-item em,.tb-visa-profile-doc-row em{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border-radius:5px;font-size:8.5px;font-weight:850;font-style:normal;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}
.tb-visa-document-item em.required,.tb-visa-profile-doc-row em.required{background:#fff1e8;color:#b54708}
.tb-visa-document-item em.optional,.tb-visa-profile-doc-row em.optional{background:#f1f4f6;color:#667085}
.tb-visa-profile-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tb-visa-profile-doc-card{padding:13px;border:1px solid #e3e8eb;border-radius:9px;background:#fff}
.tb-visa-profile-doc-card h4{margin:0 0 9px;padding-bottom:8px;border-bottom:1px solid #edf0f2;color:#172033;font-size:12px}
.tb-visa-profile-doc-row{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:7px 0;border-bottom:1px dashed #edf0f2}
.tb-visa-profile-doc-row:last-child{border-bottom:0;padding-bottom:0}
.tb-visa-profile-doc-row>span{display:flex;align-items:flex-start;gap:7px;min-width:0;color:#4c5668;font-size:10.5px;line-height:1.35}
.tb-visa-profile-doc-row>span i{margin-top:2px;color:#0f766e;font-size:8px}
.tb-visa-document-empty{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #dce7e5;border-radius:10px;background:#f8fcfb;color:#647183}
.tb-visa-document-empty>i{margin-top:2px;color:#0f766e}
.tb-visa-document-empty strong{display:block;margin-bottom:3px;color:#263244;font-size:12.5px}
.tb-visa-document-empty span{display:block;font-size:11px;line-height:1.5}
@media(max-width:991.98px){
  .tb-visa-profile-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .tb-visa-document-group{padding:15px}
  .tb-visa-document-grid,.tb-visa-profile-doc-grid{grid-template-columns:1fr}
  .tb-visa-document-item{grid-template-columns:28px minmax(0,1fr)}
  .tb-visa-document-item em{grid-column:2;justify-self:start}
}

/* 2026-08-12: homepage classic professional palette refinement.
   Presentation-only. Keeps all existing homepage layout/content/behaviour intact. */
body.tb-home-page {
  --tb-home-navy:#0F2F3A;
  --tb-home-navy-2:#143E49;
  --tb-home-deep:#102A43;
  --tb-home-teal:#0B8F87;
  --tb-home-teal-dark:#08766F;
  --tb-home-mint:#EAF5F2;
  --tb-home-warm:#F8FAF9;
  --tb-home-line:#D9E7E4;
  --tb-home-text:#1E2933;
  --tb-home-muted:#64748B;
}

/* Keep light homepage sections calm and consistent. */
body.tb-home-page .tb-home-application-path {
  background:#FFFFFF !important;
  border-color:var(--tb-home-line) !important;
}
body.tb-home-page .tb-home-v2-visa {
  background:var(--tb-home-warm) !important;
}
body.tb-home-page .tb-home-v2-heading span,
body.tb-home-page .tb-home-v2-heading > a,
body.tb-home-page .tb-home-v2-visa-body small,
body.tb-home-page .tb-home-reviews-kicker,
body.tb-home-page .tb-home-application-head > div > span {
  color:var(--tb-home-teal-dark) !important;
}
body.tb-home-page .tb-home-v2-heading h2,
body.tb-home-page .tb-home-v2-visa-body strong,
body.tb-home-page .tb-home-reviews h2,
body.tb-home-page .tb-home-application-head h2 {
  color:var(--tb-home-text) !important;
}
body.tb-home-page .tb-home-v2-heading p,
body.tb-home-page .tb-home-reviews-head p,
body.tb-home-page .tb-home-v2-visa-body > span {
  color:var(--tb-home-muted) !important;
}
body.tb-home-page .tb-home-v2-visa-card,
body.tb-home-page .tb-home-application-card,
body.tb-home-page .tb-home-reviews .tb-testimonial-card {
  border-color:var(--tb-home-line) !important;
  box-shadow:0 8px 22px rgba(15,47,58,.055) !important;
}
body.tb-home-page .tb-home-v2-visa-card:hover,
body.tb-home-page .tb-home-application-card:hover,
body.tb-home-page .tb-home-reviews .tb-testimonial-card:hover {
  border-color:#9FCFC8 !important;
  box-shadow:0 14px 30px rgba(15,47,58,.09) !important;
}

/* How-it-works: classic deep navy rather than a purple-family dark. */
body.tb-home-page .tb-home-v2-process {
  background:var(--tb-home-deep) !important;
  color:#FFFFFF !important;
}
body.tb-home-page .tb-home-v2-process-copy > span {
  color:#75D4C8 !important;
}
body.tb-home-page .tb-home-v2-process-copy h2,
body.tb-home-page .tb-home-v2-steps strong {
  color:#FFFFFF !important;
}
body.tb-home-page .tb-home-v2-process-copy p,
body.tb-home-page .tb-home-v2-steps small {
  color:#C7D4DF !important;
}
body.tb-home-page .tb-home-v2-steps > div {
  border-color:rgba(255,255,255,.15) !important;
  background:rgba(255,255,255,.045) !important;
}
body.tb-home-page .tb-home-v2-steps b {
  background:var(--tb-home-teal) !important;
  color:#FFFFFF !important;
}

/* Why choose us: keep the next dark section in the same navy family, with only a restrained teal undertone. */
body.tb-home-page .tb-home-travel-simplified {
  background:linear-gradient(115deg,#112F40 0%,#133746 56%,#154149 100%) !important;
  border-top:1px solid rgba(117,212,200,.10) !important;
  color:#FFFFFF !important;
}
body.tb-home-page .tb-home-travel-simplified-copy > span {
  color:#75D4C8 !important;
}
body.tb-home-page .tb-home-travel-simplified-copy p {
  color:#D8E5E6 !important;
}
body.tb-home-page .tb-home-travel-simplified-points article {
  border-color:rgba(205,237,233,.18) !important;
  background:rgba(255,255,255,.045) !important;
}
body.tb-home-page .tb-home-travel-simplified-points article > i {
  background:#EAF7F4 !important;
  color:var(--tb-home-teal-dark) !important;
}
body.tb-home-page .tb-home-travel-simplified-points span {
  color:#D7E5E6 !important;
}
body.tb-home-page .tb-home-travel-simplified-cta {
  background:var(--tb-home-teal) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#FFFFFF !important;
  box-shadow:0 9px 20px rgba(3,28,32,.16) !important;
}
body.tb-home-page .tb-home-travel-simplified-cta:hover {
  background:var(--tb-home-teal-dark) !important;
  color:#FFFFFF !important;
}

/* Testimonials: warm neutral instead of visibly mint-tinted block. */
body.tb-home-page .tb-home-reviews {
  background:#F4F8F7 !important;
  border-top:1px solid var(--tb-home-line) !important;
  border-bottom:1px solid var(--tb-home-line) !important;
}
body.tb-home-page .tb-home-review-arrow {
  color:var(--tb-home-teal-dark) !important;
  border-color:#CFE1DE !important;
  background:#FFFFFF !important;
}
body.tb-home-page .tb-home-review-arrow:hover {
  color:#FFFFFF !important;
  background:var(--tb-home-teal) !important;
  border-color:var(--tb-home-teal) !important;
}

/* Homepage calls-to-action stay in the same trusted teal family. */
body.tb-home-page .tb-home-application-card span,
body.tb-home-page .tb-home-v2-heading > a {
  color:var(--tb-home-teal-dark) !important;
}
body.tb-home-page .tb-home-application-card > i {
  color:var(--tb-home-teal-dark) !important;
  background:var(--tb-home-mint) !important;
}
body.tb-home-page .tb-home-banner-search .btn,
body.tb-home-page .tb-home-banner-search button,
body.tb-home-page .tb-home-banner-copy .btn,
body.tb-home-page .tb-home-banner-copy a.btn,
body.tb-home-page .tb-home-banner-copy .tb-btn {
  background:linear-gradient(135deg,#0C9A91,#087C76) !important;
  border-color:#087C76 !important;
  box-shadow:0 10px 24px rgba(11,143,135,.22) !important;
}

/* Footer: same navy family as the rest of the homepage, not charcoal/black. */
body.tb-home-page main.tb-reference-home + .tb-footer,
body.tb-home-page .tb-footer {
  background:var(--tb-home-navy) !important;
  color:#D8E5E6 !important;
}
body.tb-home-page .tb-footer > .container {
  background:var(--tb-home-navy-2) !important;
  border-color:rgba(255,255,255,.10) !important;
}
body.tb-home-page .tb-footer h3,
body.tb-home-page .tb-footer h4 {
  color:#FFFFFF !important;
}
body.tb-home-page .tb-footer p,
body.tb-home-page .tb-footer a {
  color:#B9CCCF !important;
}
body.tb-home-page .tb-footer a:hover {
  color:#8ADBD0 !important;
}
body.tb-home-page .tb-footer-bottom,
body.tb-home-page .tb-footer-map-block {
  border-color:rgba(255,255,255,.10) !important;
}

/* Small fixed utility should not re-introduce purple on the homepage. */
body.tb-home-page .tb-back-top {
  background:var(--tb-home-teal) !important;
  border-color:var(--tb-home-teal-dark) !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 20px rgba(11,143,135,.25) !important;
}
body.tb-home-page .tb-back-top:hover {
  background:var(--tb-home-teal-dark) !important;
}

/* =========================================================
   Unified service banner vertical sizing
   Flight / Hotel / Visa / Insurance / OK To Board
   ========================================================= */
body.tb-reservation-process-page .tb-reservation-hero,
body.tb-service-form-page .tb-service-form-hero,
body.tb-visa-application-page .tb-smart-visa-app .hero {
  padding: 214px 0 114px !important;
}

/* CRM-managed public banners on Visa / Insurance / OTB pages use the same spacing. */
body.tb-visa-page .tb-page-banner-copy,
body.tb-service-form-page .tb-page-banner-copy {
  padding: 214px 0 114px !important;
  box-sizing: border-box;
}

/* =========================================================
   Public Travel Insurance page — wider, plan-first presentation
   ========================================================= */
body.tb-insurance-public-page{
  background:#f6f9f8;
  color:#172033;
}
body.tb-insurance-public-page .tb-page-hero{
  padding:214px 0 114px !important;
  background:
    radial-gradient(circle at 82% 22%,rgba(117,212,200,.20),transparent 26%),
    linear-gradient(135deg,#102f46 0%,#123b43 58%,#0d625f 130%) !important;
}
body.tb-insurance-public-page .tb-page-hero::before{background:linear-gradient(90deg,rgba(11,33,45,.12),rgba(11,33,45,0)) !important}
body.tb-insurance-public-page .tb-page-hero .container{max-width:1180px}
body.tb-insurance-public-page .tb-page-hero .tb-script{color:#83ded3 !important;font-size:12px !important;font-weight:850 !important;letter-spacing:.17em !important;text-transform:uppercase}
body.tb-insurance-public-page .tb-page-hero h1{max-width:760px;margin:10px 0 10px;color:#fff !important;font-size:clamp(42px,5vw,68px);line-height:1.02}
body.tb-insurance-public-page .tb-page-hero p{max-width:720px;margin:0;color:#d7e7e8 !important;font-size:17px;line-height:1.65}

.tb-insurance-public-main{padding:72px 0 80px;background:linear-gradient(180deg,#f6f9f8 0%,#fff 36%,#f7faf9 100%)}
.tb-insurance-public-main>.container{max-width:1180px}
.tb-insurance-eyebrow,.tb-insurance-section-head span{display:block;color:#0b8f87;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.tb-insurance-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:42px;align-items:stretch;margin-bottom:64px}
.tb-insurance-intro-copy{padding:10px 0}
.tb-insurance-intro-copy h2{max-width:650px;margin:8px 0 16px;color:#122637;font-size:clamp(34px,4.2vw,54px);line-height:1.04}
.tb-insurance-cms-copy h2{margin:0 0 10px;color:#1b3341;font-size:21px}.tb-insurance-cms-copy p{max-width:670px;margin:0 0 10px;color:#62717e;font-size:15px;line-height:1.75}
.tb-insurance-primary-cta{margin-top:18px !important;background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}
.tb-insurance-primary-cta:hover{background:#08756f !important;border-color:#08756f !important}
.tb-insurance-match-card{padding:26px;border:1px solid #d8e5e3;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(15,47,58,.08)}
.tb-insurance-match-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.tb-insurance-match-head>i{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e8f7f4;color:#0b8f87;font-size:20px}.tb-insurance-match-head small,.tb-insurance-match-head strong{display:block}.tb-insurance-match-head small{color:#7c8d96;font-size:10px;font-weight:850;letter-spacing:.12em}.tb-insurance-match-head strong{margin-top:3px;color:#18313f;font-size:18px}
.tb-insurance-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tb-insurance-match-grid>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e1e9e8;border-radius:12px;background:#f9fbfb}.tb-insurance-match-grid i{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf6f4;color:#087b75}.tb-insurance-match-grid b,.tb-insurance-match-grid small{display:block}.tb-insurance-match-grid b{color:#253c49;font-size:13px}.tb-insurance-match-grid small{margin-top:2px;color:#7b8993;font-size:10.5px}.tb-insurance-match-card>p{margin:16px 0 0;color:#697985;font-size:12px;line-height:1.6}

.tb-insurance-plans-section,.tb-insurance-how-section{margin:0 0 66px}
.tb-insurance-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.tb-insurance-section-head h2{margin:6px 0 7px;color:#122637;font-size:clamp(30px,3.5vw,44px);line-height:1.08}.tb-insurance-section-head p{max-width:760px;margin:0;color:#6b7984;font-size:14px;line-height:1.65}.tb-insurance-section-head>a{white-space:nowrap;color:#087b75;font-size:13px;font-weight:800;text-decoration:none}
.tb-insurance-plan-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tb-insurance-plan-card-public{display:flex;flex-direction:column;min-height:100%;padding:22px;border:1px solid #dbe5e4;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(15,47,58,.06)}
.tb-insurance-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #e8eeed}.tb-insurance-plan-top small{display:block;color:#0b8f87;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tb-insurance-plan-top h3{margin:5px 0 0;color:#172d3a;font-size:20px;line-height:1.25}.tb-insurance-plan-top>span{padding:6px 8px;border-radius:999px;background:#edf7f5;color:#0a746f;font-size:10px;font-weight:800;white-space:nowrap}
.tb-insurance-plan-stats{display:grid;grid-template-columns:1fr;gap:0;margin:8px 0}.tb-insurance-plan-stats>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #eef2f1}.tb-insurance-plan-stats small{color:#87949d;font-size:9px;font-weight:850;letter-spacing:.08em}.tb-insurance-plan-stats b{color:#2c414d;font-size:12px;text-align:right}
.tb-insurance-plan-card-public ul{display:grid;gap:7px;margin:10px 0 18px;padding:0;list-style:none}.tb-insurance-plan-card-public li{display:flex;gap:8px;align-items:flex-start;color:#5f707c;font-size:12px;line-height:1.45}.tb-insurance-plan-card-public li i{margin-top:2px;color:#0b8f87}
.tb-insurance-plan-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #e8eeed}.tb-insurance-plan-bottom small,.tb-insurance-plan-bottom strong{display:block}.tb-insurance-plan-bottom small{color:#8b979f;font-size:9px;font-weight:850;letter-spacing:.09em}.tb-insurance-plan-bottom strong{margin-top:4px;color:#102f46;font-size:22px}.tb-insurance-plan-bottom .btn{background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}
.tb-insurance-empty-plans{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:24px;border:1px solid #d5e5e2;border-radius:18px;background:#fff}.tb-insurance-empty-plans>i{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eaf7f4;color:#0b8f87;font-size:20px}.tb-insurance-empty-plans strong{display:block;color:#203744;font-size:16px}.tb-insurance-empty-plans p{margin:4px 0 0;color:#71808a;font-size:12px}.tb-insurance-empty-plans .btn{background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}

.tb-insurance-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tb-insurance-how-grid article{position:relative;padding:20px;border:1px solid #dce6e4;border-radius:16px;background:#fff}.tb-insurance-how-grid article>span{position:absolute;top:14px;right:14px;color:#9aa5ac;font-size:10px;font-weight:900}.tb-insurance-how-grid article>i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:16px;border-radius:12px;background:#e7f6f3;color:#0b8f87;font-size:16px}.tb-insurance-how-grid h3{margin:0 0 6px;color:#17303d;font-size:17px}.tb-insurance-how-grid p{margin:0;color:#72808a;font-size:12px;line-height:1.55}

body.tb-insurance-public-page .tb-public-requirements{width:100%;margin:0 0 64px;padding:28px;border-color:#dbe6e4;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(15,47,58,.06)}
body.tb-insurance-public-page .tb-public-requirements-head span{color:#0b8f87}
body.tb-insurance-public-page .tb-public-requirements-head h2{color:#122637}
body.tb-insurance-public-page .tb-public-requirement-card{border-color:#dce6e4;border-radius:15px}
body.tb-insurance-public-page .tb-public-requirement-card header{background:#f7faf9;border-color:#e2eae9}
body.tb-insurance-public-page .tb-public-requirement-card header>span{background:#0b8f87}
body.tb-insurance-public-page .tb-public-requirement-card li em{background:#eaf6f4;color:#08766f}
body.tb-insurance-public-page .tb-public-requirements-cta{background:linear-gradient(120deg,#102f46,#123b43);border-radius:14px}
body.tb-insurance-public-page .tb-public-requirements-cta span{color:#d0e0e1}
body.tb-insurance-public-page .tb-public-requirements-cta .btn{background:#0b8f87 !important;color:#fff !important}

.tb-insurance-info-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:64px}.tb-insurance-info-section>div{display:flex;gap:13px;padding:18px;border:1px solid #dce6e4;border-radius:15px;background:#f8fbfa}.tb-insurance-info-section i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:#e6f5f2;color:#0b8f87}.tb-insurance-info-section b,.tb-insurance-info-section small{display:block}.tb-insurance-info-section b{color:#213844;font-size:14px}.tb-insurance-info-section small{margin-top:4px;color:#70808a;font-size:11px;line-height:1.5}
.tb-insurance-final-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 38px;border-radius:22px;background:linear-gradient(120deg,#102f46,#123b43 60%,#0b625e 130%);color:#fff;box-shadow:0 20px 48px rgba(15,47,58,.14)}.tb-insurance-final-cta span{color:#82ddd2;font-size:11px;font-weight:900;letter-spacing:.15em}.tb-insurance-final-cta h2{margin:7px 0 7px;color:#fff;font-size:30px}.tb-insurance-final-cta p{margin:0;color:#d4e3e4;font-size:13px}.tb-insurance-final-cta .btn{flex:0 0 auto;background:#0b9c92 !important;border-color:#0b9c92 !important;color:#fff !important}

@media(max-width:991px){
  .tb-insurance-intro-grid{grid-template-columns:1fr;gap:24px}.tb-insurance-plan-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-insurance-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-insurance-info-section{grid-template-columns:1fr}.tb-insurance-final-cta{align-items:flex-start;flex-direction:column}.tb-insurance-section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:767px){
  body.tb-insurance-public-page .tb-page-hero{padding:150px 0 82px !important}.tb-insurance-public-main{padding:46px 0 58px}.tb-insurance-intro-grid{margin-bottom:48px}.tb-insurance-match-grid{grid-template-columns:1fr}.tb-insurance-plan-grid-public,.tb-insurance-how-grid{grid-template-columns:1fr}.tb-insurance-empty-plans{grid-template-columns:44px 1fr}.tb-insurance-empty-plans>a{grid-column:1/-1;width:100%}.tb-insurance-final-cta{padding:26px 22px}.tb-insurance-final-cta .btn{width:100%}.tb-insurance-public-main>.container{padding-left:16px;padding-right:16px}
}

/* =========================================================
   Public OK To Board page — wider, CRM option-first presentation
   Mirrors the professional Travel Insurance page structure while
   preserving OTB-specific airline/destination/document logic.
   ========================================================= */
body.tb-otb-public-page{
  background:#f6f9f8;
  color:#172033;
}
body.tb-otb-public-page .tb-page-banner-slider{display:none !important}
body.tb-otb-public-page .tb-page-hero{
  min-height:0 !important;
  padding:148px 0 76px !important;
  text-align:center !important;
  background:
    radial-gradient(circle at 82% 22%,rgba(117,212,200,.18),transparent 28%),
    linear-gradient(135deg,rgba(16,47,70,.96) 0%,rgba(18,59,67,.94) 58%,rgba(13,98,95,.90) 130%),
    var(--page-bg) center/cover no-repeat !important;
}
body.tb-otb-public-page .tb-page-hero::before{display:none !important}
body.tb-otb-public-page .tb-page-hero .container{max-width:900px !important;margin:0 auto !important}
body.tb-otb-public-page .tb-page-hero .tb-script{display:inline-flex !important;align-items:center !important;padding:7px 14px !important;border:1px solid rgba(255,255,255,.24) !important;border-radius:999px !important;background:rgba(255,255,255,.10) !important;color:#a7eee5 !important;font-size:11px !important;font-weight:850 !important;letter-spacing:.17em !important;text-transform:uppercase}
body.tb-otb-public-page .tb-page-hero h1{max-width:none !important;margin:14px 0 8px !important;color:#fff !important;font-size:clamp(38px,4.6vw,58px) !important;line-height:1.04 !important;letter-spacing:-1.2px !important}
body.tb-otb-public-page .tb-page-hero p{max-width:680px !important;margin:0 auto !important;color:#d7e7e8 !important;font-size:16px !important;line-height:1.55 !important}

.tb-otb-public-main{padding:72px 0 80px;background:linear-gradient(180deg,#f6f9f8 0%,#fff 36%,#f7faf9 100%)}
.tb-otb-public-main>.container{max-width:1180px}
.tb-otb-eyebrow,.tb-otb-section-head span{display:block;color:#0b8f87;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.tb-otb-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:42px;align-items:stretch;margin-bottom:64px}
.tb-otb-intro-copy{padding:10px 0}
.tb-otb-intro-copy h2{max-width:650px;margin:8px 0 16px;color:#122637;font-size:clamp(34px,4.2vw,54px);line-height:1.04}
.tb-otb-cms-copy h2{margin:0 0 10px;color:#1b3341;font-size:21px}.tb-otb-cms-copy p{max-width:670px;margin:0 0 10px;color:#62717e;font-size:15px;line-height:1.75}
.tb-otb-primary-cta{margin-top:18px !important;background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}
.tb-otb-primary-cta:hover{background:#08756f !important;border-color:#08756f !important}
.tb-otb-match-card{padding:26px;border:1px solid #d8e5e3;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(15,47,58,.08)}
.tb-otb-match-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.tb-otb-match-head>i{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#e8f7f4;color:#0b8f87;font-size:20px}.tb-otb-match-head small,.tb-otb-match-head strong{display:block}.tb-otb-match-head small{color:#7c8d96;font-size:10px;font-weight:850;letter-spacing:.12em}.tb-otb-match-head strong{margin-top:3px;color:#18313f;font-size:18px}
.tb-otb-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tb-otb-match-grid>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #e1e9e8;border-radius:12px;background:#f9fbfb}.tb-otb-match-grid i{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf6f4;color:#087b75}.tb-otb-match-grid b,.tb-otb-match-grid small{display:block}.tb-otb-match-grid b{color:#253c49;font-size:13px}.tb-otb-match-grid small{margin-top:2px;color:#7b8993;font-size:10.5px}.tb-otb-match-card>p{margin:16px 0 0;color:#697985;font-size:12px;line-height:1.6}

.tb-otb-products-section,.tb-otb-how-section{margin:0 0 66px}
.tb-otb-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.tb-otb-section-head h2{margin:6px 0 7px;color:#122637;font-size:clamp(30px,3.5vw,44px);line-height:1.08}.tb-otb-section-head p{max-width:760px;margin:0;color:#6b7984;font-size:14px;line-height:1.65}.tb-otb-section-head>a{white-space:nowrap;color:#087b75;font-size:13px;font-weight:800;text-decoration:none}
.tb-otb-product-grid-public{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tb-otb-product-card-public{display:flex;flex-direction:column;min-height:100%;padding:22px;border:1px solid #dbe5e4;border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(15,47,58,.06)}
.tb-otb-product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #e8eeed}.tb-otb-product-top small{display:block;color:#0b8f87;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tb-otb-product-top h3{margin:5px 0 0;color:#172d3a;font-size:20px;line-height:1.25}.tb-otb-product-top>span{padding:6px 8px;border-radius:999px;background:#edf7f5;color:#0a746f;font-size:10px;font-weight:800;white-space:nowrap}
.tb-otb-product-stats{display:grid;grid-template-columns:1fr;gap:0;margin:8px 0}.tb-otb-product-stats>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #eef2f1}.tb-otb-product-stats small{color:#87949d;font-size:9px;font-weight:850;letter-spacing:.08em}.tb-otb-product-stats b{color:#2c414d;font-size:12px;text-align:right}
.tb-otb-product-card-public ul{display:grid;gap:7px;margin:10px 0 18px;padding:0;list-style:none}.tb-otb-product-card-public li{display:flex;gap:8px;align-items:flex-start;color:#5f707c;font-size:12px;line-height:1.45}.tb-otb-product-card-public li i{margin-top:2px;color:#0b8f87}
.tb-otb-product-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #e8eeed}.tb-otb-product-bottom small,.tb-otb-product-bottom strong{display:block}.tb-otb-product-bottom small{color:#8b979f;font-size:9px;font-weight:850;letter-spacing:.09em}.tb-otb-product-bottom strong{margin-top:4px;color:#102f46;font-size:22px}.tb-otb-product-bottom .btn{background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}
.tb-otb-empty-products{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:24px;border:1px solid #d5e5e2;border-radius:18px;background:#fff}.tb-otb-empty-products>i{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eaf7f4;color:#0b8f87;font-size:20px}.tb-otb-empty-products strong{display:block;color:#203744;font-size:16px}.tb-otb-empty-products p{margin:4px 0 0;color:#71808a;font-size:12px}.tb-otb-empty-products .btn{background:#0b8f87 !important;border-color:#0b8f87 !important;color:#fff !important}

.tb-otb-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tb-otb-how-grid article{position:relative;padding:20px;border:1px solid #dce6e4;border-radius:16px;background:#fff}.tb-otb-how-grid article>span{position:absolute;top:14px;right:14px;color:#9aa5ac;font-size:10px;font-weight:900}.tb-otb-how-grid article>i{width:42px;height:42px;display:grid;place-items:center;margin-bottom:16px;border-radius:12px;background:#e7f6f3;color:#0b8f87;font-size:16px}.tb-otb-how-grid h3{margin:0 0 6px;color:#17303d;font-size:17px}.tb-otb-how-grid p{margin:0;color:#72808a;font-size:12px;line-height:1.55}

body.tb-otb-public-page .tb-public-requirements{width:100%;margin:0 0 64px;padding:28px;border-color:#dbe6e4;border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(15,47,58,.06)}
body.tb-otb-public-page .tb-public-requirements-head span{color:#0b8f87}
body.tb-otb-public-page .tb-public-requirements-head h2{color:#122637}
body.tb-otb-public-page .tb-public-requirement-card{border-color:#dce6e4;border-radius:15px}
body.tb-otb-public-page .tb-public-requirement-card header{background:#f7faf9;border-color:#e2eae9}
body.tb-otb-public-page .tb-public-requirement-card header>span{background:#0b8f87}
body.tb-otb-public-page .tb-public-requirement-card li em{background:#eaf6f4;color:#08766f}
body.tb-otb-public-page .tb-public-requirements-cta{background:linear-gradient(120deg,#102f46,#123b43);border-radius:14px}
body.tb-otb-public-page .tb-public-requirements-cta span{color:#d0e0e1}
body.tb-otb-public-page .tb-public-requirements-cta .btn{background:#0b8f87 !important;color:#fff !important}

.tb-otb-info-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:64px}.tb-otb-info-section>div{display:flex;gap:13px;padding:18px;border:1px solid #dce6e4;border-radius:15px;background:#f8fbfa}.tb-otb-info-section i{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:#e6f5f2;color:#0b8f87}.tb-otb-info-section b,.tb-otb-info-section small{display:block}.tb-otb-info-section b{color:#213844;font-size:14px}.tb-otb-info-section small{margin-top:4px;color:#70808a;font-size:11px;line-height:1.5}
.tb-otb-final-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 38px;border-radius:22px;background:linear-gradient(120deg,#102f46,#123b43 60%,#0b625e 130%);color:#fff;box-shadow:0 20px 48px rgba(15,47,58,.14)}.tb-otb-final-cta span{color:#82ddd2;font-size:11px;font-weight:900;letter-spacing:.15em}.tb-otb-final-cta h2{margin:7px 0 7px;color:#fff;font-size:30px}.tb-otb-final-cta p{margin:0;color:#d4e3e4;font-size:13px}.tb-otb-final-cta .btn{flex:0 0 auto;background:#0b9c92 !important;border-color:#0b9c92 !important;color:#fff !important}

@media(max-width:991px){
  .tb-otb-intro-grid{grid-template-columns:1fr;gap:24px}.tb-otb-product-grid-public{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-otb-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-otb-info-section{grid-template-columns:1fr}.tb-otb-final-cta{align-items:flex-start;flex-direction:column}.tb-otb-section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:767px){
  body.tb-otb-public-page .tb-page-hero{padding:118px 0 58px !important}.tb-otb-public-main{padding:46px 0 58px}.tb-otb-intro-grid{margin-bottom:48px}.tb-otb-match-grid{grid-template-columns:1fr}.tb-otb-product-grid-public,.tb-otb-how-grid{grid-template-columns:1fr}.tb-otb-empty-products{grid-template-columns:44px 1fr}.tb-otb-empty-products>a{grid-column:1/-1;width:100%}.tb-otb-final-cta{padding:26px 22px}.tb-otb-final-cta .btn{width:100%}.tb-otb-public-main>.container{padding-left:16px;padding-right:16px}
}

/* =========================================================
   Service hero height alignment — match current Hotel reservation banner
   Visa / Travel Insurance / OK To Board only. Hotel stays untouched.
   ========================================================= */
body.tb-insurance-public-page .tb-page-hero,
body.tb-otb-public-page .tb-page-hero {
  min-height: clamp(560px, 72vh, 760px) !important;
  padding: 214px 0 114px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
}

body.tb-insurance-public-page .tb-page-hero > .container,
body.tb-otb-public-page .tb-page-hero > .container {
  width: 100% !important;
}

/* Visa uses the shared CRM page banner rendered from header.php. */
body.tb-visa-page .tb-page-banner-slider {
  height: clamp(560px, 72vh, 760px) !important;
  min-height: 560px !important;
}
body.tb-visa-page .tb-page-banner-copy {
  min-height: 100% !important;
  padding: 214px 0 114px !important;
  box-sizing: border-box !important;
  justify-content: center !important;
}

/* Keep the same proportions on tablets/mobile rather than falling back to
   the older compact Insurance/OTB overrides. */
@media (max-width: 767px) {
  body.tb-insurance-public-page .tb-page-hero,
  body.tb-otb-public-page .tb-page-hero {
    min-height: 560px !important;
    padding: 214px 0 114px !important;
  }
  body.tb-visa-page .tb-page-banner-slider {
    height: 560px !important;
    min-height: 560px !important;
  }
  body.tb-visa-page .tb-page-banner-copy {
    padding: 214px 24px 114px !important;
  }
}

/* =========================================================
   2026-08-12 — Global compact public footer
   One layout + one Navy/Teal palette across every public page.
   ========================================================= */
body .tb-footer.tb-footer,
body.tb-home-page .tb-footer.tb-footer,
body.tb-public-status-page .tb-footer.tb-footer {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  margin:0 !important;
  padding:16px 0 10px !important;
  background:#0F2F3A !important;
  background-image:none !important;
  color:#D8E6E7 !important;
  border:0 !important;
}

body .tb-footer.tb-footer > .container,
body.tb-home-page .tb-footer.tb-footer > .container,
body.tb-public-status-page .tb-footer.tb-footer > .container {
  width:min(100% - 28px, 1500px) !important;
  max-width:1500px !important;
  margin:0 auto !important;
  padding:18px 22px 10px !important;
  background:#123B45 !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:11px !important;
  box-shadow:none !important;
}

body .tb-footer.tb-footer .row,
body.tb-home-page .tb-footer.tb-footer .row {
  --bs-gutter-x:22px !important;
  --bs-gutter-y:12px !important;
  margin-top:0 !important;
}

body .tb-footer.tb-footer .row > [class*="col-"],
body.tb-home-page .tb-footer.tb-footer .row > [class*="col-"] {
  padding-top:0 !important;
  padding-bottom:0 !important;
}

body .tb-footer.tb-footer .tb-footer-logo,
body.tb-home-page .tb-footer.tb-footer .tb-footer-logo {
  display:block !important;
  width:auto !important;
  max-width:175px !important;
  max-height:48px !important;
  margin:0 0 8px !important;
  object-fit:contain !important;
}

body .tb-footer.tb-footer h3,
body .tb-footer.tb-footer h4,
body.tb-home-page .tb-footer.tb-footer h3,
body.tb-home-page .tb-footer.tb-footer h4 {
  margin:0 0 8px !important;
  color:#FFFFFF !important;
  font-size:15px !important;
  line-height:1.25 !important;
}

body .tb-footer.tb-footer h4::after,
body.tb-home-page .tb-footer.tb-footer h4::after {
  width:34px !important;
  height:2px !important;
  margin-top:6px !important;
  background:#0B9A91 !important;
}

body .tb-footer.tb-footer p,
body .tb-footer.tb-footer li,
body .tb-footer.tb-footer a,
body.tb-home-page .tb-footer.tb-footer p,
body.tb-home-page .tb-footer.tb-footer li,
body.tb-home-page .tb-footer.tb-footer a {
  color:#C7D7DA !important;
  font-size:12px !important;
  line-height:1.42 !important;
}

body .tb-footer.tb-footer p,
body.tb-home-page .tb-footer.tb-footer p {
  margin:0 0 8px !important;
}

body .tb-footer.tb-footer ul,
body.tb-home-page .tb-footer.tb-footer ul {
  margin:0 !important;
  padding:0 !important;
}

body .tb-footer.tb-footer li,
body.tb-home-page .tb-footer.tb-footer li {
  margin:0 0 5px !important;
  padding:0 !important;
}

body .tb-footer.tb-footer a:hover,
body.tb-home-page .tb-footer.tb-footer a:hover {
  color:#8ADBD0 !important;
}

body .tb-footer.tb-footer .tb-contact-list li,
body.tb-home-page .tb-footer.tb-footer .tb-contact-list li {
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
}

body .tb-footer.tb-footer .tb-contact-list i,
body.tb-home-page .tb-footer.tb-footer .tb-contact-list i {
  width:14px !important;
  margin-top:2px !important;
  color:#19B7AD !important;
  font-size:11px !important;
}

body .tb-footer.tb-footer .tb-footer-social,
body.tb-home-page .tb-footer.tb-footer .tb-footer-social {
  display:flex !important;
  gap:7px !important;
  margin-top:8px !important;
}

body .tb-footer.tb-footer .tb-footer-social a,
body.tb-home-page .tb-footer.tb-footer .tb-footer-social a {
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#D8E6E7 !important;
  font-size:11px !important;
}

body .tb-footer.tb-footer .tb-footer-map-block,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-block {
  display:block !important;
  margin:12px 0 0 !important;
  padding:10px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
}

body .tb-footer.tb-footer .tb-footer-map-copy,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-copy {
  display:none !important;
}

body .tb-footer.tb-footer .tb-footer-map-frame,
body .tb-footer.tb-footer .tb-footer-map-frame iframe,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame iframe {
  width:100% !important;
  min-height:92px !important;
  height:92px !important;
}

body .tb-footer.tb-footer .tb-footer-map-frame,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame {
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:7px !important;
  background:#0B2630 !important;
}

body .tb-footer.tb-footer .tb-footer-bottom,
body.tb-home-page .tb-footer.tb-footer .tb-footer-bottom {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:10px 0 0 !important;
  padding:9px 0 0 !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
}

body .tb-footer.tb-footer .tb-footer-bottom p,
body.tb-home-page .tb-footer.tb-footer .tb-footer-bottom p {
  margin:0 !important;
  font-size:11px !important;
  white-space:nowrap !important;
}

body .tb-footer.tb-footer .tb-footer-policy-links,
body.tb-home-page .tb-footer.tb-footer .tb-footer-policy-links {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:6px 14px !important;
}

body .tb-footer.tb-footer .tb-footer-policy-links a,
body.tb-home-page .tb-footer.tb-footer .tb-footer-policy-links a {
  font-size:11px !important;
  font-weight:650 !important;
}

body .tb-back-top.tb-back-top,
body.tb-home-page .tb-back-top.tb-back-top {
  width:34px !important;
  height:34px !important;
  border-radius:7px !important;
  background:#0B8F87 !important;
  border:1px solid #08776F !important;
  color:#FFFFFF !important;
  box-shadow:0 6px 16px rgba(8,119,111,.22) !important;
}

@media (max-width:991.98px) {
  body .tb-footer.tb-footer > .container,
  body.tb-home-page .tb-footer.tb-footer > .container {
    width:min(100% - 22px, 1500px) !important;
    padding:16px 18px 10px !important;
  }
  body .tb-footer.tb-footer .tb-footer-map-frame,
  body .tb-footer.tb-footer .tb-footer-map-frame iframe,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame iframe {
    min-height:105px !important;
    height:105px !important;
  }
}

@media (max-width:767.98px) {
  body .tb-footer.tb-footer,
  body.tb-home-page .tb-footer.tb-footer {
    padding:10px 0 8px !important;
  }
  body .tb-footer.tb-footer > .container,
  body.tb-home-page .tb-footer.tb-footer > .container {
    width:calc(100% - 16px) !important;
    padding:14px 14px 9px !important;
    border-radius:9px !important;
  }
  body .tb-footer.tb-footer .row,
  body.tb-home-page .tb-footer.tb-footer .row {
    --bs-gutter-y:10px !important;
  }
  body .tb-footer.tb-footer .tb-footer-logo,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-logo {
    max-width:150px !important;
    max-height:42px !important;
  }
  body .tb-footer.tb-footer h4,
  body.tb-home-page .tb-footer.tb-footer h4 {
    margin-bottom:6px !important;
    font-size:14px !important;
  }
  body .tb-footer.tb-footer .tb-footer-map-block,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-block {
    margin-top:9px !important;
    padding-top:8px !important;
  }
  body .tb-footer.tb-footer .tb-footer-map-frame,
  body .tb-footer.tb-footer .tb-footer-map-frame iframe,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-frame iframe {
    min-height:110px !important;
    height:110px !important;
  }
  body .tb-footer.tb-footer .tb-footer-bottom,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-bottom {
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:6px !important;
    margin-top:8px !important;
    padding-top:8px !important;
  }
  body .tb-footer.tb-footer .tb-footer-bottom p,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-bottom p {
    white-space:normal !important;
  }
  body .tb-footer.tb-footer .tb-footer-policy-links,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-policy-links {
    justify-content:flex-start !important;
    gap:5px 11px !important;
  }
}

/* =========================================================
   2026-08-12 — Footer map moved into Contact Info column
   Shared footer.php makes this identical across all public pages.
   ========================================================= */
body .tb-footer.tb-footer .tb-footer-contact-column,
body.tb-home-page .tb-footer.tb-footer .tb-footer-contact-column {
  display:flex !important;
  flex-direction:column !important;
}
body .tb-footer.tb-footer .tb-footer-contact-column .tb-contact-list,
body.tb-home-page .tb-footer.tb-footer .tb-footer-contact-column .tb-contact-list {
  margin-bottom:0 !important;
}
body .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline {
  display:block !important;
  width:100% !important;
  max-width:285px !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  border:0 !important;
}
body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe {
  width:100% !important;
  min-height:78px !important;
  height:78px !important;
}
body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame {
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.11) !important;
  border-radius:7px !important;
  background:#0B2630 !important;
}
body .tb-footer.tb-footer .tb-footer-bottom,
body.tb-home-page .tb-footer.tb-footer .tb-footer-bottom {
  margin-top:10px !important;
}
@media (max-width:991.98px) {
  body .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline {
    max-width:320px !important;
  }
  body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
  body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe {
    min-height:82px !important;
    height:82px !important;
  }
}
@media (max-width:767.98px) {
  body .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-block.tb-footer-map-inline {
    max-width:100% !important;
    margin-top:7px !important;
  }
  body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
  body .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame,
  body.tb-home-page .tb-footer.tb-footer .tb-footer-map-inline .tb-footer-map-frame iframe {
    min-height:88px !important;
    height:88px !important;
  }
}


/* =========================================================
   2026-08-12 — Clear public banners: no tint, overlay or shadow
   Keep CRM/banner images natural and unobscured on every public page.
   ========================================================= */
.tb-hero,
.tb-home-banner-hero,
.tb-page-hero,
.tb-page-banner-slider,
.tb-reservation-hero,
.booking-hero,
.tb-flight-page-hero,
.tb-service-form-hero,
.tb-client-account-hero,
.tb-package-detail-hero,
.dest-hero {
  box-shadow:none !important;
  filter:none !important;
}

/* Remove all decorative/dark banner layers. */
.tb-hero-overlay,
.tb-home-banner-shade,
.tb-page-banner-overlay {
  background:transparent !important;
  background-image:none !important;
  opacity:0 !important;
  box-shadow:none !important;
}
.tb-page-hero::before,
.tb-page-hero::after,
.tb-client-account-hero::after,
.booking-hero::after {
  display:none !important;
  content:none !important;
  background:none !important;
  box-shadow:none !important;
}

/* Flight / Hotel reservation hero: show the image itself at full strength. */
body.tb-reservation-process-page .tb-reservation-hero {
  background-color:#eef4f3 !important;
  background-image:url("../images/reference-uae.png") !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
body.tb-reservation-process-page .tb-reservation-hero::before {
  display:none !important;
  content:none !important;
  opacity:0 !important;
  background:none !important;
}
body.tb-reservation-process-page .tb-reservation-hero-process > div {
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}

/* Standard page heroes (Insurance / OTB / generic service pages): use the
   CRM page image directly instead of a colour gradient or tint. */
.tb-page-hero,
body.tb-insurance-public-page .tb-page-hero,
body.tb-otb-public-page .tb-page-hero {
  background-color:#eef4f3 !important;
  background-image:var(--page-bg, none) !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
body.tb-insurance-public-page .tb-page-hero::before,
body.tb-otb-public-page .tb-page-hero::before {
  display:none !important;
  content:none !important;
  background:none !important;
}

/* CRM-managed multi-image banners / Visa banners. */
.tb-page-banner-slide > img,
.tb-home-banner-media,
.tb-hero-slide {
  filter:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}

/* Do not fake depth on text sitting over a banner. */
.tb-hero h1,
.tb-hero p,
.tb-home-banner-hero h1,
.tb-home-banner-hero p,
.tb-page-hero h1,
.tb-page-hero h2,
.tb-page-hero p,
.tb-page-banner-copy h1,
.tb-page-banner-copy p,
.tb-reservation-hero h1,
.tb-reservation-hero p,
.booking-hero h1,
.booking-hero p,
.tb-flight-page-hero h1,
.tb-flight-page-hero p,
.tb-service-form-hero h1,
.tb-service-form-hero p,
.tb-client-account-hero h1,
.tb-client-account-hero p,
.tb-package-detail-hero h1,
.tb-package-detail-hero p {
  text-shadow:none !important;
}


/* Booking auth: optional guest checkout for Flight / Hotel only */
.tb-client-auth-tabs.has-guest{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tb-client-auth-tabs.has-guest button{padding:11px 8px!important;font-size:13px!important;line-height:1.2}
.tb-client-guest-note{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #d9ebe7;border-radius:10px;background:#f3faf8;color:#52627a;font-size:12px;line-height:1.45}
.tb-client-guest-note i{margin-top:2px;color:#0f8d83}
.tb-client-guest-primary{background:#0f8d83!important;box-shadow:none!important}
.tb-client-guest-primary:hover{background:#0a786f!important}
@media(max-width:560px){.tb-client-auth-tabs.has-guest{grid-template-columns:1fr!important}.tb-client-auth-tabs.has-guest button{display:block!important;padding:10px!important}}

/* Insurance quote-first journey: pre-login rate check -> compare -> book */
.tb-insurance-quote-shell{margin:0 0 54px;padding:28px;border:1px solid #d7e5e2;border-radius:16px;background:#fff;box-shadow:0 16px 45px rgba(15,47,58,.06)}
.tb-insurance-quote-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:22px}.tb-insurance-quote-head>div>span,.tb-insurance-results-head span{display:block;margin-bottom:5px;color:#0b8278;font-size:10px;font-weight:850;letter-spacing:.11em}.tb-insurance-quote-head h2,.tb-insurance-results-head h2{margin:0;color:#152638;font-size:clamp(25px,3vw,36px);line-height:1.15}.tb-insurance-quote-head p{max-width:720px;margin:8px 0 0;color:#667085;font-size:13px;line-height:1.6}.tb-insurance-quote-badge{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:11px 14px;border:1px solid #cfe7e2;border-radius:10px;background:#effaf7}.tb-insurance-quote-badge>i{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#0f8d83;color:#fff}.tb-insurance-quote-badge b,.tb-insurance-quote-badge small{display:block}.tb-insurance-quote-badge b{color:#17413e;font-size:12px}.tb-insurance-quote-badge small{margin-top:2px;color:#66827e;font-size:10px}
.tb-insurance-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tb-insurance-quote-grid label,.tb-insurance-quote-dobs label{display:flex;flex-direction:column;gap:6px;color:#45556a;font-size:11.5px;font-weight:800}.tb-insurance-quote-grid input,.tb-insurance-quote-grid select,.tb-insurance-quote-dobs input{width:100%;min-height:45px;padding:10px 12px;border:1px solid #cfdde3;border-radius:8px;background:#fff;color:#172033;font:inherit;font-weight:600;outline:none}.tb-insurance-quote-grid input:focus,.tb-insurance-quote-grid select:focus,.tb-insurance-quote-dobs input:focus{border-color:#0f8d83;box-shadow:0 0 0 3px rgba(15,141,131,.09)}.tb-insurance-quote-dobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding:15px;border:1px solid #e2ebe9;border-radius:10px;background:#f8fbfa}.tb-insurance-quote-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.tb-insurance-quote-action>div{display:flex;align-items:flex-start;gap:8px;max-width:700px;color:#687789;font-size:11.5px;line-height:1.5}.tb-insurance-quote-action>div i{margin-top:2px;color:#0f8d83}.tb-insurance-quote-action .btn{min-width:180px;background:#0f8d83!important;border-color:#0f8d83!important;color:#fff!important}
.tb-insurance-quote-message{margin:20px 0 0;padding:12px 14px;border-radius:9px;background:#effaf7;color:#176d65;font-size:12px;font-weight:700}.tb-insurance-quote-message.error{background:#fff2f0;color:#b42318}.tb-insurance-quote-message.empty{background:#fff8e8;color:#8a5a00}.tb-insurance-results-loading{margin-top:18px;padding:28px;border:1px dashed #cfdde3;border-radius:10px;text-align:center;color:#64748b}.tb-insurance-results-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:30px 0 14px;padding-top:24px;border-top:1px solid #e5eceb}.tb-insurance-results-head b{color:#6b7888;font-size:11px}.tb-insurance-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tb-insurance-result-card{display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid #dce6e5;border-radius:12px;background:#fff}.tb-insurance-result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tb-insurance-result-provider{display:flex;align-items:center;gap:10px;min-width:0}.tb-insurance-result-provider img,.tb-ins-quote-logo-fallback{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:9px;border:1px solid #e2e8e7;background:#f2f8f6;object-fit:contain;padding:4px;color:#0f8d83}.tb-insurance-result-provider small{display:block;color:#738094;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.tb-insurance-result-provider h3{margin:2px 0 0;color:#172033;font-size:15px;line-height:1.3}.tb-insurance-best-price{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eaf8ef;color:#137547;font-size:8.5px;white-space:nowrap}.tb-insurance-result-tags{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.tb-insurance-result-tags span{display:inline-flex;padding:4px 7px;border-radius:5px;background:#f1f5f5;color:#536473;font-size:9px;font-weight:750}.tb-insurance-result-main{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.tb-insurance-result-main>div{padding:10px;border:1px solid #e7edec;border-radius:8px;background:#fafcfc}.tb-insurance-result-main small{display:block;color:#92a0ad;font-size:8px;font-weight:850;letter-spacing:.05em}.tb-insurance-result-main strong{display:block;margin-top:3px;color:#18384a;font-size:14px}.tb-insurance-rate-breakdown{margin:0 0 12px;border:1px solid #e5ebea;border-radius:8px;background:#fbfcfc}.tb-insurance-rate-breakdown summary{cursor:pointer;padding:9px 10px;color:#4b5d6d;font-size:10px;font-weight:800}.tb-insurance-rate-breakdown>div{padding:0 10px 8px}.tb-insurance-rate-breakdown span{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 0;border-top:1px dashed #e4e9e8}.tb-insurance-rate-breakdown b{color:#344556;font-size:9.5px}.tb-insurance-rate-breakdown em{color:#0b8278;font-size:9.5px;font-weight:800;font-style:normal}.tb-insurance-rate-breakdown small{grid-column:1/-1;color:#8a96a4;font-size:8.5px}.tb-insurance-result-benefits{margin-bottom:12px}.tb-insurance-result-benefits>b{display:block;margin-bottom:6px;color:#45576a;font-size:10px}.tb-insurance-result-benefits ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.tb-insurance-result-benefits li{display:flex;gap:7px;align-items:flex-start;color:#546577;font-size:10px;line-height:1.35}.tb-insurance-result-benefits li i{margin-top:2px;color:#0f8d83;font-size:8px}.tb-insurance-result-benefits li small{display:block;margin-top:1px;color:#8a96a4}.tb-insurance-result-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #e7edec}.tb-insurance-result-foot>small{max-width:55%;color:#94a0ad;font-size:8.5px}.tb-insurance-result-foot .btn{padding:9px 13px!important;background:#0f8d83!important;border-color:#0f8d83!important;color:#fff!important;font-size:10.5px!important}
@media(max-width:991px){.tb-insurance-quote-grid,.tb-insurance-quote-dobs{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-insurance-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tb-insurance-quote-shell{padding:18px}.tb-insurance-quote-head,.tb-insurance-quote-action,.tb-insurance-results-head{align-items:flex-start;flex-direction:column}.tb-insurance-quote-badge{width:100%}.tb-insurance-quote-grid,.tb-insurance-quote-dobs,.tb-insurance-result-grid{grid-template-columns:1fr}.tb-insurance-quote-action .btn{width:100%}.tb-insurance-result-main{grid-template-columns:1fr 1fr}}

/* Insurance quote handoff: selected quote snapshot + traveller-wise premium */
.tb-ins-selected-quote{max-width:1180px;margin:0 auto 18px;padding:16px 18px;border:1px solid #cfe5e1;border-radius:12px;background:#f6fbfa;display:flex;align-items:center;justify-content:space-between;gap:18px}
.tb-ins-selected-quote>div:first-child small{display:block;margin-bottom:4px;color:#0f766e;font-size:10px;font-weight:850;letter-spacing:.08em}
.tb-ins-selected-quote h2{margin:0;color:#172033;font-size:20px;line-height:1.25}
.tb-ins-selected-quote p{margin:5px 0 0;color:#667085;font-size:12px}
.tb-ins-selected-quote-facts{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tb-ins-selected-quote-facts>span{min-width:130px;padding:9px 11px;border:1px solid #dce8e5;border-radius:8px;background:#fff}
.tb-ins-selected-quote-facts small{display:block;color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.05em}
.tb-ins-selected-quote-facts b{display:block;margin-top:2px;color:#17353a;font-size:13px}
.tb-ins-selected-quote-facts>a{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid #b8d7d1;border-radius:8px;color:#0f766e;text-decoration:none;font-size:11px;font-weight:800;background:#fff}
.tb-ins-plan-card.rate-sheet{border-color:#b9dcd5;background:#fbfefd}
.tb-ins-quoted-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0;padding:9px;border-radius:8px;background:#f3f8f7}
.tb-ins-quoted-breakdown span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#64748b;font-size:10.5px}
.tb-ins-quoted-breakdown b{color:#0f766e;font-size:10.5px;white-space:nowrap}
@media(max-width:767px){.tb-ins-selected-quote{align-items:flex-start;flex-direction:column}.tb-ins-selected-quote-facts{justify-content:flex-start;width:100%}.tb-ins-selected-quote-facts>span{flex:1 1 120px}.tb-ins-quoted-breakdown{grid-template-columns:1fr}}


/* Visa destination cards after removing the top meta row: keep image + details only. */
body.tb-visa-page .tb-visa-listing .country-card,
body.tb-visa-page .tb-visa-listing .country-card:nth-child(n){
  display:grid !important;
  grid-template-rows:auto 76px !important;
  height:auto !important;
  min-height:0 !important;
}
body.tb-visa-page .tb-visa-listing .country-card .card-img{
  grid-row:1 !important;
  width:100% !important;
  aspect-ratio:16/9 !important;
  margin:0 !important;
  border-radius:0 !important;
}
body.tb-visa-page .tb-visa-listing .country-card .card-img>img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
body.tb-visa-page .tb-visa-listing .country-card .card-copy{
  grid-row:2 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  height:76px !important;
  min-height:76px !important;
  padding:12px 16px 14px !important;
  flex-direction:column !important;
  justify-content:center !important;
  background:#fff !important;
}
body.tb-visa-page .tb-visa-listing .country-card .card-copy h3{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 0 3px !important;
  color:#172033 !important;
  font-size:18px !important;
  line-height:1.25 !important;
}
body.tb-visa-page .tb-visa-listing .country-card .card-copy p{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:0 !important;
  color:#0f766e !important;
  font-size:13px !important;
  font-weight:750 !important;
}
@media(max-width:767.98px){
  body.tb-visa-page .tb-visa-listing .country-card,
  body.tb-visa-page .tb-visa-listing .country-card:nth-child(n){grid-template-rows:auto auto !important;}
  body.tb-visa-page .tb-visa-listing .country-card .card-copy{height:auto !important;min-height:68px !important;}
}


/* Visa package detail linkage + compact application form polish */
.tb-visa-option-card.is-selected{border-color:#9fd8d1;box-shadow:0 0 0 2px rgba(15,141,131,.08)}
.tb-visa-option-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.tb-visa-option-detail-link{display:inline-flex;align-items:center;min-height:36px;padding:7px 4px;color:#0f766e;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.tb-visa-option-detail-link:hover{color:#095f59;text-decoration:underline}
body.tb-visa-application-page .tb-smart-visa-app .form-card{padding:20px!important;border:1px solid #dde5e9!important;border-radius:12px!important;background:#fff!important}
body.tb-visa-application-page .tb-smart-visa-app .section-title{margin-bottom:17px!important;padding-bottom:13px!important;align-items:center!important}
body.tb-visa-application-page .tb-smart-visa-app .section-title h2{color:#172033!important;font-size:18px!important;font-weight:850!important;line-height:1.25!important}
body.tb-visa-application-page .tb-smart-visa-app .section-title p{color:#718096!important;font-size:12px!important;line-height:1.45!important}
body.tb-visa-application-page .tb-smart-visa-app .grid{gap:14px 16px!important}
body.tb-visa-application-page .tb-smart-visa-app .grid>label{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important;color:#344054!important;font-size:13px!important;font-weight:750!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important}
body.tb-visa-application-page .tb-smart-visa-app .grid>label>input,
body.tb-visa-application-page .tb-smart-visa-app .grid>label>select,
body.tb-visa-application-page .tb-smart-visa-app .grid>label>textarea{width:100%!important;min-height:44px!important;padding:10px 12px!important;border:1px solid #ccd7df!important;border-radius:8px!important;background:#fff!important;color:#172033!important;font-size:14px!important;font-weight:500!important;line-height:1.35!important;box-shadow:none!important}
body.tb-visa-application-page .tb-smart-visa-app .grid>label>textarea{min-height:84px!important;resize:vertical!important}
body.tb-visa-application-page .tb-smart-visa-app .grid>label>input:focus,
body.tb-visa-application-page .tb-smart-visa-app .grid>label>select:focus,
body.tb-visa-application-page .tb-smart-visa-app .grid>label>textarea:focus{border-color:#0f8d83!important;box-shadow:0 0 0 3px rgba(15,141,131,.10)!important;outline:none!important}
body.tb-visa-application-page .tb-smart-visa-app .grid>label .tb-field-help{color:#7b8794!important;font-size:11px!important;font-weight:500!important}
@media(max-width:767px){body.tb-visa-application-page .tb-smart-visa-app .form-card{padding:15px!important}.tb-visa-option-actions{width:100%;justify-content:space-between}}

.tb-reservation-declarations{display:grid;gap:8px;margin:14px 0}.tb-reservation-declarations label{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#435268}.tb-reservation-declarations input{width:16px!important;height:16px!important;margin-top:2px;flex:0 0 16px}


/* =========================================================
   Visa application — compact intro below public banner
   Prevent the shared 214px service-banner spacing from creating
   a large empty block before the actual application form.
   ========================================================= */
body.tb-visa-application-page .tb-smart-visa-app .hero{
  min-height:0!important;
  padding:24px max(24px,calc((100vw - 1180px)/2)) 22px!important;
  gap:18px!important;
  background:#fff!important;
  color:#172033!important;
  border-bottom:1px solid #e3e8ee!important;
}
body.tb-visa-application-page .tb-smart-visa-app .hero::before,
body.tb-visa-application-page .tb-smart-visa-app .hero::after{
  display:none!important;
}
body.tb-visa-application-page .tb-smart-visa-app .eyebrow{
  min-height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#0f8d83!important;
}
body.tb-visa-application-page .tb-smart-visa-app .hero h1{
  margin:7px 0 4px!important;
  color:#172033!important;
  font-family:"DM Sans",Arial,sans-serif!important;
  font-size:clamp(24px,2.4vw,34px)!important;
  line-height:1.1!important;
}
body.tb-visa-application-page .tb-smart-visa-app .hero p{
  color:#667085!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.tb-visa-application-page .tb-smart-visa-app .secure-badge{
  min-height:38px!important;
  padding:8px 12px!important;
  border:1px solid #d9e6e3!important;
  background:#f2faf8!important;
  color:#0f766e!important;
  border-radius:9px!important;
  box-shadow:none!important;
  font-size:12px!important;
}
body.tb-visa-application-page .tb-visa-application-context{
  width:calc(100% - 32px)!important;
  max-width:1120px!important;
  margin:10px auto 0!important;
  padding:9px 12px!important;
}
body.tb-visa-application-page .tb-smart-visa-app .form-wrap{
  margin:0 auto 56px!important;
  padding:8px 16px 42px!important;
}
body.tb-visa-application-page .tb-smart-visa-app .progress{
  margin:0 0 10px!important;
  padding:8px 10px!important;
}
body.tb-visa-application-page .tb-smart-visa-app .progress-meta{
  margin-top:5px!important;
}
body.tb-visa-application-page .tb-smart-visa-app .form-card:first-of-type{
  margin-top:0!important;
}
@media(max-width:767px){
  body.tb-visa-application-page .tb-smart-visa-app .hero{
    align-items:flex-start!important;
    flex-direction:column!important;
    padding:18px 16px 16px!important;
  }
  body.tb-visa-application-page .tb-smart-visa-app .secure-badge{
    align-self:flex-start!important;
  }
  body.tb-visa-application-page .tb-visa-application-context{
    width:calc(100% - 24px)!important;
    margin-top:8px!important;
  }
  body.tb-visa-application-page .tb-smart-visa-app .form-wrap{
    padding:6px 12px 32px!important;
  }
}

/* Visa application: declaration checkbox alignment */
body.tb-visa-application-page .tb-smart-visa-app .tb-visa-declaration-card .check-line{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:14px!important;
  width:100%!important;
  margin:0!important;
  padding:12px 0!important;
  color:#344054!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.45!important;
  cursor:pointer;
}
body.tb-visa-application-page .tb-smart-visa-app .tb-visa-declaration-card .check-line + .check-line{
  margin-top:2px!important;
}
body.tb-visa-application-page .tb-smart-visa-app .tb-visa-declaration-card .check-line input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:center!important;
  box-shadow:none!important;
  vertical-align:middle!important;
}
body.tb-visa-application-page .tb-smart-visa-app .tb-visa-declaration-card .check-line span{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
  align-self:center!important;
}
@media(max-width:767px){
  body.tb-visa-application-page .tb-smart-visa-app .tb-visa-declaration-card .check-line{
    grid-template-columns:18px minmax(0,1fr)!important;
    column-gap:10px!important;
    padding:10px 0!important;
    font-size:13px!important;
  }
}

/* =========================================================
   2026-08-12 — Insurance / OTB CRM banner source-of-truth fix
   Exact Website Settings -> Banners images must render on these pages.
   ========================================================= */
body.tb-insurance-public-page .tb-page-banner-slider,
body.tb-otb-public-page .tb-page-banner-slider {
  display:block !important;
  height:clamp(560px,72vh,760px) !important;
  min-height:560px !important;
  background:#eef4f3 !important;
}
body.tb-insurance-public-page .tb-page-banner-slide > img,
body.tb-otb-public-page .tb-page-banner-slide > img {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  opacity:1 !important;
}
body.tb-insurance-public-page .tb-page-banner-copy,
body.tb-otb-public-page .tb-page-banner-copy {
  min-height:100% !important;
  padding:214px 0 114px !important;
  box-sizing:border-box !important;
  justify-content:center !important;
}
/* When a CRM banner exists, do not render the old page-image hero below it.
   The page hero remains as a fallback only when no CRM banner is configured. */
body.tb-insurance-public-page:has(.tb-page-banner-slider) main > .tb-page-hero,
body.tb-otb-public-page:has(.tb-page-banner-slider) main > .tb-page-hero {
  display:none !important;
}
@media (max-width:767px){
  body.tb-insurance-public-page .tb-page-banner-slider,
  body.tb-otb-public-page .tb-page-banner-slider {
    height:560px !important;
    min-height:560px !important;
  }
  body.tb-insurance-public-page .tb-page-banner-copy,
  body.tb-otb-public-page .tb-page-banner-copy {
    padding:214px 24px 114px !important;
  }
}


/* Shared public service pax builder */
.tb-pax-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tb-pax-summary{margin:12px 0 0;padding:10px 14px;border:1px solid rgba(13,148,136,.16);background:#f0fdfa;border-radius:12px;color:#0f766e;font-weight:800;font-size:14px}
[data-pax-extra-travellers]{display:grid;gap:14px;margin-top:14px}
.tb-pax-traveller-card{border:1px solid #dfe7ef;background:#fff;border-radius:16px;padding:16px}
.tb-pax-traveller-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tb-pax-traveller-head small{display:block;color:#0f766e;font-size:11px;font-weight:900;letter-spacing:.08em}
.tb-pax-traveller-head h3{margin:3px 0 0;font-size:18px;color:#152033}
.tb-pax-traveller-head>span{padding:5px 9px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:800}
.tb-pax-traveller-grid{margin:0!important}
@media(max-width:720px){.tb-pax-count-grid{grid-template-columns:1fr!important}.tb-pax-traveller-head{align-items:flex-start}}

/* Flight / Hotel master pricing preview */
.tb-reservation-pricing-summary{
  margin:14px 0 0;
  padding:13px 16px;
  border:1px solid rgba(13,148,136,.20);
  border-radius:14px;
  background:#f0fdfa;
  color:#315267;
  display:flex;
  gap:8px 14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  font-size:14px;
  line-height:1.45;
}
.tb-reservation-pricing-summary strong{color:#0f766e;font-size:15px;}
.tb-reservation-pricing-summary span{font-weight:600;color:#334155;}
@media(max-width:700px){
  .tb-reservation-pricing-summary{display:block;padding:12px 14px;}
  .tb-reservation-pricing-summary span{display:block;margin-top:4px;}
}


/* Final customer-facing costing summary: GST status is informational only. */
.tb-final-cost-card{margin:18px 0 14px;padding:16px 18px;border:1px solid #cbe6e1;border-radius:16px;background:#f1fbf9;display:grid;gap:7px}.tb-final-cost-card[hidden]{display:none!important}.tb-final-cost-card>small{font-size:12px;font-weight:800;letter-spacing:.12em;color:#0f766e}.tb-final-cost-card>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.tb-final-cost-card>div span{font-weight:700;color:#334155}.tb-final-cost-card strong{font-size:24px;color:#0f766e}.tb-final-cost-card em{font-style:normal;font-size:13px;font-weight:700;color:#64748b}

/* =========================================================
   2026-08-16 — Public banner cleanup
   Remove the centered dark banner copy panel on shared page banners and keep
   client login/profile controls borderless on hero/banner headers.
   ========================================================= */
body:has(.tb-page-banner-slider) .tb-page-banner-copy::before{
  display:none!important;
  content:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

@media (min-width: 992px) {
  body.tb-home-page .tb-header .tb-client-login-btn,
  body.tb-reference-booking-page .tb-header .tb-client-login-btn,
  body.tb-service-form-page .tb-header .tb-client-login-btn,
  body.tb-visa-application-page .tb-header .tb-client-login-btn,
  body:has(.tb-page-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-flight-page-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-package-detail-hero) .tb-header .tb-client-login-btn,
  body:has(.tb-client-account-hero) .tb-header .tb-client-login-btn,
  body:has(.booking-hero) .tb-header .tb-client-login-btn,
  body.tb-home-page .tb-header .tb-client-menu-btn,
  body.tb-reference-booking-page .tb-header .tb-client-menu-btn,
  body.tb-service-form-page .tb-header .tb-client-menu-btn,
  body.tb-visa-application-page .tb-header .tb-client-menu-btn,
  body:has(.tb-page-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-flight-page-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-package-detail-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-client-account-hero) .tb-header .tb-client-menu-btn,
  body:has(.booking-hero) .tb-header .tb-client-menu-btn,
  body:has(.tb-page-banner-slider) .tb-header .tb-client-login-btn,
  body:has(.tb-page-banner-slider) .tb-header .tb-client-menu-btn{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
}

/* =========================================================
   2026-08-16 — Home hero text panel cleanup
   Remove the dark/glass panel behind the homepage banner heading/copy while
   keeping layout/spacing intact.
   ========================================================= */
body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1,
body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{
  text-shadow:none!important;
}

/* Insurance plan comparison cards: isolated from OTB shared quote cards. */
.tb-insurance-plan-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tb-insurance-plan-result-card{padding:22px;border-radius:16px;box-shadow:0 12px 32px rgba(15,47,58,.055);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.tb-insurance-plan-result-card:hover{border-color:#bfdcd7;box-shadow:0 16px 38px rgba(15,47,58,.085);transform:translateY(-2px)}
.tb-insurance-plan-result-card:only-child{grid-column:1/-1;width:min(100%,640px);justify-self:center}
.tb-insurance-plan-result-card .tb-insurance-result-top{gap:16px}
.tb-insurance-plan-result-card .tb-insurance-result-provider{gap:13px}
.tb-insurance-plan-result-card .tb-insurance-result-provider img,
.tb-insurance-plan-result-card .tb-ins-quote-logo-fallback{width:48px;height:48px;flex-basis:48px;border-radius:12px;padding:6px;font-size:17px}
.tb-insurance-plan-result-card .tb-insurance-result-provider small{font-size:9.5px;font-weight:850;letter-spacing:.06em}
.tb-insurance-plan-result-card .tb-insurance-result-provider h3{margin-top:3px;font-size:19px;line-height:1.25}
.tb-insurance-plan-result-card .tb-insurance-best-price{align-items:center;min-height:25px;padding:5px 9px;font-size:9px;font-weight:850}
.tb-insurance-plan-result-card .tb-insurance-result-tags{gap:7px;margin:15px 0}
.tb-insurance-plan-result-card .tb-insurance-result-tags span{padding:5px 9px;border-radius:6px;font-size:9.5px}
.tb-insurance-premium-box{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:15px 16px;border:1px solid #cce5df;border-radius:12px;background:linear-gradient(135deg,#f0faf7 0%,#fbfefd 100%)}
.tb-insurance-premium-box small{display:block;color:#708091;font-size:9px;font-weight:850;letter-spacing:.06em}
.tb-insurance-premium-box strong{display:block;margin-top:3px;color:#123a3a;font-size:22px;line-height:1.15}
.tb-insurance-premium-box>span{display:inline-flex;align-items:center;gap:5px;color:#0b8278;font-size:9.5px;font-weight:800;white-space:nowrap}
.tb-insurance-plan-result-card .tb-insurance-rate-breakdown{margin:0 0 16px;padding:14px;border-radius:12px;background:#fbfcfc}
.tb-insurance-rate-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.tb-insurance-rate-title>span{color:#34495b;font-size:11px;font-weight:850}
.tb-insurance-rate-title>small{color:#8a98a6;font-size:9px;font-weight:750}
.tb-insurance-rate-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tb-insurance-rate-item{min-width:0;padding:10px 9px;border:1px solid #e3ebe9;border-radius:9px;background:#fff}
.tb-insurance-rate-item small{display:block;color:#7e8c9b;font-size:9px;font-weight:800}
.tb-insurance-rate-item strong{display:block;margin-top:3px;color:#173b44;font-size:12px;white-space:nowrap}
.tb-insurance-rate-flat{grid-column:1/-1}
.tb-insurance-plan-result-card .tb-insurance-master-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 14px;border:1px solid #e5ecea;border-radius:11px;overflow:hidden;background:#fff}
.tb-insurance-master-row{display:grid;gap:4px;padding:11px 12px;border-bottom:1px solid #e9efee}
.tb-insurance-master-row:nth-child(odd):not(.tb-insurance-master-row-wide){border-right:1px solid #e9efee}
.tb-insurance-master-row-wide{grid-column:1/-1}
.tb-insurance-master-row:last-child{border-bottom:0}
.tb-insurance-master-row small{color:#7b8999;font-size:9px;font-weight:800}
.tb-insurance-master-row b{color:#203b4a;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.tb-insurance-remarks{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:11px 12px;border:1px solid #dce8e5;border-radius:10px;background:#f7faf9}
.tb-insurance-remarks>i{margin-top:2px;color:#0f8d83}
.tb-insurance-remarks small,.tb-insurance-remarks b{display:block}
.tb-insurance-remarks small{color:#8491a0;font-size:9px;font-weight:800}
.tb-insurance-remarks b{margin-top:2px;color:#415565;font-size:10.5px;line-height:1.45}
.tb-insurance-plan-result-card .tb-insurance-result-benefits{margin-bottom:16px}
.tb-insurance-plan-result-card .tb-insurance-result-benefits>b{margin-bottom:8px;font-size:10.5px}
.tb-insurance-benefit-chips{display:flex;flex-wrap:wrap;gap:7px}
.tb-insurance-benefit-chip{display:inline-flex;align-items:flex-start;gap:6px;max-width:100%;padding:7px 9px;border:1px solid #dce8e5;border-radius:999px;background:#f7fbfa;color:#526474;font-size:9.5px;line-height:1.3}
.tb-insurance-benefit-chip>i{margin-top:1px;color:#0f8d83;font-size:8px}
.tb-insurance-benefit-chip small{color:#7d8b99}
.tb-insurance-plan-result-card .tb-insurance-result-foot{gap:16px;padding-top:16px}
.tb-insurance-plan-result-card .tb-insurance-result-foot>small{display:flex;align-items:flex-start;gap:6px;max-width:60%;font-size:9px;line-height:1.45}
.tb-insurance-plan-result-card .tb-insurance-result-foot>small i{margin-top:2px;color:#0f8d83}
.tb-insurance-plan-result-card .tb-insurance-result-foot .btn{min-width:138px;justify-content:center;padding:11px 16px!important;border-radius:9px!important;font-size:11px!important;font-weight:800!important}
.tb-insurance-plan-result-card .tb-insurance-result-foot .btn:hover{background:#0a786f!important;border-color:#0a786f!important}
@media(max-width:991px){.tb-insurance-plan-result-grid{grid-template-columns:1fr}.tb-insurance-plan-result-card:only-child{grid-column:auto;width:100%}}
@media(max-width:640px){.tb-insurance-plan-result-card{padding:16px;border-radius:13px}.tb-insurance-plan-result-card .tb-insurance-result-provider h3{font-size:17px}.tb-insurance-premium-box{align-items:flex-start;flex-direction:column;gap:8px}.tb-insurance-rate-cards{gap:6px}.tb-insurance-rate-item{padding:9px 6px}.tb-insurance-rate-item strong{font-size:10.5px}.tb-insurance-plan-result-card .tb-insurance-master-details{grid-template-columns:1fr}.tb-insurance-master-row:nth-child(odd):not(.tb-insurance-master-row-wide){border-right:0}.tb-insurance-master-row-wide{grid-column:auto}.tb-insurance-plan-result-card .tb-insurance-result-foot{align-items:stretch;flex-direction:column}.tb-insurance-plan-result-card .tb-insurance-result-foot>small{max-width:none}.tb-insurance-plan-result-card .tb-insurance-result-foot .btn{width:100%}}
