/* Simar Holidays authoritative public visual system. Loaded after legacy public CSS. */
:root{
  --tb-ui-navy:#0B1F33;
  --tb-ui-navy-surface:#12324A;
  --tb-ui-teal:#0E8078;
  --tb-ui-teal-hover:#0B6F69;
  --tb-ui-canvas:#F7F8F6;
  --tb-ui-surface:#FFFFFF;
  --tb-ui-text:#172033;
  --tb-ui-muted:#667085;
  --tb-ui-border:#DCE3E8;
  --tb-ui-soft:#F2F6F5;
  --tb-ui-focus:0 0 0 3px rgba(14,128,120,.18);
  --tb-ui-shadow:0 10px 28px rgba(11,31,51,.08);
  --tb-ui-shadow-hover:0 16px 34px rgba(11,31,51,.12);
  --tb-ui-radius:12px;
}
html{background:var(--tb-ui-canvas)}
body{color:var(--tb-ui-text);background:var(--tb-ui-surface);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* --------------------------------------------------------------------------
   Core typography and public shell
   -------------------------------------------------------------------------- */
body{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:var(--tb-ui-text)!important;
  background:var(--tb-ui-surface)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  color:var(--tb-ui-text);
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.18;
  text-wrap:balance;
}
p,li,small{letter-spacing:0}
a{color:var(--tb-ui-teal);text-underline-offset:3px}
a:hover{color:var(--tb-ui-teal-hover)}
::selection{background:rgba(14,128,120,.18);color:var(--tb-ui-navy)}

.tb-topbar{
  background:var(--tb-ui-navy)!important;
  color:rgba(255,255,255,.86)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.tb-topbar .container{padding-top:7px!important;padding-bottom:7px!important}
.tb-topbar-inner{min-height:24px}
.tb-topbar a{color:rgba(255,255,255,.9)!important}
.tb-topbar a:hover{color:#fff!important}
.tb-topbar i{color:#73d1ca!important}
.tb-topbar-social a{
  width:28px!important;
  height:28px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.06)!important;
}
.tb-topbar-social a:hover{background:rgba(255,255,255,.14)!important;transform:translateY(-1px)!important}

.tb-header{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid var(--tb-ui-border)!important;
  box-shadow:0 4px 18px rgba(11,31,51,.06)!important;
  backdrop-filter:saturate(120%) blur(12px)!important;
}
.tb-navbar{min-height:72px!important}
.tb-navbar .navbar-brand img{max-height:58px!important;width:auto!important}
.tb-main-menu .nav-link,.tb-navbar .nav-link{
  color:var(--tb-ui-text)!important;
  font-size:14px!important;
  font-weight:650!important;
  letter-spacing:0!important;
}
.tb-main-menu .nav-link i{color:var(--tb-ui-teal)!important}
.tb-main-menu .nav-link:hover,.tb-main-menu .nav-link.active,.tb-navbar .nav-link:hover,.tb-navbar .nav-link.active{
  color:var(--tb-ui-teal)!important;
  background:transparent!important;
}
.tb-navbar .nav-link:after{background:var(--tb-ui-teal)!important;height:2px!important}
.navbar-toggler{border:1px solid var(--tb-ui-border)!important;border-radius:9px!important}
.navbar-toggler:focus{box-shadow:var(--tb-ui-focus)!important}
.tb-client-menu-btn{
  color:var(--tb-ui-navy)!important;
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.tb-client-menu-list{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:10px!important;
  box-shadow:0 16px 36px rgba(11,31,51,.12)!important;
}
.tb-client-menu-list a{color:var(--tb-ui-text)!important}
.tb-client-menu-list a:hover{background:var(--tb-ui-soft)!important;color:var(--tb-ui-teal)!important}
.tb-client-avatar{background:var(--tb-ui-teal)!important;color:#fff!important}

/* --------------------------------------------------------------------------
   Buttons and links
   -------------------------------------------------------------------------- */
.tb-btn,.btn.tb-btn,
.hero-actions .btn:not(.btn-light),
.tb-page-banner-cta,
.tb-btn-card,
.tb-service-btn.primary,
.tb-booking-pay-btn,
.tb-reservation-primary,
.tb-app-pay-btn:not(.secondary),
.tb-myapp-btn:not(.light),
.tb-status-btn,
.tb-select-slot-btn,
.tb-home-banner-search button,
.tb-live-search-btn,
.search button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 18px!important;
  border:1px solid var(--tb-ui-teal)!important;
  border-radius:10px!important;
  background:var(--tb-ui-teal)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.tb-btn:hover,.btn.tb-btn:hover,
.hero-actions .btn:not(.btn-light):hover,
.tb-page-banner-cta:hover,.tb-btn-card:hover,
.tb-service-btn.primary:hover,.tb-booking-pay-btn:hover,
.tb-reservation-primary:hover,.tb-app-pay-btn:not(.secondary):hover,
.tb-myapp-btn:not(.light):hover,.tb-status-btn:hover,.tb-select-slot-btn:hover,
.tb-home-banner-search button:hover,.tb-live-search-btn:hover,.search button:hover{
  background:var(--tb-ui-teal-hover)!important;
  border-color:var(--tb-ui-teal-hover)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 20px rgba(14,128,120,.18)!important;
  filter:none!important;
}
.tb-service-btn.teal{background:var(--tb-ui-teal)!important;border-color:var(--tb-ui-teal)!important;color:#fff!important}
.btn.btn-light,.tb-outline-card,.tb-service-btn.secondary,.tb-reservation-secondary,.tb-app-pay-btn.secondary,.tb-myapp-btn.light{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 18px!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--tb-ui-navy)!important;
  box-shadow:none!important;
  font-weight:650!important;
  text-decoration:none!important;
}
.btn.btn-light:hover,.tb-outline-card:hover,.tb-service-btn.secondary:hover,.tb-reservation-secondary:hover,.tb-app-pay-btn.secondary:hover,.tb-myapp-btn.light:hover{
  background:var(--tb-ui-soft)!important;
  border-color:#BFCED3!important;
  color:var(--tb-ui-teal-hover)!important;
  transform:translateY(-1px)!important;
}
button:disabled,.btn:disabled,[aria-disabled="true"]{opacity:.58!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

/* --------------------------------------------------------------------------
   Shared cards and panels
   -------------------------------------------------------------------------- */
.tb-package-card,.tb-home-package-card,.tb-list-package-card,
.tb-home-application-card,.tb-home-v2-visa-card,.tb-home-destination-card,
.tb-testimonial-card,.tb-blog-card,.tb-list-blog-card,.tb-content-card,
.tb-sidebar-card,.tb-package-filter-panel,.tb-package-results-panel,
.tb-detail-card,.tb-policy-card,.tb-price-enquiry-card,.tb-option-card,.tb-departure-card,
.tb-service-card,.form-card,.tb-reservation-panel,.tb-booking-panel,.tb-booking-fare-card,
.tb-app-pay-card,.tb-app-pay-item,.tb-detail-box,.tb-myapp-card,.tb-profile-card,
.tb-client-account-panel,.tb-status-card,.tb-ins-selected-quote,.tb-ins-traveller-card,
.tb-ins-plan-card,.tb-ins-review-card,.tb-insurance-plan-section,.tb-hotel-filter-panel,.tb-hotel-list-panel{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:var(--tb-ui-radius)!important;
  box-shadow:0 6px 18px rgba(11,31,51,.06)!important;
}
.tb-card-body,.tb-home-package-body,.tb-blog-body{color:var(--tb-ui-text)!important}
.tb-card-body h3,.tb-home-package-body h3,.tb-list-package-card h3,.tb-package-card h3,.tb-home-application-card b,.tb-home-v2-visa-body strong,.tb-myapp-ref{
  color:var(--tb-ui-text)!important;
}
.tb-card-body p,.tb-card-body li,.tb-home-package-body p,.tb-home-package-meta,.tb-blog-body p,.tb-home-application-card p,.tb-home-v2-visa-body span{
  color:var(--tb-ui-muted)!important;
}
.tb-service-card-icon,.tb-home-application-card>i,.tb-home-travel-simplified-points i,.tb-reservation-hero-process i{
  color:var(--tb-ui-teal)!important;
  background:#EAF6F4!important;
  box-shadow:none!important;
}
.tb-price,.tb-app-pay-amount,.tb-side-amount,.tb-booking-total-row strong{color:var(--tb-ui-teal)!important}
.tb-service-icons i,.tb-home-package-meta i,.tb-card-body i,.tb-list-package-card i{color:var(--tb-ui-teal)!important}

/* --------------------------------------------------------------------------
   Forms and validation
   -------------------------------------------------------------------------- */
label,.form-label,.tb-service-grid label,.tb-reservation-grid label,.tb-lead-form label{
  color:var(--tb-ui-text)!important;
  font-weight:650;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{
  min-height:46px;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:10px!important;
  color:var(--tb-ui-text)!important;
  background:#fff!important;
  box-shadow:none!important;
}
textarea{min-height:110px}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,select:focus,textarea:focus{
  border-color:var(--tb-ui-teal)!important;
  box-shadow:var(--tb-ui-focus)!important;
  outline:0!important;
}
input::placeholder,textarea::placeholder{color:#98A2B3!important;opacity:1!important}
input[readonly],textarea[readonly],input:disabled,select:disabled,textarea:disabled{
  background:#F3F5F6!important;
  color:#667085!important;
  border-color:#D8E0E4!important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--tb-ui-teal)}
.tb-upload{
  border:1px dashed #B8D0CC!important;
  border-radius:12px!important;
  background:#FBFDFC!important;
  box-shadow:none!important;
}
.tb-upload:hover{border-color:var(--tb-ui-teal)!important;background:#F5FBFA!important}
.tb-upload .uicon{color:var(--tb-ui-teal)!important}
.tb-service-note,.tb-app-pay-note,.tb-myapps-alert{
  background:#EFF8F6!important;
  color:#205C58!important;
  border-color:#CBE3DF!important;
}
.tb-service-warning,.tb-app-pay-error,.tb-myapps-alert.bad{
  background:#FFF4F2!important;
  color:#9F2D20!important;
  border-color:#F3C7C2!important;
}
:focus-visible{outline:3px solid rgba(14,128,120,.34);outline-offset:3px}

/* --------------------------------------------------------------------------
   Footer and enquiry modal
   -------------------------------------------------------------------------- */
.tb-footer{
  background:var(--tb-ui-navy)!important;
  color:rgba(255,255,255,.78)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.tb-footer h1,.tb-footer h2,.tb-footer h3,.tb-footer h4,.tb-footer strong{color:#fff!important}
.tb-footer p,.tb-footer li,.tb-footer small{color:rgba(255,255,255,.72)!important}
.tb-footer a{color:rgba(255,255,255,.82)!important}
.tb-footer a:hover{color:#fff!important}
.tb-footer-social a{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.06)!important}
.tb-footer-bottom{border-color:rgba(255,255,255,.10)!important}
.tb-footer-map-frame{border-color:rgba(255,255,255,.14)!important;box-shadow:none!important}
.tb-lead-popup-dialog{
  border:1px solid var(--tb-ui-border)!important;
  border-radius:14px!important;
  box-shadow:0 26px 70px rgba(11,31,51,.24)!important;
}
.tb-lead-popup-visual{background:var(--tb-ui-navy-surface)!important}
.tb-lead-popup-form-wrap{background:#fff!important}
.tb-lead-popup-form-wrap h2{color:var(--tb-ui-text)!important}
.tb-lead-popup-form-wrap p{color:var(--tb-ui-muted)!important}
.tb-lead-popup-backdrop{background:rgba(7,19,32,.62)!important;backdrop-filter:blur(3px)!important}

/* Small responsive safety */
.tb-btn,.btn,.tb-service-btn,.tb-live-search-btn,.tb-booking-pay-btn,.tb-reservation-primary,.tb-reservation-secondary,.tb-app-pay-btn,.tb-myapp-btn,.tb-status-btn,.tb-select-slot-btn,.tb-page-banner-cta{white-space:normal}
@media(max-width:991px){
  .tb-header{backdrop-filter:none!important}
  .tb-navbar{min-height:66px!important}
  .tb-main-menu{padding:12px 0 18px}
  .tb-main-menu .nav-link,.tb-navbar .nav-link{padding:10px 12px!important;border-radius:8px!important}
  .tb-main-menu .nav-link:hover,.tb-main-menu .nav-link.active{background:var(--tb-ui-soft)!important}
}
@media(max-width:767px){
  body{font-size:15px}
  .tb-btn,.btn.tb-btn,.tb-service-btn,.tb-reservation-primary,.tb-reservation-secondary,.tb-app-pay-btn,.tb-myapp-btn{min-height:44px}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* --------------------------------------------------------------------------
   Banner / hero system — clear imagery + local copy readability
   -------------------------------------------------------------------------- */
.tb-section{padding-block:clamp(54px,6vw,78px)!important}
.tb-soft-section{background:var(--tb-ui-canvas)!important;background-image:none!important}
.tb-section-title{margin-bottom:30px!important}
.tb-section-title h1,.tb-section-title h2{color:var(--tb-ui-text)!important;font-size:clamp(1.8rem,3vw,2.35rem)!important;line-height:1.15!important;text-transform:none!important;letter-spacing:-.02em!important}
.tb-section-title p{max-width:680px;color:var(--tb-ui-muted)!important;font-size:15px!important;line-height:1.7!important}
.tb-script,.tb-service-kicker,.hero-kicker,.tb-page-banner-kicker,.tb-home-reviews-kicker,.eyebrow{
  color:var(--tb-ui-teal)!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:.12em!important;
  line-height:1.3!important;
  text-transform:uppercase!important;
}

/* Legacy hero family kept for compatibility. */
.tb-hero,.tb-home-banner-hero,.tb-page-hero,.tb-page-banner-slider,.tb-reservation-hero,.tb-service-form-hero,.tb-client-account-hero,.tb-flight-page-hero,.tb-package-detail-hero{
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}
.tb-hero-overlay{
  background:linear-gradient(90deg,rgba(11,31,51,.34) 0%,rgba(11,31,51,.12) 46%,rgba(11,31,51,0) 78%)!important;
  opacity:1!important;
}

/* Homepage CRM banner: image stays clear; readable copy gets a local scrim only. */
body.tb-home-page .tb-reference-home .tb-home-banner-hero{
  min-height:clamp(560px,62vh,680px)!important;
  background:var(--tb-ui-navy)!important;
}
body.tb-home-page .tb-home-banner-media{
  width:100%!important;height:100%!important;object-fit:cover!important;filter:none!important;opacity:1!important;
}
body.tb-home-page .tb-home-banner-shade{
  background:linear-gradient(90deg,rgba(11,31,51,.18) 0%,rgba(11,31,51,.06) 42%,transparent 72%)!important;
  opacity:1!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
  width:min(700px,calc(100% - 40px))!important;
  margin-left:max(0px,calc((100vw - 1180px)/2))!important;
  margin-right:auto!important;
  padding:28px 30px!important;
  text-align:left!important;
  align-items:flex-start!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{
  max-width:620px!important;
  margin:10px 0 12px!important;
  color:#fff!important;
  font-size:clamp(2.55rem,4.5vw,3.7rem)!important;
  line-height:1.04!important;
  font-weight:750!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
  text-shadow:0 1px 2px rgba(0,0,0,.16)!important;
  text-transform:none!important;
}
body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{
  max-width:580px!important;
  margin:0 0 18px!important;
  color:rgba(255,255,255,.90)!important;
  font-size:17px!important;
  line-height:1.65!important;
  text-align:left!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14)!important;
}
body.tb-home-page .tb-home-banner-copy .hero-kicker{color:#A8E3DE!important}
body.tb-home-page .tb-home-banner-arrow{
  width:42px!important;height:42px!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:50%!important;
  background:rgba(11,31,51,.56)!important;color:#fff!important;box-shadow:none!important;backdrop-filter:blur(4px)!important;
}
body.tb-home-page .tb-home-banner-arrow:hover{background:var(--tb-ui-teal)!important;border-color:var(--tb-ui-teal)!important}
body.tb-home-page .tb-home-banner-dots button{background:rgba(255,255,255,.56)!important}
body.tb-home-page .tb-home-banner-dots button.active{background:#fff!important}

/* CRM multi-image service banner. */
.tb-page-banner-slider{
  height:clamp(330px,42vw,520px)!important;
  background:var(--tb-ui-navy)!important;
  color:#fff!important;
}
.tb-page-banner-slide>img{filter:none!important;opacity:1!important;object-fit:cover!important}
.tb-page-banner-overlay{
  background:linear-gradient(90deg,rgba(11,31,51,.24) 0%,rgba(11,31,51,.07) 48%,transparent 76%)!important;
  opacity:1!important;
}
.tb-page-banner-copy{
  width:min(1180px,100%)!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding-top:34px!important;
  padding-bottom:34px!important;
}
.tb-page-banner-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:12px;
  top:50%;
  width:min(690px,calc(100% - 24px));
  height:calc(100% - 74px);
  max-height:310px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:linear-gradient(90deg,rgba(11,31,51,.68),rgba(11,31,51,.43) 74%,rgba(11,31,51,.20));
  box-shadow:none;
}
.tb-page-banner-copy h1{
  max-width:620px!important;
  margin:8px 0 12px!important;
  color:#fff!important;
  font-size:clamp(2.25rem,4vw,3.25rem)!important;
  line-height:1.06!important;
  font-weight:750!important;
  letter-spacing:-.03em!important;
  text-shadow:0 1px 2px rgba(0,0,0,.16)!important;
}
.tb-page-banner-copy p{
  max-width:590px!important;
  margin:0!important;
  color:rgba(255,255,255,.90)!important;
  font-size:16px!important;
  line-height:1.65!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14)!important;
}
.tb-page-banner-copy .tb-page-banner-kicker{color:#A8E3DE!important}
.tb-page-banner-copy .tb-page-banner-cta{margin-top:18px!important}
.tb-page-banner-nav{
  border:1px solid rgba(255,255,255,.28)!important;background:rgba(11,31,51,.55)!important;color:#fff!important;box-shadow:none!important;
}
.tb-page-banner-nav:hover{background:var(--tb-ui-teal)!important}

/* Generic content page hero with a direct background image. */
.tb-page-hero{
  position:relative!important;
  isolation:isolate;
  min-height:300px!important;
  display:grid!important;
  align-items:end!important;
  padding:82px 0 52px!important;
  background-color:var(--tb-ui-navy-surface)!important;
  background-image:var(--page-bg,none)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.tb-page-hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:linear-gradient(90deg,rgba(11,31,51,.20),rgba(11,31,51,.04) 50%,transparent 78%)!important;
}
.tb-page-hero::after{display:none!important;content:none!important}
.tb-page-hero>.container{
  position:relative!important;
  z-index:1!important;
  width:min(760px,calc(100% - 32px))!important;
  margin-left:max(16px,calc((100vw - 1180px)/2))!important;
  margin-right:auto!important;
  padding:24px 26px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  background:linear-gradient(90deg,rgba(11,31,51,.68),rgba(11,31,51,.43) 76%,rgba(11,31,51,.22))!important;
}
.tb-page-hero h1,.tb-page-hero h2{
  color:#fff!important;
  font-size:clamp(2.05rem,3.8vw,3rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-shadow:0 1px 2px rgba(0,0,0,.15)!important;
}
.tb-page-hero p,.tb-page-hero span:not(.tb-script){color:rgba(255,255,255,.9)!important}
.tb-page-hero .tb-script{color:#A8E3DE!important}

/* Operational heroes are calm brand surfaces rather than decorative gradients. */
.tb-reservation-hero,.tb-service-form-hero,.tb-client-account-hero,.tb-flight-page-hero{
  position:relative!important;
  background:linear-gradient(115deg,var(--tb-ui-navy) 0%,var(--tb-ui-navy-surface) 72%,#164557 100%)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tb-reservation-hero::before,.tb-service-form-hero::before,.tb-service-form-hero::after,.tb-client-account-hero::after,.tb-flight-page-hero::before,.tb-flight-page-hero::after{
  display:none!important;content:none!important;background:none!important;
}
.tb-reservation-hero h1,.tb-service-form-hero h1,.tb-client-account-hero h1,.tb-flight-page-hero h1{
  color:#fff!important;
  font-size:clamp(2rem,4vw,3rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  text-shadow:none!important;
}
.tb-reservation-hero p,.tb-service-form-hero p,.tb-client-account-hero p,.tb-flight-page-hero p{color:rgba(255,255,255,.82)!important}
.tb-reservation-hero .tb-reservation-kicker,.tb-service-form-hero .tb-service-kicker,.tb-client-account-hero small,.tb-flight-page-hero small{color:#A8E3DE!important}
.tb-service-secure,.tb-reservation-hero-process>div{
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.07)!important;
  color:rgba(255,255,255,.88)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.tb-service-secure i,.tb-reservation-hero-process i{color:#A8E3DE!important;background:transparent!important}

/* Homepage/background rhythm: one deliberate navy emphasis, otherwise calm white/neutral. */
body.tb-home-page .tb-home-v2-process,
body.tb-home-page .tb-home-travel-simplified{
  background:var(--tb-ui-canvas)!important;
  background-image:none!important;
  color:var(--tb-ui-text)!important;
  border-top:1px solid var(--tb-ui-border)!important;
  border-bottom:1px solid var(--tb-ui-border)!important;
}
body.tb-home-page .tb-home-v2-process-copy h2,
body.tb-home-page .tb-home-v2-steps strong,
body.tb-home-page .tb-home-travel-simplified-copy h2,
body.tb-home-page .tb-home-travel-simplified-points strong{color:var(--tb-ui-text)!important}
body.tb-home-page .tb-home-v2-process-copy p,
body.tb-home-page .tb-home-v2-steps small,
body.tb-home-page .tb-home-travel-simplified-copy p,
body.tb-home-page .tb-home-travel-simplified-points span{color:var(--tb-ui-muted)!important}
body.tb-home-page .tb-home-v2-steps>div,
body.tb-home-page .tb-home-travel-simplified-points article{
  background:#fff!important;border:1px solid var(--tb-ui-border)!important;border-radius:12px!important;box-shadow:none!important;
}
body.tb-home-page .tb-home-v2-steps b{background:var(--tb-ui-teal)!important;color:#fff!important;box-shadow:none!important}

@media(max-width:991px){
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy{margin-left:24px!important;width:min(680px,calc(100% - 48px))!important}
  .tb-page-banner-copy{padding-left:28px!important;padding-right:28px!important}
  .tb-page-banner-copy::before{left:16px;width:min(680px,calc(100% - 32px))}
}
@media(max-width:767px){
  body.tb-home-page .tb-reference-home .tb-home-banner-hero{min-height:560px!important;height:560px!important}
  body.tb-home-page .tb-home-banner-shade{background:linear-gradient(180deg,rgba(11,31,51,.05) 0%,rgba(11,31,51,.18) 42%,rgba(11,31,51,.32) 100%)!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy{
    width:calc(100% - 28px)!important;margin:90px 14px 76px!important;padding:20px 18px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy h1{font-size:clamp(2rem,10vw,2.65rem)!important}
  body.tb-home-page .tb-reference-hero .tb-home-banner-copy>p{font-size:15px!important}
  .tb-page-banner-slider{height:390px!important}
  .tb-page-banner-copy{padding:24px 18px!important}
  .tb-page-banner-copy::before{left:10px;width:calc(100% - 20px);height:calc(100% - 44px);max-height:none;background:rgba(11,31,51,.67)}
  .tb-page-banner-copy h1{font-size:clamp(1.9rem,9vw,2.45rem)!important}
  .tb-page-banner-copy p{font-size:14px!important;line-height:1.55!important}
  .tb-page-banner-nav{width:36px!important;height:36px!important;font-size:23px!important}
  .tb-page-hero{min-height:270px!important;padding:72px 0 34px!important}
  .tb-page-hero>.container{width:calc(100% - 24px)!important;margin:0 12px!important;padding:20px 18px!important;background:rgba(11,31,51,.68)!important}
  .tb-page-hero h1,.tb-page-hero h2,.tb-reservation-hero h1,.tb-service-form-hero h1,.tb-client-account-hero h1,.tb-flight-page-hero h1{font-size:clamp(1.8rem,9vw,2.35rem)!important}
}

/* --------------------------------------------------------------------------
   Operational page families: reservations, service applications, visa,
   insurance, client portal and status/payment surfaces
   -------------------------------------------------------------------------- */
.tb-reservation-process-page,.tb-service-form-page,.tb-visa-page,.tb-insurance-application-page,.tb-client-account-page{
  background:var(--tb-ui-canvas)!important;
}
.tb-reservation-process,.tb-service-application,.tb-smart-visa-app,.tb-client-account-content{
  color:var(--tb-ui-text)!important;
}
.tb-reservation-shell,.tb-service-form-wrap,.tb-client-account-shell{width:min(1180px,calc(100% - 32px))!important}
.tb-reservation-panel-head,.tb-booking-panel-head,.tb-service-card-title,.tb-client-account-panel-head{
  background:#fff!important;
  border-bottom:1px solid var(--tb-ui-border)!important;
}
.tb-reservation-panel-head h2,.tb-booking-panel-head h2,.tb-service-card-title h2,.tb-client-account-panel-head h2{
  color:var(--tb-ui-text)!important;
  font-weight:700!important;
}
.tb-reservation-panel-head p,.tb-booking-panel-head p,.tb-service-card-title p,.tb-client-account-panel-head p{color:var(--tb-ui-muted)!important}

/* Progress / step systems */
.tb-reservation-steps,.tb-service-progress,.tb-service-progress-track,.tb-application-journey{
  border-color:var(--tb-ui-border)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.tb-service-progress-track span,.progress-bar span{background:var(--tb-ui-teal)!important}
.tb-reservation-steps [class*="active"],.tb-reservation-steps .active,.tb-service-progress-meta strong{color:var(--tb-ui-teal)!important}

/* Review and price summaries */
.tb-reservation-review>div,.tb-detail-field,.tb-app-pay-item,.tb-ins-review-grid>div,.tb-ins-trip-strip>span{
  background:#F8FAFB!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.tb-reservation-review span,.tb-detail-field small,.tb-app-pay-item small,.tb-myapp-cell small,.tb-ins-trip-strip small,.tb-ins-review-grid small{color:var(--tb-ui-muted)!important}
.tb-reservation-review strong,.tb-detail-field strong,.tb-app-pay-item strong,.tb-myapp-ref,.tb-ins-trip-strip b,.tb-ins-review-grid b{color:var(--tb-ui-text)!important}
.tb-service-final-cost,.tb-reservation-pricing-summary,.tb-booking-total-row,.tb-final-cost-card{
  background:#EFF8F6!important;
  border:1px solid #CBE3DF!important;
  border-radius:12px!important;
  color:var(--tb-ui-text)!important;
  box-shadow:none!important;
}
.tb-service-final-cost small,.tb-service-final-cost strong,.tb-booking-total-row strong,.tb-app-pay-amount,.tb-final-cost-card strong{color:var(--tb-ui-teal)!important}
.tb-reservation-payment-preview{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.tb-reservation-payment-icon{background:#EAF6F4!important;color:var(--tb-ui-teal)!important;box-shadow:none!important}

/* Choice / traveller / plan cards */
.tb-choice-card,.tb-pax-primary-card,.tb-pax-traveller-card,.tb-visa-declaration-card,.tb-ins-traveller-card,.tb-ins-plan-card,.tb-ins-selected-quote,.tb-ins-review-card,.tb-insurance-plan-section{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.tb-choice-card:has(input:checked),.tb-ins-plan-card.selected{
  border-color:var(--tb-ui-teal)!important;
  box-shadow:var(--tb-ui-focus)!important;
}
.tb-pax-traveller-head h3,.tb-ins-traveller-head h3,.tb-ins-plan-top h3{color:var(--tb-ui-text)!important}
.tb-ins-age,.tb-pax-summary{
  background:#EAF6F4!important;
  color:var(--tb-ui-teal-hover)!important;
  border-color:#CBE3DF!important;
}
.tb-ins-plan-state{
  background:#F5FBFA!important;
  border-color:#CBE3DF!important;
  color:#36556C!important;
}
.tb-ins-plan-state b,.tb-ins-plan-foot b,.tb-ins-plan-top>strong{color:var(--tb-ui-teal)!important}
.tb-ins-plan-meta span{background:#F5F7F8!important;color:var(--tb-ui-muted)!important}
.tb-ins-plan-meta b{color:var(--tb-ui-text)!important}

/* Visa listing/detail/application */
.tb-visa-listing-main,.tb-visa-country-main,.tb-smart-visa-app{background:var(--tb-ui-canvas)!important}
.tb-visa-simple-intro,.tb-visa-country-overview,.tb-visa-options-section,.tb-visa-documents-section,.tb-visa-final-cta,.tb-visa-application-context{
  color:var(--tb-ui-text)!important;
}
.tb-visa-option-card,.tb-visa-document-group,.tb-visa-profile-doc-card,.tb-visa-important-note{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.tb-visa-option-card:hover{border-color:#B8D2CE!important;box-shadow:0 10px 24px rgba(11,31,51,.08)!important}
.tb-visa-option-plan,.tb-visa-country-kicker,.tb-visa-section-heading small,.tb-visa-document-subhead{color:var(--tb-ui-teal)!important}
.tb-visa-option-details,.tb-visa-country-copy p,.tb-visa-listing-note,.tb-visa-document-item,.tb-visa-profile-doc-row{color:var(--tb-ui-muted)!important}
.tb-visa-option-top h2,.tb-visa-section-heading h2,.tb-visa-document-group-head h3,.tb-visa-country-copy h1,.tb-visa-country-copy h2{color:var(--tb-ui-text)!important}
.tb-visa-final-cta{
  background:var(--tb-ui-navy)!important;
  border:1px solid var(--tb-ui-navy)!important;
  border-radius:14px!important;
}
.tb-visa-final-cta h2,.tb-visa-final-cta h3,.tb-visa-final-cta p{color:#fff!important}

/* Account / portal navigation and records */
.tb-client-account-sidebar,.tb-client-account-panel,.tb-profile-card{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.tb-client-account-user{border-bottom:1px solid var(--tb-ui-border)!important}
.tb-client-account-user strong,.tb-client-account-panel-head h2,.tb-profile-card h3{color:var(--tb-ui-text)!important}
.tb-client-account-user small,.tb-client-account-panel-head p,.tb-profile-card p{color:var(--tb-ui-muted)!important}
.tb-client-account-nav a,.tb-client-account-nav button{
  color:var(--tb-ui-text)!important;
  border-radius:9px!important;
  background:transparent!important;
}
.tb-client-account-nav a:hover,.tb-client-account-nav button:hover,.tb-client-account-nav .active{
  color:var(--tb-ui-teal)!important;
  background:var(--tb-ui-soft)!important;
}
.tb-myapps{background:var(--tb-ui-canvas)!important;color:var(--tb-ui-text)!important}
.tb-myapps-head h1,.tb-myapps-head h2,.tb-myapp-service,.tb-detail-box h3{color:var(--tb-ui-text)!important}
.tb-myapps-head p,.tb-history-row small,.tb-doc-row small,.tb-side-pad p{color:var(--tb-ui-muted)!important}
.tb-myapp-card,.tb-detail-box{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.tb-myapp-badge{border-radius:999px!important;font-weight:700!important;letter-spacing:0!important}
.tb-myapp-badge.good{background:#E8F6F2!important;color:#08756E!important}
.tb-myapp-badge.warn{background:#FFF7E8!important;color:#9A5A00!important}
.tb-myapp-badge.bad{background:#FDECEC!important;color:#B42318!important}
.tb-myapp-badge.info,.tb-booking-status-pill,.tb-app-pay-status{background:#EEF2F5!important;color:#475467!important}
.tb-account-alert{border-radius:10px!important}
.tb-account-loading{color:var(--tb-ui-muted)!important}
.tb-account-empty-icon{background:#EAF6F4!important;color:var(--tb-ui-teal)!important}

/* Payment / status */
.tb-app-pay{background:var(--tb-ui-canvas)!important}
.tb-app-pay-card,.tb-status-card{
  background:#fff!important;
  border:1px solid var(--tb-ui-border)!important;
  border-radius:14px!important;
  box-shadow:0 10px 30px rgba(11,31,51,.08)!important;
}
.tb-app-pay-head{
  background:var(--tb-ui-navy)!important;
  color:#fff!important;
}
.tb-app-pay-head h1,.tb-app-pay-head small,.tb-app-pay-head div{color:#fff!important}
.tb-status-icon{
  background:var(--tb-ui-teal)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.tb-status-card.is-error .tb-status-icon{background:#B42318!important}
.tb-status-card h1,.tb-status-card h2{color:var(--tb-ui-text)!important}
.tb-status-card p{color:var(--tb-ui-muted)!important}
.tb-public-status-main{background:var(--tb-ui-canvas)!important}

/* Prevent old white/purple inheritance from hiding text on light surfaces. */
.tb-reservation-panel,.tb-booking-panel,.tb-service-card,.tb-client-account-panel,.tb-myapp-card,.tb-detail-box,.tb-ins-traveller-card,.tb-ins-plan-card,.tb-visa-option-card{
  color:var(--tb-ui-text)!important;
}
.tb-reservation-panel p,.tb-booking-panel p,.tb-service-card p,.tb-client-account-panel p,.tb-myapp-card p,.tb-detail-box p,.tb-ins-traveller-card p,.tb-ins-plan-card p,.tb-visa-option-card p{
  color:var(--tb-ui-muted)!important;
}

@media(max-width:767px){
  .tb-reservation-shell,.tb-service-form-wrap,.tb-client-account-shell{width:min(100% - 20px,1180px)!important}
  .tb-reservation-panel,.tb-booking-panel,.tb-service-card,.tb-client-account-panel,.tb-myapp-card,.tb-detail-box{border-radius:10px!important}
  .tb-reservation-actions,.tb-service-actions,.tb-app-pay-actions,.tb-profile-actions{gap:10px!important}
  .tb-reservation-actions>.btn,.tb-service-actions>.tb-service-btn,.tb-app-pay-actions>.tb-app-pay-btn,.tb-profile-actions>.btn{min-height:44px}
  .tb-client-account-sidebar{position:static!important}
  .tb-myapp-card{padding:16px!important}
}

/* --------------------------------------------------------------------------
   Restrained depth and motion — progressive enhancement only
   -------------------------------------------------------------------------- */
@media (hover:hover) and (pointer:fine){
  .tb-home-package-card,.tb-list-package-card,.tb-blog-card,.tb-service-page-card,.tb-home-destination-card,.tb-destination-card{
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
    will-change:transform;
  }
  .tb-home-package-card:hover,.tb-list-package-card:hover,.tb-blog-card:hover,.tb-service-page-card:hover,.tb-home-destination-card:hover,.tb-destination-card:hover{
    transform:translateY(-3px)!important;
    border-color:#BCD3CF!important;
    box-shadow:var(--tb-ui-shadow-hover)!important;
  }
  .tb-card-img img,.tb-home-package-card img,.tb-list-package-img img,.tb-home-destination-card img,.tb-destination-card img,.tb-blog-img img{
    transition:transform .3s ease!important;
  }
  .tb-home-package-card:hover img,.tb-list-package-card:hover .tb-list-package-img img,.tb-home-destination-card:hover img,.tb-destination-card:hover img,.tb-blog-card:hover .tb-blog-img img{
    transform:scale(1.025)!important;
  }
}
.tb-ui-motion-ready .tb-ui-reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
.tb-ui-motion-ready .tb-ui-reveal.is-revealed{opacity:1;transform:none}
.tb-ui-parallax-ready .tb-home-banner-media{
  transform:translate3d(0,var(--tb-ui-parallax-y,0px),0) scale(1.015);
  transform-origin:center center;
  will-change:transform;
}
@media(max-width:767px),(prefers-reduced-motion:reduce){
  .tb-ui-motion-ready .tb-ui-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .tb-ui-parallax-ready .tb-home-banner-media{transform:none!important;will-change:auto!important}
}

/* --------------------------------------------------------------------------
   Final footer layout normalization — prevents legacy grid/width overrides
   from creating horizontal overflow while keeping the compact footer family.
   -------------------------------------------------------------------------- */
.tb-footer{
  overflow-x:hidden!important;
}
.tb-footer>.container{
  width:min(1180px,calc(100% - 32px))!important;
  max-width:1180px!important;
  margin-inline:auto!important;
  padding:36px 16px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.tb-footer .row{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr))!important;
  gap:32px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.tb-footer .row>[class*="col-"]{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
}
.tb-footer-map,.tb-footer-map-frame,.tb-footer-map-frame iframe,
.tb-footer .ratio,.tb-footer iframe{
  width:100%!important;
  max-width:100%!important;
}
.tb-footer-bottom{
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
}
@media(max-width:991px){
  .tb-footer .row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 24px!important;
  }
}
@media(max-width:767px){
  .tb-footer>.container{width:min(100% - 24px,1180px)!important;padding:30px 0 0!important}
  .tb-footer .row{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}
}

/* --------------------------------------------------------------------------
   Final mobile navigation — restore a conventional website hamburger instead
   of the older fixed app-style bottom navigation.
   -------------------------------------------------------------------------- */
.tb-section-title .tb-script,
.tb-section-title .tb-service-kicker,
.tb-section-title .eyebrow{
  color:var(--tb-ui-teal)!important;
}
@media(max-width:991px){
  body{padding-bottom:0!important}
  .tb-header{height:auto!important;min-height:68px!important}
  .tb-header .container{padding-inline:16px!important}
  .tb-navbar{position:relative!important;height:auto!important;min-height:68px!important;flex-wrap:wrap!important;gap:10px!important}
  .tb-navbar .navbar-brand{width:auto!important;min-width:0!important;flex:1 1 auto!important}
  .tb-navbar .navbar-brand img{max-width:145px!important;max-height:50px!important}
  .tb-navbar .navbar-toggler{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    padding:8px!important;
    border:1px solid var(--tb-ui-border)!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .tb-navbar .navbar-toggler:focus{box-shadow:var(--tb-ui-focus)!important}
  .tb-navbar .navbar-collapse{
    display:none!important;
    flex-basis:100%!important;
    width:100%!important;
    position:static!important;
    padding:8px 0 14px!important;
    background:#fff!important;
  }
  .tb-navbar .navbar-collapse.show,.tb-navbar .navbar-collapse.collapsing{display:block!important}
  .tb-main-menu{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    height:auto!important;
    max-height:min(62vh,480px)!important;
    margin:0!important;
    padding:4px 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .tb-main-menu>.nav-item{display:block!important;width:100%!important;min-width:0!important}
  .tb-main-menu>.nav-item>.nav-link{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:42px!important;
    justify-content:flex-start!important;
    padding:10px 12px!important;
    border:0!important;
    border-bottom:1px solid #EEF2F4!important;
    border-radius:8px!important;
    font-size:13px!important;
    line-height:1.35!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .tb-main-menu>.nav-item:last-child>.nav-link{border-bottom:0!important}
  .tb-main-menu .tb-mega-menu,.tb-main-menu .tb-service-menu{display:none!important}
  .tb-client-header{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    padding:10px 0 0!important;
    justify-content:flex-start!important;
    border-top:1px solid var(--tb-ui-border)!important;
  }
  .tb-client-login-btn,.tb-client-menu-btn{
    width:auto!important;
    min-height:40px!important;
    padding:9px 13px!important;
    border:1px solid var(--tb-ui-border)!important;
    border-radius:9px!important;
    background:#fff!important;
  }
  .tb-back-top,.chat{bottom:18px!important}
  .tb-footer{padding-bottom:0!important}
}
.tb-section-title .tb-script{color:var(--tb-ui-teal)!important}
/* 2026-08-16 — Client account hero: keep the account workspace light and operational. */
.tb-client-account-page .tb-client-account-hero{
  min-height:0!important;
  padding:42px 0 30px!important;
  background:transparent!important;
  color:var(--tb-ui-navy)!important;
  box-shadow:none!important;
}
.tb-client-account-page .tb-client-account-hero::before,
.tb-client-account-page .tb-client-account-hero::after{display:none!important;content:none!important;background:none!important;}
.tb-client-account-page .tb-client-account-hero h1{color:var(--tb-ui-navy)!important;text-shadow:none!important;}
.tb-client-account-page .tb-client-account-hero p{color:var(--tb-ui-text)!important;text-shadow:none!important;}
.tb-client-account-page .tb-client-account-hero .tb-script{color:var(--tb-ui-teal)!important;}
@media(max-width:767px){.tb-client-account-page .tb-client-account-hero{padding:30px 0 22px!important;}}

