/* ===== css/style.css ===== */
:root{
  --tb-orange:#5A149F;
  --tb-navy:#172133;
  --tb-dark:#0d1421;
  --tb-muted:#657084;
  --tb-soft:#f5f3ff;
  --tb-soft-2:color-mix(in srgb,var(--tb-orange) 8%,#fff);
  --tb-border:#e9edf5;
  --tb-white:#fff;
  --tb-radius:22px;
  --tb-shadow:0 22px 60px rgba(18,31,55,.13);
  --tb-shadow-small:0 12px 30px rgba(18,31,55,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--tb-navy);
  background:#fff;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.tb-topbar{background:#fff;border-bottom:1px solid var(--tb-border);font-size:13px;color:#4b5568}
.tb-topbar .container{padding-top:8px;padding-bottom:8px}
.tb-top-info,.tb-social{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.tb-top-info i,.tb-social i{color:var(--tb-orange)}
.tb-social{justify-content:flex-end}.tb-social a{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#3b4558;background:#f5f7fb;transition:.25s}.tb-social a:hover{background:var(--tb-orange);color:#fff;transform:translateY(-2px)}
.tb-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 4px 24px rgba(15,28,51,.06)}
.tb-navbar{min-height:74px;padding:0}.navbar-brand img{height:58px;width:auto}.tb-navbar .nav-link{position:relative;font-weight:700;font-size:14px;color:#222b3f!important;padding:28px 15px!important;transition:.25s}.tb-navbar .nav-link:after{content:"";position:absolute;left:15px;right:15px;bottom:16px;height:3px;background:var(--tb-orange);border-radius:99px;transform:scaleX(0);transform-origin:left;transition:.25s}.tb-navbar .nav-link.active,.tb-navbar .nav-link:hover{color:var(--tb-orange)!important}.tb-navbar .nav-link.active:after,.tb-navbar .nav-link:hover:after{transform:scaleX(1)}
.tb-btn{background:linear-gradient(135deg,var(--tb-orange),color-mix(in srgb,var(--tb-orange) 76%,#fff));border:0;color:#fff!important;border-radius:11px;padding:13px 22px;font-weight:600;font-size:15px;box-shadow:0 11px 22px color-mix(in srgb,var(--tb-orange) 28%,transparent);transition:.25s}.tb-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px color-mix(in srgb,var(--tb-orange) 36%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--tb-orange) 92%,#fff),color-mix(in srgb,var(--tb-orange) 86%,#000))}.tb-btn-sm{padding:10px 18px}.tb-btn-outline-light{border:1px solid rgba(255,255,255,.55);border-radius:11px;color:#fff!important;padding:13px 22px;font-weight:800;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);transition:.25s}.tb-btn-outline-light:hover{background:#fff;color:var(--tb-orange)!important}.tb-search-strip{position:relative;z-index:42;margin-bottom:-33px;pointer-events:none}.tb-search-strip .container{display:flex;justify-content:center}.tb-search-box{pointer-events:auto;margin-top:12px;background:#fff;border:1px solid var(--tb-border);box-shadow:0 18px 50px rgba(15,28,51,.13);border-radius:18px;padding:7px;display:flex;gap:6px;align-items:center;width:min(900px,100%)}.tb-search-field{display:flex;align-items:center;gap:10px;min-width:0;flex:1;background:#f7f8fb;border-radius:12px;padding:12px 14px}.tb-search-field i{color:var(--tb-orange);font-size:14px}.tb-search-field input,.tb-search-field select{border:0;outline:0;background:transparent;width:100%;font-size:14px;color:#30394c}.tb-search-btn{width:48px;height:48px;border:0;border-radius:14px;background:var(--tb-orange);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--tb-orange) 25%,transparent);transition:.25s}.tb-search-btn:hover{background:color-mix(in srgb,var(--tb-orange) 86%,#000);transform:translateY(-2px)}
.tb-hero{position:relative;height:620px;min-height:560px;overflow:hidden;background:#111}.tb-hero-slider,.tb-hero-slide{height:100%;position:absolute;inset:0}.tb-hero-slide{opacity:0;visibility:hidden;transition:opacity .75s ease,visibility .75s ease;background-image:var(--hero-image);background-size:cover;background-position:center}.tb-hero-slide.active{opacity:1;visibility:visible}.tb-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,24,.86) 0%,rgba(4,13,24,.58) 39%,rgba(4,13,24,.18) 100%)}.tb-hero .container{height:100%;position:relative;z-index:2;display:flex;align-items:center}.tb-hero-content{max-width:670px;color:#fff;padding-top:42px}.tb-script{font-family:"Brush Script MT","Segoe Script",cursive;font-size:26px;color:var(--tb-orange);line-height:1;display:inline-block;margin-bottom:12px}.tb-hero h1{font-size:58px;line-height:1.08;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin:0 0 18px;text-shadow:0 10px 30px rgba(0,0,0,.25)}.tb-hero h1 strong,.tb-section-title strong{color:var(--tb-orange);font-style:normal}.tb-hero p{font-size:20px;line-height:1.55;color:#f5f7fb;max-width:520px;margin-bottom:28px}.tb-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.tb-hero-arrow{position:absolute;top:54%;transform:translateY(-50%);z-index:4;width:52px;height:52px;border:0;border-radius:50%;background:#fff;color:var(--tb-navy);display:flex;align-items:center;justify-content:center;box-shadow:0 18px 35px rgba(0,0,0,.18);transition:.25s}.tb-hero-arrow:hover{background:var(--tb-orange);color:#fff}.tb-prev{left:34px}.tb-next{right:34px}.tb-hero-dots{position:absolute;z-index:4;left:50%;bottom:45px;transform:translateX(-50%);display:flex;gap:9px}.tb-hero-dots button{width:11px;height:11px;border:0;border-radius:50%;background:rgba(255,255,255,.68);transition:.25s}.tb-hero-dots button.active{width:32px;border-radius:99px;background:var(--tb-orange)}
.tb-section{padding:78px 0}.tb-soft-section{background:linear-gradient(180deg,#f6f4ff 0%,#fff 100%)}.tb-section-title{text-align:center;margin-bottom:36px}.tb-section-title .tb-script{font-size:23px;margin-bottom:4px}.tb-section-title h2{font-size:36px;line-height:1.1;text-transform:uppercase;font-weight:900;margin:0;color:#111b2d;letter-spacing:.2px}.tb-section-title p{margin:9px auto 0;max-width:650px;color:var(--tb-muted);font-size:15px}.tb-slider-shell{position:relative}.tb-card-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:8px 8px 22px;scrollbar-width:none}.tb-card-row::-webkit-scrollbar{display:none}.tb-package-card{background:#fff;border:1px solid var(--tb-border);border-radius:var(--tb-radius);overflow:hidden;box-shadow:var(--tb-shadow-small);min-width:270px;transition:.28s}.tb-package-card:hover{transform:translateY(-7px);box-shadow:var(--tb-shadow)}.tb-card-img{height:205px;position:relative;overflow:hidden;background:#dbe8fb}.tb-card-img img{width:100%;height:100%;object-fit:cover;transition:.4s}.tb-package-card:hover .tb-card-img img{transform:scale(1.06)}.tb-discount{position:absolute;right:16px;top:14px;background:linear-gradient(135deg,var(--tb-orange),color-mix(in srgb,var(--tb-orange) 70%,#fff));color:#fff;border-radius:0 14px 0 14px;font-size:20px;font-weight:900;line-height:1;padding:12px 14px;text-align:center;box-shadow:0 12px 25px color-mix(in srgb,var(--tb-orange) 25%,transparent)}.tb-discount small{display:block;font-size:10px;margin-top:3px;letter-spacing:.7px}.tb-price{position:absolute;left:15px;bottom:15px;background:rgba(8,16,31,.72);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:7px 12px;font-weight:900;backdrop-filter:blur(8px)}.tb-card-body{padding:20px}.tb-card-body h3{font-size:17px;font-weight:900;line-height:1.35;min-height:48px;color:#111b2d;margin:0 0 14px}.tb-card-body ul{list-style:none;margin:0 0 18px;padding:0}.tb-card-body li{font-size:13px;color:#5f6b7c;margin-bottom:7px;display:flex;gap:8px}.tb-card-body li i{color:var(--tb-orange);margin-top:2px}.tb-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tb-btn-card{font-size:15px;border-radius:9px;padding:10px 12px;box-shadow:none;font-weight:600}.tb-outline-card{border:1px solid var(--tb-orange);color:var(--tb-orange);border-radius:9px;font-size:14px;font-weight:600;padding:10px 12px;background:#fff}.tb-outline-card:hover{background:var(--tb-orange);color:#fff}.tb-mini-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:var(--tb-orange);color:#fff;box-shadow:0 12px 24px color-mix(in srgb,var(--tb-orange) 25%,transparent);z-index:3;transition:.25s}.tb-mini-arrow:hover{background:color-mix(in srgb,var(--tb-orange) 86%,#000);transform:translateY(-50%) scale(1.06)}.js-scroll-left{left:-16px}.js-scroll-right{right:-16px}
.tb-destination-block{position:relative}.tb-subtitle-row{margin-bottom:15px}.tb-subtitle-row h3{font-size:18px;font-weight:900;margin:0 0 4px;color:#111b2d}.tb-subtitle-row h3 i{color:var(--tb-orange);margin-right:8px}.tb-subtitle-row p{margin:0;color:var(--tb-muted);font-size:13px}.tb-destination-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.tb-destination-card{height:168px;border-radius:18px;overflow:hidden;position:relative;box-shadow:var(--tb-shadow-small);isolation:isolate;transition:.28s}.tb-destination-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(5,12,24,.78) 100%);z-index:1}.tb-destination-card img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:.35s}.tb-destination-card span{position:absolute;left:15px;bottom:14px;z-index:2;color:#fff;font-weight:900;text-shadow:0 4px 12px rgba(0,0,0,.35)}.tb-destination-card:hover{transform:translateY(-5px)}.tb-destination-card:hover img{transform:scale(1.08)}
.tb-category-tabs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.tb-category-tabs button{border:1px solid var(--tb-border);background:#fff;color:#465166;border-radius:999px;padding:11px 18px;font-weight:800;transition:.25s}.tb-category-tabs button.active,.tb-category-tabs button:hover{background:var(--tb-orange);border-color:var(--tb-orange);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--tb-orange) 24%,transparent)}.tb-category-panel{display:none}.tb-category-panel.active{display:block}.tb-category-slider{position:relative}.tb-theme-package-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-behavior:smooth;padding:8px 8px 24px;scrollbar-width:none}.tb-theme-package-row::-webkit-scrollbar{display:none}.tb-feature-card{height:100%;background:#fff;border:1px solid var(--tb-border);border-radius:24px;overflow:hidden;box-shadow:var(--tb-shadow-small);transition:.28s}.tb-feature-card:hover{transform:translateY(-6px);box-shadow:var(--tb-shadow)}.tb-feature-card img{height:215px;width:100%;object-fit:cover}.tb-feature-card div{padding:22px}.tb-feature-card span{color:var(--tb-orange);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.7px}.tb-feature-card h3{font-size:20px;font-weight:900;margin:6px 0 10px}.tb-feature-card p{color:var(--tb-muted);font-size:14px;line-height:1.6;margin-bottom:14px}.tb-feature-card a{color:var(--tb-orange);font-weight:900}.tb-stats-section{background:#fff}.tb-stat-card{width:178px;height:178px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff;border:3px solid currentColor;position:relative;box-shadow:0 16px 36px rgba(25,39,69,.06)}.tb-stat-card:before{content:"";position:absolute;inset:12px;border-radius:50%;border:1px dashed currentColor;opacity:.35}.tb-stat-card strong{font-size:30px;color:currentColor}.tb-stat-card strong:before{content:"+"}.tb-stat-card span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#5b6575;margin-top:7px}.tb-stat-card.orange{color:var(--tb-orange)}.tb-stat-card.yellow{color:#f6ad18}.tb-stat-card.blue{color:#20b9c8}.tb-stat-card.green{color:#38b96f}.tb-branch-box{display:grid;grid-template-columns:310px 1fr;gap:25px;align-items:stretch;max-width:930px;margin:0 auto}.tb-branch-card{background:#fff;border-radius:20px;box-shadow:var(--tb-shadow-small);padding:36px 28px;border:1px solid var(--tb-border);display:flex;flex-direction:column;justify-content:center}.tb-branch-badge{align-self:flex-start;background:color-mix(in srgb,var(--tb-orange) 9%,#fff);color:var(--tb-orange);font-size:12px;font-weight:900;padding:7px 11px;border-radius:99px;margin-bottom:15px}.tb-branch-card h3{font-size:27px;font-weight:900;margin-bottom:14px}.tb-branch-card p{display:flex;gap:10px;color:#4d586c;font-size:14px;line-height:1.6}.tb-branch-card i{color:var(--tb-orange);margin-top:4px}.tb-map-wrap{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--tb-shadow-small);border:1px solid var(--tb-border);min-height:330px}.tb-map-iframe{width:100%;height:100%;min-height:330px;border:0;display:block}
.tb-testimonial-shell{position:relative;display:flex;align-items:center;gap:18px}.tb-testimonial-window{overflow:hidden;width:100%;padding:22px 18px 26px}.tb-testimonial-track{display:flex;gap:24px;transition:transform .45s ease}.tb-testimonial-card{min-width:calc((100% - 72px)/4);background:#fff;border:1px solid var(--tb-border);border-radius:22px;padding:24px 22px;box-shadow:0 16px 34px rgba(18,31,55,.11);position:relative}.tb-testimonial-card img{width:64px;height:64px;border-radius:50%;margin-bottom:12px}.tb-stars{color:#ffae00;font-size:14px;letter-spacing:1px;margin-bottom:8px}.tb-testimonial-card p{font-size:14px;color:#5a6475;line-height:1.75;margin-bottom:15px}.tb-testimonial-card h4{font-size:15px;font-weight:900;margin:0;color:#111b2d}.tb-testimonial-card span{font-size:13px;color:#7a8496}.testimonial-prev,.testimonial-next{position:static;transform:none;flex:0 0 auto}.testimonial-prev:hover,.testimonial-next:hover{transform:scale(1.06)}
.tb-footer{background:linear-gradient(180deg,#1d293b 0%,#101827 100%);color:#d6dce8;padding:58px 0 22px}.tb-footer-logo{height:62px;margin-bottom:18px}.tb-footer p{font-size:14px;line-height:1.7;color:#cbd3df}.tb-footer h4{font-size:17px;font-weight:600;color:#fff;margin-bottom:18px}.tb-footer ul{list-style:none;margin:0;padding:0}.tb-footer li{margin-bottom:10px;color:#cbd3df;font-size:14px}.tb-footer li:before{content:"»";color:var(--tb-orange);font-weight:900;margin-right:7px}.tb-footer .tb-contact-list li:before{content:"";margin:0}.tb-contact-list i{color:var(--tb-orange);width:18px}.tb-footer a:hover{color:var(--tb-orange)}.tb-footer-social{display:flex;gap:10px}.tb-footer-social a{width:34px;height:34px;background:#263247;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.25s}.tb-footer-social a:hover{background:var(--tb-orange);color:#fff}.tb-footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:38px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.tb-footer-bottom p{margin:0;font-size:13px}.tb-footer-policy-links{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}.tb-footer-policy-links a{color:#cbd3df;font-size:13px;font-weight:700}.tb-footer-policy-links a:hover{color:var(--tb-orange)}.tb-back-top{position:fixed;right:20px;bottom:25px;z-index:40;width:44px;height:44px;background:var(--tb-orange);color:#fff!important;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 28px color-mix(in srgb,var(--tb-orange) 24%,transparent)}
@media (max-width:1199px){.tb-hero h1{font-size:50px}.tb-destination-grid{grid-template-columns:repeat(3,1fr)}.tb-testimonial-card{min-width:calc((100% - 48px)/3)}}
@media (max-width:991px){.tb-search-strip{margin-bottom:0;background:#fff;padding:12px 0;box-shadow:0 10px 22px rgba(20,33,54,.06)}.tb-search-box{margin:0;flex-direction:column;align-items:stretch;border-radius:16px}.tb-search-btn{width:100%}.tb-navbar{min-height:68px}.tb-navbar .nav-link{padding:12px 0!important}.tb-navbar .nav-link:after{display:none}.tb-hero{height:560px}.tb-hero h1{font-size:42px}.tb-hero p{font-size:17px}.tb-hero-arrow{display:none}.tb-card-row{grid-auto-columns:310px}.tb-theme-package-row{grid-auto-columns:310px}.tb-branch-box{grid-template-columns:1fr}.tb-testimonial-card{min-width:calc((100% - 24px)/2)}}
@media (max-width:767px){.tb-section{padding:58px 0}.tb-section-title h2{font-size:28px}.tb-hero{height:530px;min-height:530px}.tb-hero-content{padding-top:0}.tb-hero h1{font-size:34px}.tb-hero p{font-size:15px}.tb-hero-dots{bottom:22px}.tb-destination-grid{grid-template-columns:repeat(2,1fr);gap:14px}.tb-destination-card{height:145px}.tb-card-actions{grid-template-columns:1fr}.tb-stat-card{width:145px;height:145px}.tb-stat-card strong{font-size:24px}.tb-testimonial-shell{gap:10px}.tb-testimonial-card{min-width:100%}.tb-prev,.tb-next{display:none}.navbar-brand img{height:50px}}
@media (max-width:480px){.tb-destination-grid{grid-template-columns:1fr}.tb-destination-card{height:170px}.tb-card-row{grid-auto-columns:88vw}.tb-theme-package-row{grid-auto-columns:88vw}.tb-search-field{padding:10px 12px}.tb-hero h1{font-size:30px}.tb-script{font-size:22px}.tb-back-top{right:14px}}

/* Requested update: menu mega dropdown + exact 1-by-1 sliders */
.tb-main-menu{position:relative}.tb-nav-caret{font-size:10px;margin-left:5px}.tb-mega-holder{position:relative}.tb-mega-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%) translateY(12px);width:min(760px,calc(100vw - 40px));background:#fff;border:1px solid var(--tb-border);border-radius:22px;box-shadow:0 28px 70px rgba(18,31,55,.16);padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s;z-index:80}.tb-mega-holder:hover>.tb-mega-menu,.tb-mega-holder:focus-within>.tb-mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}.tb-mega-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid #eef1f6;padding:0 2px 14px;margin-bottom:16px}.tb-mega-head span{font-family:"Brush Script MT","Segoe Script",cursive;color:var(--tb-orange);font-size:22px;line-height:1}.tb-mega-head strong{font-size:17px;color:var(--tb-navy);text-transform:uppercase;letter-spacing:.4px}.tb-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tb-mega-grid a{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:10px;border-radius:16px;background:#f8f9fd;border:1px solid transparent;color:var(--tb-navy);transition:.2s}.tb-mega-grid a:hover{background:color-mix(in srgb,var(--tb-orange) 8%,#fff);border-color:color-mix(in srgb,var(--tb-orange) 25%,#fff);transform:translateY(-2px)}.tb-mega-grid img{grid-row:1/3;width:64px;height:50px;border-radius:12px;object-fit:cover;object-position:top center}.tb-mega-grid span{font-weight:700;font-size:14px}.tb-mega-grid small{color:#697386;font-size:12px}.tb-service-dropdown{position:relative}.tb-service-menu{display:block;position:absolute;left:0;top:100%;border:1px solid var(--tb-border);border-radius:18px;box-shadow:0 24px 60px rgba(18,31,55,.15);padding:10px;min-width:240px;margin-top:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:.22s}.tb-service-dropdown:hover>.tb-service-menu,.tb-service-dropdown:focus-within>.tb-service-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.tb-service-menu .dropdown-item{border-radius:12px;padding:11px 13px;font-weight:600;font-size:14px;color:#243047}.tb-service-menu .dropdown-item i{width:22px;color:var(--tb-orange)}.tb-service-menu .dropdown-item:hover{background:color-mix(in srgb,var(--tb-orange) 8%,#fff);color:var(--tb-orange)}
.tb-card-row,.tb-theme-package-row{scroll-snap-type:x mandatory;overflow-x:hidden;scroll-behavior:smooth}.tb-card-row>.tb-package-card,.tb-theme-package-row>.tb-package-card{scroll-snap-align:start;scroll-snap-stop:always}.tb-testimonial-window{overflow:hidden;padding:24px 18px 30px}.tb-testimonial-track{transform:none!important;overflow-x:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:0 0 6px}.tb-testimonial-card{flex:0 0 calc((100% - 72px)/4);min-width:calc((100% - 72px)/4);scroll-snap-align:start;scroll-snap-stop:always;box-shadow:0 18px 42px rgba(18,31,55,.13)}
@media (max-width:1199px){.tb-testimonial-card{flex-basis:calc((100% - 48px)/3);min-width:calc((100% - 48px)/3)}}
@media (max-width:991px){.tb-mega-menu{position:static;transform:none!important;width:100%;box-shadow:none;border-radius:16px;margin:0 0 10px;padding:14px;display:none;opacity:1;visibility:visible;pointer-events:auto}.tb-mega-holder:hover>.tb-mega-menu,.tb-mega-holder:focus-within>.tb-mega-menu{display:block}.tb-mega-grid{grid-template-columns:repeat(2,1fr)}.tb-service-menu{position:static;display:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;margin:0 0 10px}.tb-service-dropdown:hover>.tb-service-menu,.tb-service-dropdown:focus-within>.tb-service-menu{display:block}.tb-testimonial-card{flex-basis:calc((100% - 24px)/2);min-width:calc((100% - 24px)/2)}}
@media (max-width:767px){.tb-mega-grid{grid-template-columns:1fr}.tb-testimonial-card{flex-basis:100%;min-width:100%}.tb-card-row,.tb-theme-package-row{overflow-x:auto}}


/* Smooth slider spacing/shadow fix: Popular Packages, Top Categories, Customer Says only */
#packages .tb-slider-shell,
#categories .tb-category-slider,
#testimonials .tb-testimonial-shell{
  overflow:visible;
}
#packages .tb-card-row,
#categories .tb-theme-package-row,
#testimonials .tb-testimonial-track{
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  overflow-x:hidden!important;
  scrollbar-width:none;
}
#packages .tb-card-row::-webkit-scrollbar,
#categories .tb-theme-package-row::-webkit-scrollbar,
#testimonials .tb-testimonial-track::-webkit-scrollbar{
  display:none;
}
#packages .tb-card-row{
  padding:24px 20px 34px;
  gap:24px;
}
#categories .tb-theme-package-row{
  padding:24px 20px 34px;
  gap:24px;
}
#testimonials .tb-testimonial-window{
  padding:26px 22px 36px;
}
#testimonials .tb-testimonial-track{
  padding:0 0 6px;
  gap:24px;
}
#packages .tb-package-card,
#categories .tb-package-card,
#testimonials .tb-testimonial-card{
  box-shadow:0 10px 24px rgba(18,31,55,.08)!important;
}
#packages .tb-package-card:hover,
#categories .tb-package-card:hover{
  box-shadow:0 13px 30px rgba(18,31,55,.10)!important;
}
#packages .tb-package-card{
  min-width:0;
}
#categories .tb-package-card{
  min-width:0;
}
#testimonials .tb-testimonial-card{
  flex:0 0 calc((100% - 72px)/4);
  min-width:calc((100% - 72px)/4);
}
#packages .js-scroll-left,
#categories .js-scroll-left{
  left:-4px;
}
#packages .js-scroll-right,
#categories .js-scroll-right{
  right:-4px;
}
#testimonials .testimonial-prev,
#testimonials .testimonial-next{
  box-shadow:0 10px 22px color-mix(in srgb,var(--tb-orange) 22%,transparent);
}
@media (max-width:1199px){
  #testimonials .tb-testimonial-card{flex-basis:calc((100% - 48px)/3);min-width:calc((100% - 48px)/3)}
}
@media (max-width:991px){
  #packages .tb-card-row{grid-auto-columns:310px}
  #categories .tb-theme-package-row{grid-auto-columns:310px}
  #testimonials .tb-testimonial-card{flex-basis:calc((100% - 24px)/2);min-width:calc((100% - 24px)/2)}
}
@media (max-width:767px){
  #packages .tb-card-row,
  #categories .tb-theme-package-row{overflow-x:hidden!important;padding-left:16px;padding-right:16px}
  #testimonials .tb-testimonial-window{padding-left:16px;padding-right:16px}
  #testimonials .tb-testimonial-card{flex-basis:100%;min-width:100%}
}
@media (max-width:480px){
  #packages .tb-card-row{grid-auto-columns:88vw}
  #categories .tb-theme-package-row{grid-auto-columns:88vw}
}

@media (max-width:575px){.tb-footer-bottom{align-items:flex-start}.tb-footer-policy-links{justify-content:flex-start;gap:12px}}


#packages .tb-package-card, #categories .tb-package-card, #testimonials .tb-testimonial-card { box-shadow: 0 3px 5px rgba(18, 31, 55, .08) !important; }
/* CRM dynamic image fixes */
.tb-testimonial-card img{object-fit:cover;object-position:center;display:block;flex:0 0 auto}
.tb-mega-grid img{object-fit:cover;object-position:center}


/* CRM dynamic cleanup: logo, badges, menu destinations and conditional arrows */
.navbar-brand img,
.tb-footer-logo{
  height:35px!important;
  width:auto!important;
  object-fit:contain;
}

.tb-destination-badges{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 0 16px;
}

.tb-destination-badges span{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  background:#f3f5f8;
  color:#506078;
  border:1px solid #e4e8f0;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}

.tb-card-body .tb-destination-badges{
  margin-top:-5px;
}

.tb-feature-card .tb-destination-badges, #categories .tb-package-card .tb-destination-badges{
  margin:10px 0 16px;
}

.tb-feature-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:7px 0 4px;
}

.tb-feature-meta em{
  font-style:normal;
  color:#657084;
  font-size:13px;
}

.tb-feature-meta em i{
  color:var(--tb-orange);
  margin-right:5px;
}

.tb-feature-meta strong{
  color:var(--tb-orange);
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}

.tb-mega-grid small{
  display:block;
  margin-top:3px;
  color:#7a8496;
  font-weight:700;
}

.tb-slider-shell.tb-no-arrows .tb-mini-arrow,
.tb-testimonial-shell.tb-no-arrows .tb-mini-arrow{
  display:none!important;
}

.tb-testimonial-card p{
  color:#46546a;
  min-height:72px;
}

@media (max-width:991px){
  .navbar-brand img,
  .tb-footer-logo{
    height:35px!important;
  }
}


/* Current CRM website fixes */
.tb-destination-card small{
  position:absolute;
  left:15px;
  bottom:38px;
  z-index:2;
  color:rgba(255,255,255,.9);
  font-size:12px;
  font-weight:800;
  text-shadow:0 4px 12px rgba(0,0,0,.35);
}
#categories .tb-package-card{height:100%}
.tb-page-hero{
  padding:132px 0 72px;
  background:linear-gradient(135deg,rgba(13,20,33,.88),rgba(13,20,33,.55)), var(--page-bg, linear-gradient(135deg,color-mix(in srgb,var(--tb-orange) 8%,#fff),#f5f3ff));
  background-size:cover;
  background-position:center;
  color:#fff;
}
.tb-page-hero .tb-script{margin-bottom:10px}
.tb-page-hero h1{
  font-size:46px;
  line-height:1.1;
  margin:0;
  font-weight:900;
  text-transform:uppercase;
}
.tb-page-hero p{max-width:720px;margin:14px 0 0;color:rgba(255,255,255,.88);font-size:17px;line-height:1.7}
.tb-content-card{
  background:#fff;
  border:1px solid var(--tb-border);
  border-radius:26px;
  box-shadow:0 14px 38px rgba(18,31,55,.08);
  padding:34px;
}
.tb-content-card h2,.tb-content-card h3{font-weight:900;color:#111b2d;margin-top:24px}
.tb-content-card p,.tb-content-card li{color:#4d586c;line-height:1.8;font-size:15px}
.tb-content-card p:first-child{margin-top:0}
@media (max-width:767px){.tb-page-hero{padding:104px 0 54px}.tb-page-hero h1{font-size:32px}.tb-content-card{padding:24px}}

/* Home content wording/layout update: FAQ, blogs, package badges and service icons */
.tb-section{padding:62px 0}
.tb-section-title{margin-bottom:28px}
.tb-destination-block.mt-5{margin-top:2rem!important}

.tb-card-body .tb-destination-badges{
  flex-wrap:nowrap;
  overflow:hidden;
  white-space:nowrap;
  margin:8px 0 10px;
  max-width:100%;
}
.tb-destination-badges span{
  flex:0 0 auto;
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.tb-destination-badges .tb-badge-more{
  max-width:40px;
  padding-left:9px;
  padding-right:9px;
}
.tb-service-icons{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 16px;
  min-height:28px;
}
.tb-service-icons span{
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff5ee;
  border:1px solid #ffd9c1;
  color:var(--tb-orange);
  font-size:12px;
}

.tb-faq-section{background:#fff}
.tb-faq-list{max-width:920px;margin:0 auto;display:grid;gap:12px}
.tb-faq-item{background:#fff;border:1px solid var(--tb-border);border-radius:18px;box-shadow:0 10px 24px rgba(18,31,55,.06);overflow:hidden}
.tb-faq-question{width:100%;border:0;background:#fff;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;color:#111b2d;font-weight:900;font-size:16px}
.tb-faq-question i{color:var(--tb-orange);transition:.25s}
.tb-faq-answer{display:none;padding:0 22px 20px;color:#556278;line-height:1.75;font-size:15px}
.tb-faq-answer p{margin:0 0 10px}
.tb-faq-item.active .tb-faq-answer{display:block}
.tb-faq-item.active .tb-faq-question i{transform:rotate(180deg)}

.tb-blog-card{height:100%;background:#fff;border:1px solid var(--tb-border);border-radius:22px;box-shadow:0 10px 26px rgba(18,31,55,.08);overflow:hidden;transition:.25s}
.tb-blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(18,31,55,.10)}
.tb-blog-img{display:block;height:210px;background:#dbe8fb;overflow:hidden}
.tb-blog-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:.35s}
.tb-blog-card:hover .tb-blog-img img{transform:scale(1.05)}
.tb-blog-body{padding:22px}
.tb-blog-body h3{font-size:19px;line-height:1.35;font-weight:900;margin:0 0 10px;color:#111b2d}
.tb-blog-body p{color:#5f6b7c;font-size:14px;line-height:1.7;margin:0 0 15px}
.tb-read-more{color:var(--tb-orange);font-weight:900;font-size:14px}
.tb-read-more i{margin-left:4px}

@media (max-width:767px){
  .tb-section{padding:50px 0}
  .tb-blog-img{height:180px}
}

/* Top Categories: show 4 package cards in one row on desktop */
@media (min-width:992px){
  #categories .tb-theme-package-row{grid-auto-columns:calc((100% - 72px)/4)!important;}
}


/* Final Top Categories data/layout fix */
#categories .tb-theme-package-row{
  grid-auto-columns:calc((100% - 72px)/4)!important;
  gap:24px!important;
}
#categories .tb-package-card{
  min-width:0!important;
  width:auto!important;
}
#categories .tb-card-img img{
  object-fit:cover;
  object-position:center;
}
@media (max-width:991px){
  #categories .tb-theme-package-row{grid-auto-columns:310px!important}
}
@media (max-width:480px){
  #categories .tb-theme-package-row{grid-auto-columns:88vw!important}
}

.tb-empty-box{background:#fff;border:1px dashed var(--tb-border);border-radius:20px;padding:28px;text-align:center;color:#697386;font-weight:700;box-shadow:0 10px 24px rgba(18,31,55,.06)}
.tb-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.tb-detail-main{overflow:hidden}.tb-detail-image{width:100%;max-height:420px;object-fit:cover;border-radius:20px;margin-bottom:24px}.tb-side-card{background:#fff;border:1px solid var(--tb-border);border-radius:22px;box-shadow:0 10px 26px rgba(18,31,55,.08);padding:22px;position:sticky;top:96px}.tb-side-card h3{font-size:20px;font-weight:900;color:#111b2d;margin:0 0 16px}.tb-more-post{display:grid;grid-template-columns:82px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1f6;color:#111b2d}.tb-more-post:hover{color:var(--tb-orange)}.tb-more-post img{width:82px;height:62px;border-radius:12px;object-fit:cover}.tb-more-post span{font-weight:800;font-size:14px;line-height:1.35}.tb-service-card .tb-blog-img{background:color-mix(in srgb,var(--tb-orange) 8%,#fff)}
@media (max-width:991px){.tb-detail-layout{grid-template-columns:1fr}.tb-side-card{position:static}}

/* CRM lead popup */
body.tb-lead-popup-open{overflow:hidden}
.tb-lead-popup{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:22px}
.tb-lead-popup.active{display:flex}
.tb-lead-popup-backdrop{position:absolute;inset:0;background:rgba(9,16,31,.62);backdrop-filter:blur(10px);animation:tbFadeIn .22s ease both}
.tb-lead-popup-dialog{position:relative;z-index:2;width:min(920px,100%);display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border-radius:28px;box-shadow:0 32px 100px rgba(8,16,31,.32);overflow:hidden;animation:tbPopupIn .28s ease both}
.tb-lead-popup-close{position:absolute;right:16px;top:14px;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#192338;box-shadow:0 10px 24px rgba(18,31,55,.15);display:flex;align-items:center;justify-content:center;transition:.22s}
.tb-lead-popup-close:hover{background:var(--tb-orange);color:#fff;transform:rotate(90deg)}
.tb-lead-popup-visual{position:relative;min-height:520px;padding:38px 34px;color:#fff;background:linear-gradient(145deg,rgba(9,30,62,.90),color-mix(in srgb,var(--tb-orange) 72%,transparent)),url('../images/hero-beach.svg') center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.tb-lead-popup-visual:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.22);border-radius:24px;pointer-events:none}
.tb-lead-popup-badge{position:absolute;left:34px;top:34px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900;letter-spacing:.2px}
.tb-lead-popup-badge i{margin-right:7px;color:#ffd7bd}
.tb-lead-popup-visual h3{position:relative;font-size:31px;line-height:1.12;font-weight:900;margin:0 0 14px;text-transform:uppercase;text-shadow:0 8px 28px rgba(0,0,0,.24)}
.tb-lead-popup-visual p{position:relative;color:#f8fbff;line-height:1.65;margin:0 0 18px}
.tb-lead-popup-points{position:relative;display:flex;flex-wrap:wrap;gap:9px}
.tb-lead-popup-points span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800}
.tb-lead-popup-points i{color:#55d889;margin-right:5px}
.tb-lead-popup-form-wrap{padding:36px 34px 30px;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--tb-orange) 5%,#fff) 100%)}
.tb-lead-popup-form-wrap .tb-script{font-size:24px;margin-bottom:5px}
.tb-lead-popup-form-wrap h2{font-size:30px;font-weight:900;color:#111b2d;margin:0 0 8px;text-transform:uppercase}
.tb-lead-popup-form-wrap p{color:#667085;font-size:14px;line-height:1.6;margin:0 0 18px}
.tb-lead-form{display:grid;gap:13px}
.tb-lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tb-lead-form label{display:grid;gap:6px;margin:0}
.tb-lead-form label span{font-size:12px;font-weight:900;color:#313b4f;text-transform:uppercase;letter-spacing:.35px}
.tb-lead-form input,.tb-lead-form textarea,.tb-lead-form select{width:100%;border:1px solid #dfe5ef;border-radius:14px;background:#fff;color:#172133;outline:0;padding:12px 13px;font-size:14px;transition:.2s;box-shadow:0 6px 18px rgba(18,31,55,.04)}
.tb-lead-form textarea{resize:vertical;min-height:84px}
.tb-lead-form select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%23667085' d='M4.2 5.8 8 9.6l3.8-3.8 1.1 1.1L8 11.8 3.1 6.9z'/%3E%3C/svg%3E") no-repeat right 13px center;padding-right:38px}
.tb-date-field{position:relative}.tb-date-field:after{content:"\f073";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:14px;bottom:13px;color:var(--tb-orange);pointer-events:none;font-size:14px}.tb-date-field input[type="date"]{padding-right:42px;color:#172133}.tb-date-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:38px;height:38px;position:absolute;right:4px}
.tb-lead-form input:focus,.tb-lead-form textarea:focus,.tb-lead-form select:focus{border-color:var(--tb-orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--tb-orange) 11%,transparent)}
.tb-lead-form .is-invalid{border-color:#dc3545!important;box-shadow:0 0 0 4px rgba(220,53,69,.10)!important}
.tb-lead-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.tb-lead-submit{height:47px;white-space:nowrap;border-radius:14px;padding-left:18px;padding-right:18px}
.tb-lead-submit:disabled{opacity:.75;transform:none;cursor:not-allowed}
.tb-lead-alert{display:none;border-radius:14px;padding:11px 13px;font-size:13px;font-weight:800;line-height:1.45}
.tb-lead-alert.success{display:block;background:#eafaf0;color:#137044;border:1px solid #bfe8ce}
.tb-lead-alert.error{display:block;background:#fff1f0;color:#b42318;border:1px solid #ffd0cc}
@keyframes tbFadeIn{from{opacity:0}to{opacity:1}}
@keyframes tbPopupIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:767px){
  .tb-lead-popup{padding:12px;align-items:flex-end}
  .tb-lead-popup-dialog{grid-template-columns:1fr;max-height:94vh;overflow:auto;border-radius:24px}
  .tb-lead-popup-visual{min-height:190px;padding:54px 24px 24px}
  .tb-lead-popup-visual:before{inset:12px;border-radius:20px}
  .tb-lead-popup-badge{left:24px;top:18px}
  .tb-lead-popup-visual h3{font-size:24px}
  .tb-lead-popup-points{display:none}
  .tb-lead-popup-form-wrap{padding:26px 20px 22px}
  .tb-lead-popup-form-wrap h2{font-size:24px}
  .tb-lead-grid,.tb-lead-captcha-row{grid-template-columns:1fr}
  .tb-lead-submit{width:100%}
}

/* Dynamic CRM contact page */
.tb-contact-page-section{background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%)}
.tb-contact-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:stretch}
.tb-contact-info-panel,.tb-contact-form-panel,.tb-contact-map-card{background:#fff;border:1px solid var(--tb-border);border-radius:28px;box-shadow:0 18px 45px rgba(18,31,55,.08)}
.tb-contact-info-panel{position:relative;overflow:hidden;padding:36px;color:#fff;background:linear-gradient(135deg,rgba(7,22,49,.96),color-mix(in srgb,var(--tb-orange) 78%,transparent)),url('../images/hero-camping.svg') center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;min-height:560px}
.tb-contact-info-panel:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.22);border-radius:24px;pointer-events:none}
.tb-contact-info-panel>*{position:relative;z-index:1}
.tb-contact-chip{display:inline-flex;align-items:center;gap:8px;width:max-content;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900;margin-bottom:18px}
.tb-contact-info-panel h2{font-size:34px;line-height:1.12;font-weight:900;text-transform:uppercase;margin:0 0 12px;color:#fff}
.tb-contact-info-panel p{color:#f4f8ff;line-height:1.75;margin-bottom:22px}
.tb-contact-info-list{display:grid;gap:13px}
.tb-contact-info-list a,.tb-contact-info-list div{display:flex;gap:12px;align-items:flex-start;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px;text-decoration:none;transition:.22s}
.tb-contact-info-list a:hover{background:rgba(255,255,255,.22);color:#fff;transform:translateY(-2px)}
.tb-contact-info-list i{width:38px;height:38px;min-width:38px;border-radius:14px;background:#fff;color:var(--tb-orange);display:flex;align-items:center;justify-content:center}
.tb-contact-info-list span{display:grid;gap:2px;font-weight:800;line-height:1.4}
.tb-contact-info-list small{color:#dfe8ff;font-weight:900;text-transform:uppercase;letter-spacing:.35px;font-size:11px}
.tb-contact-form-panel{padding:36px;background:linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--tb-orange) 5%,#fff) 100%)}
.tb-contact-form-panel .tb-script{font-size:24px;margin-bottom:4px}
.tb-contact-form-panel h2{font-size:32px;font-weight:900;text-transform:uppercase;color:#111b2d;margin:0 0 8px}
.tb-contact-form-panel>p{color:#667085;margin:0 0 22px;line-height:1.6}
.tb-contact-dynamic-form .row{--bs-gutter-x:14px;--bs-gutter-y:14px}
.tb-contact-dynamic-form label{height:100%}
.tb-contact-map-card{margin-top:26px;padding:22px;overflow:hidden}
.tb-contact-map-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.tb-contact-map-heading h2{font-size:28px;font-weight:900;color:#111b2d;margin:0;text-transform:uppercase}
.tb-contact-map-heading .tb-script{font-size:22px;margin-bottom:2px}
.tb-contact-map-card .tb-map-iframe{width:100%;height:390px;border:0;border-radius:22px;display:block;filter:saturate(1.03) contrast(1.02)}
@media (max-width:991px){.tb-contact-page-grid{grid-template-columns:1fr}.tb-contact-info-panel{min-height:420px}.tb-contact-info-panel h2{font-size:30px}}
@media (max-width:767px){.tb-contact-info-panel,.tb-contact-form-panel{padding:24px;border-radius:24px}.tb-contact-info-panel{min-height:360px}.tb-contact-map-heading{align-items:flex-start;flex-direction:column}.tb-contact-map-card{padding:14px;border-radius:24px}.tb-contact-map-card .tb-map-iframe{height:310px}.tb-contact-info-panel h2,.tb-contact-form-panel h2{font-size:26px}}

/* Package listing/search page */
.tb-package-search-section{padding-top:70px}.tb-package-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:26px;align-items:start}.tb-package-filter-panel{position:sticky;top:96px;background:#fff;border:1px solid var(--tb-border);border-radius:26px;box-shadow:0 14px 38px rgba(18,31,55,.07);padding:22px}.tb-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.tb-filter-head .tb-script{font-size:22px}.tb-filter-head h2{font-size:24px;font-weight:900;color:var(--tb-navy);margin:0;line-height:1}.tb-filter-clear{border:0;background:color-mix(in srgb,var(--tb-orange) 8%,#fff);color:var(--tb-orange);font-weight:900;border-radius:999px;padding:8px 13px;font-size:12px}.tb-filter-clear:hover{background:var(--tb-orange);color:#fff}.tb-filter-block{border-top:1px solid #edf1f7;padding-top:17px;margin-top:17px}.tb-filter-block:first-of-type{border-top:0;padding-top:0;margin-top:0}.tb-filter-label,.tb-filter-block h3{display:block;font-size:13px;font-weight:900;color:#1d293b;margin:0 0 11px;text-transform:uppercase;letter-spacing:.25px}.tb-filter-search{position:relative}.tb-filter-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--tb-orange)}.tb-filter-search input{width:100%;height:48px;border:1px solid var(--tb-border);border-radius:15px;padding:0 14px 0 40px;font-weight:700;color:#1d293b;outline:0}.tb-filter-search input:focus{border-color:color-mix(in srgb,var(--tb-orange) 30%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--tb-orange) 8%,transparent)}.tb-check-row{display:flex;align-items:center;gap:10px;min-height:34px;margin:8px 0;font-size:14px;font-weight:600;color:#334155;cursor:pointer}.tb-check-row input{width:17px;height:17px;accent-color:var(--tb-orange);flex:0 0 auto}.tb-check-row span{display:flex;align-items:center;gap:8px;line-height:1.35}.tb-check-row small{color:#7b8794;font-weight:800}.tb-check-row i{color:var(--tb-orange);width:17px;text-align:center}.tb-package-results-panel{min-width:0}.tb-package-result-head{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--tb-border);border-radius:24px;padding:18px 20px;margin-bottom:18px;box-shadow:0 10px 28px rgba(18,31,55,.06)}.tb-result-count{display:inline-flex;align-items:center;gap:7px;font-size:18px;font-weight:900;color:var(--tb-navy)}.tb-result-count strong{color:var(--tb-orange);font-size:26px}.tb-package-result-head p{margin:2px 0 0;color:#687386;font-weight:700}.tb-listing-cards{display:grid;gap:18px}.tb-list-package-card{display:grid;grid-template-columns:260px minmax(0,1fr);background:#fff;border:1px solid var(--tb-border);border-radius:26px;box-shadow:0 16px 42px rgba(18,31,55,.07);overflow:hidden;transition:.22s}.tb-list-package-card:hover{transform:translateY(-3px);box-shadow:0 22px 58px rgba(18,31,55,.11)}.tb-list-package-img{min-height:230px;background:#f2f5f9;display:block;overflow:hidden}.tb-list-package-img img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:.35s}.tb-list-package-card:hover .tb-list-package-img img{transform:scale(1.05)}.tb-list-package-body{padding:22px;min-width:0}.tb-list-package-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.tb-list-package-top h3{font-size:20px;font-weight:800;line-height:1.25;margin:0 0 15px;color:var(--tb-navy)}.tb-list-package-top h3 a{color:inherit}.tb-list-package-top h3 a:hover{color:var(--tb-orange)}.tb-list-duration{margin:0;color:#64748b;font-weight:600;font-size:14px}.tb-list-duration i{color:var(--tb-orange);margin-right:6px}.tb-list-price{flex:0 0 158px;background:linear-gradient(135deg,color-mix(in srgb,var(--tb-orange) 6%,#fff),#fff);border:1px solid color-mix(in srgb,var(--tb-orange) 18%,#fff);border-radius:18px;padding:12px;text-align:right}.tb-list-price small{display:block;font-size:11px;font-weight:900;color:#7a8495;text-transform:uppercase}.tb-list-price strong{display:block;font-size:18px;font-weight:900;color:var(--tb-orange);white-space:nowrap}.tb-list-meta-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.tb-list-meta-row span{display:inline-flex;align-items:center;gap:7px;border:1px solid #e9eef5;color:#344052;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:600}.tb-list-meta-row i{color:var(--tb-orange)}.tb-list-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.tb-list-actions .btn{min-width:132px}.tb-filter-empty{margin-top:18px}.tb-package-listing-page .tb-page-hero{min-height:330px}.tb-package-listing-page .tb-page-hero:before{background:linear-gradient(90deg,rgba(9,17,33,.79),rgba(9,17,33,.36))}
@media (max-width:1199px){.tb-package-layout{grid-template-columns:280px minmax(0,1fr)}.tb-list-package-card{grid-template-columns:220px minmax(0,1fr)}.tb-list-package-top{flex-direction:column}.tb-list-price{text-align:left;flex:auto}.tb-list-package-img{min-height:250px}}
@media (max-width:991px){.tb-package-layout{grid-template-columns:1fr}.tb-package-filter-panel{position:relative;top:auto}.tb-list-package-card{grid-template-columns:240px minmax(0,1fr)}}
@media (max-width:767px){.tb-package-result-head{align-items:flex-start;flex-direction:column}.tb-list-package-card{grid-template-columns:1fr}.tb-list-package-img{height:220px;min-height:220px}.tb-list-package-body{padding:18px}.tb-list-package-top h3{font-size:20px}.tb-list-actions .btn{width:100%}}

/* Compact destination mega menu: show all destinations without images */
.tb-mega-menu{
  width:min(820px,calc(100vw - 40px));
}
.tb-mega-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-height:410px;
  overflow-y:auto;
  padding-right:4px;
}
.tb-mega-grid::-webkit-scrollbar{
  width:6px;
}
.tb-mega-grid::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--tb-orange) 45%,#d8dee9);
  border-radius:999px;
}
.tb-mega-grid a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:5px 21px;
  border-radius:13px;
  background:transparent;
  border:0 solid #eef2f7;
}
.tb-mega-grid a:before{
  content:"\f3c5";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:var(--tb-orange);
  font-size:12px;
  flex:0 0 auto;
}
.tb-mega-grid img{
  display:none!important;
}
.tb-mega-grid span{
  flex:1;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:700;
  font-size:14px;
}
.tb-mega-grid small{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:24px;
  margin:0;
  padding:0 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--tb-orange) 10%,#fff);
  color:var(--tb-orange);
  font-size:12px;
  font-weight:500;
}
@media (max-width:991px){
  .tb-mega-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:360px;
  }
}
@media (max-width:575px){
  .tb-mega-grid{
    grid-template-columns:1fr;
  }
}


/* Destination sliders: 4 big cards visible, smooth left/right arrow slide like Customer Says */
.tb-destination-slider-shell{
  position:relative;
  padding:0 42px;
  margin-top:16px;
}
.tb-destination-slider-row{
  display:flex!important;
  grid-template-columns:none!important;
  grid-auto-flow:unset!important;
  grid-auto-columns:unset!important;
  gap:24px;
  overflow-x:hidden;
  overflow-y:visible;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  padding:0 0 12px;
}
.tb-destination-slider-row .tb-destination-card{
  flex:0 0 calc((100% - 72px)/4);
  min-width:calc((100% - 72px)/4);
  width:auto;
  height:238px;
  border-radius:14px;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-shadow:0 16px 36px rgba(18,31,55,.12);
}
.tb-destination-slider-row .tb-destination-card:after{
  background:linear-gradient(180deg,rgba(5,12,24,0) 42%,rgba(5,12,24,.76) 100%);
}
.tb-destination-slider-row .tb-destination-card img{
  object-position:center center;
}
.tb-destination-slider-row .tb-destination-card span{
  left:16px;
  bottom:15px;
  font-size:17px;
  line-height:1.18;
  max-width:calc(100% - 32px);
}
.tb-destination-slider-row .tb-destination-card small{
  display:none!important;
}
.tb-destination-slider-shell .tb-mini-arrow{
  top:50%;
  width:38px;
  height:38px;
  transform:translateY(-50%);
  box-shadow:0 12px 28px rgba(18,31,55,.18);
  z-index:6;
}
.tb-destination-slider-shell .tb-mini-arrow:hover{
  transform:translateY(-50%) scale(1.06);
}
.tb-destination-slider-shell .js-scroll-left{
  left:4px;
}
.tb-destination-slider-shell .js-scroll-right{
  right:4px;
}
.tb-destination-slider-shell.tb-no-arrows{
  padding-left:0;
  padding-right:0;
}
@media (max-width:1199px){
  .tb-destination-slider-row .tb-destination-card{flex-basis:calc((100% - 48px)/3);min-width:calc((100% - 48px)/3)}
}
@media (max-width:991px){
  .tb-destination-slider-row{gap:18px}
  .tb-destination-slider-row .tb-destination-card{flex-basis:calc((100% - 18px)/2);min-width:calc((100% - 18px)/2);height:210px}
}
@media (max-width:767px){
  .tb-destination-slider-shell{padding:0 32px}
  .tb-destination-slider-row{gap:14px}
  .tb-destination-slider-row .tb-destination-card{flex-basis:calc((100% - 14px)/2);min-width:calc((100% - 14px)/2);height:175px}
}
@media (max-width:480px){
  .tb-destination-slider-shell{padding:0 28px}
  .tb-destination-slider-row{gap:14px}
  .tb-destination-slider-row .tb-destination-card{flex-basis:100%;min-width:100%;height:205px}
}


/* Destination slider final polish: no card shadow, heading aligned to first card, controlled smooth movement */
.tb-destination-block .tb-subtitle-row{
  padding-left:42px;
}
.tb-destination-block .tb-subtitle-row h3{
  display:flex;
  align-items:center;
  gap:8px;
}
.tb-destination-block .tb-subtitle-row h3 i{
  margin-right:0!important;
  line-height:1;
}
.tb-destination-slider-row{
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  will-change:scroll-position;
}
.tb-destination-slider-row .tb-destination-card{
  box-shadow:none!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
}
.tb-destination-slider-row .tb-destination-card:hover{
  transform:none;
}
@media (max-width:767px){
  .tb-destination-block .tb-subtitle-row{padding-left:32px;}
}
@media (max-width:480px){
  .tb-destination-block .tb-subtitle-row{padding-left:28px;}
}

/* Package detail page */
.tb-package-detail-page{background:#fff;color:var(--tb-navy)}
.tb-package-detail-hero{padding:122px 0 42px;background:linear-gradient(180deg,#FAF8FC 0%,#fff 70%)}
.tb-detail-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#697489;margin-bottom:18px}
.tb-detail-breadcrumb a{color:#344052;text-decoration:none}.tb-detail-breadcrumb a:hover{color:var(--tb-orange)}.tb-detail-breadcrumb strong{color:var(--tb-orange)}
.tb-detail-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;align-items:stretch}
.tb-detail-hero-copy{background:#fff;border:1px solid #eef2f7;border-radius:28px;padding:32px;display:flex;flex-direction:column;justify-content:center;min-height:430px}
.tb-detail-hero-copy h1{font-size:44px;line-height:1.08;font-weight:900;color:#111b2d;margin:8px 0 18px;letter-spacing:-.5px}.tb-detail-hero-copy .tb-script{font-size:24px}
.tb-detail-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.tb-detail-hero-meta span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #e8eef6;border-radius:999px;background:#fff;color:#48556a;font-weight:700;font-size:13px}.tb-detail-hero-meta i{color:var(--tb-orange)}
.tb-detail-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.tb-detail-hero-actions .tb-outline-card{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.tb-detail-gallery{display:grid;grid-template-rows:1fr auto;gap:12px;min-height:430px}.tb-gallery-main{position:relative;border:0;border-radius:28px;overflow:hidden;background:#eef2f7;min-height:326px;padding:0;text-align:left}.tb-gallery-main img,.tb-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.tb-gallery-main:hover img,.tb-gallery-thumbs button:hover img{transform:scale(1.045)}.tb-gallery-main span{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(8,16,31,.72);color:#fff;padding:10px 14px;font-size:13px;font-weight:800;backdrop-filter:blur(8px)}
.tb-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;height:92px}.tb-gallery-thumbs button{position:relative;border:0;border-radius:17px;overflow:hidden;background:#eef2f7;padding:0}.tb-gallery-more:after{content:'';position:absolute;inset:0;background:rgba(8,16,31,.50)}.tb-gallery-more span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:900;z-index:2}
.tb-detail-content-section{padding-top:38px}.tb-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:28px;align-items:start}.tb-detail-main{display:grid;gap:24px}.tb-detail-card{background:#fff;border:1px solid #e9eef5;border-radius:24px;padding:26px}.tb-detail-section-head{margin-bottom:18px}.tb-detail-section-head h2{font-size:28px;line-height:1.15;font-weight:900;color:#111b2d;margin:0}.tb-detail-section-head .tb-script{font-size:21px;margin-bottom:2px}.tb-detail-html{color:#48556a;font-size:15px;line-height:1.75}.tb-detail-html p:last-child{margin-bottom:0}.tb-detail-html ul,.tb-detail-html ol{padding-left:20px}.tb-detail-html li{margin-bottom:7px}.tb-option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.tb-option-card{border:1px solid #e9eef5;border-radius:17px;padding:14px;background:#fbfcff}.tb-option-card strong{display:block;color:#111b2d;font-weight:900}.tb-option-card span{display:block;color:var(--tb-orange);font-weight:900;margin-top:5px}
.tb-day-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;margin-bottom:18px;scrollbar-width:none}.tb-day-tabs::-webkit-scrollbar{display:none}.tb-day-tabs button{border:1px solid #e7edf5;background:#fff;border-radius:15px;padding:12px 15px;min-width:130px;text-align:left;transition:.25s}.tb-day-tabs button small{display:block;color:var(--tb-orange);font-weight:900;font-size:12px}.tb-day-tabs button span{display:block;color:#111b2d;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-day-tabs button.active{background:var(--tb-orange);border-color:var(--tb-orange);box-shadow:0 12px 26px color-mix(in srgb,var(--tb-orange) 22%,transparent)}.tb-day-tabs button.active small,.tb-day-tabs button.active span{color:#fff}
.tb-day-panels{display:grid;gap:14px}.tb-day-panel{border:1px solid #e9eef5;border-radius:20px;overflow:hidden;background:#fff}.tb-day-panel-head{width:100%;border:0;background:#f8fafc;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;text-align:left;padding:17px 19px;color:#111b2d}.tb-day-panel-head span{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tb-orange) 12%,#fff);color:var(--tb-orange);border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px}.tb-day-panel-head strong{font-size:17px;font-weight:900}.tb-day-panel-head i{transition:.25s}.tb-day-panel-body{display:none;padding:19px}.tb-day-panel.active .tb-day-panel-body{display:block}.tb-day-panel.active .tb-day-panel-head i{transform:rotate(180deg)}.tb-day-photo{width:100%;height:290px;object-fit:cover;border-radius:18px;margin-bottom:18px;background:#eef2f7}.tb-day-service-list{display:grid;gap:12px;margin-top:18px}.tb-day-service-item{display:grid;grid-template-columns:118px 1fr;gap:15px;align-items:center;border:1px solid #e9eef5;border-radius:18px;padding:12px;background:#fbfcff}.tb-day-service-item>img{width:118px;height:88px;object-fit:cover;border-radius:14px}.tb-service-icon-lg{width:74px;height:74px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tb-orange) 12%,#fff);color:var(--tb-orange);font-size:26px;justify-self:center}.tb-day-service-item small{display:block;color:var(--tb-orange);font-weight:800;font-size:12px}.tb-day-service-item h4{font-size:17px;font-weight:900;margin:1px 0 4px;color:#111b2d}.tb-day-service-item p{margin:0;color:#506077;font-size:14px;line-height:1.45}.tb-service-options{font-weight:700;color:#667085!important;margin-bottom:5px!important}
.tb-policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tb-policy-card{border:1px solid #e9eef5;border-radius:18px;padding:18px;background:#fbfcff}.tb-policy-card h3{font-size:17px;font-weight:900;color:#111b2d;margin:0 0 10px}.tb-policy-card:nth-child(odd){background:linear-gradient(180deg,#fff,#FAF8FC)}
.tb-detail-sidebar{position:sticky;top:98px}.tb-price-enquiry-card{border:1px solid #e9eef5;background:#fff;border-radius:26px;padding:22px;box-shadow:0 14px 35px rgba(18,31,55,.09)}.tb-sidebar-price{display:grid;gap:2px;padding-bottom:15px;border-bottom:1px solid #eef2f7;margin-bottom:14px}.tb-sidebar-price small{color:#667085;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.4px}.tb-sidebar-price strong{font-size:29px;line-height:1;font-weight:900;color:var(--tb-orange)}.tb-sidebar-price span{font-size:12px;color:#7a8495}.tb-sidebar-meta{display:grid;gap:8px;margin-bottom:13px}.tb-sidebar-meta span{display:flex;align-items:center;gap:9px;color:#42526a;font-weight:700;font-size:13px}.tb-sidebar-meta i{color:var(--tb-orange)}.tb-price-enquiry-card .tb-service-icons{margin:0 0 14px}.tb-package-enquiry-form{gap:11px}.tb-form-two,.tb-form-three{display:grid;gap:10px}.tb-form-two{grid-template-columns:1fr 1fr}.tb-form-three{grid-template-columns:1.4fr .8fr .8fr}.tb-package-enquiry-form label span{font-size:11px}.tb-package-enquiry-form input,.tb-package-enquiry-form textarea{border-radius:12px;padding:11px 12px}.tb-package-enquiry-form textarea{min-height:74px}.tb-form-alert{display:none;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700}.tb-form-alert.success{display:block;background:#E5F7F5;color:#087D78}.tb-form-alert.error{display:block;background:#fff1f3;color:#b42318}
.tb-git-slot-badges{display:grid;gap:8px;margin:12px 0}.tb-git-slot-badges span{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #e9eef5;border-radius:14px;background:#fbfcff;padding:10px;font-size:12px;font-weight:800;color:#344052}.tb-git-slot-badges i{color:var(--tb-orange)}.tb-git-slot-badges small{font-size:11px;color:#667085}.tb-git-slot-badges b{color:var(--tb-orange);font-size:12px}
.tb-related-package-section{background:linear-gradient(180deg,#fff,#f8fbff)}.tb-related-package-row{grid-auto-columns:calc((100% - 72px)/4)}
.tb-gallery-lightbox{position:fixed;inset:0;background:rgba(7,13,25,.88);z-index:9999;display:none;align-items:center;justify-content:center;padding:60px}.tb-gallery-lightbox.active{display:flex}.tb-gallery-lightbox img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;border-radius:18px}.tb-gallery-close,.tb-gallery-nav{position:absolute;border:0;border-radius:50%;background:#fff;color:#111b2d;display:flex;align-items:center;justify-content:center}.tb-gallery-close{right:26px;top:24px;width:42px;height:42px}.tb-gallery-nav{top:50%;transform:translateY(-50%);width:48px;height:48px}.tb-gallery-prev{left:30px}.tb-gallery-next{right:30px}.tb-gallery-close:hover,.tb-gallery-nav:hover{background:var(--tb-orange);color:#fff}
@media(max-width:1199px){.tb-detail-layout{grid-template-columns:1fr}.tb-detail-sidebar{position:static}.tb-detail-hero-grid{grid-template-columns:1fr}.tb-detail-hero-copy{min-height:0}.tb-detail-hero-copy h1{font-size:38px}}
@media(max-width:991px){.tb-package-detail-hero{padding-top:104px}.tb-option-grid,.tb-policy-grid{grid-template-columns:1fr}.tb-related-package-row{grid-auto-columns:calc((100% - 24px)/2)}.tb-gallery-thumbs{height:78px}}
@media(max-width:767px){.tb-detail-hero-copy,.tb-detail-card,.tb-price-enquiry-card{border-radius:20px;padding:18px}.tb-detail-hero-copy h1{font-size:30px}.tb-gallery-main{min-height:270px;border-radius:20px}.tb-gallery-thumbs{grid-template-columns:repeat(3,1fr)}.tb-detail-layout{gap:18px}.tb-form-two,.tb-form-three{grid-template-columns:1fr}.tb-day-service-item{grid-template-columns:1fr}.tb-day-service-item>img{width:100%;height:170px}.tb-related-package-row{grid-auto-columns:86%}.tb-gallery-lightbox{padding:40px 16px}.tb-gallery-prev{left:12px}.tb-gallery-next{right:12px}.tb-gallery-nav{width:40px;height:40px}.tb-gallery-close{right:14px;top:14px}}

/* Package detail professional hero refinement */
.tb-package-detail-hero{
  padding:30px 0 28px;
  background:linear-gradient(180deg,#fff8f2 0%,#fff 86%);
}
.tb-package-detail-hero .container{
  max-width:1200px;
}
.tb-detail-breadcrumb{
  margin-bottom:14px;
}
.tb-detail-hero-grid{
  grid-template-columns:minmax(0,2fr) minmax(300px,1fr);
  gap:24px;
  align-items:stretch;
}
.tb-detail-gallery{
  position:relative;
  display:block;
  height:360px;
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  background:#eef2f7;
}
.tb-gallery-main{
  width:100%;
  height:100%;
  min-height:0;
  border-radius:28px;
  display:block;
  position:relative;
  overflow:hidden;
  cursor:pointer;
}
.tb-gallery-main img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:translateX(0);
  transition:transform .58s cubic-bezier(.22,.61,.36,1), opacity .25s ease;
}
.tb-gallery-main:hover img,
.tb-gallery-thumbs button:hover img{
  transform:translateX(0);
}
.tb-gallery-main:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,8,20,.03),rgba(3,8,20,.34));
  pointer-events:none;
}
.tb-gallery-main span{
  z-index:3;
  left:20px;
  bottom:18px;
  background:rgba(8,16,31,.70);
}
.tb-gallery-thumbs{
  display:none!important;
}
.tb-detail-hero-copy{
  min-height:360px;
  border-radius:28px;
  padding:28px;
  background:linear-gradient(180deg,#fff,#fffaf6);
  box-shadow:0 14px 36px rgba(18,31,55,.05);
}
.tb-detail-hero-copy h1{
  font-size:34px;
  line-height:1.12;
  margin:8px 0 16px;
}
.tb-detail-hero-copy .tb-script{
  font-size:22px;
}
.tb-detail-hero-meta{
  gap:8px;
  margin-bottom:14px;
}
.tb-detail-hero-meta span{
  padding:8px 11px;
  font-size:12px;
}
.tb-detail-hero-actions{
  margin-top:20px;
}
.tb-hero-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--tb-orange);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:4;
  box-shadow:0 12px 28px rgba(18,31,55,.18);
  transition:.22s ease;
}
.tb-hero-gallery-arrow:hover{
  background:var(--tb-orange);
  color:#fff;
  transform:translateY(-50%) scale(1.04);
}
.tb-hero-gallery-prev{left:16px;}
.tb-hero-gallery-next{right:16px;}
.tb-gallery-count{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:999px;
  padding:9px 12px;
  background:rgba(255,255,255,.90);
  color:#111b2d;
  font-size:12px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(18,31,55,.16);
}
.tb-gallery-count b{color:var(--tb-orange);}
.tb-gallery-count span{color:#667085;}
.tb-detail-content-section{
  padding-top:24px;
}
.tb-day-tabs{
  gap:8px;
  margin-bottom:18px;
  padding-bottom:6px;
}
.tb-day-tabs button{
  min-width:auto;
  border-radius:999px;
  padding:10px 16px;
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:#344052;
  background:#f8fafc;
  white-space:nowrap;
}
.tb-day-tabs button.active{
  color:#fff;
}
.tb-day-panel-head{
  background:#fff;
  border-bottom:1px solid #eef2f7;
}
.tb-day-panel-body{
  padding:22px;
}
.tb-day-service-item{
  align-items:start;
  background:#fff;
  box-shadow:0 8px 20px rgba(18,31,55,.04);
}
.tb-service-description{
  color:#506077;
  font-size:14px;
  line-height:1.55;
  margin-top:7px;
}
.tb-service-description p,
.tb-service-description ul,
.tb-service-description ol{
  margin:0 0 7px;
}
.tb-service-description ul,
.tb-service-description ol{
  padding-left:18px;
}
.tb-service-description p:last-child,
.tb-service-description ul:last-child,
.tb-service-description ol:last-child{
  margin-bottom:0;
}
@media(max-width:1199px){
  .tb-detail-hero-grid{
    grid-template-columns:1fr;
  }
  .tb-detail-gallery{
    height:340px;
    order:1;
  }
  .tb-detail-hero-copy{
    min-height:0;
    order:2;
  }
}
@media(max-width:767px){
  .tb-package-detail-hero{
    padding:18px 0 22px;
  }
  .tb-detail-gallery{
    height:290px;
    border-radius:22px;
  }
  .tb-gallery-main{
    border-radius:22px;
  }
  .tb-hero-gallery-arrow{
    width:38px;
    height:38px;
  }
  .tb-hero-gallery-prev{left:10px;}
  .tb-hero-gallery-next{right:10px;}
  .tb-gallery-count{right:12px;bottom:12px;}
  .tb-detail-hero-copy h1{font-size:29px;}
  .tb-day-panel-body{padding:16px;}
}

/* Package detail hero alignment with content section */
.tb-package-detail-hero .container{
  max-width:1320px;
}
.tb-detail-hero-grid{
  grid-template-columns:minmax(0,1fr) 385px;
  gap:28px;
  align-items:stretch;
}
.tb-detail-gallery{
  height:340px;
  border-radius:24px;
}
.tb-gallery-main{
  border-radius:24px;
}
.tb-detail-hero-copy{
  min-height:340px;
  border-radius:24px;
  padding:26px;
  box-shadow:0 10px 28px rgba(18,31,55,.045);
}
.tb-detail-hero-copy h1{
  font-size:32px;
}
@media(max-width:1199px){
  .tb-detail-hero-grid{
    grid-template-columns:1fr;
  }
  .tb-detail-gallery{
    height:330px;
    order:1;
  }
  .tb-detail-hero-copy{
    min-height:0;
    order:2;
  }
}
@media(max-width:767px){
  .tb-detail-gallery{height:285px;border-radius:20px;}
  .tb-gallery-main{border-radius:20px;}
  .tb-detail-hero-copy{border-radius:20px;padding:18px;}
}


/* Package detail requested typography update */
.tb-day-service-item h4 { font-size: 15px; font-weight: 600; margin: 6px 0 4px; color: #111b2d; }
.tb-detail-hero-copy h1 { font-size: 22px; font-weight: 700; }
.tb-detail-section-head h2 { font-size: 18px; line-height: 1.15; font-weight: 700; color: #111b2d; margin: 0; }
.tb-day-panel-head strong { font-size: 18px; font-weight: 700; }
.tb-day-service-item small { display: block; color: var(--tb-orange); font-weight: 600; font-size: 12px; }
.tb-lead-form label span { font-size: 12px; font-weight: 700; color: #313b4f; text-transform: uppercase; letter-spacing: .35px; }
.tb-policy-card h3 { font-size: 17px; font-weight: 600; color: #111b2d; margin: 0 0 10px; }
.tb-service-description,
.tb-service-description p,
.tb-service-description li { font-size: 14px; line-height: 1.55; color: #506077; }

/* GIT package fixed departure slots */
.tb-git-detail-block{margin-top:22px;border-top:1px solid #eef2f7;padding-top:20px}
.tb-git-detail-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#111b2d}
.tb-git-detail-title>i{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tb-orange) 11%,#fff);color:var(--tb-orange);font-size:17px}
.tb-git-detail-title strong{display:block;font-size:18px;font-weight:700;color:#111b2d;line-height:1.2}
.tb-git-detail-title small{display:block;font-size:13px;font-weight:600;color:#667085;margin-top:2px}
.tb-detail-departure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.tb-departure-card{border:1px solid #dce6f2;border-radius:18px;background:#fff;padding:15px;box-shadow:none;overflow:hidden}
.tb-departure-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.tb-departure-card-top strong{display:flex;align-items:center;gap:8px;color:#111b2d;font-size:15px;font-weight:700;line-height:1.25}
.tb-departure-card-top i{color:var(--tb-orange)}
.tb-departure-card-top span{flex:0 0 auto;border-radius:999px;background:#eafaf1;color:#009b5b;font-size:11px;font-weight:700;padding:5px 9px;white-space:nowrap}
.tb-departure-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.tb-departure-seat-grid:empty{display:none}
.tb-departure-seat-grid>div{border:1px solid #e0e8f2;border-radius:13px;background:#fbfcff;padding:10px 11px;min-height:58px}
.tb-departure-seat-grid small{display:block;color:#667085;font-size:11px;font-weight:700;margin-bottom:3px}
.tb-departure-seat-grid b{display:block;color:#111b2d;font-size:17px;font-weight:700;line-height:1.1}
.tb-departure-seat-grid .tb-seat-remaining{border-color:#b7efd4;background:#E5F7F5}
.tb-departure-seat-grid .tb-seat-remaining small,.tb-departure-seat-grid .tb-seat-remaining b{color:#008a4d}
.tb-departure-price{border-top:1px solid #eef2f7;padding-top:11px;margin:0;color:#009b5b;font-size:13px;font-weight:700;line-height:1.45}
.tb-departure-price b{color:#008a4d;font-weight:800;white-space:nowrap}
.tb-departure-foot{margin:4px 0 0;color:#667085;font-size:12px;font-weight:700;line-height:1.45}
.tb-sidebar-departures{border-top:1px solid #eef2f7;margin:15px 0;padding-top:14px}
.tb-sidebar-departures>strong{display:block;color:#111b2d;font-size:15px;font-weight:700;margin-bottom:10px}
.tb-sidebar-departures .tb-detail-departure-grid{grid-template-columns:1fr;gap:10px;margin-top:0}
.tb-sidebar-departures .tb-departure-card{border-radius:16px;padding:13px;background:#fbfcff}
.tb-sidebar-departures .tb-departure-card-top strong{font-size:13px}
.tb-sidebar-departures .tb-departure-seat-grid{gap:8px;margin-bottom:10px}
.tb-sidebar-departures .tb-departure-seat-grid>div{padding:8px 9px;min-height:52px;background:#fff}
.tb-sidebar-departures .tb-departure-seat-grid b{font-size:15px}
.tb-sidebar-departures .tb-departure-price{font-size:12px}
.tb-sidebar-departures .tb-departure-foot{font-size:11px}
.tb-git-no-slots{display:flex;align-items:center;gap:10px;border:1px dashed #d7e0ec;border-radius:15px;background:#fbfcff;color:#667085;font-size:13px;font-weight:700;padding:12px 14px}
.tb-git-no-slots i{color:var(--tb-orange)}

@media(max-width:767px){.tb-detail-departure-grid{grid-template-columns:1fr}.tb-departure-card{border-radius:16px}.tb-git-detail-title strong{font-size:16px}}

/* GIT package slot cards */
.tb-departure-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:10px}
.tb-departure-date-grid:empty{display:none}
.tb-departure-date-grid>div{border:1px solid #e0e8f2;border-radius:13px;background:#fbfcff;padding:10px 11px}
.tb-departure-date-grid small{display:block;color:#667085;font-size:11px;font-weight:700;margin-bottom:3px}
.tb-departure-date-grid b{display:block;color:#111b2d;font-size:14px;font-weight:700;line-height:1.2}
.tb-departure-card-top .tb-seat-alert{background:#fff4e7;color:#d75b00}
.tb-slot-price-details{margin-top:10px;border-top:1px solid #eef2f7;padding-top:9px}
.tb-slot-price-details summary{cursor:pointer;color:var(--tb-orange);font-size:12px;font-weight:700;list-style:none}
.tb-slot-price-details summary::-webkit-details-marker{display:none}
.tb-slot-price-details summary:after{content:'+';float:right;font-weight:800}
.tb-slot-price-details[open] summary:after{content:'−'}
.tb-slot-price-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.tb-slot-price-table span{border:1px solid #edf1f6;border-radius:12px;background:#fff;padding:8px 9px}
.tb-slot-price-table small{display:block;color:#667085;font-size:10px;font-weight:700;margin-bottom:3px}
.tb-slot-price-table b{display:block;color:#111b2d;font-size:12px;font-weight:700}
.tb-sidebar-departures .tb-departure-date-grid{grid-template-columns:1fr;gap:8px}
.tb-sidebar-departures .tb-slot-price-table{grid-template-columns:1fr}
@media(max-width:575px){.tb-departure-date-grid,.tb-slot-price-table{grid-template-columns:1fr}}

/* GIT package slot booking polish */
.tb-git-side-head{border-bottom:1px solid #eef2f7;margin-bottom:16px;padding-bottom:14px}
.tb-git-side-head h3{font-size:20px;font-weight:700;color:#111b2d;margin:4px 0 6px;line-height:1.2}
.tb-git-side-head p{font-size:13px;font-weight:600;color:#667085;line-height:1.45;margin:0}
.tb-departure-card{transition:border-color .2s ease,background .2s ease,transform .2s ease}
.tb-departure-card.active{border-color:var(--tb-orange);background:color-mix(in srgb,var(--tb-orange) 3%,#fff)}
.tb-departure-card-top span{background:color-mix(in srgb,var(--tb-orange) 11%,#fff);color:var(--tb-orange)}
.tb-departure-card-top .tb-seat-alert{background:color-mix(in srgb,var(--tb-orange) 11%,#fff);color:var(--tb-orange)}
.tb-departure-seat-grid .tb-seat-remaining{border-color:color-mix(in srgb,var(--tb-orange) 30%,#e0e8f2);background:color-mix(in srgb,var(--tb-orange) 6%,#fff)}
.tb-departure-seat-grid .tb-seat-remaining small,.tb-departure-seat-grid .tb-seat-remaining b{color:#111b2d}
.tb-departure-disabled{opacity:.64}
.tb-select-slot-btn{width:100%;border:1px solid var(--tb-orange);background:#fff;color:var(--tb-orange);border-radius:12px;padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s ease}
.tb-select-slot-btn:hover,.tb-select-slot-btn.active{background:var(--tb-orange);color:#fff}
.tb-select-slot-btn.disabled,.tb-select-slot-btn:disabled{border-color:#e5eaf2;background:#f7f9fc;color:#98a2b3;cursor:not-allowed}
.tb-git-booking-widget{border:1px solid #e2eaf4;border-radius:18px;background:#fbfcff;margin-bottom:14px;overflow:hidden}
.tb-git-booking-empty{display:grid;place-items:center;text-align:center;gap:6px;min-height:135px;padding:18px;color:#667085}
.tb-git-booking-empty i{width:44px;height:44px;border-radius:16px;background:color-mix(in srgb,var(--tb-orange) 10%,#fff);display:inline-flex;align-items:center;justify-content:center;color:var(--tb-orange);font-size:18px}
.tb-git-booking-empty strong{display:block;font-size:15px;font-weight:700;color:#111b2d}
.tb-git-booking-empty span{display:block;font-size:12px;font-weight:600;line-height:1.45}
.tb-git-booking-active{padding:13px;display:grid;gap:10px}
.tb-git-booking-active[hidden]{display:none!important}
.tb-git-selected-slot-head{border:1px solid #e2eaf4;border-radius:14px;background:#fff;padding:11px 12px;display:grid;gap:2px}
.tb-git-selected-slot-head small{color:var(--tb-orange);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.tb-git-selected-slot-head strong{font-size:15px;font-weight:700;color:#111b2d;line-height:1.25}
.tb-git-selected-slot-head span{font-size:12px;font-weight:600;color:#667085}
.tb-git-price-row-wrap{display:grid;gap:8px}
.tb-git-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #dfe8f3;border-radius:13px;background:#fff;padding:10px}
.tb-git-price-info{display:grid;gap:3px;min-width:0}
.tb-git-price-info strong{font-size:12px;font-weight:800;color:#111b2d;line-height:1.1}
.tb-git-price-info span{font-size:15px;font-weight:800;color:#111b2d;line-height:1.2}
.tb-git-qty-control{display:grid;grid-template-columns:34px 42px 34px;align-items:center;border-radius:999px;background:#f5f7fb;overflow:hidden}
.tb-git-qty-control button{width:34px;height:34px;border:0;background:#f5f7fb;color:#111b2d;font-size:18px;font-weight:800;cursor:pointer;line-height:1}
.tb-git-qty-control button:hover{background:color-mix(in srgb,var(--tb-orange) 10%,#fff);color:var(--tb-orange)}
.tb-git-qty-input{width:42px!important;height:34px!important;border:0!important;border-left:1px solid #e4e9f1!important;border-right:1px solid #e4e9f1!important;border-radius:0!important;background:#fff!important;text-align:center!important;padding:0!important;font-size:14px!important;font-weight:700!important;color:#344052!important;box-shadow:none!important}
.tb-git-tax-note{font-size:11px;font-weight:700;color:#667085;background:color-mix(in srgb,var(--tb-orange) 6%,#fff);border:1px solid color-mix(in srgb,var(--tb-orange) 18%,#e2eaf4);border-radius:12px;padding:9px 10px;line-height:1.4}
.tb-git-total-box{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e9eef5;padding-top:12px;margin-top:2px}
.tb-git-total-box span{font-size:13px;font-weight:700;color:#667085;text-transform:uppercase;letter-spacing:.35px}
.tb-git-total-box strong{font-size:24px;font-weight:800;color:var(--tb-orange);line-height:1}
.tb-git-package-form .tb-lead-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}
@media(max-width:575px){.tb-git-price-row{grid-template-columns:1fr}.tb-git-qty-control{justify-self:start}}

/* Package detail gallery single-image track fix */
.tb-detail-gallery,
.tb-gallery-main{
  overflow:hidden!important;
}
.tb-gallery-main > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.tb-gallery-main .tb-hero-gallery-track{
  position:absolute!important;
  inset:0!important;
  z-index:1;
  display:flex!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit;
  background:transparent!important;
  transform:translate3d(0,0,0);
  transition:transform .58s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
  pointer-events:none;
  backdrop-filter:none!important;
}
.tb-gallery-main .tb-hero-gallery-track img{
  position:relative!important;
  inset:auto!important;
  flex:0 0 100%!important;
  min-width:100%!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:none!important;
  transition:none!important;
}
.tb-gallery-main:hover .tb-hero-gallery-track img{
  transform:none!important;
}
.tb-gallery-main > span:not(.tb-hero-gallery-track){
  z-index:4;
}

/* Package detail top mosaic gallery - static, no slider */
.tb-package-detail-hero{
  padding:28px 0 26px!important;
  background:linear-gradient(180deg,#fff8f2 0%,#fff 82%)!important;
}
.tb-package-detail-hero .container{
  max-width:1200px!important;
}
.tb-detail-breadcrumb{
  margin-bottom:14px!important;
}
.tb-detail-mosaic{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:12px;
  height:505px;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
}
.tb-detail-mosaic.no-side-tiles{
  grid-template-columns:1fr;
  height:470px;
}
.tb-detail-mosaic button{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  overflow:hidden;
  background:#eef2f7;
  cursor:pointer;
  text-align:left;
}
.tb-detail-mosaic img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.tb-detail-mosaic button:hover img{
  transform:scale(1.035);
}
.tb-detail-mosaic-main{
  border-radius:20px 0 0 20px;
}
.tb-detail-mosaic.no-side-tiles .tb-detail-mosaic-main{
  border-radius:20px;
}
.tb-detail-mosaic-side{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:12px;
  min-width:0;
}
.tb-detail-mosaic-tile{
  border-radius:0;
}
.tb-detail-mosaic-tile:after,
.tb-detail-mosaic-main:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,12,25,0) 45%,rgba(5,12,25,.62) 100%);
  pointer-events:none;
}
.tb-detail-mosaic-tile span{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  color:#fff;
  font-size:15px;
  font-weight:800;
  text-shadow:0 2px 12px rgba(0,0,0,.32);
}
.tb-detail-mosaic-view-all em{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:10px;
  background:#fff;
  color:#111b2d;
  padding:12px 15px;
  font-size:13px;
  font-style:normal;
  font-weight:800;
  box-shadow:0 10px 24px rgba(18,31,55,.15);
}
.tb-detail-mosaic-view-all span{
  display:none;
}
.tb-detail-top-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:30px;
  align-items:start;
  margin-top:24px;
}
.tb-detail-title-stack h1{
  margin:0 0 14px;
  color:#111b2d;
  font-size:34px;
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.35px;
}
.tb-detail-title-stack .tb-dest-badges{
  margin-top:12px;
}
.tb-detail-top-price-card{
  border:1px solid #e7edf5;
  border-radius:18px;
  background:#fff;
  padding:20px 22px;
  box-shadow:none;
}
.tb-detail-top-price-card small{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:800;
  letter-spacing:.42px;
  text-transform:uppercase;
  margin-bottom:5px;
}
.tb-detail-top-price-card strong{
  display:block;
  color:var(--tb-orange);
  font-size:27px;
  line-height:1;
  font-weight:800;
  margin-bottom:5px;
}
.tb-detail-top-price-card>span{
  display:block;
  color:#778298;
  font-size:12px;
  font-weight:600;
}
.tb-detail-top-price-card .tb-detail-hero-actions{
  margin-top:18px;
}
.tb-detail-content-section{
  padding-top:24px!important;
}
@media(max-width:1199px){
  .tb-detail-mosaic{height:445px;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}
  .tb-detail-top-summary{grid-template-columns:1fr 330px;gap:22px}
}
@media(max-width:991px){
  .tb-detail-mosaic{height:auto;grid-template-columns:1fr;border-radius:20px;overflow:visible;background:transparent}
  .tb-detail-mosaic-main{height:360px;border-radius:20px!important}
  .tb-detail-mosaic-side{height:260px}
  .tb-detail-mosaic-tile{border-radius:16px}
  .tb-detail-top-summary{grid-template-columns:1fr}
}
@media(max-width:767px){
  .tb-package-detail-hero{padding-top:18px!important}
  .tb-detail-mosaic-main{height:285px}
  .tb-detail-mosaic-side{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:8px}
  .tb-detail-mosaic-tile{height:130px}
  .tb-detail-mosaic-tile span{left:12px;bottom:12px;font-size:12px}
  .tb-detail-mosaic-view-all em{right:10px;bottom:10px;padding:9px 11px;font-size:11px}
  .tb-detail-title-stack h1{font-size:26px}
  .tb-detail-top-price-card{padding:17px;border-radius:16px}
}

/* Package detail: full-width gallery container and title/sidebar alignment */
.tb-package-detail-hero .container,
.tb-detail-content-section .container,
.tb-related-package-section .container{
  max-width:1320px!important;
}
.tb-package-detail-hero{
  padding-bottom:18px!important;
}
.tb-detail-mosaic{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.tb-detail-top-summary,
.tb-detail-top-price-card{
  display:none!important;
}
.tb-detail-content-section{
  padding-top:16px!important;
}
.tb-detail-layout{
  grid-template-columns:minmax(0,1fr) 385px!important;
  gap:28px!important;
  align-items:start!important;
}
.tb-detail-title-inline{
  padding:0 0 2px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.tb-detail-title-inline h1{
  margin:0 0 14px!important;
  color:#111b2d!important;
  font-size:34px!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.35px!important;
}
.tb-detail-title-inline .tb-detail-hero-meta{
  margin-bottom:12px!important;
}
.tb-detail-title-inline .tb-dest-badges{
  margin-top:8px!important;
}
.tb-detail-sidebar{
  margin-top:0!important;
  align-self:start!important;
}
@media(max-width:1199px){
  .tb-detail-layout{
    grid-template-columns:1fr!important;
  }
  .tb-detail-sidebar{
    position:static!important;
  }
}
@media(max-width:767px){
  .tb-detail-title-inline h1{
    font-size:28px!important;
  }
  .tb-detail-content-section{
    padding-top:12px!important;
  }
}

/* Package detail route/day summary */
.tb-detail-route-summary{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin-top:14px;
  color:#111b2d;
}
.tb-route-duration-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--tb-orange);
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:800;
  margin-right:12px;
}
.tb-route-stop{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 14px 0 0;
  margin:4px 12px 4px 0;
  border-right:1px solid #d8dee8;
}
.tb-route-stop:last-child{border-right:0;margin-right:0;padding-right:0}
.tb-route-stop strong{
  color:#c9cdd4;
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
}
.tb-route-stop span{
  display:grid;
  gap:1px;
  line-height:1.05;
}
.tb-route-stop em{
  color:#7b8494;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}
.tb-route-stop b{
  color:#111b2d;
  font-size:12px;
  font-weight:800;
}
@media(max-width:767px){
  .tb-detail-route-summary{gap:8px}
  .tb-route-duration-pill{margin-right:4px}
  .tb-route-stop{border-right:0;background:#f7f9fc;border-radius:14px;padding:8px 10px;margin:0}
  .tb-route-stop strong{font-size:24px}
}

/* Home service search tabs: Flight / Hotel / Package */
.tb-booking-search-section{
  position:relative;
  z-index:12;
  margin-top:-86px;
  padding:0 0 34px;
  background:transparent;
}
.tb-booking-search-section .container{
  transform:none;
}
.tb-booking-search-card{
  position:relative;
  max-width:100%;
  margin:0 auto;
  background:#fff;
  border:1px solid rgba(226,234,244,.95);
  border-radius:20px;
  box-shadow:0 14px 34px rgba(16,31,61,.10);
  padding:31px 14px 13px;
  overflow:visible;
}
.tb-service-tabs{
  position:absolute;
  left:18px;
  top:-22px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0;
  margin:0;
  border:0;
  z-index:3;
}
.tb-service-tab{
  border:1px solid #dfe8f4;
  border-radius:999px;
  background:#fff;
  color:#23324d;
  font-weight:850;
  font-size:13px;
  padding:8px 15px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  transition:.22s;
  box-shadow:0 8px 20px rgba(16,31,61,.10);
}
.tb-service-tab i{color:#4a7eea}
.tb-service-tab.active,
.tb-service-tab:hover{
  background:#fff;
  color:var(--tb-orange);
  border-color:rgba(255,112,35,.45);
  box-shadow:0 10px 22px rgba(255,112,35,.15);
  transform:translateY(-1px);
}
.tb-service-tab.active i,
.tb-service-tab:hover i{color:var(--tb-orange)}
.tb-search-panel{
  display:none;
  padding:0;
}
.tb-search-panel.active{display:block}
.tb-search-panel-head{display:none}
.tb-trip-tabs{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
}
.tb-trip-tab{
  border:1px solid #dfe8f4;
  background:#f8fbff;
  color:#263851;
  font-weight:850;
  font-size:12.5px;
  border-radius:999px;
  padding:6px 13px;
  transition:.22s;
}
.tb-trip-tab.active,
.tb-trip-tab:hover{
  background:#5A149F;
  color:#fff;
  border-color:#5A149F;
  box-shadow:0 8px 18px rgba(47,115,223,.18);
}
.tb-live-search-form{margin:0}
.tb-flight-segment,
.tb-hotel-grid{
  display:grid;
  grid-template-columns:1.15fr 34px 1.15fr .72fr .72fr;
  align-items:stretch;
  background:#fff;
  border:1px solid #e6edf6;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(16,31,61,.07);
  overflow:hidden;
}
.tb-flight-segment + .tb-flight-segment{
  margin-top:8px;
  grid-template-columns:1.2fr 1.2fr .72fr .82fr;
}
.tb-live-field{
  min-height:64px;
  padding:8px 14px 7px;
  border-right:1px solid #e8edf5;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.tb-live-field label{
  margin:0 0 6px;
  font-size:11px;
  font-weight:850;
  color:#6f7d91;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.tb-live-field input,
.tb-live-field select{
  border:0;
  outline:0;
  background:transparent;
  color:#101522;
  font-size:18px;
  font-weight:900;
  line-height:1.1;
  padding:0;
  width:100%;
}
.tb-live-field select{
  font-size:15px;
  font-weight:850;
}
.tb-live-field input[type="date"]{
  font-size:15px;
  min-height:28px;
  color:#111827;
}
.tb-live-field small{
  display:block;
  margin-top:6px;
  color:#39465c;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-swap-airport{
  border:0;
  background:#fff;
  color:#aab4c4;
  border-right:1px solid #e8edf5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tb-swap-airport i{
  width:20px;
  height:20px;
  border:1px solid #dce5f2;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  background:#fff;
}
.tb-flight-bottom-row{
  display:flex;
  align-items:stretch;
  gap:10px;
  margin-top:8px;
}
.tb-traveller-box{
  flex:1;
  background:#f8fbff;
  border:1px solid #e4edf8;
  border-radius:14px;
  padding:9px 12px;
  color:#1d2b42;
}
.tb-traveller-box>label{
  display:block;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:6px;
  color:#65748a;
}
.tb-pax-controls,
.tb-room-controls{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.tb-pax-controls span,
.tb-room-controls span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:800;
}
.tb-pax-controls input,
.tb-room-controls input{
  width:44px;
  border:1px solid #dce5f2;
  border-radius:9px;
  padding:5px 7px;
  background:#fff;
  color:#172133;
  font-weight:850;
}
.tb-pax-controls select{
  border:1px solid #dce5f2;
  border-radius:9px;
  padding:6px 10px;
  background:#fff;
  color:#172133;
  font-weight:850;
  min-width:168px;
}
.tb-direct-check{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  min-width:126px;
  background:#f8fbff;
  border:1px solid #e4edf8;
  color:#1d2b42;
  border-radius:14px;
  padding:0 12px;
  font-weight:800;
}
.tb-direct-check input{accent-color:var(--tb-orange)}
.tb-live-search-btn{
  border:0;
  background:linear-gradient(135deg,#7132B5,#5A149F);
  color:#fff;
  min-width:126px;
  border-radius:14px;
  font-size:15px;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 10px 20px rgba(90,20,159,.18);
  transition:.22s;
}
.tb-live-search-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(90,20,159,.25);
}
.tb-add-city-btn{
  border:1px solid #5A149F;
  background:#fff;
  color:#7132B5;
  font-weight:900;
  border-radius:999px;
  align-self:center;
  justify-self:center;
  padding:9px 21px;
}
.tb-hotel-grid{
  grid-template-columns:1.48fr .62fr .62fr .62fr .86fr 136px;
}
.tb-hotel-grid .tb-live-search-btn{
  border-radius:0;
  min-width:0;
  box-shadow:none;
}
.tb-hotel-grid .tb-live-field:last-of-type{border-right:0}
.tb-hotel-destination-field input{font-size:18px}
.tb-hotel-destination-field small{font-size:12px;color:#39465c}
.tb-room-controls span{color:#172133;font-weight:900}
.tb-room-controls input{border-color:#dce5f2;width:42px}
.tb-booking-search-section .tb-search-box{
  width:100%;
  margin:0;
  border-radius:16px;
  box-shadow:0 10px 26px rgba(16,31,61,.07);
  border:1px solid #e6edf6;
  padding:5px;
}
.tb-booking-search-section .tb-search-field{
  min-height:60px;
  border-radius:13px;
  background:#f8fbff;
  border-right:1px solid #e8edf5;
}
.tb-booking-search-section .tb-search-btn{
  width:110px;
  height:50px;
  border-radius:13px;
  font-size:18px;
}
.tb-live-search-message,
.tb-search-disabled-message{
  display:none;
  margin-top:8px;
  background:#f8fbff;
  border:1px solid #e4edf8;
  border-radius:14px;
  padding:9px 12px;
  font-weight:800;
  color:#172133;
}
.tb-live-search-message.active,
.tb-search-disabled-message{display:block}
@media (max-width:1199px){
  .tb-booking-search-section{margin-top:-74px}
  .tb-flight-segment{grid-template-columns:1fr 38px 1fr .78fr .78fr}
  .tb-hotel-grid{grid-template-columns:1.4fr .72fr .72fr .68fr .9fr 136px}
  .tb-live-field{padding-left:12px;padding-right:12px}
  .tb-live-field input{font-size:17px}
}
@media (max-width:991px){
  .tb-booking-search-section{margin-top:0;padding:38px 0 30px;background:transparent}
  .tb-booking-search-card{border-radius:20px;padding:36px 12px 12px;box-shadow:0 14px 32px rgba(16,31,61,.11)}
  .tb-service-tabs{left:12px;top:-24px}
  .tb-search-panel-head{display:none}
  .tb-flight-segment,
  .tb-flight-segment + .tb-flight-segment,
  .tb-hotel-grid{grid-template-columns:1fr}
  .tb-swap-airport{min-height:38px;border-right:0;border-bottom:1px solid #e8edf5}
  .tb-live-field{border-right:0;border-bottom:1px solid #e8edf5}
  .tb-flight-bottom-row{display:grid;grid-template-columns:1fr}
  .tb-direct-check{min-height:50px}
  .tb-live-search-btn,.tb-hotel-grid .tb-live-search-btn{min-height:54px;border-radius:14px;width:100%}
  .tb-booking-search-section .tb-search-box{flex-direction:column;align-items:stretch}
  .tb-booking-search-section .tb-search-btn{width:100%}
}
@media (max-width:575px){
  .tb-booking-search-card{padding:36px 10px 10px;border-radius:18px}
  .tb-service-tabs,.tb-trip-tabs{overflow-x:auto;scrollbar-width:none}
  .tb-service-tabs::-webkit-scrollbar,.tb-trip-tabs::-webkit-scrollbar{display:none}
  .tb-service-tab,.tb-trip-tab{white-space:nowrap}
  .tb-search-panel{padding-left:0;padding-right:0}
  .tb-search-panel-head{padding:0 4px}
}

.tb-flight-search-form input[type="number"]{max-width:44px}
.tb-pax-controls input[name="adult"],
.tb-pax-controls input[name="child"],
.tb-pax-controls input[name="infant"]{text-align:center}

/* Flight datepicker + multicity clean update */
.tb-date-field{position:relative}
.tb-date-input[readonly]{cursor:pointer;caret-color:transparent}
.tb-date-field:after{
  content:"\f073";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  right:14px;
  bottom:19px;
  color:var(--tb-orange);
  font-size:13px;
  pointer-events:none;
}
.tb-date-field input.tb-date-input{padding-right:26px!important}
.tb-multicity-controls{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.tb-multicity-controls[hidden]{display:none!important}
.tb-multicity-controls span{
  color:#65748a;
  font-size:12px;
  font-weight:800;
}
.tb-add-city-btn{
  border:1px solid #5A149F;
  background:#fff;
  color:#7132B5;
  font-weight:900;
  border-radius:999px;
  align-self:center;
  justify-self:start;
  padding:8px 18px;
  box-shadow:0 8px 20px rgba(47,115,223,.08);
}
.tb-add-city-btn:disabled{
  opacity:.58;
  cursor:not-allowed;
  box-shadow:none;
}
.tb-remove-city-btn{
  border:0;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#F7F0FB;
  color:var(--tb-orange);
  align-self:center;
  justify-self:center;
  box-shadow:0 8px 18px rgba(90,20,159,.10);
}
.tb-remove-city-btn[hidden]{display:none!important}
.tb-flight-search-form.is-one-way .tb-flight-segments > .tb-flight-segment:first-child,
.tb-flight-search-form.is-multi-city .tb-flight-segments > .tb-flight-segment:first-child{grid-template-columns:1.16fr 38px 1.16fr .74fr}
.tb-flight-search-form .tb-multicity-extra{grid-template-columns:1.16fr 1.16fr .74fr 48px!important}
.tb-flight-search-form.is-one-way .js-return-date-field,
.tb-flight-search-form.is-one-way .tb-multicity-extra,
.tb-flight-search-form.is-one-way .tb-multicity-controls,
.tb-flight-search-form.is-round-trip .tb-multicity-extra,
.tb-flight-search-form.is-round-trip .tb-multicity-controls,
.tb-flight-search-form.is-multi-city .js-return-date-field{display:none!important}
.tb-flight-search-form.is-multi-city .tb-multicity-extra,
.tb-flight-search-form.is-multi-city .tb-multicity-controls{display:grid}
.tb-flight-search-form.is-multi-city .tb-multicity-controls{display:flex}
.tb-date-picker-popover{
  position:absolute;
  z-index:9999;
  width:min(620px,calc(100vw - 24px));
  background:#fff;
  border:1px solid #dde7f4;
  border-radius:20px;
  box-shadow:0 22px 60px rgba(16,31,61,.18);
  padding:14px;
  display:none;
}
.tb-date-picker-popover.active{display:block}
.tb-date-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.tb-date-picker-head strong{
  color:#152039;
  font-size:14px;
  font-weight:900;
}
.tb-date-nav{
  width:34px;
  height:34px;
  border:1px solid #dde7f4;
  border-radius:50%;
  background:#f8fbff;
  color:#1f3353;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.tb-date-nav:hover{border-color:var(--tb-orange);color:var(--tb-orange);background:#fff7f2}
.tb-date-months{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.tb-date-month{
  border:1px solid #edf2f8;
  border-radius:16px;
  padding:10px;
  background:#fff;
}
.tb-date-month-title{
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:#1e2c45;
  margin-bottom:8px;
}
.tb-date-weekdays,
.tb-date-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.tb-date-weekdays span{
  text-align:center;
  font-size:10px;
  font-weight:900;
  color:#7b8799;
  text-transform:uppercase;
}
.tb-date-day{
  border:0;
  min-height:34px;
  border-radius:11px;
  background:#f8fbff;
  color:#18243a;
  font-size:12px;
  font-weight:900;
}
.tb-date-day:hover{background:#F7F0FB;color:var(--tb-orange)}
.tb-date-day.is-muted{visibility:hidden}
.tb-date-day.is-disabled{
  color:#b5bdca;
  background:#f5f7fa;
  cursor:not-allowed;
}
.tb-date-day.is-today{box-shadow:inset 0 0 0 1px rgba(47,115,223,.35)}
.tb-date-day.is-selected,
.tb-date-day.is-start,
.tb-date-day.is-end{
  background:var(--tb-orange);
  color:#fff;
}
.tb-date-day.is-in-range{
  background:#F7F0FB;
  color:var(--tb-orange);
}
.tb-date-picker-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  border-top:1px solid #edf2f8;
  padding-top:10px;
}
.tb-date-picker-foot span{
  color:#5c6b83;
  font-size:12px;
  font-weight:800;
}
.tb-date-clear{
  border:1px solid #dde7f4;
  background:#fff;
  color:#20314e;
  border-radius:999px;
  padding:7px 13px;
  font-size:12px;
  font-weight:900;
}
.tb-date-clear:hover{border-color:var(--tb-orange);color:var(--tb-orange)}
@media(max-width:767px){
  .tb-date-picker-popover{position:fixed!important;left:12px!important;right:12px!important;top:88px!important;width:auto;max-height:calc(100vh - 110px);overflow:auto}
  .tb-date-months{grid-template-columns:1fr}
  .tb-date-day{min-height:38px}
  .tb-flight-segment + .tb-flight-segment{grid-template-columns:1fr}
  .tb-remove-city-btn{justify-self:start;margin:8px 12px}
}
.tb-flight-search-form .tb-multicity-extra[hidden],
.tb-flight-search-form .js-return-date-field[hidden]{display:none!important}


.tb-flight-search-form .tb-multicity-extra .tb-live-field:first-child{border-top-left-radius:16px;border-bottom-left-radius:16px}
.tb-flight-search-form .tb-multicity-extra .tb-live-field:nth-child(3){border-right:1px solid #e8edf5}
.tb-flight-search-form .tb-multicity-extra .tb-remove-city-btn{margin:0 auto}
@media(max-width:767px){
  .tb-flight-search-form.is-one-way .tb-flight-segments > .tb-flight-segment:first-child,
  .tb-flight-search-form.is-multi-city .tb-flight-segments > .tb-flight-segment:first-child,
  .tb-flight-search-form .tb-multicity-extra{grid-template-columns:1fr!important}
}

/* Flight/Hotel compact fields + placeholder cleanup */
.tb-booking-search-card{
  padding:28px 14px 12px;
}
.tb-flight-segment,
.tb-hotel-grid{
  border-radius:15px;
  box-shadow:0 8px 22px rgba(16,31,61,.055);
}
.tb-live-field{
  min-height:55px;
  padding:7px 12px 6px;
}
.tb-live-field label{
  margin-bottom:4px;
  font-size:10px;
  letter-spacing:.18px;
}
.tb-live-field input,
.tb-live-field select,
.tb-hotel-destination-field input{
  font-size:14px;
  font-weight:720;
  line-height:1.15;
}
.tb-live-field select,
.tb-live-field input[type="date"]{
  font-size:13px;
  font-weight:720;
  min-height:24px;
}
.tb-live-field small,
.tb-hotel-destination-field small{
  margin-top:4px;
  font-size:10.5px;
  line-height:1.15;
}
.tb-date-field:after{
  right:13px;
  bottom:15px;
  font-size:12px;
}
.tb-flight-bottom-row{
  gap:8px;
  margin-top:8px;
}
.tb-traveller-box{
  padding:8px 10px;
  border-radius:13px;
}
.tb-traveller-box>label{
  margin-bottom:5px;
  font-size:10px;
}
.tb-pax-controls,
.tb-room-controls{
  gap:8px;
}
.tb-pax-controls span,
.tb-room-controls span{
  gap:5px;
  font-size:13px;
  font-weight:760;
}
.tb-pax-controls input,
.tb-room-controls input{
  width:40px;
  padding:4px 6px;
  border-radius:8px;
  font-size:13px;
  font-weight:760;
}
.tb-pax-controls select{
  min-width:150px;
  padding:5px 9px;
  border-radius:8px;
  font-size:13px;
  font-weight:760;
}
.tb-direct-check{
  min-width:118px;
  border-radius:13px;
  padding:0 11px;
  font-size:13px;
  font-weight:760;
}
.tb-live-search-btn{
  min-width:116px;
  border-radius:13px;
  font-size:14px;
}
.tb-hotel-grid .tb-live-search-btn{
  font-size:14px;
}
.tb-add-city-btn{
  padding:7px 16px;
  font-size:13px;
}
.tb-multicity-controls span{
  font-size:11px;
}
.tb-flight-search-form input::placeholder,
.tb-hotel-search-form input::placeholder{
  color:transparent;
}
@media (max-width:1199px){
  .tb-live-field input,
  .tb-live-field select,
  .tb-hotel-destination-field input{font-size:13px}
}

/* Field click/focus polish */
.tb-live-field{cursor:text;}
.tb-live-field select,
.tb-live-field input[type="date"],
.tb-date-field{cursor:pointer;}
.tb-live-field small[hidden]{display:none!important;margin:0!important;}
.tb-selected-airport-info{display:block;}

/* Flight/Hotel compact field font requested */
.tb-live-field input,
.tb-live-field select,
.tb-hotel-destination-field input{
  font-size:18px;
  font-weight:700;
  line-height:1.15;
}

/* Hotel search redesign like clean quickbar + guests popup */
.tb-hotel-search-form{
  position:relative;
}
.tb-hotel-quickbar{
  display:grid;
  grid-template-columns:1.55fr .72fr .72fr .95fr .82fr 150px;
  align-items:stretch;
  background:#fff;
  border:1px solid #edf1f6;
  border-radius:13px;
  box-shadow:0 8px 22px rgba(16,31,61,.07);
  overflow:visible;
}
.tb-hotel-quickbar .tb-live-field{
  min-height:72px;
  padding:13px 14px 11px;
  border-right:1px solid #e8edf5;
  background:#fff;
  justify-content:center;
}
.tb-hotel-quickbar .tb-live-field label{
  margin:0 0 9px;
  color:#050b16;
  font-size:12px;
  font-weight:800;
  line-height:1.1;
  text-transform:none;
  letter-spacing:0;
}
.tb-hotel-search-form .tb-hotel-quickbar .tb-live-field input,
.tb-hotel-search-form .tb-hotel-quickbar .tb-live-field select,
.tb-hotel-search-form .tb-hotel-quickbar .tb-hotel-destination-field input{
  color:#050b16;
  font-size:14px;
  font-weight:750;
  line-height:1.2;
}
.tb-hotel-search-form .tb-hotel-quickbar .tb-date-input,
.tb-hotel-search-form .tb-hotel-quickbar .tb-hotel-category-field select{
  font-size:14px;
  font-weight:800;
}
.tb-hotel-destination-field input,
.tb-hotel-category-field select{
  border-bottom:1px solid #d8dee8!important;
  padding-bottom:9px!important;
}
.tb-hotel-quickbar .tb-date-field:after{
  right:14px;
  bottom:21px;
  color:#c8cbd1;
  font-size:16px;
}
.tb-hotel-guests-trigger{
  cursor:pointer;
  user-select:none;
}
.tb-hotel-guests-trigger strong{
  display:block;
  color:#050b16;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  border-bottom:1px solid #d8dee8;
  padding-bottom:9px;
  white-space:nowrap;
}
.tb-hotel-category-field select{
  appearance:none;
  -webkit-appearance:none;
}
.tb-hotel-search-btn,
.tb-hotel-quickbar .tb-live-search-btn{
  min-width:0;
  width:100%;
  min-height:72px;
  border-radius:8px;
  margin:0;
  background:#de322a;
  box-shadow:none;
  font-size:15px;
  font-weight:900;
  text-transform:none;
}
.tb-hotel-search-btn:hover{
  background:#cf2c25;
  box-shadow:0 10px 22px rgba(222,50,42,.22);
}
.tb-hotel-guests-popover{
  position:absolute;
  top:82px;
  left:30%;
  width:min(470px, calc(100vw - 32px));
  background:#fff;
  border:1px solid #e0e6ef;
  border-radius:9px;
  box-shadow:0 8px 26px rgba(16,31,61,.20);
  z-index:50;
  padding:13px 12px 16px;
}
.tb-hotel-guests-popover[hidden]{display:none!important}
.tb-hotel-guests-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.tb-hotel-guests-head strong{
  color:#142034;
  font-size:14px;
  font-weight:850;
}
.tb-hotel-guests-close{
  border:0;
  background:transparent;
  color:#111827;
  font-size:17px;
  line-height:1;
  padding:2px;
}
.tb-hotel-guests-labels,
.tb-hotel-room-row{
  display:grid;
  grid-template-columns:64px 78px 78px minmax(58px,1fr) 38px 38px;
  align-items:center;
  gap:10px;
}
.tb-hotel-guests-labels{
  margin-bottom:6px;
  color:#172033;
  font-size:12px;
  font-weight:800;
}
.tb-hotel-room-row + .tb-hotel-room-row{
  margin-top:10px;
}
.tb-room-no{
  color:#172033;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
}
.tb-hotel-room-row select,
.tb-child-age-box input{
  width:100%;
  min-height:41px;
  border:1px solid #cfd6df;
  border-radius:5px;
  background:#fff;
  color:#111827;
  font-size:14px;
  font-weight:650;
  padding:8px 9px;
  outline:0;
}
.tb-child-age-box{
  display:flex;
  align-items:center;
  gap:8px;
}
.tb-child-age-box input{
  max-width:58px;
  text-align:center;
}
.tb-hotel-add-room,
.tb-hotel-remove-room{
  width:34px;
  height:34px;
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
}
.tb-hotel-add-room{
  background:#ef3348;
  border-radius:50%;
  font-size:15px;
}
.tb-hotel-remove-room{
  background:#f05b69;
  border-radius:4px;
  font-size:13px;
}
.tb-hotel-add-room[hidden],
.tb-hotel-remove-room[hidden]{display:none!important}
@media(max-width:1199px){
  .tb-hotel-quickbar{grid-template-columns:1.4fr .68fr .68fr .9fr .72fr 136px}
  .tb-hotel-quickbar .tb-live-field{padding-left:12px;padding-right:12px}
  .tb-hotel-search-form .tb-hotel-quickbar .tb-live-field input,
  .tb-hotel-search-form .tb-hotel-quickbar .tb-live-field select,
  .tb-hotel-search-form .tb-hotel-quickbar .tb-hotel-destination-field input,
  .tb-hotel-guests-trigger strong{font-size:13px}
}
@media(max-width:991px){
  .tb-hotel-quickbar{grid-template-columns:1fr 1fr;overflow:visible}
  .tb-hotel-quickbar .tb-live-field{border-right:0;border-bottom:1px solid #e8edf5}
  .tb-hotel-search-btn,.tb-hotel-quickbar .tb-live-search-btn{min-height:56px;border-radius:10px;grid-column:1/-1}
  .tb-hotel-guests-popover{left:12px!important;right:12px;width:auto;top:auto;transform:none}
}
@media(max-width:575px){
  .tb-hotel-quickbar{grid-template-columns:1fr}
  .tb-hotel-guests-labels{display:none}
  .tb-hotel-room-row{grid-template-columns:1fr 1fr;gap:8px}
  .tb-room-no{grid-column:1/-1}
  .tb-child-age-box{grid-column:1/-1}
}

/* Final unified home search UI: Flight / Hotel / Package same visual system */
.tb-booking-search-section{
  background:transparent!important;
  margin-top:-86px!important;
  padding:0 0 34px!important;
  position:relative;
  z-index:12;
}
.tb-booking-search-section .container{transform:none!important;}
.tb-booking-search-card.tb-unified-search-card{
  width:100%;
  max-width:1100px!important;
  margin:0 auto!important;
  background:#fff!important;
  border:1px solid #e7edf6!important;
  border-radius:18px!important;
  box-shadow:0 18px 42px rgba(16,31,61,.12)!important;
  padding:28px 14px 14px!important;
  overflow:visible!important;
}
.tb-unified-service-tabs,
.tb-service-tabs{
  position:absolute!important;
  left:18px!important;
  top:-22px!important;
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  z-index:5!important;
  margin:0!important;
  padding:0!important;
}
.tb-service-tab{
  height:38px!important;
  border:1px solid #e1e9f4!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#17233a!important;
  box-shadow:0 8px 18px rgba(16,31,61,.10)!important;
  padding:0 15px!important;
  font-size:12.5px!important;
  font-weight:850!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  line-height:1!important;
}
.tb-service-tab i{color:#4078e6!important;font-size:13px!important;}
.tb-service-tab.active,
.tb-service-tab:hover{
  color:#5A149F!important;
  border-color:rgba(90,20,159,.42)!important;
  box-shadow:0 10px 22px rgba(90,20,159,.14)!important;
  transform:translateY(-1px);
}
.tb-service-tab.active i,
.tb-service-tab:hover i{color:#5A149F!important;}
.tb-search-panel{display:none!important;padding:0!important;}
.tb-search-panel.active{display:block!important;}
.tb-trip-tabs{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.tb-trip-tab{
  height:34px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  border:1px solid #dfe8f4!important;
  background:#f8fbff!important;
  color:#17233a!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
.tb-trip-tab.active,
.tb-trip-tab:hover{
  background:#5A149F!important;
  border-color:#5A149F!important;
  color:#fff!important;
  box-shadow:0 9px 18px rgba(47,115,223,.18)!important;
}
.tb-unified-form{margin:0!important;position:relative!important;}
.tb-unified-row,
.tb-flight-segment,
.tb-hotel-quickbar,
.tb-package-quickbar{
  display:grid!important;
  align-items:stretch!important;
  width:100%!important;
  background:#fff!important;
  border:1px solid #e5edf7!important;
  border-radius:14px!important;
  box-shadow:0 9px 24px rgba(16,31,61,.06)!important;
  overflow:hidden!important;
}
.tb-flight-main-row{grid-template-columns:1.2fr 38px 1.2fr .84fr .84fr!important;}
.tb-flight-search-form.is-one-way .tb-flight-main-row,
.tb-flight-search-form.is-multi-city .tb-flight-main-row{grid-template-columns:1.2fr 38px 1.2fr .84fr!important;}
.tb-flight-search-form.is-round-trip .tb-flight-main-row{grid-template-columns:1.12fr 38px 1.12fr .74fr .74fr!important;}
.tb-flight-search-form .tb-multicity-extra{grid-template-columns:1.22fr 1.22fr .82fr 46px!important;margin-top:8px!important;}
.tb-hotel-quickbar{grid-template-columns:1.38fr .68fr .68fr .9fr .78fr 118px!important;}
.tb-package-quickbar{grid-template-columns:1.45fr .92fr 1.05fr 118px!important;}
.tb-live-field{
  min-height:58px!important;
  padding:10px 13px 9px!important;
  border-right:1px solid #e5edf7!important;
  border-bottom:0!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  cursor:text;
}
.tb-live-field:last-child{border-right:0!important;}
.tb-live-field label,
.tb-hotel-quickbar .tb-live-field label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0 0 6px!important;
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:850!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.22px!important;
}
.tb-live-field label i{color:#5A149F!important;font-size:11px!important;}
.tb-live-field input,
.tb-live-field select,
.tb-hotel-search-form .tb-hotel-quickbar .tb-live-field input,
.tb-hotel-search-form .tb-hotel-quickbar .tb-live-field select,
.tb-hotel-search-form .tb-hotel-quickbar .tb-hotel-destination-field input,
.tb-hotel-guests-trigger strong,
.tb-package-search-form .tb-live-field input,
.tb-package-search-form .tb-live-field select{
  width:100%!important;
  border:0!important;
  border-bottom:0!important;
  outline:0!important;
  background:transparent!important;
  color:#111827!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.15!important;
  padding:0!important;
  min-height:auto!important;
  box-shadow:none!important;
}
.tb-live-field input::placeholder{color:transparent!important;}
.tb-live-field small[hidden],
.tb-selected-airport-info[hidden],
.tb-selected-hotel-info[hidden]{display:none!important;margin:0!important;}
.tb-live-field small{
  margin:5px 0 0!important;
  font-size:10.5px!important;
  color:#516079!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tb-date-field{position:relative!important;cursor:pointer!important;}
.tb-date-field:after{
  right:13px!important;
  bottom:14px!important;
  color:#5A149F!important;
  font-size:12px!important;
}
.tb-date-field input.tb-date-input{padding-right:24px!important;cursor:pointer!important;caret-color:transparent!important;}
.tb-swap-airport{
  border:0!important;
  border-right:1px solid #e5edf7!important;
  background:#fff!important;
  color:#94a3b8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:58px!important;
}
.tb-swap-airport i{
  width:22px!important;
  height:22px!important;
  border:1px solid #d9e3f1!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:10px!important;
  background:#fff!important;
}
.tb-flight-bottom-row.tb-unified-subrow{
  display:grid!important;
  grid-template-columns:1fr 136px 118px!important;
  align-items:stretch!important;
  gap:10px!important;
  margin-top:9px!important;
}
.tb-traveller-box{
  margin:0!important;
  background:#fff!important;
  border:1px solid #e5edf7!important;
  border-radius:14px!important;
  box-shadow:0 9px 24px rgba(16,31,61,.045)!important;
  padding:10px 13px 9px!important;
  min-height:58px!important;
}
.tb-traveller-box>label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0 0 7px!important;
  color:#64748b!important;
  font-size:10.5px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.22px!important;
}
.tb-pax-controls{display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important;}
.tb-pax-controls span{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#17233a!important;font-size:13px!important;font-weight:800!important;}
.tb-pax-controls input{
  width:42px!important;
  height:34px!important;
  border:1px solid #dce6f3!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:0 6px!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:850!important;
  text-align:center!important;
}
.tb-pax-controls select{
  width:160px!important;
  height:34px!important;
  border:1px solid #dce6f3!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:0 10px!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:800!important;
}
.tb-direct-check{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  min-width:0!important;
  min-height:58px!important;
  background:#fff!important;
  border:1px solid #e5edf7!important;
  border-radius:14px!important;
  color:#17233a!important;
  font-size:13px!important;
  font-weight:850!important;
  box-shadow:0 9px 24px rgba(16,31,61,.045)!important;
  padding:0 12px!important;
}
.tb-direct-check input{accent-color:#5A149F!important;}
.tb-live-search-btn,
.tb-hotel-search-btn,
.tb-package-search-btn,
.tb-hotel-quickbar .tb-live-search-btn{
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  height:auto!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#7132B5,#5A149F)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(90,20,159,.20)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:uppercase!important;
  margin:0!important;
}
.tb-live-search-btn:hover,
.tb-hotel-search-btn:hover,
.tb-package-search-btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(90,20,159,.25)!important;}
.tb-hotel-guests-trigger{cursor:pointer!important;user-select:none!important;}
.tb-hotel-guests-trigger strong{display:block!important;white-space:nowrap!important;}
.tb-hotel-category-field select,
.tb-package-budget-field select,
.tb-package-theme-field select{appearance:auto!important;-webkit-appearance:auto!important;}
.tb-multicity-controls{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:9px!important;
}
.tb-multicity-controls[hidden]{display:none!important;}
.tb-add-city-btn{
  height:34px!important;
  border:1px solid #5A149F!important;
  background:#fff!important;
  color:#7132B5!important;
  border-radius:999px!important;
  padding:0 15px!important;
  font-size:12.5px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.tb-add-city-btn:disabled{opacity:.55!important;cursor:not-allowed!important;}
.tb-multicity-controls span{color:#64748b!important;font-size:11px!important;font-weight:800!important;}
.tb-remove-city-btn{
  width:32px!important;
  height:32px!important;
  border:0!important;
  border-radius:50%!important;
  align-self:center!important;
  justify-self:center!important;
  background:#fff1eb!important;
  color:#5A149F!important;
  box-shadow:none!important;
}
.tb-flight-search-form .tb-multicity-extra[hidden],
.tb-flight-search-form .js-return-date-field[hidden],
.tb-flight-search-form.is-one-way .js-return-date-field,
.tb-flight-search-form.is-multi-city .js-return-date-field,
.tb-flight-search-form.is-one-way .tb-multicity-extra,
.tb-flight-search-form.is-round-trip .tb-multicity-extra{display:none!important;}
.tb-flight-search-form.is-multi-city .tb-multicity-extra{display:grid!important;}
.tb-hotel-guests-popover{
  width:min(500px,calc(100vw - 32px))!important;
  border:1px solid #dfe7f2!important;
  border-radius:14px!important;
  box-shadow:0 20px 50px rgba(16,31,61,.18)!important;
  padding:14px!important;
}
.tb-hotel-guests-head strong{font-size:14px!important;font-weight:900!important;color:#17233a!important;}
.tb-hotel-guests-labels,
.tb-hotel-room-row{grid-template-columns:72px 92px 92px minmax(74px,1fr) 36px 36px!important;gap:9px!important;}
.tb-hotel-room-row select,
.tb-child-age-box input{min-height:38px!important;border-radius:8px!important;font-size:13px!important;font-weight:750!important;}
.tb-hotel-add-room,
.tb-hotel-remove-room{width:32px!important;height:32px!important;border-radius:50%!important;}
.tb-hotel-add-room{background:#5A149F!important;}
.tb-hotel-remove-room{background:#B4234D!important;}
.tb-live-search-message,
.tb-search-disabled-message{
  margin-top:9px!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-size:13px!important;
}
@media(max-width:1199px){
  .tb-booking-search-card.tb-unified-search-card{max-width:calc(100% - 24px)!important;}
  .tb-flight-main-row{grid-template-columns:1fr 36px 1fr .78fr .78fr!important;}
  .tb-flight-search-form.is-one-way .tb-flight-main-row,
  .tb-flight-search-form.is-multi-city .tb-flight-main-row{grid-template-columns:1fr 36px 1fr .8fr!important;}
  .tb-hotel-quickbar{grid-template-columns:1.25fr .65fr .65fr .88fr .75fr 112px!important;}
  .tb-package-quickbar{grid-template-columns:1.35fr .85fr 1fr 112px!important;}
  .tb-live-field input,.tb-live-field select,.tb-hotel-guests-trigger strong{font-size:14px!important;}
}
@media(max-width:991px){
  .tb-booking-search-section{margin-top:0!important;padding:40px 0 30px!important;}
  .tb-booking-search-card.tb-unified-search-card{max-width:100%!important;padding:30px 12px 12px!important;}
  .tb-unified-service-tabs,.tb-service-tabs{left:12px!important;top:-22px!important;overflow-x:auto!important;max-width:calc(100% - 24px)!important;scrollbar-width:none!important;}
  .tb-unified-service-tabs::-webkit-scrollbar,.tb-service-tabs::-webkit-scrollbar{display:none!important;}
  .tb-flight-main-row,
  .tb-flight-search-form.is-one-way .tb-flight-main-row,
  .tb-flight-search-form.is-round-trip .tb-flight-main-row,
  .tb-flight-search-form.is-multi-city .tb-flight-main-row,
  .tb-flight-search-form .tb-multicity-extra,
  .tb-hotel-quickbar,
  .tb-package-quickbar{grid-template-columns:1fr!important;}
  .tb-live-field{border-right:0!important;border-bottom:1px solid #e5edf7!important;}
  .tb-swap-airport{border-right:0!important;border-bottom:1px solid #e5edf7!important;min-height:42px!important;}
  .tb-flight-bottom-row.tb-unified-subrow{grid-template-columns:1fr!important;}
  .tb-direct-check,.tb-live-search-btn{min-height:52px!important;}
  .tb-hotel-guests-popover{left:12px!important;right:12px!important;width:auto!important;top:auto!important;}
}
@media(max-width:575px){
  .tb-booking-search-card.tb-unified-search-card{border-radius:16px!important;padding:30px 10px 10px!important;}
  .tb-service-tab{height:36px!important;padding:0 13px!important;font-size:12px!important;}
  .tb-trip-tabs{overflow-x:auto!important;scrollbar-width:none!important;}
  .tb-trip-tabs::-webkit-scrollbar{display:none!important;}
  .tb-trip-tab{white-space:nowrap!important;}
  .tb-hotel-guests-labels{display:none!important;}
  .tb-hotel-room-row{grid-template-columns:1fr 1fr!important;}
  .tb-room-no,.tb-child-age-box{grid-column:1/-1!important;}
}

/* User fix: search UI orange/black only + font weight max 700 */
.tb-booking-search-card.tb-unified-search-card,
.tb-booking-search-card.tb-unified-search-card *{
  font-weight:700!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-live-field label,
.tb-booking-search-card.tb-unified-search-card .tb-traveller-box>label,
.tb-booking-search-card.tb-unified-search-card .tb-hotel-quickbar .tb-live-field label{
  color:#5f6b7c!important;
  font-weight:700!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-service-tab,
.tb-booking-search-card.tb-unified-search-card .tb-trip-tab{
  color:#111827!important;
  font-weight:700!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-service-tab i,
.tb-booking-search-card.tb-unified-search-card .tb-trip-tab i,
.tb-booking-search-card.tb-unified-search-card .tb-live-field label i,
.tb-booking-search-card.tb-unified-search-card .tb-date-field:after{
  color:#5A149F!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-service-tab.active,
.tb-booking-search-card.tb-unified-search-card .tb-service-tab:hover{
  color:#5A149F!important;
  border-color:rgba(90,20,159,.45)!important;
  box-shadow:0 10px 22px rgba(90,20,159,.13)!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-trip-tab.active,
.tb-booking-search-card.tb-unified-search-card .tb-trip-tab:hover{
  background:#5A149F!important;
  border-color:#5A149F!important;
  color:#fff!important;
  box-shadow:0 9px 18px rgba(90,20,159,.18)!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-swap-airport,
.tb-booking-search-card.tb-unified-search-card .tb-swap-airport i{
  color:#8a94a6!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-add-city-btn{
  border-color:#5A149F!important;
  color:#5A149F!important;
  font-weight:700!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-add-city-btn:hover{
  background:#5A149F!important;
  color:#fff!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-live-search-btn,
.tb-booking-search-card.tb-unified-search-card .tb-hotel-search-btn,
.tb-booking-search-card.tb-unified-search-card .tb-package-search-btn{
  font-weight:700!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-pax-controls span,
.tb-booking-search-card.tb-unified-search-card .tb-pax-controls input,
.tb-booking-search-card.tb-unified-search-card .tb-pax-controls select,
.tb-booking-search-card.tb-unified-search-card .tb-direct-check,
.tb-booking-search-card.tb-unified-search-card .tb-hotel-guests-trigger strong,
.tb-booking-search-card.tb-unified-search-card .tb-hotel-guests-head strong,
.tb-booking-search-card.tb-unified-search-card .tb-hotel-room-row select,
.tb-booking-search-card.tb-unified-search-card .tb-child-age-box input,
.tb-booking-search-card.tb-unified-search-card .tb-live-field input,
.tb-booking-search-card.tb-unified-search-card .tb-live-field select{
  font-weight:700!important;
}

/* Flight airport autocomplete: same orange/black unified search style */
.tb-booking-search-card.tb-unified-search-card .tb-airport-field{
  position:relative!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-airport-field.has-airport-selected .tb-selected-airport-info{
  display:block!important;
  color:#5f6b7c!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.2!important;
  margin-top:5px!important;
}
.tb-airport-suggest-popover{
  position:absolute;
  z-index:99999;
  display:none;
  background:#fff;
  border:1px solid #e4ecf7;
  border-radius:14px;
  box-shadow:0 20px 46px rgba(16,31,61,.18);
  padding:6px;
  max-height:320px;
  overflow:auto;
}
.tb-airport-suggest-popover.active{display:block;}
.tb-airport-suggest-item{
  width:100%;
  border:0;
  background:#fff;
  border-radius:11px;
  padding:10px 11px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  color:#111827;
}
.tb-airport-suggest-item:hover,
.tb-airport-suggest-item:focus{
  background:#F7F0FB;
  outline:0;
}
.tb-airport-suggest-main{
  min-width:0;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-airport-suggest-meta{
  font-size:11px;
  font-weight:600;
  line-height:1;
  color:#5A149F;
  white-space:nowrap;
}
.tb-airport-suggest-status{
  padding:12px;
  color:#64748b;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
}
@media(max-width:575px){
  .tb-airport-suggest-popover{left:12px!important;right:12px!important;width:auto!important;max-height:280px;}
  .tb-airport-suggest-item{grid-template-columns:1fr;gap:4px;}
}

/* Airport autocomplete list: code chip + city/country + airport name, with keyboard active state */
.tb-airport-suggest-popover{
  padding:8px!important;
  border:1px solid #e8eef7!important;
  border-radius:16px!important;
  box-shadow:0 18px 44px rgba(15,23,42,.16)!important;
  max-height:340px!important;
  overflow:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#a8adb6 #f4f6f9;
}
.tb-airport-suggest-popover::-webkit-scrollbar{width:8px;}
.tb-airport-suggest-popover::-webkit-scrollbar-track{background:#f4f6f9;border-radius:12px;}
.tb-airport-suggest-popover::-webkit-scrollbar-thumb{background:#a8adb6;border-radius:12px;}
.tb-airport-suggest-popover::-webkit-scrollbar-thumb:hover{background:#5A149F;}
.tb-airport-suggest-item{
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:12px!important;
  min-height:62px!important;
  padding:8px 10px!important;
  align-items:center!important;
  border-radius:13px!important;
  transition:background .16s ease, box-shadow .16s ease, transform .16s ease!important;
}
.tb-airport-suggest-item:hover,
.tb-airport-suggest-item:focus,
.tb-airport-suggest-item.is-active{
  background:#F7F0FB!important;
  box-shadow:inset 0 0 0 1px rgba(90,20,159,.14)!important;
  outline:0!important;
}
.tb-airport-code-badge{
  width:48px!important;
  height:48px!important;
  border:1px solid #e1e8f2!important;
  border-radius:11px!important;
  background:#f9fafc!important;
  color:#111827!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  flex:0 0 48px!important;
}
.tb-airport-suggest-item:hover .tb-airport-code-badge,
.tb-airport-suggest-item:focus .tb-airport-code-badge,
.tb-airport-suggest-item.is-active .tb-airport-code-badge{
  border-color:rgba(90,20,159,.38)!important;
  background:#fff!important;
  color:#5A149F!important;
}
.tb-airport-suggest-copy{
  display:block!important;
  min-width:0!important;
}
.tb-airport-suggest-city{
  display:block!important;
  color:#111827!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.tb-airport-suggest-airport{
  display:block!important;
  color:#4b5563!important;
  font-size:12.5px!important;
  font-weight:500!important;
  line-height:1.25!important;
  margin-top:3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:575px){
  .tb-airport-suggest-item{grid-template-columns:44px minmax(0,1fr)!important;min-height:58px!important;gap:10px!important;}
  .tb-airport-code-badge{width:44px!important;height:44px!important;flex-basis:44px!important;}
}

/* Hotel destination autocomplete: CRM hotel.city via local PHP AJAX */
.tb-booking-search-card.tb-unified-search-card .tb-hotel-destination-field{
  position:relative!important;
}
.tb-booking-search-card.tb-unified-search-card .tb-hotel-destination-field.has-city-selected .tb-selected-hotel-info{
  display:block!important;
  color:#5f6b7c!important;
  font-size:10.5px!important;
  font-weight:600!important;
  line-height:1.2!important;
  margin-top:5px!important;
}
.tb-city-suggest-popover{
  position:absolute;
  z-index:99999;
  display:none;
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:16px;
  box-shadow:0 18px 44px rgba(15,23,42,.16);
  padding:8px;
  max-height:340px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#a8adb6 #f4f6f9;
}
.tb-city-suggest-popover.active{display:block;}
.tb-city-suggest-popover::-webkit-scrollbar{width:8px;}
.tb-city-suggest-popover::-webkit-scrollbar-track{background:#f4f6f9;border-radius:12px;}
.tb-city-suggest-popover::-webkit-scrollbar-thumb{background:#a8adb6;border-radius:12px;}
.tb-city-suggest-popover::-webkit-scrollbar-thumb:hover{background:#5A149F;}
.tb-city-suggest-item{
  width:100%;
  border:0;
  background:#fff;
  border-radius:13px;
  padding:8px 10px;
  min-height:62px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  color:#111827;
  transition:background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.tb-city-suggest-item:hover,
.tb-city-suggest-item:focus,
.tb-city-suggest-item.is-active{
  background:#F7F0FB;
  box-shadow:inset 0 0 0 1px rgba(90,20,159,.14);
  outline:0;
}
.tb-city-code-badge{
  width:48px;
  height:48px;
  border:1px solid #e1e8f2;
  border-radius:11px;
  background:#f9fafc;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
  flex:0 0 48px;
}
.tb-city-suggest-item:hover .tb-city-code-badge,
.tb-city-suggest-item:focus .tb-city-code-badge,
.tb-city-suggest-item.is-active .tb-city-code-badge{
  border-color:rgba(90,20,159,.38);
  background:#fff;
  color:#5A149F;
}
.tb-city-suggest-copy{
  display:block;
  min-width:0;
}
.tb-city-suggest-title{
  display:block;
  color:#111827;
  font-size:14px;
  font-weight:650;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-city-suggest-sub{
  display:block;
  color:#4b5563;
  font-size:12.5px;
  font-weight:500;
  line-height:1.25;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-city-suggest-status{
  padding:12px;
  color:#64748b;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
}
@media(max-width:575px){
  .tb-city-suggest-popover{left:12px!important;right:12px!important;width:auto!important;max-height:280px;}
  .tb-city-suggest-item{grid-template-columns:44px minmax(0,1fr);min-height:58px;gap:10px;}
  .tb-city-code-badge{width:44px;height:44px;flex-basis:44px;}
}

/* Flight search result page */
.tb-flight-page-hero{
  position:relative;
  min-height:118px;
  padding:0;
  color:#fff;
  background:linear-gradient(90deg,#5A149F 0%,#12B8AD 100%);
  overflow:visible;
}
.tb-flight-page-topband .container{
  height:118px;
}
.tb-flight-page-hero h1,
.tb-flight-page-hero p,
.tb-flight-page-hero .tb-script{
  display:none;
}
.tb-flight-result-search-section{
  margin-top:-88px;
  position:relative;
  z-index:5;
  padding-bottom:16px;
}
.tb-flight-result-search-card{
  max-width:100%!important;
  margin:0 auto!important;
  border-radius:24px!important;
  box-shadow:0 18px 40px rgba(15,23,42,.10)!important;
}
.tb-flight-only-tab{width:auto!important;}
.tb-flight-results-page .tb-booking-search-card.tb-unified-search-card{
  padding:16px 16px 12px!important;
}
.tb-flight-results-page .tb-service-tabs.tb-unified-service-tabs{
  top:-42px!important;
  left:22px!important;
}
.tb-flight-results-page .tb-trip-tabs{
  margin-bottom:10px!important;
}
.tb-flight-results-page .tb-unified-form .tb-unified-row{
  gap:0!important;
}
.tb-flight-results-page .tb-flight-main-row,
.tb-flight-results-page .tb-multicity-extra{
  border-radius:16px!important;
  overflow:hidden!important;
  border:1px solid #dfe7f2!important;
  background:#fff!important;
}
.tb-flight-results-page .tb-flight-main-row .tb-live-field,
.tb-flight-results-page .tb-multicity-extra .tb-live-field{
  border-radius:0!important;
  min-height:72px!important;
}
.tb-flight-results-page .tb-flight-bottom-row{
  margin-top:10px!important;
}
.tb-flight-results-page .tb-traveller-box.tb-live-field{
  min-height:74px!important;
}
.tb-flight-results-page .tb-direct-check{
  min-height:74px!important;
}
.tb-flight-results-page .tb-live-search-btn{
  min-height:74px!important;
}
.tb-flight-results-page .tb-flight-results-section{
  padding-top:14px!important;
}
@media (max-width:991px){
  .tb-flight-page-hero{min-height:92px;}
  .tb-flight-page-topband .container{height:92px;}
  .tb-flight-result-search-section{margin-top:-62px;}
}
@media (max-width:575px){
  .tb-flight-results-page .tb-booking-search-card.tb-unified-search-card{padding:16px 10px 10px!important;}
  .tb-flight-results-page .tb-service-tabs.tb-unified-service-tabs{left:14px!important;top:-40px!important;}
}

.tb-flight-results-section{padding-top:28px!important;}
.tb-flight-results-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start;}
.tb-flight-filter-panel{background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:18px;box-shadow:0 16px 42px rgba(15,23,42,.07);position:sticky;top:96px;}
.tb-flight-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f8;padding-bottom:14px;margin-bottom:14px;}
.tb-flight-filter-head .tb-script{font-size:13px;color:#5A149F;font-weight:700;}
.tb-flight-filter-head h2{font-size:20px;margin:0;color:#07101f;font-weight:700;}
.tb-flight-clear-filters{border:0;background:#F4EFF8;color:#5A149F;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;}
.tb-flight-filter-empty{font-size:13px;color:#657184;font-weight:600;line-height:1.45;}
.tb-flight-filter-block{padding:10px 0 14px;border-bottom:1px solid #eef2f8;}
.tb-flight-filter-block:last-child{border-bottom:0;padding-bottom:0;}
.tb-flight-filter-block h3{font-size:15px;margin:0 0 12px;color:#07101f;font-weight:700;}
.tb-flight-filter-block input[type="range"]{width:100%;accent-color:#5A149F;}
.tb-flight-range-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:#606c7c;font-size:12px;font-weight:600;}
.tb-flight-check{display:flex;align-items:center;gap:9px;margin:10px 0;cursor:pointer;color:#182033;font-size:14px;font-weight:600;}
.tb-flight-check input{width:17px;height:17px;accent-color:#5A149F;}
.tb-flight-check span{flex:1;min-width:0;}
.tb-flight-check small{color:#07101f;font-size:12px;font-weight:700;}
.tb-flight-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.tb-flight-time-grid label{cursor:pointer;margin:0;}
.tb-flight-time-grid input{position:absolute;opacity:0;pointer-events:none;}
.tb-flight-time-grid span{display:flex;min-height:56px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #e0e7f1;border-radius:11px;background:#fff;color:#3b4656;font-size:11px;line-height:1.15;font-weight:600;padding:7px;transition:.2s ease;}
.tb-flight-time-grid i{font-size:17px;color:#5A149F;margin-bottom:4px;}
.tb-flight-time-grid input:checked+span{border-color:#5A149F;background:#F7F0FB;color:#07101f;box-shadow:0 8px 20px rgba(90,20,159,.12);}
.tb-flight-list-panel{min-width:0;}
.tb-flight-results-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;background:#fff;border:1px solid #e8edf5;border-radius:18px;padding:18px 20px;margin-bottom:14px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
.tb-flight-results-topbar .tb-script{font-size:13px;color:#5A149F;font-weight:700;}
.tb-flight-results-topbar h2{font-size:25px;line-height:1.15;margin:3px 0 5px;color:#07101f;font-weight:700;}
.tb-flight-results-topbar p{margin:0;color:#647084;font-size:13px;font-weight:600;}
.tb-flight-count-pill{background:#F4EFF8;color:#5A149F;border:1px solid #DCCBE8;padding:9px 13px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;}
.tb-flight-result-alert{display:none;background:#fff;border:1px solid #e8edf5;border-radius:16px;padding:18px 20px;color:#526070;font-size:14px;font-weight:600;box-shadow:0 10px 25px rgba(15,23,42,.05);}
.tb-flight-result-alert.active{display:block;}
.tb-flight-loader{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid #DCCBE8;border-top-color:#5A149F;margin-right:8px;vertical-align:-3px;animation:tbFlightSpin .75s linear infinite;}
@keyframes tbFlightSpin{to{transform:rotate(360deg)}}
.tb-flight-list{display:flex;flex-direction:column;gap:12px;}
.tb-flight-result-card{display:grid;grid-template-columns:1.35fr .7fr .9fr .7fr .9fr;align-items:center;gap:18px;background:#fff;border:1px solid #e8edf5;border-radius:16px;padding:16px 16px 12px;box-shadow:0 10px 28px rgba(15,23,42,.06);transition:.2s ease;position:relative;overflow:hidden;}
.tb-flight-result-card:hover{border-color:#CEB8E0;box-shadow:0 14px 34px rgba(90,20,159,.12);transform:translateY(-1px);}
.tb-flight-airline-box{display:flex;align-items:center;gap:12px;min-width:0;}
.tb-airline-logo{position:relative;width:46px;height:46px;flex:0 0 46px;border-radius:13px;background:#F7F0FB;border:1px solid #ffd8c6;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.tb-airline-logo em{font-style:normal;color:#5A149F;font-size:14px;font-weight:700;letter-spacing:.4px;}
.tb-airline-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:7px;}
.tb-flight-airline-box h3{font-size:15px;margin:0 0 3px;color:#07101f;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-flight-airline-box p{font-size:12px;margin:0;color:#6b7280;font-weight:600;}
.tb-flight-time-box strong{display:block;font-size:24px;line-height:1;color:#07101f;font-weight:700;margin-bottom:7px;}
.tb-flight-time-box span{display:block;font-size:12px;color:#637083;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-flight-duration-box{text-align:center;min-width:0;}
.tb-flight-duration-box span{display:block;color:#07101f;font-size:12px;font-weight:700;}
.tb-flight-duration-box i{display:block;height:2px;background:#e2e8f0;margin:8px 10px;position:relative;}
.tb-flight-duration-box i:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#5A149F;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(90,20,159,.13);}
.tb-flight-duration-box.is-nonstop i{background:#16a66a;}
.tb-flight-duration-box small{display:block;color:#596579;font-size:11px;font-weight:600;}
.tb-flight-price-box{text-align:right;}
.tb-flight-price-box strong{display:block;font-size:21px;color:#07101f;font-weight:700;line-height:1.05;}
.tb-flight-price-box span{display:block;color:#6b7280;font-size:11px;font-weight:600;margin:4px 0 9px;}
.tb-flight-price-box button{border:0;border-radius:10px;background:#5A149F;color:#fff;padding:10px 15px;font-size:12px;font-weight:700;text-transform:uppercase;box-shadow:0 8px 16px rgba(90,20,159,.22);}
.tb-flight-note{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed #e8edf5;padding-top:10px;margin-top:0;color:#168257;font-size:12px;font-weight:600;}
.tb-flight-note i{color:#16a66a;margin-right:5px;}
.tb-flight-note a{color:#5A149F;text-decoration:none;font-weight:700;white-space:nowrap;}
.tb-flight-result-card.show-detail .tb-flight-note{background:#fffaf7;margin:0 -16px -12px;padding:12px 16px;border-top:1px solid #E6DFEC;}
@media (max-width:1199px){
  .tb-flight-results-layout{grid-template-columns:250px minmax(0,1fr);gap:18px;}
  .tb-flight-result-card{grid-template-columns:1.25fr .65fr .85fr .65fr .85fr;gap:12px;}
  .tb-flight-time-box strong{font-size:21px;}
}
@media (max-width:991px){
  .tb-flight-page-hero{padding:56px 0 78px;min-height:210px;}
  .tb-flight-page-hero h1{font-size:34px;}
  .tb-flight-results-layout{grid-template-columns:1fr;}
  .tb-flight-filter-panel{position:static;}
  .tb-flight-result-card{grid-template-columns:1fr 1fr;}
  .tb-flight-duration-box{order:3;grid-column:1/-1;}
  .tb-flight-price-box{text-align:left;}
}
@media (max-width:575px){
  .tb-flight-results-topbar{align-items:flex-start;flex-direction:column;}
  .tb-flight-result-card{grid-template-columns:1fr;gap:12px;}
  .tb-flight-note{align-items:flex-start;flex-direction:column;}
  .tb-flight-time-grid{grid-template-columns:1fr 1fr;}
}


/* Flight results polish: compact header, full-width card, independent filters, details drawer */
.tb-booking-search-card.tb-unified-search-card{max-width:100%!important;}
.tb-flight-results-page .tb-flight-only-tab{display:none!important;}
.tb-flight-results-page .tb-booking-search-card.tb-unified-search-card{padding-top:16px!important;}
.tb-flight-result-search-card{max-width:100%!important;}
.tb-flight-filter-panel{
  max-height:calc(100vh - 112px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-bottom:20px!important;
  scrollbar-width:thin;
  scrollbar-color:#0F9F9A #f4f6fb;
}
.tb-flight-filter-panel::-webkit-scrollbar{width:8px;}
.tb-flight-filter-panel::-webkit-scrollbar-track{background:#f4f6fb;border-radius:12px;}
.tb-flight-filter-panel::-webkit-scrollbar-thumb{background:#0F9F9A;border-radius:12px;}
.tb-flight-time-grid i{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;}
.tb-flight-result-card.tb-flight-best-card{
  border-color:rgba(90,20,159,.45)!important;
  box-shadow:0 16px 42px rgba(90,20,159,.13)!important;
}
.tb-best-fare-badge{
  position:absolute;
  top:10px;
  right:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:25px;
  padding:0 10px;
  border-radius:999px;
  background:#F4EFF8;
  color:#5A149F;
  border:1px solid #DCCBE8;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
}
.tb-flight-note{
  justify-content:flex-end!important;
  min-height:34px;
}
.tb-flight-note>span{display:none!important;}
.tb-flight-note a{text-transform:uppercase!important;letter-spacing:.02em;}
.tb-flight-detail-panel{
  grid-column:1/-1;
  display:none;
  margin:4px -16px -12px;
  border-top:1px solid #edf1f7;
  background:#fff;
}
.tb-flight-result-card.show-detail .tb-flight-detail-panel{display:block;}
.tb-flight-detail-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 16px 0;
  overflow-x:auto;
}
.tb-flight-detail-tabs button{
  height:38px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#172033;
  border-radius:8px;
  padding:0 14px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
}
.tb-flight-detail-tabs button.active{
  color:#5A149F;
  border-color:#5A149F;
  background:#fff6f0;
}
.tb-flight-detail-body{
  padding:14px 16px 16px;
}
.tb-flight-detail-pane{display:none;border:1px solid #e5ebf4;border-radius:12px;background:#fff;padding:16px;}
.tb-flight-detail-pane.active{display:block;}
.tb-flight-detail-pane h4{margin:0 0 14px;color:#07101f;font-size:15px;font-weight:700;}
.tb-flight-detail-route{
  display:grid;
  grid-template-columns:.8fr 1fr .8fr;
  align-items:center;
  gap:18px;
  margin-bottom:16px;
}
.tb-flight-detail-route strong{display:block;color:#07101f;font-size:25px;font-weight:700;line-height:1;}
.tb-flight-detail-route span{display:block;margin-top:6px;color:#4f5b6d;font-size:12px;font-weight:600;}
.tb-flight-detail-mid{text-align:center;}
.tb-flight-detail-mid i{display:block;height:3px;background:#15a76b;border-radius:20px;margin:7px auto;max-width:160px;position:relative;}
.tb-flight-detail-mid i:after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#5A149F;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(90,20,159,.12);}
.tb-flight-detail-mid small{display:block;color:#596579;font-size:11px;font-weight:600;}
.tb-flight-detail-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.tb-flight-detail-info-grid div,.tb-flight-fare-summary div{
  border:1px solid #edf1f7;
  border-radius:10px;
  padding:12px;
  background:#fafcff;
}
.tb-flight-detail-info-grid b,.tb-flight-fare-summary span{display:block;color:#5f6b7c;font-size:11px;font-weight:700;text-transform:uppercase;margin-bottom:5px;}
.tb-flight-detail-info-grid span,.tb-flight-fare-summary strong{display:block;color:#07101f;font-size:13px;font-weight:700;}
.tb-flight-fare-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.tb-flight-fare-summary .total{background:#F7F0FB;border-color:#DCCBE8;}
.tb-flight-detail-pane p{margin:0;color:#4b5563;font-size:13px;font-weight:600;line-height:1.55;}
@media(max-width:991px){
  .tb-flight-filter-panel{max-height:none!important;overflow:visible!important;}
  .tb-flight-detail-route,.tb-flight-detail-info-grid,.tb-flight-fare-summary{grid-template-columns:1fr!important;}
}

/* Flight results final polish: smart filter, clean best fare, public-only detail tabs */
.tb-flight-filter-panel{
  max-height:none!important;
  overflow:visible!important;
  scrollbar-width:auto!important;
  position:sticky!important;
  top:92px!important;
}
.tb-flight-filter-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.tb-flight-time-grid i{display:none!important;}
.tb-flight-time-grid em{
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:0 auto 5px!important;
  color:#5A149F!important;
  font-style:normal!important;
  font-size:20px!important;
  line-height:1!important;
  font-family:Arial, sans-serif!important;
}
.tb-flight-time-grid b{display:block!important;font-weight:700!important;}
.tb-flight-result-card.tb-flight-best-card{
  border-color:rgba(90,20,159,.36)!important;
  box-shadow:0 16px 42px rgba(90,20,159,.10)!important;
}
.tb-best-fare-badge{
  position:static!important;
  width:max-content!important;
  height:24px!important;
  margin:0 0 5px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#F7F0FB!important;
  color:#5A149F!important;
  border:1px solid #DCCBE8!important;
  font-size:10.5px!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  line-height:1!important;
  box-shadow:none!important;
}
.tb-flight-price-box{position:relative!important;z-index:2!important;min-width:128px!important;}
.tb-flight-price-box strong{white-space:nowrap!important;}
.tb-flight-note a[data-flight-detail]{text-transform:uppercase!important;}
.tb-flight-detail-panel{
  grid-column:1/-1!important;
  display:none;
  margin:0 -16px -12px!important;
  border-top:1px solid #edf1f7!important;
  background:#fff!important;
}
.tb-flight-result-card.show-detail .tb-flight-detail-panel{display:block!important;}
.tb-flight-detail-tabs{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  padding:16px 16px 0!important;
  overflow-x:auto!important;
}
.tb-flight-detail-tabs button{
  height:38px!important;
  border:1px solid #e2e8f0!important;
  background:#fff!important;
  color:#07101f!important;
  border-radius:0!important;
  padding:0 17px!important;
  font-size:12px!important;
  font-weight:600!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
}
.tb-flight-detail-tabs button:first-child{border-radius:8px 0 0 8px!important;}
.tb-flight-detail-tabs button:last-child{border-radius:0 8px 8px 0!important;}
.tb-flight-detail-tabs button.active{
  color:#5A149F!important;
  border-color:#5A149F!important;
  background:#fff8f3!important;
  position:relative!important;
  z-index:1!important;
}
.tb-flight-detail-body{padding:16px!important;}
.tb-flight-detail-pane{
  display:none!important;
  border:1px solid #dfe5ee!important;
  border-radius:5px!important;
  background:#fff!important;
  padding:0!important;
  overflow:hidden!important;
}
.tb-flight-detail-pane.active{display:block!important;}
.tb-flight-detail-pane h4{
  margin:0!important;
  padding:14px 16px!important;
  color:#07101f!important;
  font-size:15px!important;
  font-weight:700!important;
  border-bottom:1px solid #e5e9f0!important;
  background:#fff!important;
}
.tb-flight-leg-wrap{padding:16px!important;background:#fff!important;}
.tb-flight-leg-card{padding:0 0 18px!important;}
.tb-flight-leg-airline{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:14px!important;
}
.tb-airline-mini-mark{
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  border-radius:8px!important;
  background:#F7F0FB!important;
  border:1px solid #DCCBE8!important;
  color:#5A149F!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  font-weight:700!important;
}
.tb-flight-leg-airline strong{font-size:15px!important;color:#07101f!important;font-weight:700!important;}
.tb-flight-leg-airline small{font-size:13px!important;color:#747f91!important;font-weight:600!important;}
.tb-aircraft-pill{
  border:1px solid #98a2b3!important;
  color:#697386!important;
  border-radius:999px!important;
  padding:2px 7px!important;
  font-size:11px!important;
  font-weight:700!important;
}
.tb-flight-leg-grid{
  display:grid!important;
  grid-template-columns:1.05fr .9fr 1.05fr .75fr .75fr .75fr!important;
  gap:18px!important;
  align-items:start!important;
}
.tb-flight-leg-time strong{display:block!important;font-size:23px!important;line-height:1!important;color:#07101f!important;font-weight:700!important;}
.tb-flight-leg-time span{display:block!important;margin-top:7px!important;color:#07101f!important;font-size:12px!important;font-weight:700!important;}
.tb-flight-leg-time em{display:block!important;margin-top:7px!important;color:#009db3!important;font-size:13px!important;font-weight:600!important;font-style:normal!important;}
.tb-flight-leg-time small{display:block!important;margin-top:4px!important;color:#07101f!important;font-size:12px!important;font-weight:500!important;}
.tb-flight-leg-duration{text-align:center!important;}
.tb-flight-leg-duration span{display:block!important;color:#07101f!important;font-size:12px!important;font-weight:600!important;}
.tb-flight-leg-duration i{
  display:block!important;
  height:3px!important;
  max-width:94px!important;
  margin:7px auto!important;
  background:#0b7f46!important;
  border-radius:999px!important;
}
.tb-flight-leg-duration small{display:block!important;color:#4b5563!important;font-size:11px!important;font-weight:500!important;}
.tb-flight-leg-facts b{display:block!important;color:#07101f!important;font-size:14px!important;font-weight:700!important;margin-bottom:7px!important;}
.tb-flight-leg-facts span{display:block!important;color:#4b5563!important;font-size:12px!important;font-weight:500!important;line-height:1.45!important;}
.tb-flight-layover-pill{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  max-width:360px!important;
  margin:3px auto 20px!important;
  padding:8px 12px!important;
  border-radius:6px!important;
  background:#fafafa!important;
  color:#07101f!important;
  font-size:12px!important;
  font-weight:500!important;
  position:relative!important;
}
.tb-flight-layover-pill:before,
.tb-flight-layover-pill:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:105px!important;
  height:1px!important;
  background:#d8dde6!important;
}
.tb-flight-layover-pill:before{right:100%!important;margin-right:8px!important;}
.tb-flight-layover-pill:after{left:100%!important;margin-left:8px!important;}
.tb-flight-layover-pill span{font-weight:700!important;color:#8a5d00!important;}
.tb-flight-public-fare-table{padding:16px!important;display:grid!important;gap:10px!important;max-width:360px!important;}
.tb-flight-public-fare-table div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;align-items:center!important;}
.tb-flight-public-fare-table b,.tb-flight-public-fare-table span{font-size:13px!important;color:#07101f!important;font-weight:700!important;text-transform:none!important;}
.tb-flight-public-fare-table strong,.tb-flight-public-fare-table em{font-size:13px!important;color:#07101f!important;font-weight:700!important;font-style:normal!important;}
.tb-flight-rule-table{margin:16px!important;border:1px solid #dfe5ee!important;border-radius:5px!important;overflow:hidden!important;}
.tb-flight-rule-table>div{display:grid!important;grid-template-columns:1fr 2.2fr!important;border-bottom:1px solid #dfe5ee!important;}
.tb-flight-rule-table>div:last-child{border-bottom:0!important;}
.tb-flight-rule-table span{padding:14px!important;color:#4b5563!important;font-size:13px!important;font-weight:600!important;border-right:1px solid #dfe5ee!important;}
.tb-flight-rule-table span:last-child{border-right:0!important;}
.tb-flight-rule-table .head span{color:#07101f!important;font-size:14px!important;font-weight:700!important;background:#fff!important;}
.tb-flight-rule-table small{color:#6b7280!important;font-weight:500!important;}
.tb-flight-detail-pane p{padding:0 16px 16px!important;margin:0!important;color:#4b5563!important;font-size:12px!important;font-weight:500!important;}
@media(max-width:1199px){
  .tb-flight-leg-grid{grid-template-columns:1fr .8fr 1fr!important;}
  .tb-flight-leg-facts{border:1px solid #edf1f7!important;border-radius:10px!important;padding:10px!important;background:#fafcff!important;}
}
@media(max-width:991px){
  .tb-flight-filter-panel{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;}
  .tb-flight-leg-grid,.tb-flight-rule-table>div{grid-template-columns:1fr!important;}
  .tb-flight-rule-table span{border-right:0!important;border-bottom:1px solid #dfe5ee!important;}
  .tb-flight-rule-table span:last-child{border-bottom:0!important;}
}


/* Flight results refinement: compact hidden-scroll filters, lowest fare strip, centered timelines */
.tb-flight-filter-panel{
  max-height:calc(100vh - 104px)!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  padding:16px!important;
  top:86px!important;
}
.tb-flight-filter-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.tb-flight-filter-head{padding-bottom:11px!important;margin-bottom:10px!important;}
.tb-flight-filter-head h2{font-size:20px!important;}
.tb-flight-filter-block{padding:8px 0 10px!important;}
.tb-flight-filter-block h3{font-size:14px!important;margin-bottom:9px!important;}
.tb-flight-check{margin:7px 0!important;font-size:13px!important;gap:8px!important;}
.tb-flight-check input{width:16px!important;height:16px!important;}
.tb-flight-time-grid{gap:7px!important;}
.tb-flight-time-grid span{min-height:52px!important;padding:6px!important;font-size:10.5px!important;}
.tb-flight-time-grid em{font-size:18px!important;margin-bottom:4px!important;}
.tb-flight-range-row{font-size:11px!important;margin-top:7px!important;}
.tb-flight-price-box span{text-transform:none!important;}
.tb-flight-price-box button{min-width:102px!important;}
.tb-flight-duration-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:72px!important;
  align-self:center!important;
}
.tb-flight-duration-box i{
  width:100%!important;
  max-width:170px!important;
  margin:7px auto!important;
}
.tb-flight-result-card{align-items:center!important;}
.tb-flight-cheapest-strip{
  background:linear-gradient(135deg,#059ba3,#08b4b8)!important;
  border-radius:8px!important;
  padding:14px 16px 16px!important;
  margin:0 0 14px!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(5,155,163,.18)!important;
  position:relative!important;
  overflow:hidden!important;
}
.tb-flight-cheapest-strip:before,
.tb-flight-cheapest-strip:after{
  content:""!important;
  position:absolute!important;
  left:34px!important;
  right:28px!important;
  height:14px!important;
  border-radius:4px 4px 0 0!important;
  background:rgba(255,255,255,.35)!important;
}
.tb-flight-cheapest-strip:before{top:66px!important;opacity:.65!important;}
.tb-flight-cheapest-strip:after{top:75px!important;left:24px!important;right:18px!important;opacity:.9!important;}
.tb-cheapest-strip-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:38px!important;
  position:relative!important;
  z-index:2!important;
}
.tb-cheapest-strip-head strong{font-size:18px!important;font-weight:700!important;color:#fff!important;}
.tb-cheapest-strip-head span{font-size:13px!important;font-weight:700!important;color:#fff!important;white-space:nowrap!important;}
.tb-cheapest-flight-card{
  position:relative!important;
  z-index:3!important;
  display:grid!important;
  grid-template-columns:1.25fr .7fr .9fr .7fr .86fr!important;
  gap:18px!important;
  align-items:center!important;
  background:#fff!important;
  border-radius:7px!important;
  padding:18px!important;
  color:#07101f!important;
  box-shadow:0 12px 28px rgba(15,23,42,.10)!important;
}
.tb-cheapest-flight-card .tb-flight-price-box button{background:#5A149F!important;color:#fff!important;}
.tb-cheapest-flight-card .tb-flight-duration-box{min-height:62px!important;}
.tb-cheapest-flight-card .tb-flight-duration-box i{max-width:150px!important;}
.tb-flight-leg-grid{align-items:center!important;}
.tb-flight-leg-duration{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:98px!important;
  align-self:center!important;
}
.tb-flight-leg-duration i{
  width:100%!important;
  max-width:150px!important;
  margin:7px auto!important;
}
.tb-flight-leg-time{align-self:center!important;}
.tb-flight-leg-facts{align-self:center!important;}
.tb-flight-result-card.tb-flight-best-card{border-color:#e8edf5!important;box-shadow:0 10px 28px rgba(15,23,42,.06)!important;}
.tb-best-fare-badge{display:none!important;}
@media(max-width:1199px){
  .tb-cheapest-flight-card{grid-template-columns:1fr .65fr .8fr .65fr .8fr!important;gap:12px!important;}
}
@media(max-width:991px){
  .tb-flight-filter-panel{max-height:none!important;overflow:visible!important;}
  .tb-cheapest-flight-card{grid-template-columns:1fr 1fr!important;}
  .tb-cheapest-flight-card .tb-flight-duration-box{grid-column:1/-1!important;order:3!important;}
}
@media(max-width:575px){
  .tb-cheapest-strip-head{align-items:flex-start!important;flex-direction:column!important;margin-bottom:28px!important;}
  .tb-cheapest-flight-card{grid-template-columns:1fr!important;}
}


/* Flight result button + timeline alignment final polish */
.tb-flight-result-card .tb-flight-price-box button[data-flight-detail]{
  min-width:104px!important;
}
.tb-flight-result-card .tb-flight-time-box,
.tb-cheapest-flight-card .tb-flight-time-box{
  align-self:center!important;
  min-height:62px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.tb-flight-result-card .tb-flight-duration-box,
.tb-cheapest-flight-card .tb-flight-duration-box{
  justify-self:stretch!important;
  align-self:center!important;
  width:100%!important;
  min-height:62px!important;
  padding:0 6px!important;
  transform:none!important;
}
.tb-flight-result-card .tb-flight-duration-box i,
.tb-cheapest-flight-card .tb-flight-duration-box i{
  width:100%!important;
  max-width:none!important;
  margin:6px auto 4px!important;
}
.tb-flight-result-card .tb-flight-duration-box span,
.tb-cheapest-flight-card .tb-flight-duration-box span{
  line-height:1.05!important;
}
.tb-flight-result-card .tb-flight-duration-box small,
.tb-cheapest-flight-card .tb-flight-duration-box small{
  line-height:1.05!important;
}
.tb-flight-leg-grid{
  grid-template-columns:minmax(120px,1fr) minmax(170px,1.2fr) minmax(120px,1fr) .75fr .75fr .75fr!important;
  align-items:center!important;
}
.tb-flight-leg-grid .tb-flight-leg-time{
  align-self:center!important;
  min-height:98px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.tb-flight-leg-grid .tb-flight-leg-duration{
  justify-self:stretch!important;
  align-self:center!important;
  width:100%!important;
  min-height:98px!important;
  padding:0 10px!important;
  transform:none!important;
}
.tb-flight-leg-grid .tb-flight-leg-duration i{
  width:100%!important;
  max-width:none!important;
  margin:7px auto 5px!important;
}
.tb-flight-filter-panel{
  max-height:calc(100vh - 122px)!important;
  padding:14px!important;
}
.tb-flight-filter-block{padding:7px 0 9px!important;}
.tb-flight-time-grid span{min-height:48px!important;}
@media(max-width:1199px){
  .tb-flight-leg-grid{grid-template-columns:1fr 1.05fr 1fr!important;}
}
@media(max-width:991px){
  .tb-flight-result-card .tb-flight-duration-box,
  .tb-cheapest-flight-card .tb-flight-duration-box{
    min-height:54px!important;
  }
  .tb-flight-leg-grid .tb-flight-leg-duration{
    min-height:70px!important;
  }
}

/* Flight search loading popup + requested time alignment */
.tb-flight-time-box{text-align:right;}
.tb-flight-leg-time{text-align:right;}
.tb-flight-search-loader-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(8,15,28,.38);
  backdrop-filter:blur(5px);
  padding:18px;
}
.tb-flight-search-loader-modal.active{display:flex;}
.tb-flight-loader-card{
  width:min(360px,100%);
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(90,20,159,.16);
  box-shadow:0 24px 70px rgba(15,23,42,.24);
  padding:26px 24px 24px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.tb-flight-loader-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:5px;
  background:linear-gradient(90deg,#5A149F,#12B8AD,#5A149F);
  background-size:180% 100%;
  animation:tbFlightLoaderBar 1.15s linear infinite;
}
.tb-flight-loader-plane{
  width:74px;
  height:74px;
  border-radius:50%;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F7F0FB;
  color:#5A149F;
  border:1px solid #DCCBE8;
  box-shadow:0 12px 28px rgba(90,20,159,.16);
}
.tb-flight-loader-plane i{font-size:29px;animation:tbFlightPlaneFloat 1.35s ease-in-out infinite;}
.tb-flight-loader-card h3{
  margin:0 0 7px;
  color:#07101f;
  font-size:22px;
  line-height:1.2;
  font-weight:700;
}
.tb-flight-loader-card p{
  margin:0;
  color:#667085;
  font-size:13px;
  line-height:1.5;
  font-weight:600;
}
.tb-flight-loader-dots{
  margin:18px auto 0;
  display:flex;
  gap:7px;
  justify-content:center;
  align-items:center;
}
.tb-flight-loader-dots span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#5A149F;
  animation:tbFlightDotPulse .9s ease-in-out infinite;
}
.tb-flight-loader-dots span:nth-child(2){animation-delay:.14s;}
.tb-flight-loader-dots span:nth-child(3){animation-delay:.28s;}
@keyframes tbFlightLoaderBar{to{background-position:180% 0;}}
@keyframes tbFlightPlaneFloat{50%{transform:translate(5px,-5px) rotate(8deg);}}
@keyframes tbFlightDotPulse{0%,100%{transform:scale(.72);opacity:.42;}50%{transform:scale(1);opacity:1;}}
@media(max-width:575px){
  .tb-flight-loader-card{border-radius:20px;padding:24px 18px 22px;}
  .tb-flight-loader-card h3{font-size:20px;}
}

/* User requested flight result timeline alignment override */
.tb-flight-time-box{
  text-align:left!important;
}
.tb-flight-leg-time{
  text-align:left!important;
}
.tb-flight-result-card .tb-flight-duration-box i,
.tb-cheapest-flight-card .tb-flight-duration-box i{
  margin:14px auto 14px!important;
}

/* Requested final time alignment: result cards left, detail origin time right */
.tb-flight-result-card .tb-flight-time-box,
.tb-cheapest-flight-card .tb-flight-time-box{
  text-align:left!important;
}
.tb-flight-leg-grid > .tb-flight-leg-time{
  text-align:left!important;
}
.tb-flight-leg-grid > .tb-flight-leg-time:first-child,
.tb-flight-leg-grid > .tb-flight-leg-time:nth-child(1){
  text-align:right!important;
}
.tb-flight-leg-grid > .tb-flight-leg-time:nth-child(3){
  text-align:left!important;
}
.tb-flight-result-card .tb-flight-duration-box i,
.tb-cheapest-flight-card .tb-flight-duration-box i{
  margin:14px auto 14px!important;
}

/* Live fare-rule details */
.tb-flight-rule-live{padding:12px 16px 18px!important;}
.tb-flight-rule-loading{display:flex!important;align-items:center!important;gap:10px!important;background:#FAF8FC!important;border:1px solid #DCCBE8!important;border-radius:12px!important;padding:14px 16px!important;color:#51127D!important;}
.tb-flight-rule-loading b{font-size:14px!important;font-weight:700!important;color:#111827!important;}
.tb-flight-rule-loading small{display:block!important;color:#51127D!important;font-size:12px!important;margin-top:2px!important;}
.tb-flight-rule-error{background:#FAF8FC!important;border:1px solid #DCCBE8!important;border-radius:12px!important;padding:12px 14px!important;margin-bottom:12px!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.tb-flight-rule-error strong{font-size:13px!important;color:#111827!important;}
.tb-flight-rule-error span{font-size:12px!important;color:#51127D!important;}
.tb-flight-live-rule-html{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:12px!important;overflow:auto!important;max-width:100%!important;color:#111827!important;font-size:13px!important;line-height:1.55!important;}
.tb-flight-live-rule-html table{width:100%!important;border-collapse:collapse!important;border:1px solid #e5e7eb!important;background:#fff!important;margin:0 0 10px!important;}
.tb-flight-live-rule-html th,.tb-flight-live-rule-html td{border:1px solid #e5e7eb!important;padding:9px 10px!important;font-size:12px!important;color:#111827!important;vertical-align:top!important;}
.tb-flight-live-rule-html th{background:#f8fafc!important;font-weight:700!important;}
.tb-flight-live-rule-html p,.tb-flight-live-rule-html div{font-size:13px!important;}
.tb-flight-rule-note{margin:10px 0 0!important;color:#64748b!important;font-size:12px!important;}

.tb-flight-rule-source-note{font-size:12px!important;color:#64748b!important;margin:4px 0 10px!important;}

/* Round trip flight results */
.tb-roundtrip-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;}
.tb-roundtrip-column{background:#fff;border:1px solid #e6ecf5;border-radius:18px;box-shadow:0 14px 34px rgba(15,23,42,.06);overflow:hidden;}
.tb-rt-column-head{padding:16px 18px;border-bottom:1px solid #eef2f7;background:linear-gradient(180deg,#FAF8FC,#fff);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.tb-rt-column-head span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5A149F;font-weight:700;width:100%;}
.tb-rt-column-head strong{font-size:18px;color:#081225;font-weight:700;}
.tb-rt-column-head small{font-size:12px;color:#64748b;font-weight:700;padding-top:4px;}
.tb-rt-option-list{display:flex;flex-direction:column;gap:12px;padding:14px;max-height:760px;overflow:auto;scrollbar-width:thin;scrollbar-color:#5A149F #f6f7fb;}
.tb-roundtrip-option-card{border:1px solid #e4ebf5;border-radius:16px;background:#fff;padding:14px;transition:.2s ease;position:relative;}
.tb-roundtrip-option-card:hover{border-color:#DCCBE8;box-shadow:0 12px 26px rgba(90,20,159,.1);transform:translateY(-1px);}
.tb-roundtrip-option-card.selected{border-color:#5A149F;box-shadow:0 0 0 2px rgba(90,20,159,.12),0 16px 28px rgba(90,20,159,.12);}
.tb-rt-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.tb-rt-price{text-align:right;white-space:nowrap;}
.tb-rt-price strong{display:block;font-size:20px;line-height:1;color:#081225;font-weight:700;}
.tb-rt-price span{display:block;margin-top:4px;font-size:11px;color:#64748b;font-weight:700;text-transform:lowercase;}
.tb-rt-route-row{display:grid;grid-template-columns:minmax(72px,.9fr) minmax(145px,1.25fr) minmax(72px,.9fr);gap:10px;align-items:center;}
.tb-rt-route-row .tb-flight-time-box:first-child{text-align:left!important;}
.tb-rt-route-row .tb-flight-time-box:last-child{text-align:right!important;}
.tb-rt-route-row .tb-flight-duration-box{min-width:0;}
.tb-rt-card-actions{display:flex;justify-content:flex-end;margin-top:13px;border-top:1px dashed #e5eaf2;padding-top:12px;}
.tb-rt-card-actions button{border:0;border-radius:10px;background:#5A149F;color:#fff;font-size:12px;font-weight:700;padding:10px 16px;box-shadow:0 10px 22px rgba(90,20,159,.22);}
.tb-roundtrip-option-card.selected .tb-rt-card-actions button{background:#081225;box-shadow:none;}
.tb-roundtrip-total-bar{position:sticky;bottom:18px;z-index:20;margin-top:18px;background:#081225;color:#fff;border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr auto auto;gap:14px;align-items:center;box-shadow:0 18px 38px rgba(8,18,37,.22);}
.tb-roundtrip-total-bar span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.62);font-weight:700;margin-bottom:3px;}
.tb-roundtrip-total-bar strong{font-size:14px;font-weight:700;color:#fff;}
.tb-roundtrip-total-bar .tb-rt-total strong{font-size:24px;color:#fff;white-space:nowrap;}
.tb-roundtrip-total-bar button{border:0;border-radius:12px;background:#5A149F;color:#fff;font-weight:700;padding:13px 22px;box-shadow:0 12px 24px rgba(90,20,159,.32);}
.tb-roundtrip-total-bar button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}
@media (max-width:991px){.tb-roundtrip-results{grid-template-columns:1fr}.tb-rt-option-list{max-height:none;overflow:visible}.tb-roundtrip-total-bar{grid-template-columns:1fr;bottom:10px}.tb-roundtrip-total-bar .tb-rt-total strong{font-size:21px}.tb-rt-route-row{grid-template-columns:1fr;gap:8px}.tb-rt-route-row .tb-flight-time-box:first-child,.tb-rt-route-row .tb-flight-time-box:last-child{text-align:left!important}}

/* Round trip selected fare details panel */
.tb-rt-card-actions{align-items:center;justify-content:space-between!important;gap:10px;}
.tb-rt-card-actions a{font-size:12px;font-weight:700;color:#5A149F;text-decoration:none;}
.tb-rt-card-actions a:hover{color:#5A149F;}
.tb-roundtrip-total-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(135px,.45fr) auto!important;}
.tb-roundtrip-total-bar [data-rt-summary-outbound],
.tb-roundtrip-total-bar [data-rt-summary-return]{min-width:0;}
.tb-rt-summary-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;}
.tb-rt-summary-mini strong{font-size:13px!important;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tb-rt-summary-mini span{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;}
.tb-rt-summary-mini a{grid-column:1/-1;color:#7ba7ff;text-decoration:none;font-size:12px;font-weight:700;line-height:1;}
.tb-rt-summary-mini a:hover{color:#fff;}
.tb-rt-summary-empty{font-size:13px!important;color:#fff!important;}
.tb-rt-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.tb-rt-fare-details-link{border:0!important;background:transparent!important;color:#8bb4ff!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font-size:12px!important;font-weight:700!important;text-decoration:underline;text-underline-offset:2px;}
.tb-rt-fare-details-link:disabled{opacity:.45!important;text-decoration:none;}
.tb-rt-fare-details-link.active{color:#fff!important;}
.tb-roundtrip-detail-panel{margin:14px 0 92px;background:#fff;border:1px solid #dfe7f2;border-radius:16px;box-shadow:0 16px 34px rgba(15,23,42,.08);overflow:hidden;}
.tb-roundtrip-detail-panel[hidden]{display:none!important;}
.tb-roundtrip-detail-body{padding:18px;background:#fff;}
.tb-roundtrip-detail-pane{display:none;}
.tb-roundtrip-detail-pane.active{display:block;}
.tb-rt-selected-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;}
.tb-rt-selected-grid>div{border:1px solid #e3eaf4;border-radius:14px;background:#fff;overflow:hidden;}
.tb-rt-selected-grid h4{margin:0;padding:13px 16px;border-bottom:1px solid #e8edf5;background:#fbfcff;font-size:15px;font-weight:700;color:#081225;}
.tb-rt-selected-grid .tb-flight-leg-wrap,
.tb-rt-selected-grid [data-rt-detail-leg]{padding:0;}
.tb-rt-selected-grid .tb-flight-leg-card{border:0;border-radius:0;box-shadow:none;margin:0;}
.tb-rt-selected-grid .tb-flight-rule-live{padding:14px;}
.tb-roundtrip-detail-panel .tb-flight-detail-tabs{padding:0;background:#fff;border-bottom:1px solid #e2e8f0;}
.tb-roundtrip-detail-panel .tb-flight-detail-tabs button{border-top:0;border-bottom:0;border-left:0;border-radius:0;background:#fff;}
.tb-roundtrip-detail-panel .tb-flight-detail-tabs button.active{background:#FAF8FC;color:#5A149F;border-color:#5A149F;}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table{max-width:620px;border:1px solid #dfe7f2;border-radius:12px;overflow:hidden;}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table div{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf2f7;}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table div:last-child{border-bottom:0;background:#FAF8FC;}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table b{font-size:13px;color:#081225;text-transform:uppercase;}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table strong{font-size:16px;color:#081225;}
@media (max-width:991px){
  .tb-roundtrip-total-bar{grid-template-columns:1fr!important;}
  .tb-rt-total{align-items:flex-start;}
  .tb-rt-selected-grid{grid-template-columns:1fr;}
  .tb-roundtrip-detail-panel{margin-bottom:110px;}
}

/* Round trip detail and filter split fix */
.tb-flight-filter-journey{
  margin:0 0 12px!important;
  padding:0 0 6px!important;
  border-bottom:1px solid #eef2f8!important;
}
.tb-flight-filter-journey:last-child{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important;}
.tb-flight-filter-journey>h4{
  margin:4px -6px 10px!important;
  padding:10px 10px!important;
  border-radius:12px!important;
  background:#fff7ee!important;
  color:#07101f!important;
  font-size:15px!important;
  font-weight:700!important;
}
.tb-flight-filter-journey.is-return>h4{
  background:#fff3e6!important;
}
.tb-flight-filter-journey .tb-flight-filter-block h3{
  font-size:13px!important;
  line-height:1.25!important;
}
.tb-flight-filter-journey .tb-flight-time-grid span{
  min-height:44px!important;
  padding:5px!important;
}
.tb-flight-filter-journey .tb-flight-time-grid span em{
  line-height:1!important;
}
.tb-flight-filter-journey .tb-flight-time-grid span b{
  font-size:10px!important;
  line-height:1.05!important;
}
.tb-flight-filter-journey .tb-flight-check{
  font-size:13px!important;
  margin:8px 0!important;
}
.tb-flight-filter-journey .tb-flight-filter-block{
  padding:7px 0 9px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-grid{
  grid-template-columns:minmax(85px,.9fr) minmax(130px,1.15fr) minmax(85px,.9fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-facts{
  grid-column:auto!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid #edf1f7!important;
  border-radius:10px!important;
  padding:10px!important;
  background:#fafcff!important;
  align-self:stretch!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-duration{
  min-width:0!important;
  padding:0 6px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-duration i{
  max-width:none!important;
  width:100%!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-time strong{
  font-size:22px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-wrap{
  overflow:visible!important;
}
@media(max-width:1199px){
  .tb-roundtrip-detail-panel .tb-rt-selected-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:575px){
  .tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-grid{
    grid-template-columns:1fr!important;
  }
}

/* Round trip fare details inner padding fix */
.tb-roundtrip-detail-panel .tb-roundtrip-detail-body{
  padding:22px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid{
  gap:20px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid>div{
  padding:0!important;
  overflow:hidden!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid h4{
  padding:14px 18px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid [data-rt-detail-leg],
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-wrap{
  padding:16px 18px!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-card{
  border:1px solid #e6edf6!important;
  border-radius:14px!important;
  padding:18px!important;
  margin:0 0 16px!important;
  background:#fff!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-card:last-child{
  margin-bottom:0!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-layover{
  margin:18px 0!important;
}
.tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-grid{
  padding:0!important;
}
@media(max-width:575px){
  .tb-roundtrip-detail-panel .tb-roundtrip-detail-body{
    padding:14px!important;
  }
  .tb-roundtrip-detail-panel .tb-rt-selected-grid [data-rt-detail-leg],
  .tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-wrap{
    padding:12px!important;
  }
  .tb-roundtrip-detail-panel .tb-rt-selected-grid .tb-flight-leg-card{
    padding:14px!important;
  }
}

/* Round trip fare summary tax rows + tabs spacing fix */
.tb-roundtrip-detail-panel .tb-flight-detail-tabs{
  padding:16px 16px 10px!important;
  border-bottom:1px solid #e2e8f0!important;
  gap:0!important;
  align-items:flex-start!important;
}
.tb-roundtrip-detail-panel .tb-flight-detail-tabs button{
  margin-bottom:0!important;
}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table .tb-rt-tax-row span{
  font-size:13px!important;
  color:#475569!important;
  font-weight:600!important;
}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table .tb-rt-tax-row em{
  font-style:normal!important;
  font-size:14px!important;
  color:#0f172a!important;
  font-weight:700!important;
}
.tb-roundtrip-detail-panel .tb-flight-public-fare-table div:last-child{
  margin-top:0!important;
}

/* Multicity flight results */
.tb-multicity-result-card{
  display:block;
  overflow:hidden;
}
.tb-multicity-result-card[hidden],
.tb-multicity-result-card.tb-filter-hidden{
  display:none!important;
}
.tb-mc-card-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:18px;
  align-items:stretch;
}
.tb-mc-leg-list{
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
}
.tb-mc-leg-summary{
  display:grid;
  grid-template-columns:210px 105px minmax(150px,1fr) 105px;
  gap:18px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px dashed #dbe3ef;
}
.tb-mc-leg-summary:first-child{padding-top:0;}
.tb-mc-leg-summary:last-child{border-bottom:0;padding-bottom:0;}
.tb-mc-leg-airline{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.tb-mc-leg-airline h3{
  margin:0;
  font-size:15px;
  font-weight:700;
  color:#071126;
}
.tb-mc-leg-airline p{
  margin:3px 0 0;
  font-size:12px;
  line-height:1.35;
  color:#57627a;
}
.tb-mc-leg-airline small{
  display:block;
  margin-top:3px;
  font-size:11px;
  color:#7c879c;
}
.tb-mc-price-box{
  justify-content:center !important;
  border-left:1px solid #edf1f7;
  padding-left:18px;
  min-width:0;
}
.tb-mc-price-box button{
  white-space:nowrap;
}
.tb-multicity-result-card .tb-flight-note{
  margin-top:18px;
  padding-top:14px;
}
.tb-multicity-result-card .tb-flight-note span{
  display:inline-flex;
  min-height:22px;
  padding:4px 12px;
  border-radius:999px;
  background:#e6fff4;
  color:#008a57;
  font-size:13px;
  font-weight:700;
}
.tb-multicity-detail-panel{
  margin-top:18px;
}
.tb-mc-detail-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.tb-mc-detail-leg{
  border:1px solid #dfe7f2;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  padding:16px;
}
.tb-mc-detail-leg > h4{
  margin:0 0 14px;
  padding:0 0 12px;
  border-bottom:1px solid #edf1f7;
  font-size:16px;
  color:#071126;
}
.tb-mc-detail-leg .tb-flight-leg-card{
  margin:0 0 14px;
}
.tb-mc-detail-leg .tb-flight-leg-card:last-child{
  margin-bottom:0;
}
@media (max-width:1199px){
  .tb-mc-card-main{grid-template-columns:1fr;}
  .tb-mc-price-box{border-left:0;border-top:1px solid #edf1f7;padding-left:0;padding-top:16px;align-items:flex-start !important;}
  .tb-mc-leg-summary{grid-template-columns:1fr 95px minmax(130px,1fr) 95px;}
}
@media (max-width:767px){
  .tb-mc-leg-summary{grid-template-columns:1fr;gap:10px;padding:16px 0;}
  .tb-mc-leg-summary .tb-flight-time-box{text-align:left !important;}
  .tb-mc-detail-leg{padding:12px;}
}

/* Hotel live search results */
.tb-hotel-results-page .tb-flight-page-topband{min-height:78px;}
.tb-hotel-results-section{padding-top:28px;}
.tb-hotel-results-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:26px;align-items:start;}
.tb-hotel-filter-panel{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:22px;padding:22px 16px;box-shadow:0 18px 42px rgba(15,23,42,.06);position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:none;}
.tb-hotel-filter-panel::-webkit-scrollbar{width:0;height:0;}
.tb-hotel-filter-empty{font-weight:700;color:#64748b;padding:16px 0;}
.tb-hotel-filter-group{border-top:1px solid #e8edf6;padding:16px 0;}
.tb-hotel-filter-title{display:block;font-size:15px;font-weight:800;color:#0f172a;margin-bottom:12px;}
.tb-hotel-name-search{height:44px;border:1px solid #dbe5f3;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#f8fafc;}
.tb-hotel-name-search i{color:#7132B5;}
.tb-hotel-name-search input{width:100%;border:0;outline:0;background:transparent;font-weight:700;color:#0f172a;}
.tb-hotel-filter-group input[type="range"]{width:100%;accent-color:#7132B5;}
.tb-hotel-check-list{display:flex;flex-direction:column;gap:10px;}
.tb-hotel-check-list label{display:grid;grid-template-columns:18px 1fr auto;gap:9px;align-items:center;font-size:14px;color:#172033;font-weight:700;cursor:pointer;}
.tb-hotel-check-list input{width:16px;height:16px;accent-color:#7132B5;}
.tb-hotel-check-list b{font-size:13px;color:#0f172a;font-weight:800;}
.tb-hotel-list-panel{min-width:0;}
.tb-hotel-list{display:flex;flex-direction:column;gap:16px;margin-top:16px;}
.tb-hotel-card{display:grid;grid-template-columns:245px minmax(0,1fr) 190px;gap:20px;background:#fff;border:1px solid #e3ebf7;border-radius:18px;padding:16px;box-shadow:0 16px 40px rgba(15,23,42,.06);transition:.2s ease;}
.tb-hotel-card:hover{border-color:#ffb497;box-shadow:0 18px 48px rgba(255,91,34,.11);}
.tb-hotel-card[hidden],.tb-hotel-card.tb-filter-hidden{display:none!important;}
.tb-hotel-image{height:170px;border-radius:16px;overflow:hidden;background:#f4f7fb;}
.tb-hotel-image img{width:100%;height:100%;object-fit:cover;display:block;}
.tb-hotel-img-fallback{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#F7F0FB,#F4EFF8);color:#7132B5;font-size:42px;}
.tb-hotel-main{min-width:0;display:flex;flex-direction:column;gap:10px;}
.tb-hotel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.tb-hotel-title-row h3{margin:0;font-size:22px;line-height:1.2;color:#071122;font-weight:800;}
.tb-hotel-stars{margin-top:6px;display:flex;gap:3px;color:#0F9F9A;font-size:13px;}
.tb-hotel-stars span{color:#64748b;font-weight:700;}
.tb-hotel-type{border:1px solid #fed7c8;background:#FAF8FC;color:#7132B5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap;}
.tb-hotel-address{margin:0;color:#64748b;font-size:14px;font-weight:700;line-height:1.5;}
.tb-hotel-address i{color:#7132B5;margin-right:6px;}
.tb-hotel-amenities{display:flex;flex-wrap:wrap;gap:8px;}
.tb-hotel-amenities span{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e4ebf5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#334155;}
.tb-hotel-amenities i{color:#7132B5;}
.tb-hotel-extra{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;color:#0F9F9A;font-size:13px;font-weight:800;}
.tb-hotel-extra i{color:#0F9F9A;margin-right:5px;}
.tb-hotel-price-box{border-left:1px solid #e7edf6;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;padding-left:18px;}
.tb-hotel-price-box small{color:#64748b;font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.02em;}
.tb-hotel-price-box strong{font-size:26px;color:#071122;line-height:1.1;margin-top:4px;}
.tb-hotel-price-box em{font-style:normal;color:#64748b;font-size:12px;font-weight:700;margin:3px 0 14px;}
.tb-hotel-price-box button{border:0;background:#7132B5;color:#fff;border-radius:12px;padding:12px 18px;font-weight:900;box-shadow:0 12px 28px rgba(255,91,34,.25);}
.tb-hotel-no-match{margin-top:16px;}
@media (max-width: 991px){
  .tb-hotel-results-layout{grid-template-columns:1fr;}
  .tb-hotel-filter-panel{position:static;max-height:none;}
  .tb-hotel-card{grid-template-columns:1fr;}
  .tb-hotel-image{height:210px;}
  .tb-hotel-price-box{border-left:0;border-top:1px solid #e7edf6;padding:14px 0 0;align-items:flex-start;text-align:left;}
}
@media (max-width: 575px){
  .tb-hotel-card{padding:12px;border-radius:16px;}
  .tb-hotel-title-row{flex-direction:column;}
  .tb-hotel-title-row h3{font-size:19px;}
}

/* Hotel search requested fixes */
.tb-hotel-address,
.tb-hotel-extra{font-weight:600!important;}
.tb-hotel-price-box em{font-style:normal;color:#64748b;font-size:12px;font-weight:700;margin:3px 0 14px;}
.tb-hotel-loader-icon i{animation:tbHotelBedFloat 1.35s ease-in-out infinite!important;}
@keyframes tbHotelBedFloat{50%{transform:translateY(-5px) scale(1.04);}}
body.tb-hotel-modal-open{overflow:hidden;}
.tb-hotel-room-modal{
  position:fixed;
  inset:0;
  z-index:100002;
  background:rgba(6,12,25,.56);
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.tb-hotel-room-modal-card{
  width:min(1120px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  border-radius:26px;
  box-shadow:0 30px 90px rgba(15,23,42,.34);
  padding:22px;
  position:relative;
}
.tb-hotel-room-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#F7F0FB;
  color:#7132B5;
  font-size:16px;
  z-index:3;
}
.tb-hotel-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:4px 48px 16px 2px;
}
.tb-hotel-modal-head h3{
  margin:2px 0 7px;
  color:#071122;
  font-size:27px;
  line-height:1.18;
  font-weight:800;
}
.tb-hotel-modal-head p{
  margin:0;
  color:#5f6f86;
  font-size:14px;
  line-height:1.45;
  font-weight:600;
}
.tb-hotel-modal-head p i{color:#7132B5;margin-right:6px;}
.tb-hotel-modal-stars{display:flex;gap:3px;color:#0F9F9A;margin-top:24px;white-space:nowrap;}
.tb-hotel-modal-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.72fr);
  gap:10px;
  border-radius:22px;
  overflow:hidden;
  min-height:360px;
}
.tb-hotel-modal-gallery-main,
.tb-hotel-modal-gallery-side div{
  background:#f4f7fb;
  overflow:hidden;
}
.tb-hotel-modal-gallery-main img,
.tb-hotel-modal-gallery-side img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tb-hotel-modal-gallery-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:360px;
  background:linear-gradient(135deg,#F7F0FB,#F4EFF8);
  color:#7132B5;
  font-size:60px;
}
.tb-hotel-modal-gallery-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:10px;
  position:relative;
}
.tb-hotel-view-all-images{
  position:absolute;
  right:18px;
  bottom:18px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#172033;
  padding:12px 16px;
  font-weight:800;
  box-shadow:0 10px 30px rgba(15,23,42,.18);
}
.tb-hotel-modal-summary{
  margin:20px 0;
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
  gap:18px;
  padding:18px;
  border:1px solid #e7edf6;
  border-radius:18px;
  background:#fbfdff;
}
.tb-hotel-modal-summary h4,
.tb-hotel-room-list>h4{
  margin:0 0 8px;
  color:#071122;
  font-size:18px;
  font-weight:800;
}
.tb-hotel-modal-summary p{margin:0;color:#5f6f86;font-weight:600;line-height:1.5;}
.tb-hotel-modal-amenities{display:flex;flex-wrap:wrap;gap:9px;align-content:flex-start;}
.tb-hotel-modal-amenities span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:#fff;
  border:1px solid #e4ebf5;
  border-radius:999px;
  padding:8px 12px;
  color:#334155;
  font-size:13px;
  font-weight:700;
}
.tb-hotel-modal-amenities i{color:#7132B5;}
.tb-hotel-room-list{display:flex;flex-direction:column;gap:14px;}
.tb-hotel-room-option{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:18px;
  align-items:center;
  border:1px solid #e4ebf5;
  border-radius:18px;
  padding:18px;
  background:#fff;
}
.tb-hotel-room-option h4{margin:0 0 6px;color:#071122;font-size:18px;font-weight:800;}
.tb-hotel-room-option p{margin:0 0 10px;color:#64748b;font-weight:600;}
.tb-hotel-room-option ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;}
.tb-hotel-room-option li{color:#0F9F9A;font-weight:700;font-size:13px;}
.tb-hotel-room-option li i{margin-right:6px;}
.tb-hotel-room-price{text-align:right;border-left:1px solid #e8edf6;padding-left:18px;}
.tb-hotel-room-price small{display:block;color:#64748b;text-transform:uppercase;font-weight:800;font-size:11px;}
.tb-hotel-room-price strong{display:block;font-size:25px;line-height:1.1;color:#071122;margin-top:4px;}
.tb-hotel-room-price em{display:block;font-style:normal;color:#64748b;font-size:12px;font-weight:600;margin:4px 0 12px;}
.tb-hotel-room-price button{border:0;background:#7132B5;color:#fff;border-radius:12px;padding:12px 18px;font-weight:900;box-shadow:0 12px 28px rgba(255,91,34,.24);}
@media(max-width:991px){
  .tb-hotel-modal-gallery{grid-template-columns:1fr;}
  .tb-hotel-modal-gallery-side{min-height:220px;}
  .tb-hotel-modal-summary,.tb-hotel-room-option{grid-template-columns:1fr;}
  .tb-hotel-room-price{text-align:left;border-left:0;border-top:1px solid #e8edf6;padding:14px 0 0;}
}
@media(max-width:575px){
  .tb-hotel-room-modal{padding:10px;}
  .tb-hotel-room-modal-card{border-radius:20px;padding:14px;}
  .tb-hotel-modal-head{padding-right:42px;}
  .tb-hotel-modal-head h3{font-size:22px;}
  .tb-hotel-modal-gallery{min-height:auto;}
  .tb-hotel-modal-gallery-main,.tb-hotel-modal-gallery-fallback{min-height:230px;}
}

/* Hotel price text + professional rooms popup page-style fix */
.tb-hotel-price-box em{display:none!important;}
.tb-hotel-price-box strong{margin-bottom:14px!important;}
body.tb-hotel-modal-open{overflow:hidden!important;}
.tb-hotel-room-modal{
  align-items:flex-start!important;
  justify-content:center!important;
  padding:28px 16px 70px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.tb-hotel-room-modal-card{
  width:min(1080px,100%)!important;
  max-height:none!important;
  overflow:visible!important;
  border-radius:22px!important;
  padding:0!important;
  background:#eef5fb!important;
  border:0!important;
  box-shadow:0 30px 90px rgba(15,23,42,.30)!important;
}
.tb-hotel-room-modal-close{
  top:12px!important;
  right:12px!important;
  z-index:10!important;
  box-shadow:0 10px 24px rgba(15,23,42,.16)!important;
}
.tb-hotel-detail-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  background:#fff!important;
  border:1px solid #dfe8f4!important;
  border-radius:18px!important;
  padding:18px 22px!important;
  margin:0 0 14px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.07)!important;
}
.tb-hotel-detail-top h3{
  margin:0 0 8px!important;
  font-size:25px!important;
  line-height:1.15!important;
  color:#071122!important;
  font-weight:900!important;
}
.tb-hotel-detail-top h3 span{
  display:inline-flex!important;
  gap:3px!important;
  color:#0F9F9A!important;
  font-size:13px!important;
  vertical-align:middle!important;
}
.tb-hotel-detail-top p{
  margin:0!important;
  color:#5f6f86!important;
  font-size:13px!important;
  font-weight:700!important;
}
.tb-hotel-detail-top p i{color:#7132B5!important;margin-right:7px!important;}
.tb-hotel-detail-top-price{
  min-width:180px!important;
  text-align:right!important;
  padding-right:42px!important;
}
.tb-hotel-detail-top-price small{
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.tb-hotel-detail-top-price strong{
  display:block!important;
  color:#071122!important;
  font-size:26px!important;
  line-height:1!important;
  margin:5px 0 10px!important;
  font-weight:900!important;
}
.tb-hotel-detail-top-price button{
  border:0!important;
  border-radius:999px!important;
  background:#B4234D!important;
  color:#fff!important;
  padding:10px 18px!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 12px 28px rgba(255,79,50,.25)!important;
}
.tb-hotel-room-modal-card>.tb-hotel-modal-gallery,
.tb-hotel-overview-card,
.tb-hotel-amenity-card,
.tb-hotel-room-table{
  margin-left:0!important;
  margin-right:0!important;
}
.tb-hotel-modal-gallery{
  min-height:350px!important;
  border:6px solid #fff!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(15,23,42,.07)!important;
}
.tb-hotel-modal-gallery-side{gap:6px!important;}
.tb-hotel-overview-card,
.tb-hotel-amenity-card{
  margin-top:18px!important;
  background:#fff!important;
  border:1px solid #dfe8f4!important;
  border-radius:20px!important;
  padding:22px!important;
  box-shadow:0 12px 34px rgba(15,23,42,.07)!important;
}
.tb-hotel-overview-card h4,
.tb-hotel-amenity-card h4{
  margin:0 0 18px!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #e8edf5!important;
  color:#071122!important;
  font-size:20px!important;
  font-weight:900!important;
}
.tb-hotel-overview-card h4 span,
.tb-hotel-amenity-card h4 span{color:#B4234D!important;}
.tb-hotel-overview-section{
  padding:0 0 16px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid #eef2f7!important;
}
.tb-hotel-overview-section:last-child{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important;}
.tb-hotel-overview-section h5,
.tb-hotel-nearby h5{
  margin:0 0 8px!important;
  color:#071122!important;
  font-size:14px!important;
  font-weight:900!important;
}
.tb-hotel-overview-section p,
.tb-hotel-overview-section li{
  margin:0 0 7px!important;
  color:#516072!important;
  font-size:13px!important;
  line-height:1.65!important;
  font-weight:600!important;
}
.tb-hotel-overview-section ul{margin:0!important;padding-left:18px!important;}
.tb-hotel-nearby>div{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.tb-hotel-nearby span{
  display:block!important;
  padding:12px 14px!important;
  border:1px solid #e4ebf5!important;
  border-radius:12px!important;
  background:#fbfdff!important;
}
.tb-hotel-nearby b{
  display:block!important;
  color:#071122!important;
  font-size:13px!important;
  font-weight:800!important;
}
.tb-hotel-nearby em{
  display:block!important;
  margin-top:3px!important;
  color:#64748b!important;
  font-style:normal!important;
  font-size:12px!important;
  font-weight:600!important;
}
.tb-hotel-amenity-card .tb-hotel-modal-amenities{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
}
.tb-hotel-amenity-card .tb-hotel-modal-amenities span{
  border-radius:12px!important;
  justify-content:flex-start!important;
}
.tb-hotel-room-table{
  margin-top:18px!important;
  background:#fff!important;
  border:1px solid #dfe8f4!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 12px 34px rgba(15,23,42,.07)!important;
}
.tb-hotel-room-table-head,
.tb-hotel-room-row{
  display:grid!important;
  grid-template-columns:minmax(260px,1.15fr) minmax(250px,1fr) 210px!important;
  gap:0!important;
}
.tb-hotel-room-table-head{
  background:#071122!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
}
.tb-hotel-room-table-head span{padding:14px 18px!important;}
.tb-hotel-room-row{
  border-bottom:1px solid #e8edf5!important;
  background:#fff!important;
}
.tb-hotel-room-row:last-child{border-bottom:0!important;}
.tb-hotel-room-type,
.tb-hotel-room-benefits,
.tb-hotel-room-row .tb-hotel-room-price{padding:20px 18px!important;}
.tb-hotel-room-type h4{
  margin:0 0 8px!important;
  color:#071122!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:900!important;
}
.tb-hotel-room-type button{
  border:0!important;
  background:transparent!important;
  color:#B4234D!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:800!important;
}
.tb-hotel-room-benefits strong{
  display:block!important;
  margin-bottom:8px!important;
  color:#071122!important;
  font-size:14px!important;
  font-weight:900!important;
}
.tb-hotel-room-benefits ul{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:6px!important;}
.tb-hotel-room-benefits li{color:#334155!important;font-size:13px!important;font-weight:700!important;}
.tb-hotel-room-benefits li i{color:#0F9F9A!important;margin-right:6px!important;}
.tb-hotel-room-row .tb-hotel-room-price{
  border-left:1px solid #e8edf5!important;
  text-align:left!important;
}
.tb-hotel-room-row .tb-hotel-room-price small{text-transform:none!important;color:#64748b!important;}
.tb-hotel-room-row .tb-hotel-room-price strong{font-size:24px!important;}
.tb-hotel-room-row .tb-hotel-room-price button{border-radius:999px!important;padding:10px 18px!important;background:#e9382f!important;}
@media(max-width:991px){
  .tb-hotel-detail-top{grid-template-columns:1fr!important;}
  .tb-hotel-detail-top-price{text-align:left!important;padding-right:42px!important;}
  .tb-hotel-nearby>div,.tb-hotel-amenity-card .tb-hotel-modal-amenities{grid-template-columns:1fr 1fr!important;}
  .tb-hotel-room-table-head{display:none!important;}
  .tb-hotel-room-row{grid-template-columns:1fr!important;}
  .tb-hotel-room-row .tb-hotel-room-price{border-left:0!important;border-top:1px solid #e8edf5!important;}
}
@media(max-width:575px){
  .tb-hotel-room-modal{padding:12px 10px 50px!important;}
  .tb-hotel-detail-top{padding:16px!important;}
  .tb-hotel-detail-top h3{font-size:22px!important;}
  .tb-hotel-nearby>div,.tb-hotel-amenity-card .tb-hotel-modal-amenities{grid-template-columns:1fr!important;}
  .tb-hotel-overview-card,.tb-hotel-amenity-card{padding:16px!important;}
}

/* Hotel live detail popup padding + real room policy data */
.tb-hotel-room-modal{padding:34px 18px 80px!important;}
.tb-hotel-room-modal-card{
  padding:24px!important;
  box-sizing:border-box!important;
}
.tb-hotel-detail-top,
.tb-hotel-room-modal-card>.tb-hotel-modal-gallery,
.tb-hotel-overview-card,
.tb-hotel-amenity-card,
.tb-hotel-room-table{
  margin-left:0!important;
  margin-right:0!important;
}
.tb-hotel-modal-gallery{margin-top:18px!important;}
.tb-hotel-room-policy{
  margin-top:14px!important;
  border:1px solid #e8edf5!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.tb-hotel-room-policy table{width:100%!important;border-collapse:collapse!important;}
.tb-hotel-room-policy th,
.tb-hotel-room-policy td{
  padding:9px 10px!important;
  border-bottom:1px solid #eef2f7!important;
  font-size:12px!important;
  color:#334155!important;
  text-align:left!important;
}
.tb-hotel-room-policy th{
  background:#f8fafc!important;
  color:#071122!important;
  font-weight:900!important;
}
.tb-hotel-room-policy tr:last-child td{border-bottom:0!important;}
.tb-hotel-room-modal-card .tb-hotel-overview-section ul{padding-left:20px!important;}
.tb-hotel-room-modal-card .tb-hotel-overview-section li{margin-bottom:7px!important;}
@media(max-width:575px){
  .tb-hotel-room-modal-card{padding:14px!important;}
  .tb-hotel-room-modal{padding:12px 8px 55px!important;}
}

/* Hotel detail popup: amenities split, compact gallery, gallery lightbox final fix */
.tb-hotel-room-modal-card{
  padding:24px !important;
}
.tb-hotel-room-modal-card>.tb-hotel-modal-gallery{
  height:410px !important;
  min-height:0 !important;
  max-height:410px !important;
}
.tb-hotel-modal-gallery-main,
.tb-hotel-modal-gallery-fallback{
  min-height:0 !important;
  height:100% !important;
}
.tb-hotel-modal-gallery-side{
  height:100% !important;
}
.tb-hotel-modal-gallery-side div{
  min-height:0 !important;
  height:100% !important;
}
.tb-hotel-view-all-images{
  right:14px !important;
  bottom:14px !important;
  padding:8px 12px !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.18) !important;
}
.tb-hotel-view-all-images i{
  font-size:12px !important;
  margin-right:5px !important;
}
.tb-hotel-amenity-card .tb-hotel-modal-amenities{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:10px !important;
  align-items:start !important;
}
.tb-hotel-amenity-card .tb-hotel-modal-amenities span{
  min-height:44px !important;
  height:auto !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  background:#fbfdff !important;
  border:1px solid #e4ebf5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:9px !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  word-break:normal !important;
}
.tb-hotel-amenity-card .tb-hotel-modal-amenities span i{
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#7132B5 !important;
}
.tb-hotel-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:10020;
  background:rgba(7,17,34,.74);
  padding:24px;
  overflow:auto;
}
.tb-hotel-gallery-lightbox-card{
  width:min(1120px,100%);
  margin:0 auto;
  background:#fff;
  border-radius:22px;
  padding:22px;
  position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.tb-hotel-gallery-close{
  position:absolute;
  right:16px;
  top:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#F4EFF8;
  color:#7132B5;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  box-shadow:0 8px 20px rgba(15,23,42,.12);
}
.tb-hotel-gallery-title{
  padding:2px 50px 18px 2px;
  font-size:22px;
  font-weight:900;
  color:#071122;
}
.tb-hotel-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:12px;
}
.tb-hotel-gallery-grid a{
  display:block;
  height:190px;
  border-radius:14px;
  overflow:hidden;
  background:#f3f6fb;
}
.tb-hotel-gallery-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.25s ease;
}
.tb-hotel-gallery-grid a:hover img{
  transform:scale(1.04);
}
@media(max-width:991px){
  .tb-hotel-room-modal-card>.tb-hotel-modal-gallery{
    height:auto !important;
    max-height:none !important;
  }
  .tb-hotel-modal-gallery-main{height:260px !important;}
  .tb-hotel-modal-gallery-side{height:auto !important;}
}
@media(max-width:575px){
  .tb-hotel-room-modal-card{padding:14px !important;}
  .tb-hotel-amenity-card .tb-hotel-modal-amenities{grid-template-columns:1fr !important;}
  .tb-hotel-gallery-lightbox{padding:12px;}
  .tb-hotel-gallery-lightbox-card{padding:14px;border-radius:18px;}
  .tb-hotel-gallery-grid{grid-template-columns:1fr;}
}

/* Hotel gallery lightbox z-index fix: keep gallery above hotel detail popup */
.tb-hotel-gallery-lightbox{
  z-index:100500 !important;
  background:rgba(7,17,34,.86) !important;
  backdrop-filter:blur(7px) !important;
}
.tb-hotel-gallery-lightbox-card{
  position:relative !important;
  z-index:100501 !important;
}
.tb-hotel-gallery-close{
  z-index:100502 !important;
}

/* Hotel buttons match flight Book Now style */
.tb-hotel-price-box button,
.tb-hotel-detail-top-price button,
.tb-hotel-room-row .tb-hotel-room-price button,
.tb-hotel-room-table .tb-hotel-room-price button {
  border: 0 !important;
  border-radius: 10px !important;
  background: #5A149F !important;
  color: #fff !important;
  padding: 10px 15px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 16px rgba(90,20,159,.22) !important;
  min-width: 102px !important;
  height: auto !important;
}

.tb-hotel-price-box button:hover,
.tb-hotel-detail-top-price button:hover,
.tb-hotel-room-row .tb-hotel-room-price button:hover,
.tb-hotel-room-table .tb-hotel-room-price button:hover {
  background: #7132B5 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.tb-hotel-detail-top-price button {
  margin-top: 2px !important;
}

.tb-hotel-room-row .tb-hotel-room-price button,
.tb-hotel-room-table .tb-hotel-room-price button {
  margin-top: 8px !important;
}

/* Hotel result filter display fix: jQuery filters must not turn grid cards into block cards */
.tb-hotel-card:not([hidden]):not(.tb-filter-hidden){display:grid!important;}
@media (max-width: 991px){
  .tb-hotel-card:not([hidden]):not(.tb-filter-hidden){grid-template-columns:1fr!important;}
}

/* Flight booking checkout page */
.tb-flight-booking-page{background:linear-gradient(180deg,#FAF8FC 0%,#f6f7fb 28%,#fff 100%)}









.tb-flight-booking-section{margin-top:0;position:relative;z-index:3;padding-top:22px}
.tb-flight-booking-empty{background:#fff;border:1px solid var(--tb-border);border-radius:28px;box-shadow:var(--tb-shadow);padding:54px 30px;text-align:center;max-width:760px;margin:0 auto}
.tb-flight-booking-empty .tb-empty-icon{width:82px;height:82px;border-radius:50%;background:color-mix(in srgb,var(--tb-orange) 12%,#fff);color:var(--tb-orange);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:34px}
.tb-flight-booking-empty h2{font-size:28px;font-weight:700;margin:0 0 10px;color:#101827}
.tb-flight-booking-empty p{color:var(--tb-muted);max-width:560px;margin:0 auto 22px;line-height:1.7}
.tb-flight-booking-shell{position:relative}
.tb-flight-booking-steps{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid var(--tb-border);border-radius:20px;box-shadow:0 16px 36px rgba(18,31,55,.08);padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.tb-flight-booking-steps a{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:12px 10px;color:#38445b;font-weight:700;font-size:13px;transition:.2s}
.tb-flight-booking-steps a:hover,.tb-flight-booking-steps a.active{background:color-mix(in srgb,var(--tb-orange) 10%,#fff);color:var(--tb-orange)}
.tb-flight-booking-steps span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2f7;color:#344056;font-size:12px}
.tb-flight-booking-steps a.active span,.tb-flight-booking-steps a:hover span{background:var(--tb-orange);color:#fff}
.tb-flight-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.tb-flight-booking-main{display:grid;gap:22px}
.tb-booking-panel{background:#fff;border:1px solid var(--tb-border);border-radius:24px;box-shadow:0 18px 48px rgba(18,31,55,.08);padding:22px;scroll-margin-top:160px}
.tb-booking-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px solid #edf1f6;padding-bottom:16px}
.tb-booking-panel-head .tb-script{font-family:inherit;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:color-mix(in srgb,var(--tb-orange) 10%,#fff);color:var(--tb-orange);border-radius:999px;padding:6px 10px;margin:0 0 8px}
.tb-booking-panel-head h2{font-size:23px;font-weight:700;margin:0;color:#101827;letter-spacing:-.3px}
.tb-booking-panel-head small{color:var(--tb-muted);font-weight:700;text-align:right}
.tb-booking-status-pill{background:#e9fff4;color:#079052;border:1px solid #b8f0d1;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.tb-booking-trip-cards{display:grid;gap:16px}
.tb-booking-trip-card{border:1px solid #e6ebf2;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcff);overflow:hidden}
.tb-booking-trip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 14px;background:#f8fafc;border-bottom:1px solid #e9edf5}
.tb-booking-trip-head span{font-size:12px;font-weight:700;color:var(--tb-orange);text-transform:uppercase;letter-spacing:.6px}
.tb-booking-trip-head h3{font-size:20px;font-weight:700;margin:3px 0 0;color:#0f172a}
.tb-booking-trip-head strong{font-size:22px;font-weight:700;color:#0f172a;white-space:nowrap}
.tb-booking-airline-line{display:flex;align-items:center;gap:12px;padding:16px 18px 8px}
.tb-booking-airline-line .tb-airline-logo{width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid #e5e9f0;box-shadow:0 8px 20px rgba(18,31,55,.08)}
.tb-booking-airline-line strong{display:block;color:#111827;font-size:15px}
.tb-booking-airline-line small{display:block;color:#687386;font-weight:700;margin-top:2px}
.tb-booking-segment-list{padding:8px 18px 16px;display:grid;gap:10px}
.tb-booking-segment-row{display:grid;grid-template-columns:72px 18px minmax(0,1fr) 106px 72px 18px minmax(0,1fr);gap:10px;align-items:center;background:#fff;border:1px solid #edf1f6;border-radius:16px;padding:13px}
.tb-booking-time strong{display:block;color:#101827;font-size:17px;font-weight:700}.tb-booking-time span{display:block;color:#6b7280;font-size:12px;font-weight:600;margin-top:2px}
.tb-booking-route-dot{position:relative;height:48px;display:flex;justify-content:center}.tb-booking-route-dot:after{content:"";position:absolute;top:6px;bottom:-28px;border-left:2px dashed #cbd5e1}.tb-booking-route-dot.is-arrive:after{display:none}.tb-booking-route-dot i{width:11px;height:11px;border:2px solid #9ca3af;border-radius:50%;background:#fff;margin-top:5px;z-index:1}
.tb-booking-airport strong{display:block;color:#111827;font-size:14px;font-weight:700}.tb-booking-airport span{display:block;color:#64748b;font-size:12px;line-height:1.45;margin-top:2px}
.tb-booking-duration{text-align:center;color:#64748b;font-size:12px;font-weight:700}.tb-booking-duration span{display:inline-block;background:#f1f5f9;border-radius:999px;padding:6px 10px}
.tb-booking-layover{margin:-4px 22px 6px 108px;background:#fff8e9;color:#9a5b00;border:1px dashed #ffd489;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;text-align:center}
.tb-booking-baggage-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #edf1f6;padding:13px 18px 16px;color:#344056;font-size:12px;font-weight:650}.tb-booking-baggage-row i{color:var(--tb-orange);margin-right:5px}
.tb-traveller-note{display:flex;gap:9px;align-items:flex-start;background:#eef9ff;border:1px solid #cdefff;color:#255066;border-radius:14px;padding:11px 13px;font-size:13px;font-weight:600;margin-bottom:14px}.tb-traveller-note i{color:#0284c7;margin-top:2px}
.tb-booking-travellers{display:grid;gap:14px}.tb-traveller-card{border:1px solid #e6ebf2;border-radius:18px;padding:16px;background:#fbfcff}.tb-traveller-card h3{font-size:15px;font-weight:700;color:#111827;margin:0 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tb-traveller-card h3 small{font-size:11px;font-weight:600;color:var(--tb-orange);background:#F7F0FB;border:1px solid #ffd9c7;border-radius:999px;padding:4px 9px}.tb-traveller-grid{display:grid;grid-template-columns:.75fr repeat(3,minmax(0,1fr));gap:12px}.tb-traveller-grid label{display:grid;gap:6px}.tb-traveller-grid span{font-size:12px;color:#5d697d;font-weight:700}.tb-traveller-grid input,.tb-traveller-grid select{width:100%;border:1px solid #dce3ee;border-radius:12px;padding:11px 12px;background:#fff;color:#111827;outline:none;font-size:13px}.tb-traveller-grid input:focus,.tb-traveller-grid select:focus{border-color:var(--tb-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--tb-orange) 12%,transparent)}
.tb-seats-meals-stack{display:grid;gap:18px}.tb-seat-meal-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:16px;align-items:start}.tb-seat-map,.tb-meal-box{border:1px solid #e6ebf2;border-radius:20px;background:#fbfcff;padding:16px}.tb-seat-map-head,.tb-meal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.tb-seat-map-head strong,.tb-meal-head strong{font-size:15px;font-weight:700;color:#111827}.tb-seat-map-head span,.tb-meal-head span{font-size:12px;color:#64748b;font-weight:600;text-align:right}.tb-seat-legend{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:#64748b;font-size:12px;font-weight:600}.tb-seat-legend span{display:inline-flex;align-items:center;gap:6px}.tb-seat-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid #cad3df}.tb-seat-legend i.available{background:#fff}.tb-seat-legend i.selected{background:var(--tb-orange);border-color:var(--tb-orange)}.tb-seat-legend i.blocked{background:#cbd5e1;border-color:#cbd5e1}
.tb-seat-grid{display:grid;gap:7px;background:#fff;border:1px solid #e9edf5;border-radius:16px;padding:12px;overflow-x:auto}.tb-seat-row{display:grid;grid-template-columns:26px repeat(3,52px) 18px repeat(3,52px);gap:7px;align-items:center;min-width:390px}.tb-seat-row>b{color:#64748b;font-size:12px}.tb-seat-aisle{display:block;width:18px}.tb-seat-row button{height:46px;border:1px solid #cfd8e5;background:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#0f172a;font-weight:700;transition:.16s}.tb-seat-row button small{font-size:9px;color:#64748b;font-weight:600}.tb-seat-row button:not(.is-blocked):hover{border-color:var(--tb-orange);transform:translateY(-1px)}.tb-seat-row button.is-selected{background:var(--tb-orange);border-color:var(--tb-orange);color:#fff}.tb-seat-row button.is-selected small{color:#fff}.tb-seat-row button.is-blocked{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.tb-seat-selected-line{margin-top:10px;background:#fff;border:1px dashed #d8e0ea;border-radius:12px;padding:10px 12px;color:#475569;font-size:12px;font-weight:700}
.tb-meal-grid{display:grid;gap:10px}.tb-meal-card{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #e9edf5;border-radius:15px;padding:11px}.tb-meal-card>i{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--tb-orange) 10%,#fff);color:var(--tb-orange);display:flex;align-items:center;justify-content:center}.tb-meal-card strong{display:block;font-size:13px;font-weight:700;color:#111827}.tb-meal-card span{font-size:12px;font-weight:700;color:#64748b}.tb-meal-qty{display:flex;align-items:center;gap:8px}.tb-meal-qty button{width:28px;height:28px;border-radius:9px;border:1px solid #d7dfeb;background:#fff;color:#111827;font-weight:700}.tb-meal-qty button:hover{background:var(--tb-orange);border-color:var(--tb-orange);color:#fff}.tb-meal-qty b{min-width:16px;text-align:center;color:#111827}
.tb-booking-addons{display:grid;gap:12px}.tb-addon-card{display:grid;grid-template-columns:auto 48px 1fr auto;gap:12px;align-items:center;border:1px solid #e6ebf2;border-radius:18px;background:#fbfcff;padding:14px;cursor:pointer;transition:.18s}.tb-addon-card:hover{border-color:color-mix(in srgb,var(--tb-orange) 35%,#e6ebf2);transform:translateY(-1px)}.tb-addon-card input{width:18px;height:18px;accent-color:var(--tb-orange)}.tb-addon-card span{width:48px;height:48px;border-radius:15px;background:#F4EFF8;color:var(--tb-orange);display:flex;align-items:center;justify-content:center;font-size:18px}.tb-addon-card strong{display:block;color:#111827;font-size:15px;font-weight:700}.tb-addon-card small{display:block;color:#64748b;font-size:12px;margin-top:3px}.tb-addon-card b{color:#111827;font-size:15px;font-weight:700;white-space:nowrap}
.tb-flight-booking-sidebar{position:sticky;top:158px}.tb-booking-fare-card{background:#fff;border:1px solid var(--tb-border);border-radius:24px;box-shadow:0 22px 58px rgba(18,31,55,.13);padding:20px}.tb-booking-fare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e9edf5;padding-bottom:14px;margin-bottom:8px}.tb-booking-fare-head h2{font-size:20px;font-weight:700;margin:0;color:#111827}.tb-booking-fare-head span{background:#F4EFF8;color:var(--tb-orange);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.tb-booking-fare-lines{display:grid}.tb-booking-fare-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef2f7;padding:13px 0;color:#344056;font-size:13px;font-weight:650}.tb-booking-fare-lines span{display:flex;align-items:center;gap:7px}.tb-booking-fare-lines i{color:#64748b;font-size:12px}.tb-booking-fare-lines strong{color:#111827;font-size:14px;font-weight:700;white-space:nowrap}.tb-booking-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:2px solid #111827}.tb-booking-total-row span{font-size:16px;font-weight:700;color:#111827}.tb-booking-total-row strong{font-size:26px;font-weight:700;color:#111827}.tb-booking-pay-btn{width:100%;border:0;border-radius:15px;background:linear-gradient(135deg,var(--tb-orange),#7132B5);color:#fff;font-weight:700;padding:14px 18px;margin-top:18px;box-shadow:0 16px 30px color-mix(in srgb,var(--tb-orange) 26%,transparent);transition:.2s}.tb-booking-pay-btn:hover{transform:translateY(-2px);box-shadow:0 20px 36px color-mix(in srgb,var(--tb-orange) 34%,transparent)}.tb-booking-mini-note{margin:12px 0 0;color:#64748b;font-size:12px;line-height:1.55;text-align:center}

.tb-booking-dob-input{cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:15px;padding-right:36px!important}
.tb-booking-datepicker{position:absolute;z-index:99999;width:306px;background:#fff;border:1px solid #dde5ef;border-radius:18px;box-shadow:0 20px 54px rgba(18,31,55,.18);padding:12px}
.tb-booking-datepicker[hidden]{display:none!important}.tb-booking-datepicker-head{display:grid;grid-template-columns:34px 1fr 1fr 34px;gap:8px;align-items:center;margin-bottom:10px}.tb-booking-datepicker-head button{width:34px;height:34px;border:1px solid #e1e7f0;border-radius:11px;background:#fff;color:#344056}.tb-booking-datepicker-head button:hover{background:var(--tb-orange);border-color:var(--tb-orange);color:#fff}.tb-booking-datepicker-head select{height:34px;border:1px solid #e1e7f0;border-radius:11px;background:#fbfcff;color:#111827;font-size:13px;font-weight:600;padding:0 9px;outline:none}.tb-booking-datepicker-week,.tb-booking-datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.tb-booking-datepicker-week span{text-align:center;color:#64748b;font-size:11px;font-weight:600;padding:5px 0}.tb-booking-datepicker-days span,.tb-booking-datepicker-days button{height:34px;border-radius:11px;border:0;background:transparent;text-align:center;font-size:13px;font-weight:600;color:#111827}.tb-booking-datepicker-days button:hover{background:#F4EFF8;color:var(--tb-orange)}.tb-booking-datepicker-days button.is-selected{background:var(--tb-orange);color:#fff}.tb-booking-datepicker-days button.is-disabled{color:#cbd5e1;cursor:not-allowed;background:transparent}
@media (max-width:1199px){.tb-flight-booking-layout{grid-template-columns:1fr}.tb-flight-booking-sidebar{position:static}.tb-seat-meal-panel{grid-template-columns:1fr}}
@media (max-width:991px){.tb-flight-booking-steps{position:static;grid-template-columns:repeat(2,1fr)}.tb-booking-segment-row{grid-template-columns:64px 16px minmax(0,1fr);gap:8px}.tb-booking-segment-row .tb-booking-duration,.tb-booking-segment-row .tb-booking-time:nth-of-type(2),.tb-booking-segment-row .tb-booking-route-dot.is-arrive,.tb-booking-segment-row .tb-booking-airport:nth-last-child(1){grid-column:auto}.tb-booking-segment-row .tb-booking-duration{grid-column:1/-1;text-align:left}.tb-traveller-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.tb-flight-booking-steps{grid-template-columns:1fr}.tb-booking-panel{padding:16px;border-radius:18px}.tb-booking-panel-head{display:block}.tb-booking-status-pill{display:inline-flex;margin-top:10px}.tb-booking-trip-head{display:block}.tb-booking-trip-head strong{display:block;margin-top:8px}.tb-traveller-grid{grid-template-columns:1fr}.tb-addon-card{grid-template-columns:auto 42px 1fr}.tb-addon-card b{grid-column:3/4}.tb-seat-row{grid-template-columns:24px repeat(3,46px) 14px repeat(3,46px);min-width:340px}.tb-seat-row button{height:42px}.tb-booking-total-row strong{font-size:22px}}

/* Flight booking live fare verification */
.tb-booking-live-verify{display:flex;align-items:center;gap:12px;background:#FAF8FC;border:1px solid #DCCBE8;border-radius:16px;padding:13px 14px;margin:0 0 16px;color:#51127D}
.tb-booking-live-verify[hidden]{display:none!important}.tb-booking-live-verify i{font-size:18px}.tb-booking-live-verify strong{display:block;font-size:13px;font-weight:650;color:#111827}.tb-booking-live-verify small{display:block;font-size:12px;font-weight:500;color:#51127D;margin-top:2px}.tb-booking-live-verify.is-success{background:#ecfdf5;border-color:#BDE9E5;color:#087D78}.tb-booking-live-verify.is-success small{color:#087D78}.tb-booking-live-verify.is-error{background:#FAF8FC;border-color:#DCCBE8;color:#c2410c}.tb-booking-status-pill.is-loading{background:#F4EFF8;color:#5A149F;border-color:#DCCBE8}.tb-booking-status-pill.is-error{background:#FAF8FC;color:#c2410c;border-color:#DCCBE8}.tb-flight-loader.mini{width:13px;height:13px;border-width:2px;margin-right:4px}
.tb-booking-rules-stack{display:grid;gap:14px;margin-top:16px}.tb-booking-rule-card{border:1px solid #e6ebf2;border-radius:20px;background:#fbfcff;overflow:hidden}.tb-booking-rule-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e9edf5;background:#f8fafc}.tb-booking-rule-card-head strong{display:block;color:#111827;font-size:15px;font-weight:650}.tb-booking-rule-card-head span{display:block;color:#64748b;font-size:12px;font-weight:600;margin-top:2px}.tb-booking-rule-card-head em{font-style:normal;color:#087D78;background:#dcfce7;border:1px solid #BDE9E5;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:650;white-space:nowrap}.tb-booking-rule-card-head em.is-warning{color:#51127D;background:#F4EFF8;border-color:#DCCBE8}.tb-booking-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.tb-booking-rule-grid>div{padding:14px;border-right:1px solid #e9edf5}.tb-booking-rule-grid>div:last-child{border-right:0}.tb-booking-rule-grid h4{margin:0 0 8px;color:#111827;font-size:14px;font-weight:650}.tb-booking-rule-raw{font-size:12px;line-height:1.65;color:#334155;max-height:280px;overflow:auto;background:#fff;border:1px solid #edf1f6;border-radius:14px;padding:12px}.tb-booking-ssr-loading,.tb-booking-ssr-empty{display:flex;align-items:center;gap:10px;background:#fff;border:1px dashed #d8e0ea;border-radius:14px;padding:18px;color:#64748b;min-height:88px}.tb-booking-ssr-loading strong,.tb-booking-ssr-empty strong{display:block;color:#111827;font-size:13px;font-weight:650}.tb-booking-ssr-empty{flex-direction:column;text-align:center;justify-content:center}.tb-booking-ssr-empty i{font-size:22px;color:var(--tb-orange)}.tb-booking-ssr-empty span{font-size:12px;font-weight:500;color:#64748b;line-height:1.5}.tb-booking-rule-grid .tb-flight-rule-table{margin:8px 0!important}.tb-booking-rule-grid .tb-flight-rule-note{margin:8px 0 0!important}
@media (max-width:991px){.tb-booking-rule-grid{grid-template-columns:1fr}.tb-booking-rule-grid>div{border-right:0;border-bottom:1px solid #e9edf5}.tb-booking-rule-grid>div:last-child{border-bottom:0}}

/* Flight booking SSR accordion compact layout */
.tb-ssr-details{overflow:hidden}
.tb-ssr-details summary{list-style:none;cursor:pointer;user-select:none}
.tb-ssr-details summary::-webkit-details-marker{display:none}
.tb-seat-map.tb-ssr-details,.tb-meal-box.tb-ssr-details{padding:0;background:#fff}
.tb-seat-map-head,.tb-meal-head{padding:14px 16px;margin:0;align-items:center}
.tb-seat-map-head>div,.tb-meal-head>div{display:grid;gap:4px;min-width:0}.tb-seat-map-head strong,.tb-meal-head strong{line-height:1.25}.tb-seat-map-head em,.tb-meal-head em{font-style:normal;font-size:11px;font-weight:700;color:var(--tb-orange);white-space:nowrap}.tb-seat-map-head>i,.tb-meal-head>i{font-size:12px;color:#718096;transition:.18s}.tb-ssr-details[open] .tb-seat-map-head>i,.tb-ssr-details[open] .tb-meal-head>i{transform:rotate(180deg)}.tb-ssr-details-body{border-top:1px solid #edf1f7;padding:12px 14px 14px}.tb-seat-grid{max-height:380px;overflow:auto;padding:10px;scrollbar-width:thin}.tb-seat-row{grid-template-columns:20px repeat(3,34px) 10px repeat(3,34px);gap:5px;min-width:285px}.tb-seat-aisle{width:10px}.tb-seat-row button{height:32px;border-radius:8px;font-size:10px;gap:0;padding:2px;font-weight:700}.tb-seat-row button small{font-size:7px;line-height:1;white-space:nowrap}.tb-seat-row>b{font-size:10px}.tb-seat-legend{font-size:11px;margin-bottom:9px}.tb-seat-selected-line{padding:8px 10px;font-size:11px}.tb-meal-grid{max-height:380px;overflow:auto;padding-right:5px;scrollbar-width:thin}.tb-meal-card{grid-template-columns:34px 1fr auto;gap:8px;padding:9px;border-radius:13px}.tb-meal-card>i{width:34px;height:34px;border-radius:11px}.tb-meal-card strong{font-size:12px;line-height:1.25}.tb-meal-card span{font-size:11px}.tb-meal-qty{gap:6px}.tb-meal-qty button{width:26px;height:26px;border-radius:8px}.tb-seats-meals-stack{gap:14px}.tb-seat-meal-panel{gap:14px}
@media (max-width:767px){.tb-seat-map-head,.tb-meal-head{padding:13px}.tb-seat-map-head em,.tb-meal-head em{font-size:10px}.tb-ssr-details-body{padding:10px}.tb-seat-grid,.tb-meal-grid{max-height:330px}.tb-seat-row{grid-template-columns:18px repeat(3,30px) 8px repeat(3,30px);gap:4px;min-width:250px}.tb-seat-row button{height:30px;font-size:9px}.tb-seat-row button small{font-size:6px}.tb-meal-card{grid-template-columns:30px 1fr auto}.tb-meal-card>i{width:30px;height:30px}}
.tb-seat-map-head>div span,.tb-meal-head>div span{text-align:left}

/* Flight booking refinements: meal controls, fare-rule popup, step sync */
.tb-meal-qty{align-items:center!important;justify-content:center!important}
.tb-meal-qty button{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;font-size:16px!important;font-weight:650!important;vertical-align:middle!important;appearance:none!important}
.tb-meal-qty b{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;min-height:26px!important}
.tb-meal-card{align-items:center!important}
.tb-booking-rule-card.is-compact{cursor:pointer;transition:.18s}
.tb-booking-rule-card.is-compact:hover{border-color:#DCCBE8;box-shadow:0 14px 34px rgba(18,31,55,.08)}
.tb-booking-rule-compact-body{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;background:#fff}
.tb-booking-rule-compact-body p{margin:0;color:#64748b;font-size:12px;font-weight:500;line-height:1.55}
.tb-booking-rule-compact-body button{border:0;border-radius:999px;background:var(--tb-orange);color:#fff;font-size:12px;font-weight:700;padding:9px 15px;white-space:nowrap;box-shadow:0 10px 20px rgba(90,20,159,.18)}
body.tb-rule-modal-open{overflow:hidden}
.tb-booking-rule-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}
.tb-booking-rule-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(6px)}
.tb-booking-rule-modal-box{position:relative;z-index:1;width:min(1060px,96vw);max-height:88vh;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.28);overflow:hidden;border:1px solid #e6ebf2}
.tb-booking-rule-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e9edf5;background:#f8fafc}
.tb-booking-rule-modal-head strong{display:block;color:#111827;font-size:16px;font-weight:650}.tb-booking-rule-modal-head span{display:block;color:#64748b;font-size:12px;font-weight:600;margin-top:3px}.tb-booking-rule-modal-head>div:last-child{display:flex;align-items:center;gap:10px}.tb-booking-rule-modal-head em{font-style:normal;color:#087D78;background:#dcfce7;border:1px solid #BDE9E5;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:650;white-space:nowrap}.tb-booking-rule-modal-head em.is-warning{color:#51127D;background:#F4EFF8;border-color:#DCCBE8}.tb-booking-rule-modal-head button{width:34px;height:34px;border-radius:50%;border:1px solid #d7dfeb;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center}
.tb-booking-rule-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;overflow:auto;max-height:calc(88vh - 72px)}
.tb-booking-rule-pane{min-width:0;border:1px solid #e9edf5;border-radius:18px;background:#fbfcff;overflow:hidden}.tb-booking-rule-pane h4{margin:0;padding:13px 15px;border-bottom:1px solid #e9edf5;color:#111827;font-size:14px;font-weight:650;background:#fff}.tb-booking-rule-scroll{max-height:58vh;overflow:auto;padding:12px;scrollbar-width:thin;color:#334155;font-size:12px;line-height:1.55}.tb-booking-rule-scroll table{width:100%;border-collapse:collapse;background:#fff}.tb-booking-rule-scroll th,.tb-booking-rule-scroll td{border:1px solid #e5eaf1;padding:8px;vertical-align:top}.tb-booking-rule-scroll .tb-flight-rule-table{margin:0!important;min-width:360px}.tb-booking-rule-scroll .tb-flight-rule-note{margin:8px 0 0!important}
@media (max-width:767px){.tb-booking-rule-modal{padding:12px}.tb-booking-rule-modal-box{border-radius:18px;max-height:92vh}.tb-booking-rule-modal-head{padding:13px}.tb-booking-rule-modal-head{align-items:flex-start}.tb-booking-rule-modal-body{grid-template-columns:1fr;padding:12px;max-height:calc(92vh - 72px)}.tb-booking-rule-scroll{max-height:52vh}.tb-booking-rule-compact-body{display:block}.tb-booking-rule-compact-body button{margin-top:10px}}

/* Fare classification badges from airline fare response */
.tb-flight-fare-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px;line-height:1.2;}
.tb-flight-fare-badges span{display:inline-flex;align-items:center;max-width:100%;border:1px solid #ffd7c5;background:#F7F0FB;color:#5A149F;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:700;letter-spacing:.01em;white-space:normal;}
.tb-flight-card-fare-tags{margin-top:6px;}
.tb-flight-leg-fare-tags{margin:6px 0 0 32px;}
.tb-flight-leg-fare-tags span{font-size:10px;padding:3px 7px;}
.tb-booking-fare-tags{margin-top:6px;}
.tb-booking-fare-tags span{font-size:10.5px;padding:4px 8px;background:#FAF8FC;}
.tb-mc-leg-airline .tb-flight-card-fare-tags{margin-top:6px;}
.tb-rt-card-top .tb-flight-card-fare-tags{max-width:210px;}
@media (max-width:991px){.tb-flight-leg-fare-tags{margin-left:0}.tb-rt-card-top .tb-flight-card-fare-tags{max-width:100%;}}

/* Flight booking 10 minute fare refresh popup */
body.tb-booking-expiry-open{overflow:hidden}
.tb-booking-expiry-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:22px}
.tb-booking-expiry-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.56);backdrop-filter:blur(7px)}
.tb-booking-expiry-box{position:relative;z-index:1;width:min(420px,94vw);background:#fff;border:1px solid #e6ebf2;border-radius:24px;box-shadow:0 30px 90px rgba(15,23,42,.28);padding:28px 24px;text-align:center}
.tb-booking-expiry-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:#F4EFF8;color:var(--tb-orange);font-size:24px}
.tb-booking-expiry-box h3{margin:0 0 9px;color:#111827;font-size:24px;font-weight:750;letter-spacing:-.02em}
.tb-booking-expiry-box p{margin:0 auto 20px;color:#64748b;font-size:14px;font-weight:500;line-height:1.65;max-width:340px}
.tb-booking-expiry-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:var(--tb-orange);color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:750;padding:0 24px;box-shadow:0 14px 30px rgba(90,20,159,.22)}
.tb-booking-expiry-btn:hover{transform:translateY(-1px)}
@media (max-width:575px){.tb-booking-expiry-box{padding:24px 18px;border-radius:20px}.tb-booking-expiry-box h3{font-size:22px}}

/* Hotel booking page */
.tb-hotel-booking-page{background:linear-gradient(180deg,#FAF8FC 0%,#f6f7fb 28%,#fff 100%);}
.tb-hotel-booking-property-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;background:#fff;border:1px solid #e7edf6;border-radius:20px;padding:14px;box-shadow:0 14px 34px rgba(18,31,55,.06);margin-bottom:16px;}
.tb-hotel-booking-image{border-radius:16px;overflow:hidden;min-height:150px;background:#f3f6fb;display:flex;align-items:center;justify-content:center;}
.tb-hotel-booking-image img{width:100%;height:100%;object-fit:cover;display:block;}
.tb-hotel-booking-image-fallback{width:100%;height:150px;display:flex;align-items:center;justify-content:center;color:#5A149F;font-size:36px;background:#fff2ea;}
.tb-hotel-booking-property-info{min-width:0;}
.tb-hotel-booking-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px;}
.tb-hotel-booking-title-row h3{margin:0 0 5px;font-size:21px;font-weight:750;color:#071122;line-height:1.25;}
.tb-hotel-booking-title-row>span{background:#fff0e8;color:#5A149F;border:1px solid #ffd3bd;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750;white-space:nowrap;}
.tb-hotel-booking-property-info>p{margin:0 0 12px;color:#526176;font-size:13px;font-weight:600;line-height:1.6;}
.tb-hotel-booking-property-info>p i{color:#5A149F;margin-right:6px;}
.tb-hotel-booking-stay-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e8edf6;border-radius:16px;overflow:hidden;margin:12px 0;}
.tb-hotel-booking-stay-grid>div{padding:12px;border-right:1px solid #e8edf6;background:#fbfcff;}
.tb-hotel-booking-stay-grid>div:last-child{border-right:0;}
.tb-hotel-booking-stay-grid small{display:block;color:#65738a;font-size:11px;text-transform:uppercase;font-weight:750;margin-bottom:4px;}
.tb-hotel-booking-stay-grid strong{display:block;color:#101827;font-size:13px;font-weight:750;}
.tb-hotel-booking-amenities{display:flex;flex-wrap:wrap;gap:8px;}
.tb-hotel-booking-amenities span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #e7edf6;border-radius:999px;padding:7px 10px;color:#334155;font-size:12px;font-weight:700;}
.tb-hotel-booking-amenities i{color:#5A149F;}
.tb-hotel-booking-room-card{background:#fff;border:1px solid #e7edf6;border-radius:20px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:16px;box-shadow:0 14px 34px rgba(18,31,55,.05);}
.tb-hotel-booking-room-card h3{margin:4px 0 8px;color:#071122;font-size:20px;font-weight:750;line-height:1.25;}
.tb-hotel-booking-room-card p{margin:0;color:#334155;font-weight:700;}
.tb-hotel-booking-room-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.tb-hotel-booking-room-card li{font-size:13px;font-weight:700;color:#344056;}
.tb-hotel-booking-room-card li i{color:#0F9F9A;margin-right:7px;}
.tb-hotel-booking-policy{grid-column:1/-1;border-top:1px solid #edf1f7;padding-top:14px;}
.tb-hotel-booking-policy>button{border:0;background:#fff4ee;color:#7132B5;border-radius:999px;padding:9px 13px;font-weight:800;font-size:13px;}
.tb-hotel-booking-policy>button i{margin-right:6px;}
.tb-hotel-booking-policy-table{margin-top:12px;overflow:auto;border:1px solid #e8edf6;border-radius:14px;background:#fff;}
.tb-hotel-booking-policy-table table{width:100%;min-width:520px;border-collapse:collapse;}
.tb-hotel-booking-policy-table th,.tb-hotel-booking-policy-table td{padding:10px 12px;border-bottom:1px solid #eef2f7;font-size:12px;text-align:left;color:#344056;}
.tb-hotel-booking-policy-table th{background:#f7f9fc;color:#0f172a;font-weight:800;}
.tb-hotel-guest-form{display:grid;gap:14px;}
.tb-hotel-lead-guest-card,.tb-hotel-room-guest-card,.tb-hotel-billing-card,.tb-hotel-payment-box{background:#fff;border:1px solid #e8edf6;border-radius:18px;padding:16px;}
.tb-hotel-lead-guest-card h3,.tb-hotel-room-guest-card h3,.tb-hotel-billing-card h3{margin:0 0 12px;font-size:16px;font-weight:750;color:#101827;}
.tb-hotel-guest-grid{grid-template-columns:90px repeat(2,minmax(0,1fr));}
.tb-hotel-guest-grid label{font-size:12px;font-weight:750;color:#344056;}
.tb-hotel-guest-grid input,.tb-hotel-guest-grid select,.tb-hotel-guest-mini-row input,.tb-hotel-guest-mini-row select{width:100%;border:1px solid #dce4f0;border-radius:10px;background:#fff;color:#101827;font-weight:600;padding:10px 11px;min-height:42px;outline:0;}
.tb-hotel-guest-grid input:focus,.tb-hotel-guest-grid select:focus,.tb-hotel-guest-mini-row input:focus,.tb-hotel-guest-mini-row select:focus{border-color:#0F9F9A;box-shadow:0 0 0 3px rgba(90,20,159,.10);}
.tb-hotel-guest-mini-row{display:grid;grid-template-columns:90px 92px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f7;}
.tb-hotel-guest-mini-row:last-child{border-bottom:0;padding-bottom:0;}
.tb-hotel-guest-mini-row strong{font-size:13px;color:#334155;}
.tb-hotel-gst-check{display:flex;align-items:center;gap:9px;margin:12px 0 0;color:#344056;font-weight:700;font-size:13px;}
.tb-hotel-payment-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #d7e5fb;background:#F4EFF8;border-radius:16px;padding:14px;color:#101827;}
.tb-hotel-payment-option input{width:18px;height:18px;accent-color:#5A149F;}
.tb-hotel-payment-option b{display:block;font-weight:800;}
.tb-hotel-payment-option small{display:block;color:#64748b;font-weight:600;margin-top:2px;}
.tb-hotel-payment-option strong{font-size:18px;font-weight:800;color:#071122;}
.tb-hotel-price-summary-card .tb-booking-fare-lines>div{font-size:13px;}
.tb-hotel-price-summary-card .tb-booking-total-row strong{font-size:28px;}
@media (max-width:991px){
  .tb-hotel-booking-property-card{grid-template-columns:1fr;}
  .tb-hotel-booking-image{height:220px;}
  .tb-hotel-booking-stay-grid{grid-template-columns:repeat(2,1fr);}
  .tb-hotel-booking-stay-grid>div:nth-child(2){border-right:0;}
  .tb-hotel-booking-stay-grid>div:nth-child(-n+2){border-bottom:1px solid #e8edf6;}
  .tb-hotel-booking-room-card{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .tb-hotel-booking-title-row{display:block;}
  .tb-hotel-booking-title-row>span{display:inline-flex;margin-top:8px;}
  .tb-hotel-booking-stay-grid{grid-template-columns:1fr;}
  .tb-hotel-booking-stay-grid>div{border-right:0;border-bottom:1px solid #e8edf6;}
  .tb-hotel-booking-stay-grid>div:last-child{border-bottom:0;}
  .tb-hotel-guest-grid{grid-template-columns:1fr;}
  .tb-hotel-guest-mini-row{grid-template-columns:1fr;}
  .tb-hotel-payment-option{grid-template-columns:auto minmax(0,1fr);}
  .tb-hotel-payment-option strong{grid-column:2/3;}
}

/* Hotel guest popup + hotel booking form alignment fixes */
.tb-hotel-guests-popover{
  width:min(650px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
}
.tb-hotel-guests-popover .tb-hotel-guests-labels,
.tb-hotel-guests-popover .tb-hotel-room-row{
  display:grid!important;
  grid-template-columns:78px minmax(122px,1fr) minmax(116px,1fr) minmax(96px,.85fr) 36px 36px!important;
  gap:9px!important;
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}
.tb-hotel-guests-popover .tb-hotel-room-row + .tb-hotel-room-row{margin-top:10px!important;}
.tb-hotel-guests-popover .tb-room-no{
  grid-column:auto!important;
  color:#172033!important;
  font-size:13px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  padding:0!important;
}
.tb-hotel-guests-popover .tb-hotel-room-row select,
.tb-hotel-guests-popover .tb-child-age-box input,
.tb-hotel-guests-popover .tb-child-age-box select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:38px!important;
  height:38px!important;
  border:1px solid #cfd8e6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:700!important;
  padding:7px 10px!important;
  text-align:left!important;
}
.tb-hotel-guests-popover .tb-child-age-box{
  grid-column:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  padding:0!important;
}
.tb-hotel-guests-popover .tb-child-age-box input,
.tb-hotel-guests-popover .tb-child-age-box select{max-width:58px!important;text-align:center!important;padding-left:5px!important;padding-right:5px!important;}
.tb-hotel-guests-popover .tb-hotel-add-room,
.tb-hotel-guests-popover .tb-hotel-remove-room{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:50%!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
}
.tb-hotel-guests-popover .tb-hotel-add-room[hidden],
.tb-hotel-guests-popover .tb-hotel-remove-room[hidden]{display:none!important;}

.tb-hotel-lead-guest-card .tb-hotel-guest-grid,
.tb-hotel-billing-card .tb-hotel-guest-grid{display:grid!important;gap:12px!important;}
.tb-hotel-lead-guest-card .tb-hotel-guest-grid{
  grid-template-columns:90px minmax(0,1fr) minmax(0,1fr)!important;
}
.tb-hotel-lead-guest-card .tb-hotel-guest-grid label:nth-child(4){grid-column:1 / span 2!important;}
.tb-hotel-lead-guest-card .tb-hotel-guest-grid label:nth-child(5){grid-column:3!important;}
.tb-hotel-billing-card .tb-hotel-guest-grid{
  grid-template-columns:minmax(320px,1fr) 130px 170px!important;
}
@media(max-width:767px){
  .tb-hotel-guests-popover .tb-hotel-guests-labels{display:none!important;}
  .tb-hotel-guests-popover .tb-hotel-room-row{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .tb-hotel-guests-popover .tb-room-no,
  .tb-hotel-guests-popover .tb-child-age-box{grid-column:1/-1!important;}
  .tb-hotel-lead-guest-card .tb-hotel-guest-grid,
  .tb-hotel-billing-card .tb-hotel-guest-grid{grid-template-columns:1fr!important;}
  .tb-hotel-lead-guest-card .tb-hotel-guest-grid label:nth-child(4),
  .tb-hotel-lead-guest-card .tb-hotel-guest-grid label:nth-child(5){grid-column:auto!important;}
}

/* Booking GST optional fields */
.tb-gst-check{display:flex;align-items:center;gap:9px;margin-top:12px;color:#344056;font-weight:700;font-size:13px;cursor:pointer;}
.tb-gst-check input{width:16px;height:16px;accent-color:var(--tb-orange);}
.tb-gst-details{margin-top:12px;padding:13px;border:1px solid #e4ebf5;border-radius:16px;background:#fbfcff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.tb-gst-details[hidden]{display:none!important;}
.tb-gst-details label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#344056;}
.tb-gst-details input,.tb-gst-details textarea,.tb-gst-details select{width:100%;border:1px solid #dce4f0;border-radius:10px;background:#fff;color:#101827;font-weight:600;padding:10px 11px;min-height:42px;outline:0;resize:vertical;}
.tb-gst-details input:focus,.tb-gst-details textarea:focus,.tb-gst-details select:focus{border-color:var(--tb-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--tb-orange) 12%,transparent);}
.tb-gst-address{grid-column:1/-1;}
.tb-booking-gst-card h3 small{color:#0f766e;background:#ecfdf5;border-color:#BDE9E5;}
.tb-hotel-gst-details{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:767px){.tb-gst-details,.tb-hotel-gst-details{grid-template-columns:1fr!important;}}


/* Header client login/account */
.tb-client-header{display:flex;align-items:center;justify-content:flex-end;position:relative;}
.tb-client-login-btn{white-space:nowrap;}
.tb-client-menu{position:relative;}
.tb-client-menu-btn{border:0;border-radius:14px;background:linear-gradient(135deg,#5A149F,#0F9F9A);color:#fff;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 5px; height:40px;box-shadow:0 16px 34px rgba(255,107,37,.22);cursor:pointer;font-size:14px;line-height:1;white-space:nowrap;}
.tb-client-avatar{width:28px;height:28px;border-radius:50%;background:#fff;color:#7132B5;display:inline-flex;align-items:center;justify-content:center;font-weight:900;}
.tb-client-menu-btn i{font-size:11px;}
.tb-client-menu-list{position:absolute;right:0;top:calc(100% + 10px);min-width:225px;background:#fff;border:1px solid #e4ebf5;border-radius:18px;box-shadow:0 18px 45px rgba(8,18,34,.16);padding:8px;display:none;z-index:1000;}
.tb-client-menu.is-open .tb-client-menu-list{display:block;}
.tb-client-menu-list a,.tb-client-menu-list button{width:100%;border:0;background:transparent;text-decoration:none;color:#24314b;font-weight:750;font-size:14px;padding:11px 12px;border-radius:12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;}
.tb-client-menu-list a:hover,.tb-client-menu-list button:hover{background:#fff2eb;color:#7132B5;}
@media(max-width:991px){.tb-client-header{justify-content:flex-start;margin:10px 0}.tb-client-menu-list{left:0;right:auto}}

/* Client booking login/signup modal */
body.tb-client-auth-open{overflow:hidden;}
.tb-client-auth-modal{position:fixed;inset:0;z-index:99999;background:rgba(8,18,34,.55);display:flex;align-items:center;justify-content:center;padding:24px;}
.tb-client-auth-dialog{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:28px;box-shadow:0 28px 80px rgba(8,18,34,.28);position:relative;padding:28px;}
.tb-client-auth-close{position:absolute;right:22px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:#f4f7fb;color:#07122a;font-size:28px;line-height:1;cursor:pointer;}
.tb-client-auth-head span{display:inline-flex;padding:7px 13px;border-radius:999px;background:#fff0e8;color:#7132B5;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.04em;margin-bottom:12px;}
.tb-client-auth-head h2{margin:0 0 8px;font-size:26px;line-height:1.2;color:#10192f;font-weight:700;}
.tb-client-auth-head p{margin:0 0 18px;color:#60708a;font-size:14px;}
.tb-client-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f4f7fb;border-radius:16px;padding:6px;margin-bottom:16px;}
.tb-client-auth-tabs button{border:0;background:transparent;border-radius:12px;padding:12px;font-weight:700;color:#52627a;cursor:pointer;}
.tb-client-auth-tabs button.active{background:#7132B5;color:#fff;box-shadow:0 12px 30px rgba(255,107,37,.22);}
.tb-client-auth-pane{display:none;}
.tb-client-auth-pane.active{display:block;}
.tb-client-auth-pane form{display:grid;gap:13px;}
.tb-client-auth-pane label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#24314b;}
.tb-client-auth-pane input{width:100%;height:48px;border:1px solid #d3deef;border-radius:14px;padding:0 14px;font-size:15px;outline:none;background:#fff;color:#10192f;}
.tb-client-auth-pane input:focus{border-color:#7132B5;box-shadow:0 0 0 3px rgba(255,107,37,.12);}
.tb-client-phone-row{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:end;}
.tb-client-new-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tb-client-auth-primary{border:0;border-radius:16px;background:linear-gradient(135deg,#5A149F,#0F9F9A);color:#fff;font-weight:800;font-size:16px;padding:15px 18px;cursor:pointer;box-shadow:0 16px 34px rgba(255,107,37,.22);}
.tb-client-auth-primary:disabled{opacity:.7;cursor:not-allowed;}
.tb-client-auth-link{border:0;background:transparent;color:#7132B5;font-weight:800;cursor:pointer;padding:6px 0;text-align:left;}
.tb-client-auth-row{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.tb-client-auth-message{border-radius:14px;padding:11px 13px;margin:0 0 14px;font-weight:700;font-size:13px;}
.tb-client-auth-message.is-success{background:#eafff4;color:#087646;border:1px solid #b7f3d3;}
.tb-client-auth-message.is-error{background:#fff1f0;color:#bd2b20;border:1px solid #ffd1cc;}
.tb-client-signup-form h3,.tb-client-forgot-form h3,.tb-client-reset-form h3,.tb-client-auth-pane h3{font-size:18px;margin:4px 0 2px;color:#10192f;}
@media(max-width:560px){.tb-client-auth-modal{padding:14px;align-items:flex-end}.tb-client-auth-dialog{border-radius:24px 24px 0 0;padding:22px;max-height:92vh}.tb-client-phone-row,.tb-client-new-fields{grid-template-columns:1fr}.tb-client-auth-head h2{font-size:23px}}


.tb-otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:-4px;}
.tb-client-auth-pane .tb-otp-boxes input{height:54px;text-align:center;font-size:22px;font-weight:800;padding:0;border-radius:14px;}
.tb-client-auth-pane .tb-otp-boxes input:focus{border-color:#7132B5;box-shadow:0 0 0 3px rgba(255,107,37,.14);}
@media(max-width:560px){.tb-otp-boxes{gap:7px}.tb-client-auth-pane .tb-otp-boxes input{height:48px;font-size:19px}}



/* Client Account Page */
.tb-client-account-hero{
  padding:54px 0 42px;
  background:linear-gradient(180deg,#FAF8FC 0%,#fff 100%);
  border-bottom:1px solid #edf1f7;
}
.tb-client-account-hero h1{
  margin:4px 0 8px;
  color:#07101f;
  font-size:38px;
  line-height:1.12;
  font-weight:700;
}
.tb-client-account-hero p{
  margin:0;
  color:#617086;
  font-size:15px;
  font-weight:600;
  max-width:720px;
}
.tb-client-account-section{background:#f7f9fd;padding-top:36px!important;}
.tb-client-account-shell{
  display:grid;
  grid-template-columns:285px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.tb-client-account-sidebar{
  position:sticky;
  top:96px;
  background:#fff;
  border:1px solid #e6edf6;
  border-radius:22px;
  box-shadow:0 14px 36px rgba(15,23,42,.07);
  overflow:hidden;
}
.tb-client-account-user{
  padding:24px 20px;
  border-bottom:1px solid #edf1f7;
  text-align:center;
  background:linear-gradient(180deg,#fff,#FAF8FC);
}
.tb-client-account-avatar{
  width:66px;
  height:66px;
  margin:0 auto 12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#5A149F,#0F9F9A);
  color:#fff;
  font-size:26px;
  font-weight:700;
  box-shadow:0 14px 30px rgba(255,107,37,.20);
}
.tb-client-account-user strong{
  display:block;
  color:#07101f;
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  word-break:break-word;
}
.tb-client-account-user span{
  display:block;
  margin-top:4px;
  color:#667085;
  font-size:12px;
  font-weight:600;
  word-break:break-word;
}
.tb-client-account-nav{display:grid;padding:10px;gap:6px;}
.tb-client-account-nav a,
.tb-client-account-nav button{
  border:0;
  background:#fff;
  color:#17233a;
  min-height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  font-size:14px;
  font-weight:700;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:.18s ease;
}
.tb-client-account-nav a i,
.tb-client-account-nav button i{width:18px;color:#5A149F;text-align:center;}
.tb-client-account-nav a:hover,
.tb-client-account-nav a.active,
.tb-client-account-nav button:hover,
.tb-client-account-nav button.active{
  background:#F7F0FB;
  color:#5A149F;
}
.tb-client-account-content{min-width:0;}
.tb-client-account-panel,
.tb-account-login-required{
  background:#fff;
  border:1px solid #e6edf6;
  border-radius:24px;
  box-shadow:0 14px 36px rgba(15,23,42,.07);
  padding:26px;
}
.tb-client-account-panel{display:none;}
.tb-client-account-panel.active{display:block;}
.tb-client-account-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid #edf1f7;
  padding-bottom:18px;
  margin-bottom:18px;
}
.tb-client-account-panel-head span{
  display:inline-flex;
  color:#5A149F;
  background:#F7F0FB;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.tb-client-account-panel-head h2{
  margin:0px 0 0;
  color:#07101f;
  font-size:20px;
  line-height:1.15;
  font-weight:700;
}
.tb-client-account-panel-head small{
  color:#667085;
  font-size:13px;
  font-weight:600;
  text-align:right;
}
.tb-account-alert{
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:16px;
  font-size:13px;
  font-weight:700;
}
.tb-account-alert.success{background:#E5F7F5;color:#087D78;border:1px solid #b7ebca;}
.tb-account-alert.error{background:#fff1f0;color:#b42318;border:1px solid #ffd0cc;}
.tb-profile-card{
  border:1px solid #e3ebf5;
  border-radius:20px;
  padding:18px;
  background:#fff;
  margin-bottom:16px;
}
.tb-profile-card h3{
  margin:0 0 15px;
  color:#07101f;
  font-size:17px;
  line-height:1.2;
  font-weight:700;
}
.tb-profile-grid{
  display:grid;
  grid-template-columns:120px repeat(2,minmax(0,1fr));
  gap:14px 12px;
}
.tb-profile-grid label{
  display:grid;
  gap:7px;
  margin:0;
  min-width:0;
}
.tb-profile-grid label.small{grid-column:auto;}
.tb-profile-grid label.wide{grid-column:span 2;}
.tb-profile-grid label span{
  color:#344054;
  font-size:12px;
  font-weight:700;
}
.tb-profile-grid input,
.tb-profile-grid select,
.tb-profile-grid textarea{
  width:100%;
  border:1px solid #d9e3f1;
  border-radius:12px;
  background:#fff;
  color:#111827;
  outline:0;
  min-height:46px;
  padding:10px 12px;
  font-size:14px;
  font-weight:600;
  box-shadow:none;
  transition:.18s ease;
}
.tb-profile-grid textarea{resize:vertical;min-height:88px;}
.tb-profile-grid input:focus,
.tb-profile-grid select:focus,
.tb-profile-grid textarea:focus{
  border-color:#5A149F;
  box-shadow:0 0 0 4px rgba(90,20,159,.10);
}
.tb-profile-address-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.tb-profile-address-grid label.wide{grid-column:span 3;}
.tb-profile-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:6px;
}
.tb-profile-actions span{
  color:#667085;
  font-size:13px;
  font-weight:700;
}
.tb-account-login-required,
.tb-account-empty{
  text-align:center;
  padding:50px 24px;
}
.tb-account-empty-icon{
  width:66px;
  height:66px;
  border-radius:22px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F7F0FB;
  color:#5A149F;
  font-size:25px;
}
.tb-account-login-required h2,
.tb-account-empty h3{
  margin:0 0 8px;
  color:#07101f;
  font-size:24px;
  font-weight:700;
}
.tb-account-login-required p,
.tb-account-empty p{
  margin:0 auto 18px;
  color:#667085;
  max-width:430px;
  font-size:14px;
  font-weight:600;
  line-height:1.6;
}
.tb-account-loading{
  padding:28px;
  border:1px dashed #d8e1ee;
  border-radius:18px;
  color:#667085;
  font-size:14px;
  font-weight:700;
  text-align:center;
}
.tb-bookings-list{display:grid;gap:14px;}
.tb-booking-history-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 150px;
  gap:14px;
  align-items:center;
  border:1px solid #e3ebf5;
  border-radius:18px;
  background:#fff;
  padding:16px;
}
.tb-booking-history-icon{
  width:54px;
  height:54px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#F7F0FB;
  color:#5A149F;
  font-size:20px;
}
.tb-booking-history-top{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:5px;
}
.tb-booking-history-top span{
  color:#5A149F;
  background:#F7F0FB;
  border:1px solid #DCCBE8;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:700;
}
.tb-booking-history-top em{
  color:#087D78;
  background:#E5F7F5;
  border-radius:999px;
  padding:5px 9px;
  font-style:normal;
  font-size:11px;
  font-weight:700;
  text-transform:capitalize;
}
.tb-booking-history-main h3{
  margin:0 0 6px;
  color:#07101f;
  font-size:17px;
  font-weight:700;
  line-height:1.25;
}
.tb-booking-history-main p{
  margin:0 0 9px;
  color:#46546a;
  font-size:13px;
  font-weight:600;
}
.tb-booking-history-main p i{color:#5A149F;margin-right:5px;}
.tb-booking-history-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.tb-booking-history-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid #e9eef6;
  border-radius:999px;
  padding:7px 10px;
  color:#526071;
  font-size:12px;
  font-weight:600;
}
.tb-booking-history-meta i{color:#5A149F;}
.tb-booking-history-price{
  text-align:right;
  border-left:1px solid #edf1f7;
  padding-left:14px;
}
.tb-booking-history-price small{
  display:block;
  color:#667085;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:5px;
}
.tb-booking-history-price strong{
  display:block;
  color:#07101f;
  font-size:22px;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:991px){
  .tb-client-account-shell{grid-template-columns:1fr;}
  .tb-client-account-sidebar{position:static;}
  .tb-client-account-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}
  .tb-client-account-nav a,
  .tb-client-account-nav button{justify-content:center;}
  .tb-profile-grid,.tb-profile-address-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tb-profile-grid label.small{grid-column:auto;}
  .tb-profile-grid label.wide,.tb-profile-address-grid label.wide{grid-column:span 2;}
}
@media(max-width:767px){
  .tb-client-account-hero{padding:38px 0 30px;}
  .tb-client-account-hero h1{font-size:30px;}
  .tb-client-account-panel,.tb-account-login-required{border-radius:20px;padding:18px;}
  .tb-client-account-panel-head{flex-direction:column;}
  .tb-client-account-panel-head small{text-align:left;}
  .tb-profile-grid,.tb-profile-address-grid{grid-template-columns:1fr;}
  .tb-profile-grid label.wide,.tb-profile-address-grid label.wide{grid-column:auto;}
  .tb-client-account-nav{grid-template-columns:1fr;}
  .tb-client-account-nav a,
  .tb-client-account-nav button{justify-content:flex-start;}
  .tb-booking-history-card{grid-template-columns:1fr;}
  .tb-booking-history-price{text-align:left;border-left:0;border-top:1px solid #edf1f7;padding:12px 0 0;}
}


/* My Bookings billing and document actions */
.tb-booking-history-card-v2{grid-template-columns:52px minmax(0,1fr) 190px!important;align-items:center;}
.tb-booking-history-card-v2 .tb-booking-history-top{justify-content:flex-start;gap:10px;}
.tb-booking-history-card-v2 .tb-booking-history-top em{display:none!important;}
.tb-booking-history-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;}
.tb-booking-action-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #ffd7c6;background:#fff4ee;color:#7132B5;border-radius:999px;text-decoration:none;font-size:12px;font-weight:850;padding:9px 12px;line-height:1;box-shadow:0 10px 22px rgba(255,107,37,.08);}
.tb-booking-action-btn:hover{background:#7132B5;color:#fff;border-color:#7132B5;}
.tb-booking-action-btn.invoice{background:#f0fdf4;border-color:#BDE9E5;color:#087646;}
.tb-booking-action-btn.invoice:hover{background:#16a34a;border-color:#16a34a;color:#fff;}
.tb-booking-action-btn.itinerary{background:#F4EFF8;border-color:#DCCBE8;color:#5A149F;}
.tb-booking-action-btn.itinerary:hover{background:#5A149F;border-color:#5A149F;color:#fff;}
.tb-booking-payment-summary{display:grid;gap:8px;text-align:right;}
.tb-booking-payment-summary small{text-transform:uppercase;letter-spacing:.04em;color:#66738a;font-weight:850;font-size:11px;}
.tb-booking-payment-summary strong{font-size:25px!important;color:#0f172a;}
.tb-booking-payment-summary div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#66738a;border-top:1px dashed #e3e9f2;padding-top:7px;}
.tb-booking-payment-summary div b{color:#101827;font-size:13px;font-weight:850;}
@media(max-width:991px){.tb-booking-history-card-v2{grid-template-columns:1fr!important;}.tb-booking-payment-summary{text-align:left;border-left:0!important;border-top:1px solid #edf1f7!important;padding-top:14px!important;}.tb-booking-payment-summary strong{font-size:22px!important;}.tb-booking-payment-summary div{max-width:320px;}}

/* Flight booking listing compact card final */
[data-booking-category="flight"] .tb-bookings-list{gap:14px!important;}
[data-booking-category="flight"] .tb-booking-history-card-v2.tb-flight-list-card{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr) 190px!important;
  gap:14px!important;
  align-items:center!important;
  padding:16px!important;
  border:1px solid #e3ebf5!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  min-height:0!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-icon{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:16px!important;
  background:#F7F0FB!important;
  color:#5A149F!important;
  font-size:20px!important;
  box-shadow:none!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-icon i{font-size:21px!important;}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-main{min-width:0!important;}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-top{margin:0 0 7px!important;display:flex!important;justify-content:flex-start!important;gap:10px!important;}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-top span{
  font-size:11px!important;
  line-height:1!important;
  font-weight:750!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#F7F0FB!important;
  border:1px solid #DCCBE8!important;
  color:#5A149F!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-main h3{
  margin:0 0 6px!important;
  color:#07101f!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-main p{
  margin:0 0 9px!important;
  color:#46546a!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-main p i{color:#5A149F!important;margin-right:5px!important;}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-meta,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-status-row,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-extra,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:8px!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-meta span,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-extra span,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid #e9eef6!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  background:#fff!important;
  color:#526071!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:650!important;
  box-shadow:none!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-meta span i,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge i{color:#5A149F!important;}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge{
  border-color:#f6c56e!important;
  background:#fff9e8!important;
  color:#9a6000!important;
  font-weight:750!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-action-btn{
  padding:9px 13px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-price{
  text-align:right!important;
  border-left:1px solid #edf1f7!important;
  border-top:0!important;
  padding-left:14px!important;
  padding-top:0!important;
  min-height:0!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary small{
  display:block!important;
  margin:0 0 5px!important;
  color:#667085!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary strong{
  display:block!important;
  color:#07101f!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-top:7px!important;
  margin-top:7px!important;
  border-top:1px dashed #e3e9f2!important;
  font-size:12px!important;
  color:#66738a!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary div b{font-size:13px!important;font-weight:800!important;color:#101827!important;}
@media(max-width:991px){
  [data-booking-category="flight"] .tb-booking-history-card-v2.tb-flight-list-card{grid-template-columns:1fr!important;}
  [data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary,
  [data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-price{text-align:left!important;border-left:0!important;border-top:1px solid #edf1f7!important;padding:14px 0 0!important;}
  [data-booking-category="flight"] .tb-flight-list-card .tb-booking-payment-summary div{max-width:320px!important;}
}

/* Hotel booking listing professional card */
[data-booking-category="hotel"] .tb-bookings-list{gap:28px!important;}
[data-booking-category="hotel"] .tb-booking-history-card-v2.tb-hotel-list-card-pro{
  display:grid!important;
  grid-template-columns:156px minmax(0,1fr) 300px!important;
  gap:32px!important;
  align-items:center!important;
  padding:34px 38px!important;
  border:1px solid #e3ebf5!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(15,23,42,.08)!important;
  min-height:0!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-icon{
  width:120px!important;
  height:120px!important;
  min-width:120px!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#F7F0FB 0%,#fff8f4 100%)!important;
  color:#5A149F!important;
  box-shadow:none!important;
  position:relative!important;
  font-size:54px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-icon:before{
  content:'★ ★ ★';
  position:absolute;
  top:23px;
  left:0;
  right:0;
  text-align:center;
  font-size:13px;
  line-height:1;
  letter-spacing:2px;
  color:#5A149F;
  font-family:Arial,sans-serif;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-icon i{font-size:54px!important;margin-top:18px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-main{min-width:0!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-booking-id{margin:0 0 16px!important;display:flex!important;justify-content:flex-start!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-booking-id span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  border:1px solid #ffd1bd!important;
  background:#fff6f1!important;
  color:#7132B5!important;
  border-radius:999px!important;
  padding:10px 16px!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:750!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-main h3{
  margin:0 0 11px!important;
  color:#07132d!important;
  font-size:34px!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  text-shadow:none!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-address-line{
  margin:0 0 22px!important;
  color:#626b7d!important;
  font-size:18px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-address-line i{color:#5A149F!important;margin-right:10px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-inline-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin:0!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-inline-meta span,
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid #dfe8f3!important;
  border-radius:999px!important;
  padding:12px 17px!important;
  background:#fff!important;
  color:#4f5b70!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:550!important;
  box-shadow:none!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-inline-meta span i{color:#5A149F!important;font-size:18px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-status-badge{
  border-color:#f7d89c!important;
  background:#fff8eb!important;
  color:#a66a00!important;
  font-weight:750!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-status-badge i{color:#b77900!important;font-size:10px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-divider{height:1px;background:#e9eef6;margin:26px 0 22px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,1.35fr) minmax(160px,1fr) minmax(160px,1fr)!important;
  gap:16px!important;
  margin:0!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box{
  display:flex!important;
  align-items:flex-start!important;
  gap:15px!important;
  border:1px solid #dde7f2!important;
  border-radius:13px!important;
  padding:18px 20px!important;
  background:#fff!important;
  min-height:94px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box i{color:#5A149F!important;font-size:25px!important;margin-top:4px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box small{
  display:block!important;
  color:#69758a!important;
  font-size:17px!important;
  line-height:1.05!important;
  font-weight:500!important;
  margin-bottom:5px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box strong{
  display:block!important;
  color:#111827!important;
  font-size:17px!important;
  line-height:1.32!important;
  font-weight:750!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-actions{display:flex!important;margin-top:22px!important;gap:10px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-action-btn{
  border-radius:8px!important;
  background:linear-gradient(180deg,#7132B5,#3C1267)!important;
  border:0!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:800!important;
  padding:16px 25px!important;
  min-height:0!important;
  box-shadow:0 16px 30px rgba(255,95,31,.22)!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary,
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-history-price{
  text-align:right!important;
  border-left:1px solid #e1e8f2!important;
  border-top:0!important;
  padding-left:38px!important;
  padding-top:0!important;
  min-height:260px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:0!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary small{
  display:block!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#536179!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:800!important;
  margin-bottom:20px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary strong{
  display:block!important;
  color:#07132d!important;
  font-size:48px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
  font-weight:850!important;
  white-space:nowrap!important;
  margin-bottom:32px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-top:1px dashed #dfe7f1!important;
  padding-top:18px!important;
  margin-top:0!important;
  padding-bottom:18px!important;
  color:#667085!important;
  font-size:21px!important;
  line-height:1.1!important;
  font-weight:500!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary div b{color:#07132d!important;font-size:22px!important;font-weight:850!important;}
[data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary div:last-child b{color:#07132d!important;}
@media(max-width:1199px){
  [data-booking-category="hotel"] .tb-booking-history-card-v2.tb-hotel-list-card-pro{grid-template-columns:120px minmax(0,1fr) 220px!important;padding:26px!important;gap:24px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-main h3{font-size:28px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary strong{font-size:38px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-grid{grid-template-columns:1fr 1fr!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box.is-room{grid-column:span 2;}
}
@media(max-width:991px){
  [data-booking-category="hotel"] .tb-booking-history-card-v2.tb-hotel-list-card-pro{grid-template-columns:1fr!important;padding:22px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-icon{width:96px!important;height:96px!important;min-width:96px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary,
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-history-price{text-align:left!important;border-left:0!important;border-top:1px solid #edf1f7!important;padding:18px 0 0!important;min-height:0!important;display:block!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-price-summary div{max-width:420px!important;}
}
@media(max-width:640px){
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-card-main h3{font-size:24px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-address-line{font-size:14px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-inline-meta span,
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-status-badge{font-size:13px!important;padding:9px 12px!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-grid{grid-template-columns:1fr!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-hotel-stay-box.is-room{grid-column:auto;}
  [data-booking-category="hotel"] .tb-hotel-list-card-pro .tb-booking-action-btn{font-size:15px!important;}
}

/* Hotel booking listing compact final - same structure as flight listing */
[data-booking-category="hotel"] .tb-bookings-list{gap:14px!important;}
[data-booking-category="hotel"] .tb-booking-history-card-v2.tb-hotel-list-card{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 190px!important;
  gap:14px!important;
  align-items:center!important;
  padding:16px!important;
  border:1px solid #e3ebf5!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
  min-height:0!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-icon,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-hotel-card-icon{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  border-radius:16px!important;
  background:#F7F0FB!important;
  color:#5A149F!important;
  font-size:20px!important;
  box-shadow:none!important;
  position:relative!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-hotel-card-icon:before{display:none!important;content:none!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-icon i{font-size:21px!important;margin:0!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-main{min-width:0!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-top{margin:0 0 7px!important;display:flex!important;justify-content:flex-start!important;gap:10px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-top span{
  font-size:11px!important;
  line-height:1!important;
  font-weight:750!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#F7F0FB!important;
  border:1px solid #DCCBE8!important;
  color:#5A149F!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-main h3{
  margin:0 0 6px!important;
  color:#07101f!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-main p{
  margin:0 0 9px!important;
  color:#46546a!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:600!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-main p i{color:#5A149F!important;margin-right:5px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-meta,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-extra,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:8px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-meta span,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-extra span,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid #e9eef6!important;
  border-radius:999px!important;
  padding:7px 10px!important;
  background:#fff!important;
  color:#526071!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:650!important;
  box-shadow:none!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-meta span i,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-extra span i{color:#5A149F!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge{
  border-color:#f6c56e!important;
  background:#fff9e8!important;
  color:#9a6000!important;
  font-weight:750!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge i{color:#b77900!important;font-size:10px!important;}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-action-btn{
  padding:9px 13px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-price{
  text-align:right!important;
  border-left:1px solid #edf1f7!important;
  border-top:0!important;
  padding-left:14px!important;
  padding-top:0!important;
  min-height:0!important;
  display:grid!important;
  gap:8px!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary small{
  display:block!important;
  margin:0 0 5px!important;
  color:#667085!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary strong{
  display:block!important;
  color:#07101f!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding-top:7px!important;
  margin-top:7px!important;
  border-top:1px dashed #e3e9f2!important;
  font-size:12px!important;
  color:#66738a!important;
}
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary div b{font-size:13px!important;font-weight:800!important;color:#101827!important;}
@media(max-width:991px){
  [data-booking-category="hotel"] .tb-booking-history-card-v2.tb-hotel-list-card{grid-template-columns:1fr!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary,
  [data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-price{text-align:left!important;border-left:0!important;border-top:1px solid #edf1f7!important;padding:14px 0 0!important;}
  [data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-payment-summary div{max-width:320px!important;}
}

/* Client booking document buttons: make Ticket/Voucher match View Itinerary button */
.tb-booking-action-btn.ticket,
.tb-booking-action-btn.voucher,
.tb-booking-action-btn.hotel_voucher{
  background:#F4EFF8!important;
  border-color:#DCCBE8!important;
  color:#5A149F!important;
}
.tb-booking-action-btn.ticket:hover,
.tb-booking-action-btn.voucher:hover,
.tb-booking-action-btn.hotel_voucher:hover{
  background:#5A149F!important;
  border-color:#5A149F!important;
  color:#fff!important;
}

/* Client booking list ID labels: plain gray text, no badge background */
.tb-booking-history-top span,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-history-top span,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-history-top span{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#6b7280!important;
  padding:0!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700!important;
}


/* Client account flight/hotel booking status badges - solid colors without dot */
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge{
  border:0!important;
  color:#fff!important;
  gap:0!important;
  padding:7px 12px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 18px rgba(16,24,40,.10)!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge i,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge i{
  display:none!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-pending,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-hold,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-on_hold,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-pending,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-hold,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-on_hold{
  background:linear-gradient(135deg,#7132B5 0%,#3C1267 100%)!important;
  color:#fff!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-confirmed,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-confirm,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-completed,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-success,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-confirmed,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-confirm,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-completed,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-success{
  background:linear-gradient(135deg,#18b26b 0%,#079455 100%)!important;
  color:#fff!important;
}
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-cancelled,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-canceled,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-cancel,
[data-booking-category="flight"] .tb-flight-list-card .tb-booking-status-badge.is-failed,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-cancelled,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-canceled,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-cancel,
[data-booking-category="hotel"] .tb-hotel-list-card .tb-booking-status-badge.is-failed{
  background:linear-gradient(135deg,#f04438 0%,#d92d20 100%)!important;
  color:#fff!important;
}

/* Travzigo-style homepage redesign patch - UI only, CRM/API hooks unchanged */
body.tb-home-page{
  --tb-orange:#5A149F;
  --tb-navy:#2C1150;
  --tb-ink:#182438;
  --tb-muted:#68748a;
  --tb-cream:#fff8f1;
  --tb-blue-soft:#F4EFF8;
  --tb-card-border:#e9edf4;
  --tb-home-shadow:0 18px 42px rgba(15,38,72,.12);
  font-family:"DM Sans",Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  background:#fff!important;
  color:var(--tb-ink)!important;
}
body.tb-home-page h1,
body.tb-home-page h2,
body.tb-home-page .tb-section-title h2{
  font-family:"Playfair Display",Georgia,serif!important;
  letter-spacing:-.02em;
}
body.tb-home-page .container{max-width:1180px!important;width:100%;padding-left:18px!important;padding-right:18px!important;}
body.tb-home-page .tb-topbar{display:none!important;}
body.tb-home-page .tb-header{background:#fff!important;border-top:7px solid #2C1150;border-bottom:1px solid #e8edf4;box-shadow:0 3px 18px rgba(7,31,64,.07)!important;backdrop-filter:none!important;}
body.tb-home-page .tb-navbar{min-height:62px!important;}
body.tb-home-page .navbar-brand img{height:42px!important;max-width:145px;object-fit:contain;}
body.tb-home-page .tb-navbar .nav-link{font-size:13px!important;font-weight:800!important;padding:22px 12px!important;color:#17243b!important;}
body.tb-home-page .tb-navbar .nav-link:after{height:2px;bottom:14px;left:12px;right:12px;background:var(--tb-orange)!important;}
body.tb-home-page .tb-client-login-btn{padding:9px 18px!important;border-radius:999px!important;font-size:12px!important;box-shadow:none!important;}
body.tb-home-page .tb-mega-menu{border-radius:16px!important;box-shadow:0 18px 40px rgba(12,33,63,.16)!important;}

body.tb-home-page .tb-section{padding:78px 0!important;}
body.tb-home-page .tb-section-title{text-align:center!important;max-width:760px!important;margin:0 auto 38px!important;}
body.tb-home-page .tb-section-title .tb-script,
body.tb-home-page .tb-script{font-family:"DM Sans",Inter,sans-serif!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--tb-orange)!important;margin:0 0 8px!important;}
body.tb-home-page .tb-section-title h2{font-size:38px!important;line-height:1.08!important;font-weight:800!important;margin:0!important;color:#132039!important;text-transform:none!important;}
body.tb-home-page .tb-section-title h2 strong{color:var(--tb-orange)!important;font-style:italic!important;}
body.tb-home-page .tb-section-title p{font-size:14px!important;line-height:1.7!important;color:#6b7587!important;max-width:620px!important;margin:10px auto 0!important;}
body.tb-home-page .tb-tight-title{margin-bottom:28px!important;}
body.tb-home-page .tb-tight-title h2{font-family:"DM Sans",Inter,sans-serif!important;font-size:24px!important;font-weight:900!important;}
body.tb-home-page .btn.tb-btn,
body.tb-home-page .tb-btn{background:linear-gradient(135deg,#7132B5,#3C1267)!important;border:0!important;color:#fff!important;border-radius:999px!important;font-weight:900!important;box-shadow:0 12px 26px rgba(90,20,159,.26)!important;}
body.tb-home-page .tb-btn:hover{transform:translateY(-2px);}

body.tb-home-page .tb-travzigo-hero{height:430px!important;min-height:430px!important;background:#07182d!important;}
body.tb-home-page .tb-travzigo-hero .tb-hero-slide{background-position:center!important;}
body.tb-home-page .tb-travzigo-hero .tb-hero-overlay{background:linear-gradient(90deg,rgba(5,17,35,.89) 0%,rgba(5,17,35,.70) 38%,rgba(5,17,35,.24) 100%)!important;}
body.tb-home-page .tb-travzigo-hero .container{align-items:center!important;}
body.tb-home-page .tb-hero-content{max-width:600px!important;padding-top:22px!important;color:#fff!important;}
body.tb-home-page .tb-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff;font-weight:800;font-size:12px;padding:8px 12px;margin-bottom:16px;}
body.tb-home-page .tb-kicker i{color:var(--tb-orange);}
body.tb-home-page .tb-hero h1{font-family:"Playfair Display",Georgia,serif!important;font-size:50px!important;line-height:.96!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.03em!important;margin:0 0 16px!important;color:#fff!important;text-shadow:0 14px 30px rgba(0,0,0,.30)!important;}
body.tb-home-page .tb-hero p{font-size:15px!important;line-height:1.65!important;color:rgba(255,255,255,.88)!important;max-width:520px!important;margin:0 0 22px!important;}
body.tb-home-page .tb-hero-actions{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;}
body.tb-home-page .tb-hero-primary{padding:11px 20px!important;font-size:13px!important;}
body.tb-home-page .tb-btn-outline-light{padding:10px 18px!important;border-radius:999px!important;font-size:13px!important;font-weight:900!important;border:1px solid rgba(255,255,255,.45)!important;background:rgba(255,255,255,.08)!important;color:#fff!important;}
body.tb-home-page .tb-hero-mini{display:flex!important;gap:16px!important;align-items:center!important;flex-wrap:wrap!important;margin-top:16px!important;color:rgba(255,255,255,.82)!important;font-size:12px!important;font-weight:700!important;}
body.tb-home-page .tb-hero-mini i{color:var(--tb-orange)!important;}
body.tb-home-page .tb-hero-arrow{width:34px!important;height:34px!important;background:#fff!important;color:#0b2b51!important;box-shadow:0 10px 22px rgba(0,0,0,.18)!important;font-size:13px!important;}
body.tb-home-page .tb-prev{left:22px!important;}
body.tb-home-page .tb-next{right:22px!important;}
body.tb-home-page .tb-hero-dots{bottom:18px!important;}
body.tb-home-page .tb-hero-dots button{width:7px!important;height:7px!important;}
body.tb-home-page .tb-hero-dots button.active{width:24px!important;background:var(--tb-orange)!important;}

body.tb-home-page .tb-top-destination-section{padding:42px 0 60px!important;background:#fff!important;}
body.tb-home-page .tb-destination-block{margin-top:0!important;}
body.tb-home-page .tb-destination-block + .tb-destination-block{margin-top:46px!important;}
body.tb-home-page .tb-destination-block h3{font-family:"DM Sans",Inter,sans-serif!important;font-size:17px!important;font-weight:900!important;color:#17243b!important;margin:0 0 18px!important;}
body.tb-home-page .tb-home-destination-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important;}
body.tb-home-page .tb-home-destination-card{display:block!important;background:#fff!important;border:1px solid var(--tb-card-border)!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(13,43,82,.10)!important;color:#17243b!important;transition:.25s ease!important;min-width:0!important;}
body.tb-home-page .tb-home-destination-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 40px rgba(13,43,82,.16)!important;color:#17243b!important;}
body.tb-home-page .tb-home-destination-media{display:block!important;height:150px!important;overflow:hidden!important;background:#edf3f9!important;}
body.tb-home-page .tb-home-destination-media img{width:100%!important;height:100%!important;object-fit:cover!important;transition:.35s!important;}
body.tb-home-page .tb-home-destination-card:hover img{transform:scale(1.06)!important;}
body.tb-home-page .tb-home-destination-info{display:block!important;padding:15px!important;}
body.tb-home-page .tb-home-destination-info strong{display:block!important;font-size:16px!important;line-height:1.25!important;font-weight:900!important;margin-bottom:6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body.tb-home-page .tb-home-destination-info small{display:block!important;font-size:12px!important;color:#6c7788!important;margin-bottom:12px!important;}
body.tb-home-page .tb-home-destination-info em{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:34px!important;border-radius:8px!important;background:var(--tb-orange)!important;color:#fff!important;font-style:normal!important;font-size:12px!important;font-weight:900!important;}

body.tb-home-page .tb-journey-section{background:linear-gradient(90deg,#fff6ee 0%,#F4EFF8 100%)!important;padding:78px 0!important;}
body.tb-home-page .tb-journey-card{display:grid!important;grid-template-columns:1fr 1.05fr!important;gap:46px!important;align-items:center!important;max-width:1030px!important;margin:0 auto!important;}
body.tb-home-page .tb-journey-visual{position:relative!important;border-radius:22px!important;overflow:hidden!important;min-height:350px!important;box-shadow:var(--tb-home-shadow)!important;}
body.tb-home-page .tb-journey-visual img{width:100%!important;height:100%!important;min-height:350px!important;object-fit:cover!important;}
body.tb-home-page .tb-journey-visual span{position:absolute!important;left:20px!important;bottom:20px!important;background:#fff!important;border-radius:14px!important;padding:12px 15px!important;font-size:12px!important;color:#17243b!important;box-shadow:0 12px 26px rgba(0,0,0,.16)!important;}
body.tb-home-page .tb-journey-visual span strong{display:block!important;color:var(--tb-orange)!important;font-size:14px!important;}
body.tb-home-page .tb-journey-copy h2{font-size:36px!important;line-height:1.08!important;margin:0 0 14px!important;color:#132039!important;}
body.tb-home-page .tb-journey-copy h2 strong{color:var(--tb-orange)!important;font-style:italic!important;}
body.tb-home-page .tb-journey-copy p{font-size:14px!important;line-height:1.75!important;color:#647084!important;margin:0 0 20px!important;}
body.tb-home-page .tb-journey-points{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:20px 0!important;}
body.tb-home-page .tb-journey-points div{background:#fff!important;border:1px solid #e8edf4!important;border-radius:13px!important;padding:14px!important;box-shadow:0 8px 20px rgba(13,43,82,.06)!important;display:grid!important;grid-template-columns:34px 1fr!important;column-gap:10px!important;align-items:start!important;}
body.tb-home-page .tb-journey-points i{grid-row:1/3!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#F4EFF8!important;color:#51127D!important;display:flex!important;align-items:center!important;justify-content:center!important;}
body.tb-home-page .tb-journey-points strong{font-size:13px!important;font-weight:900!important;}
body.tb-home-page .tb-journey-points small{font-size:11px!important;color:#6e7889!important;line-height:1.45!important;}
body.tb-home-page .tb-link-btn{font-size:13px!important;font-weight:900!important;color:#2C1150!important;padding:10px 16px!important;border-radius:999px!important;background:#fff!important;border:1px solid #e3e9f2!important;}
body.tb-home-page .tb-journey-actions{display:flex!important;gap:12px!important;align-items:center!important;}

body.tb-home-page .tb-package-showcase-section{background:#fff!important;}
body.tb-home-page .tb-home-package-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important;}
body.tb-home-page .tb-home-package-card{background:#fff!important;border:1px solid var(--tb-card-border)!important;border-radius:16px!important;box-shadow:0 12px 28px rgba(13,43,82,.09)!important;overflow:hidden!important;transition:.25s!important;min-width:0!important;}
body.tb-home-page .tb-home-package-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 38px rgba(13,43,82,.15)!important;}
body.tb-home-page .tb-home-package-media{position:relative!important;display:block!important;height:168px!important;overflow:hidden!important;background:#eaf1f8!important;}
body.tb-home-page .tb-home-package-media img{width:100%!important;height:100%!important;object-fit:cover!important;transition:.35s!important;}
body.tb-home-page .tb-home-package-card:hover .tb-home-package-media img{transform:scale(1.06)!important;}
body.tb-home-page .tb-home-package-badge{position:absolute!important;left:12px!important;top:12px!important;display:inline-flex!important;align-items:center!important;gap:5px!important;background:#fff!important;color:var(--tb-orange)!important;border-radius:999px!important;padding:6px 10px!important;font-size:10px!important;font-weight:900!important;max-width:calc(100% - 24px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important;}
body.tb-home-page .tb-home-package-body{padding:15px!important;}
body.tb-home-page .tb-home-package-body h3{font-family:"DM Sans",Inter,sans-serif!important;font-size:15px!important;line-height:1.35!important;font-weight:900!important;min-height:40px!important;margin:0 0 10px!important;color:#17243b!important;}
body.tb-home-page .tb-home-package-body h3 a{color:inherit!important;}
body.tb-home-page .tb-home-package-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:11px!important;color:#697688!important;margin-bottom:10px!important;}
body.tb-home-page .tb-home-package-meta i{color:#51127D!important;}
body.tb-home-page .tb-destination-badges{margin:8px 0 10px!important;gap:5px!important;}
body.tb-home-page .tb-destination-badges span{font-size:10px!important;padding:4px 8px!important;background:#f5f7fb!important;border-color:#e7edf5!important;color:#657086!important;}
body.tb-home-page .tb-service-icons{gap:6px!important;margin:8px 0 12px!important;}
body.tb-home-page .tb-service-icons span{width:24px!important;height:24px!important;border-radius:8px!important;font-size:11px!important;background:#f6f9fc!important;border:1px solid #e9eef5!important;color:#51127D!important;}
body.tb-home-page .tb-home-package-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-top:1px solid #edf1f6!important;padding-top:12px!important;}
body.tb-home-page .tb-home-package-bottom strong{font-size:14px!important;font-weight:900!important;color:#132039!important;white-space:nowrap!important;}
body.tb-home-page .tb-home-package-bottom a{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:32px!important;min-width:92px!important;border-radius:8px!important;background:var(--tb-orange)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;padding:0 12px!important;}

body.tb-home-page .tb-planning-section{background:linear-gradient(90deg,#FAF8FC 0%,#eff9ff 100%)!important;}
body.tb-home-page .tb-planning-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;max-width:840px!important;margin:0 auto!important;}
body.tb-home-page .tb-planning-card{display:grid!important;grid-template-columns:42px 1fr!important;gap:12px!important;background:#fff!important;border:1px solid #e8edf4!important;border-radius:14px!important;padding:18px!important;box-shadow:0 10px 24px rgba(13,43,82,.08)!important;text-align:left!important;min-height:128px!important;}
body.tb-home-page .tb-planning-card i{grid-row:1/3!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#F4EFF8!important;color:#51127D!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;}
body.tb-home-page .tb-planning-card h3{font-family:"DM Sans",Inter,sans-serif!important;font-size:14px!important;font-weight:900!important;margin:0 0 4px!important;color:#17243b!important;}
body.tb-home-page .tb-planning-card p{font-size:12px!important;line-height:1.5!important;color:#6b7587!important;margin:0!important;}

body.tb-home-page .tb-mini-cta-section{background:linear-gradient(90deg,#131c3a,#075ca6)!important;padding:0!important;}
body.tb-home-page .tb-mini-cta-card{min-height:76px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;color:#fff!important;}
body.tb-home-page .tb-mini-cta-card span{display:block!important;color:#ffb384!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.15em!important;font-weight:900!important;margin-bottom:4px!important;}
body.tb-home-page .tb-mini-cta-card strong{font-size:18px!important;font-weight:900!important;}
body.tb-home-page .tb-mini-cta-card .tb-btn{background:#fff!important;color:var(--tb-orange)!important;box-shadow:none!important;}

body.tb-home-page .tb-category-mood-section{position:relative!important;background:linear-gradient(180deg,rgba(9,26,48,.10),rgba(9,26,48,.24)), url('../images/hero-beach.svg') center/cover no-repeat!important;}
body.tb-home-page .tb-category-mood-section .tb-section-title h2,
body.tb-home-page .tb-category-mood-section .tb-section-title p{color:#17243b!important;}
body.tb-home-page .tb-category-tabs{display:flex!important;justify-content:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 28px!important;}
body.tb-home-page .tb-category-tabs button{border:1px solid #e5ebf2!important;background:#fff!important;color:#17243b!important;border-radius:999px!important;padding:9px 18px!important;font-size:12px!important;font-weight:900!important;box-shadow:0 6px 18px rgba(13,43,82,.07)!important;}
body.tb-home-page .tb-category-tabs button.active{background:var(--tb-orange)!important;color:#fff!important;border-color:var(--tb-orange)!important;}
body.tb-home-page .tb-category-panel{display:none!important;}
body.tb-home-page .tb-category-panel.active{display:block!important;}
body.tb-home-page .tb-theme-package-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:26px!important;}

body.tb-home-page .tb-assist-section{background:#FAF8FC!important;}
body.tb-home-page .tb-assist-card{display:grid!important;grid-template-columns:.85fr 1.15fr!important;gap:54px!important;align-items:center!important;max-width:900px!important;margin:0 auto!important;}
body.tb-home-page .tb-phone-mockup{width:230px!important;min-height:410px!important;border:9px solid #162238!important;border-radius:38px!important;background:#f7fbff!important;margin:0 auto!important;padding:46px 16px 20px!important;box-shadow:0 20px 42px rgba(10,25,48,.20)!important;position:relative!important;}
body.tb-home-page .tb-phone-top{position:absolute!important;top:14px!important;left:50%!important;transform:translateX(-50%)!important;width:72px!important;height:8px!important;border-radius:999px!important;background:#162238!important;}
body.tb-home-page .tb-chat-bubble{font-size:12px!important;line-height:1.35!important;border-radius:14px!important;padding:12px!important;margin-bottom:14px!important;box-shadow:0 8px 18px rgba(13,43,82,.08)!important;}
body.tb-home-page .tb-chat-bubble.incoming{background:#fff!important;color:#17243b!important;margin-right:24px!important;}
body.tb-home-page .tb-chat-bubble.outgoing{background:var(--tb-orange)!important;color:#fff!important;margin-left:24px!important;}
body.tb-home-page .tb-chat-footer{position:absolute!important;left:16px!important;right:16px!important;bottom:16px!important;height:35px!important;border-radius:999px!important;background:#fff!important;border:1px solid #e7edf5!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:11px!important;font-weight:800!important;color:#24a05a!important;}
body.tb-home-page .tb-assist-copy h2{font-size:36px!important;line-height:1.08!important;margin:0 0 14px!important;color:#132039!important;}
body.tb-home-page .tb-assist-copy h2 strong{color:var(--tb-orange)!important;font-style:italic!important;}
body.tb-home-page .tb-assist-copy p{font-size:14px!important;line-height:1.75!important;color:#647084!important;margin:0 0 18px!important;}
body.tb-home-page .tb-assist-list{display:grid!important;gap:12px!important;}
body.tb-home-page .tb-assist-list div{display:grid!important;grid-template-columns:38px 1fr!important;column-gap:12px!important;align-items:center!important;background:#fff!important;border:1px solid #e8edf4!important;border-radius:14px!important;padding:14px!important;box-shadow:0 8px 20px rgba(13,43,82,.06)!important;}
body.tb-home-page .tb-assist-list i{grid-row:1/3!important;width:38px!important;height:38px!important;border-radius:11px!important;background:#F4EFF8!important;color:#51127D!important;display:flex!important;align-items:center!important;justify-content:center!important;}
body.tb-home-page .tb-assist-list strong{font-size:13px!important;font-weight:900!important;color:#17243b!important;}
body.tb-home-page .tb-assist-list small{font-size:11px!important;color:#6b7587!important;}

body.tb-home-page .tb-testimonial-section{background:linear-gradient(90deg,#FAF8FC 0%,#eff9ff 100%)!important;}
body.tb-home-page .tb-testimonial-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important;}
body.tb-home-page .tb-testimonial-card{background:#fff!important;border:1px solid #e8edf4!important;border-radius:14px!important;box-shadow:0 10px 24px rgba(13,43,82,.08)!important;padding:18px!important;min-height:210px!important;display:flex!important;flex-direction:column!important;}
body.tb-home-page .tb-testimonial-card .tb-stars{font-size:12px!important;color:#0F9F9A!important;margin-bottom:12px!important;letter-spacing:1px!important;}
body.tb-home-page .tb-testimonial-card p{font-size:12px!important;line-height:1.65!important;color:#4f5d72!important;margin:0 0 16px!important;flex:1!important;}
body.tb-home-page .tb-testimonial-author{display:flex!important;align-items:center!important;gap:10px!important;margin-top:auto!important;}
body.tb-home-page .tb-testimonial-author img{width:32px!important;height:32px!important;border-radius:50%!important;object-fit:cover!important;}
body.tb-home-page .tb-testimonial-author h4{font-family:"DM Sans",Inter,sans-serif!important;font-size:12px!important;font-weight:900!important;margin:0!important;color:#17243b!important;}
body.tb-home-page .tb-testimonial-author span{font-size:10px!important;color:#748094!important;}

body.tb-home-page .tb-home-lead-section{background:#eaf7ff!important;padding:78px 0 86px!important;}
body.tb-home-page .tb-home-lead-card{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:54px!important;align-items:center!important;max-width:980px!important;margin:0 auto!important;background:#0d3a75!important;border-radius:18px!important;padding:54px!important;color:#fff!important;box-shadow:0 26px 55px rgba(7,43,89,.22)!important;position:relative!important;overflow:hidden!important;}
body.tb-home-page .tb-home-lead-card:after{content:"";position:absolute;right:-70px;bottom:-95px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12);}
body.tb-home-page .tb-home-lead-copy{position:relative;z-index:2;}
body.tb-home-page .tb-home-lead-copy h2{font-size:38px!important;line-height:1.08!important;margin:0 0 14px!important;color:#fff!important;}
body.tb-home-page .tb-home-lead-copy h2 strong{color:#0F9F9A!important;font-style:italic!important;}
body.tb-home-page .tb-home-lead-copy p{font-size:14px!important;line-height:1.7!important;color:rgba(255,255,255,.82)!important;margin:0 0 22px!important;}
body.tb-home-page .tb-home-lead-stats{display:flex!important;gap:12px!important;flex-wrap:wrap!important;}
body.tb-home-page .tb-home-lead-stats span{display:block!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:12px!important;padding:12px 16px!important;min-width:92px!important;}
body.tb-home-page .tb-home-lead-stats strong{display:block!important;font-size:18px!important;font-weight:900!important;color:#fff!important;}
body.tb-home-page .tb-home-lead-stats small{display:block!important;font-size:10px!important;color:rgba(255,255,255,.72)!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
body.tb-home-page .tb-home-lead-form{position:relative!important;z-index:2!important;background:#fff!important;border-radius:14px!important;padding:24px!important;box-shadow:0 16px 36px rgba(0,0,0,.14)!important;}
body.tb-home-page .tb-home-lead-form h3{font-family:"DM Sans",Inter,sans-serif!important;font-size:17px!important;font-weight:900!important;color:#17243b!important;margin:0 0 16px!important;}
body.tb-home-page .tb-home-lead-form label{display:block!important;margin-bottom:12px!important;}
body.tb-home-page .tb-home-lead-form label span{display:block!important;font-size:11px!important;color:#344359!important;font-weight:900!important;margin-bottom:6px!important;}
body.tb-home-page .tb-home-lead-form input,
body.tb-home-page .tb-home-lead-form textarea{width:100%!important;border:1px solid #e2e8f0!important;border-radius:8px!important;height:42px!important;padding:0 12px!important;font-size:13px!important;color:#17243b!important;outline:none!important;background:#fff!important;}
body.tb-home-page .tb-home-lead-form textarea{height:auto!important;padding-top:10px!important;resize:vertical!important;}
body.tb-home-page .tb-home-lead-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
body.tb-home-page .tb-home-captcha-row{display:grid!important;grid-template-columns:1fr auto!important;gap:12px!important;align-items:end!important;}
body.tb-home-page .tb-home-captcha-row label{margin-bottom:0!important;}
body.tb-home-page .tb-home-captcha-row .tb-btn{height:42px!important;padding:0 18px!important;font-size:12px!important;}

body.tb-home-page .tb-footer{background:#150B28!important;padding:56px 0 22px!important;color:#d7e2ef!important;}
body.tb-home-page .tb-footer .container{background:#092647!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:16px!important;padding-top:34px!important;padding-bottom:18px!important;box-shadow:0 20px 45px rgba(0,0,0,.16)!important;}
body.tb-home-page .tb-footer-logo{height:40px!important;margin-bottom:16px!important;}
body.tb-home-page .tb-footer p,
body.tb-home-page .tb-footer li,
body.tb-home-page .tb-footer a{font-size:12px!important;line-height:1.7!important;color:#b8c8db!important;}
body.tb-home-page .tb-footer h4{font-size:14px!important;font-weight:900!important;color:#fff!important;margin-bottom:14px!important;}
body.tb-home-page .tb-footer-social a{width:30px!important;height:30px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;color:#fff!important;}
body.tb-home-page .tb-footer-bottom{border-top:1px solid rgba(255,255,255,.10)!important;margin-top:28px!important;padding-top:18px!important;}

@media (max-width: 1199px){
  body.tb-home-page .tb-home-destination-grid,
  body.tb-home-page .tb-home-package-grid,
  body.tb-home-page .tb-theme-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.tb-home-page .tb-testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width: 991px){
  body.tb-home-page .tb-navbar .nav-link{padding:12px 0!important;}
  body.tb-home-page .tb-travzigo-hero{height:520px!important;min-height:520px!important;}
  body.tb-home-page .tb-hero h1{font-size:42px!important;}
  body.tb-home-page .tb-journey-card,
  body.tb-home-page .tb-assist-card,
  body.tb-home-page .tb-home-lead-card{grid-template-columns:1fr!important;}
  body.tb-home-page .tb-planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.tb-home-page .tb-home-lead-card{padding:36px!important;}
}
@media (max-width: 767px){
  body.tb-home-page .tb-section{padding:52px 0!important;}
  body.tb-home-page .tb-section-title h2{font-size:30px!important;}
  body.tb-home-page .tb-home-destination-grid,
  body.tb-home-page .tb-home-package-grid,
  body.tb-home-page .tb-theme-package-grid,
  body.tb-home-page .tb-testimonial-grid{grid-template-columns:1fr!important;gap:18px!important;}
  body.tb-home-page .tb-home-destination-media{height:190px!important;}
  body.tb-home-page .tb-home-package-media{height:210px!important;}
  body.tb-home-page .tb-journey-points,
  body.tb-home-page .tb-planning-grid,
  body.tb-home-page .tb-home-lead-row,
  body.tb-home-page .tb-home-captcha-row{grid-template-columns:1fr!important;}
  body.tb-home-page .tb-mini-cta-card{min-height:auto!important;padding:18px 0!important;align-items:flex-start!important;flex-direction:column!important;}
  body.tb-home-page .tb-home-lead-card{padding:26px!important;border-radius:16px!important;}
  body.tb-home-page .tb-footer .container{border-radius:0!important;}
}


/* Final Travzigo match corrections - 2026-06-30 */
body.tb-home-page{
  font-size:16px!important;
  color:#2C1150!important;
  background:#fff!important;
}
body.tb-home-page .container{
  max-width:1180px!important;
}
body.tb-home-page .tb-topbar,
.tb-topbar{
  background:#0b2554!important;
  border-bottom:0!important;
  color:#fff!important;
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
}
.tb-topbar .container{padding-top:0!important;padding-bottom:0!important;}
.tb-topbar-inner{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
}
.tb-topbar-social{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;}
.tb-topbar-social a,
.tb-social.tb-topbar-social a{
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#5A149F!important;
  font-size:17px!important;
  transition:.22s!important;
}
.tb-topbar-social a:hover{background:#5A149F!important;color:#fff!important;transform:translateY(-2px)!important;}
.tb-topbar-email{color:#fff!important;font-size:20px!important;font-weight:900!important;letter-spacing:.1px!important;}
.tb-topbar-email:hover{color:#ffb27e!important;}
body.tb-home-page .tb-header{box-shadow:0 5px 20px rgba(8,28,61,.07)!important;}
body.tb-home-page .tb-navbar{min-height:58px!important;}
body.tb-home-page .tb-navbar .nav-link{font-size:13px!important;font-weight:850!important;color:#14223f!important;}
body.tb-home-page .tb-client-login-btn{font-size:12px!important;min-height:32px!important;padding:0 18px!important;border-radius:999px!important;}

body.tb-home-page .tb-travzigo-hero{
  height:430px!important;
  min-height:430px!important;
  background:#150B28!important;
}
body.tb-home-page .tb-hero-content{max-width:720px!important;padding-top:22px!important;}
body.tb-home-page .tb-kicker{
  display:inline-flex!important;
  align-items:center!important;
  margin-bottom:12px!important;
  padding:0!important;
  background:transparent!important;
  color:#5A149F!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.tb-home-page .tb-hero-actions{display:none!important;}
body.tb-home-page .tb-hero h1{font-size:62px!important;line-height:.95!important;letter-spacing:-1.8px!important;margin:0 0 16px!important;color:#fff!important;}
body.tb-home-page .tb-hero p{font-size:18px!important;line-height:1.65!important;max-width:640px!important;color:rgba(255,255,255,.88)!important;}
body.tb-home-page .tb-hero-mini span{font-size:13px!important;color:#fff!important;}
body.tb-home-page .tb-hero-mini i{color:#5A149F!important;}

body.tb-home-page .tb-section{padding:76px 0!important;}
body.tb-home-page .tb-section-title{margin-bottom:38px!important;}
body.tb-home-page .tb-section-title .tb-script,
body.tb-home-page .tb-section-title>span.tb-script{
  font-family:"DM Sans",Inter,sans-serif!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  color:#5A149F!important;
}
body.tb-home-page .tb-section-title h2{
  font-size:46px!important;
  line-height:1.05!important;
  letter-spacing:-1px!important;
  color:#081f48!important;
  margin:8px 0 12px!important;
}
body.tb-home-page .tb-section-title h2 strong{color:#5A149F!important;font-style:italic!important;}
body.tb-home-page .tb-section-title p{font-size:17px!important;line-height:1.7!important;color:#59687d!important;max-width:740px!important;margin-left:auto!important;margin-right:auto!important;}

body.tb-home-page .tb-top-destination-section{background:#fff!important;padding-top:62px!important;}
body.tb-home-page .tb-destination-block h3{
  font-size:24px!important;
  font-weight:900!important;
  color:#2C1150!important;
  margin:0 0 22px!important;
}
body.tb-home-page .tb-destination-block-international{margin-top:46px!important;}
body.tb-home-page .tb-home-destination-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:32px!important;
}
body.tb-home-page .tb-home-destination-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:505px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dde5ef!important;
  box-shadow:0 18px 36px rgba(8,30,65,.10)!important;
  transition:.24s!important;
}
body.tb-home-page .tb-home-destination-card:hover{transform:translateY(-5px)!important;box-shadow:0 22px 44px rgba(8,30,65,.16)!important;}
body.tb-home-page .tb-home-destination-media{
  display:block!important;
  height:245px!important;
  min-height:245px!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#edf3fb!important;
}
body.tb-home-page .tb-home-destination-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
body.tb-home-page .tb-home-destination-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  padding:26px 24px 24px!important;
}
body.tb-home-page .tb-home-destination-body h3{
  font-family:"DM Sans",Inter,sans-serif!important;
  font-size:26px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#2C1150!important;
  margin:0 0 14px!important;
}
body.tb-home-page .tb-home-destination-body p{
  font-size:17px!important;
  line-height:1.55!important;
  color:#667389!important;
  margin:0 0 22px!important;
}
body.tb-home-page .tb-home-destination-actions{
  display:grid!important;
  grid-template-columns:48px 1fr!important;
  gap:12px!important;
  margin-top:auto!important;
  margin-bottom:16px!important;
}
body.tb-home-page .tb-destination-whatsapp{
  height:48px!important;
  width:48px!important;
  border-radius:12px!important;
  background:#e9fbef!important;
  color:#00c66b!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:28px!important;
}
body.tb-home-page .tb-destination-callback{
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe2ec!important;
  border-radius:12px!important;
  background:#f7f9fc!important;
  color:#6d7586!important;
  font-size:16px!important;
  font-weight:900!important;
}
body.tb-home-page .tb-destination-more{
  height:56px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#7132B5,#5A149F)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:18px!important;
  font-weight:900!important;
  box-shadow:0 12px 22px rgba(239,90,22,.18)!important;
}

body.tb-home-page .tb-home-package-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:34px!important;
}
body.tb-home-page .tb-home-package-card{
  border-radius:22px!important;
  min-height:430px!important;
  box-shadow:0 16px 34px rgba(8,30,65,.10)!important;
}
body.tb-home-page .tb-home-package-media{height:230px!important;}
body.tb-home-page .tb-home-package-badge{display:none!important;}
body.tb-home-page .tb-home-package-body{padding:24px!important;}
body.tb-home-page .tb-home-package-body h3{font-size:22px!important;line-height:1.2!important;margin:0 0 22px!important;}
body.tb-home-page .tb-home-package-meta span{font-size:15px!important;}
body.tb-home-page .tb-home-package-bottom strong{font-size:19px!important;}
body.tb-home-page .tb-home-package-bottom a{height:42px!important;min-width:118px!important;font-size:14px!important;border-radius:12px!important;}

body.tb-home-page .tb-journey-section{background:linear-gradient(90deg,#fff7ef 0%,#F4EFF8 100%)!important;}
body.tb-home-page .tb-journey-card{max-width:1030px!important;gap:56px!important;}
body.tb-home-page .tb-journey-visual img{height:360px!important;border-radius:20px!important;}
body.tb-home-page .tb-journey-copy h2{font-size:44px!important;line-height:1.05!important;color:#2C1150!important;}
body.tb-home-page .tb-journey-copy p{font-size:17px!important;line-height:1.7!important;}
body.tb-home-page .tb-journey-points div{padding:18px!important;border-radius:15px!important;}
body.tb-home-page .tb-journey-points strong{font-size:15px!important;}
body.tb-home-page .tb-journey-points small{font-size:13px!important;}

body.tb-home-page .tb-planning-grid{max-width:920px!important;gap:20px!important;}
body.tb-home-page .tb-planning-card{padding:22px!important;min-height:150px!important;border-radius:16px!important;}
body.tb-home-page .tb-planning-card h3{font-size:17px!important;}
body.tb-home-page .tb-planning-card p{font-size:14px!important;line-height:1.6!important;}

body.tb-home-page .tb-mini-cta-section{display:none!important;}
body.tb-home-page .tb-assist-section{display:none!important;}

body.tb-home-page .tb-category-mood-section{
  background:linear-gradient(180deg,rgba(7,32,65,.88),rgba(7,32,65,.82)), url('../images/hero-beach.svg') center/cover no-repeat!important;
  color:#fff!important;
  position:relative!important;
  overflow:hidden!important;
}
body.tb-home-page .tb-category-mood-section:after{
  content:"";
  position:absolute;
  right:-90px;
  top:-105px;
  width:360px;
  height:260px;
  border-radius:50%;
  background:rgba(252,183,75,.68);
  transform:rotate(-18deg);
  pointer-events:none;
}
body.tb-home-page .tb-category-mood-section .container{position:relative!important;z-index:2!important;}
body.tb-home-page .tb-category-mood-section .tb-section-title h2,
body.tb-home-page .tb-category-mood-section .tb-section-title p{color:#fff!important;}
body.tb-home-page .tb-category-mood-section .tb-section-title h2 strong{color:#5A149F!important;}
body.tb-home-page .tb-category-mood-section .tb-section-title p{color:rgba(255,255,255,.78)!important;}
body.tb-home-page .tb-category-tabs button{font-size:14px!important;padding:12px 22px!important;}
body.tb-home-page .tb-theme-package-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px!important;}

body.tb-home-page .tb-testimonial-section{background:linear-gradient(90deg,#fff8f0 0%,#eef9ff 100%)!important;overflow:hidden!important;}
body.tb-home-page .tb-home-testimonial-shell{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 52px!important;
  gap:18px!important;
  align-items:center!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
body.tb-home-page .tb-testimonial-window{overflow:hidden!important;width:100%!important;padding:8px 0 12px!important;}
body.tb-home-page .tb-testimonial-track{
  display:flex!important;
  gap:28px!important;
  overflow:hidden!important;
  scroll-behavior:smooth!important;
  padding:0 2px!important;
}
body.tb-home-page .tb-testimonial-card{
  flex:0 0 calc((100% - 84px)/4)!important;
  min-width:calc((100% - 84px)/4)!important;
  min-height:280px!important;
  padding:34px 30px!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(8,30,65,.11)!important;
}
body.tb-home-page .tb-testimonial-card .tb-stars{font-size:15px!important;margin-bottom:20px!important;color:#0F9F9A!important;letter-spacing:2px!important;}
body.tb-home-page .tb-testimonial-card p{font-size:16px!important;line-height:1.75!important;color:#4b5c74!important;margin-bottom:24px!important;}
body.tb-home-page .tb-testimonial-author img{width:48px!important;height:48px!important;}
body.tb-home-page .tb-testimonial-author h4{font-size:17px!important;line-height:1.1!important;}
body.tb-home-page .tb-testimonial-author span{font-size:13px!important;color:#708197!important;}
body.tb-home-page .tb-home-testimonial-shell .tb-mini-arrow{
  position:static!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  border:0!important;
  background:#fff!important;
  color:#2C1150!important;
  box-shadow:0 12px 30px rgba(8,30,65,.14)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
body.tb-home-page .tb-home-testimonial-shell.tb-no-arrows .tb-mini-arrow{opacity:.35!important;pointer-events:none!important;}

body.tb-home-page .tb-home-lead-section{padding:86px 0 96px!important;}
body.tb-home-page .tb-home-lead-card{max-width:1020px!important;padding:58px!important;}
body.tb-home-page .tb-home-lead-copy h2{font-size:44px!important;}
body.tb-home-page .tb-home-lead-copy p{font-size:16px!important;}
body.tb-home-page .tb-home-lead-form h3{font-size:20px!important;}
body.tb-home-page .tb-home-lead-form label span{font-size:13px!important;}
body.tb-home-page .tb-home-lead-form input,
body.tb-home-page .tb-home-lead-form textarea{font-size:15px!important;height:48px!important;}
body.tb-home-page .tb-home-captcha-row .tb-btn{height:48px!important;font-size:14px!important;}

@media (max-width:1199px){
  body.tb-home-page .tb-home-destination-grid,
  body.tb-home-page .tb-home-package-grid,
  body.tb-home-page .tb-theme-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.tb-home-page .tb-testimonial-card{flex-basis:calc((100% - 56px)/3)!important;min-width:calc((100% - 56px)/3)!important;}
}
@media (max-width:991px){
  body.tb-home-page .tb-travzigo-hero{height:520px!important;min-height:520px!important;}
  body.tb-home-page .tb-hero h1{font-size:46px!important;}
  body.tb-home-page .tb-home-destination-grid,
  body.tb-home-page .tb-home-package-grid,
  body.tb-home-page .tb-theme-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.tb-home-page .tb-home-destination-card{min-height:auto!important;}
  body.tb-home-page .tb-home-testimonial-shell{grid-template-columns:42px minmax(0,1fr) 42px!important;gap:10px!important;}
  body.tb-home-page .tb-testimonial-card{flex-basis:calc((100% - 28px)/2)!important;min-width:calc((100% - 28px)/2)!important;}
}
@media (max-width:767px){
  body.tb-home-page .tb-section{padding:56px 0!important;}
  body.tb-home-page .tb-section-title h2{font-size:34px!important;}
  body.tb-home-page .tb-home-destination-grid,
  body.tb-home-page .tb-home-package-grid,
  body.tb-home-page .tb-theme-package-grid{grid-template-columns:1fr!important;}
  body.tb-home-page .tb-testimonial-card{flex-basis:100%!important;min-width:100%!important;}
  body.tb-home-page .tb-home-testimonial-shell{grid-template-columns:1fr!important;}
  body.tb-home-page .tb-home-testimonial-shell .tb-mini-arrow{display:none!important;}
  body.tb-home-page .tb-home-lead-card{padding:28px!important;}
}

/* Travzigo UI follow-up fixes - 2026-06-30 */
.tb-topbar{
  display:block!important;
  background:#10285d!important;
  border-bottom:4px solid #0b385d!important;
  min-height:42px!important;
  padding:0!important;
}
.tb-topbar .container{
  max-width:1180px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.tb-topbar-inner{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.tb-topbar-contact{
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  min-width:0!important;
}
.tb-topbar-contact a,
.tb-topbar-phone,
.tb-topbar-email{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
.tb-topbar-contact a i{font-size:13px!important;color:#5A149F!important;transition:.2s!important;}
.tb-topbar-contact a:hover,
.tb-topbar-contact a:hover i{color:#fff!important;}
.tb-topbar-social{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
.tb-topbar-social a,
.tb-social.tb-topbar-social a{
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.06)!important;
  color:#5A149F!important;
  font-size:13px!important;
  transition:.2s ease!important;
}
.tb-topbar-social a:hover,
.tb-social.tb-topbar-social a:hover{
  background:#5A149F!important;
  border-color:#5A149F!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}
.tb-topbar-social a:hover i,
.tb-social.tb-topbar-social a:hover i{color:#fff!important;}

/* Same header styling across all pages */
.tb-header{
  background:#fff!important;
  border-top:0!important;
  border-bottom:1px solid #e8edf4!important;
  box-shadow:0 3px 18px rgba(7,31,64,.07)!important;
  backdrop-filter:none!important;
  position:sticky!important;
  top:0!important;
  z-index:1030!important;
}
.tb-navbar{min-height:62px!important;padding-top:0!important;padding-bottom:0!important;}
.navbar-brand img{height:42px!important;max-width:145px!important;object-fit:contain!important;}
.tb-navbar .nav-link{
  font-size:13px!important;
  font-weight:800!important;
  padding:22px 12px!important;
  color:#17243b!important;
}
.tb-navbar .nav-link:after{height:2px!important;bottom:14px!important;left:12px!important;right:12px!important;background:#5A149F!important;}
.tb-client-login-btn{padding:9px 18px!important;border-radius:999px!important;font-size:12px!important;box-shadow:none!important;}
.tb-mega-menu{border-radius:16px!important;box-shadow:0 18px 40px rgba(12,33,63,.16)!important;}

/* Home hero height as requested */
body.tb-home-page .tb-travzigo-hero,
body.tb-home-page section.tb-travzigo-hero{
  height:70vh!important;
  min-height:520px!important;
}

/* One-line destination heading */
body.tb-home-page .tb-top-destination-section .tb-section-title,
body.tb-home-page .tb-top-destination-section .tb-tight-title{
  max-width:100%!important;
  margin-bottom:36px!important;
}
body.tb-home-page .tb-top-destination-section .tb-section-title h2,
body.tb-home-page .tb-top-destination-section .tb-tight-title h2{
  font-family:"DM Sans",Inter,sans-serif!important;
  font-size:30px!important;
  line-height:1.2!important;
  font-weight:900!important;
  white-space:nowrap!important;
  color:#081d4b!important;
}
body.tb-home-page .tb-top-destination-section .tb-section-title h2 strong,
body.tb-home-page .tb-top-destination-section .tb-tight-title h2 strong{
  color:#5A149F!important;
  font-style:italic!important;
}

/* Destination cards: only destination name, email icon and callback */
body.tb-home-page .tb-home-destination-card{
  min-height:auto!important;
  border-radius:16px!important;
}
body.tb-home-page .tb-home-destination-media{
  height:245px!important;
  min-height:245px!important;
}
body.tb-home-page .tb-home-destination-body{
  padding:20px 22px 22px!important;
  min-height:178px!important;
}
body.tb-home-page .tb-home-destination-body h3{
  font-family:"DM Sans",Inter,sans-serif!important;
  font-size:20px!important;
  line-height:1.22!important;
  font-weight:900!important;
  color:#2C1150!important;
  margin:0 0 18px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.tb-home-page .tb-home-destination-body h3 a{color:inherit!important;}
body.tb-home-page .tb-home-destination-body p{display:none!important;}
body.tb-home-page .tb-home-destination-actions{
  display:grid!important;
  grid-template-columns:46px 1fr!important;
  gap:12px!important;
  margin-top:auto!important;
  margin-bottom:14px!important;
}
body.tb-home-page .tb-destination-email,
body.tb-home-page .tb-destination-whatsapp{
  height:46px!important;
  width:46px!important;
  border-radius:12px!important;
  background:#F4EFF8!important;
  color:#0d63c7!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:20px!important;
  border:1px solid #dbe9fb!important;
}
body.tb-home-page .tb-destination-email:hover,
body.tb-home-page .tb-destination-whatsapp:hover{background:#0d63c7!important;color:#fff!important;}
body.tb-home-page .tb-destination-callback{
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe2ec!important;
  border-radius:12px!important;
  background:#f7f9fc!important;
  color:#6d7586!important;
  font-size:14px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
body.tb-home-page .tb-destination-more{
  height:52px!important;
  border-radius:12px!important;
  font-size:16px!important;
}

/* Home packages: exactly four columns on desktop, eight random packages from PHP */
body.tb-home-page .tb-home-package-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
}

/* Same footer styling across all pages */
.tb-footer{
  background:#150B28!important;
  padding:56px 0 22px!important;
  color:#d7e2ef!important;
}
.tb-footer>.container{
  background:#092647!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:16px!important;
  padding-top:34px!important;
  padding-bottom:18px!important;
  box-shadow:0 20px 45px rgba(0,0,0,.16)!important;
}
.tb-footer-logo{height:40px!important;margin-bottom:16px!important;object-fit:contain!important;}
.tb-footer p,
.tb-footer li,
.tb-footer a{font-size:12px!important;line-height:1.7!important;color:#b8c8db!important;}
.tb-footer h4{font-size:14px!important;font-weight:900!important;color:#fff!important;margin-bottom:14px!important;}
.tb-footer-social a{width:30px!important;height:30px!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;color:#fff!important;}
.tb-footer-social a:hover{background:#5A149F!important;color:#fff!important;}
.tb-footer-bottom{border-top:1px solid rgba(255,255,255,.10)!important;margin-top:28px!important;padding-top:18px!important;}

@media (max-width:991px){
  body.tb-home-page .tb-travzigo-hero,
  body.tb-home-page section.tb-travzigo-hero{height:64vh!important;min-height:500px!important;}
  body.tb-home-page .tb-top-destination-section .tb-section-title h2,
  body.tb-home-page .tb-top-destination-section .tb-tight-title h2{white-space:normal!important;}
}
@media (max-width:767px){
  body.tb-home-page .tb-top-destination-section .tb-section-title h2,
  body.tb-home-page .tb-top-destination-section .tb-tight-title h2{font-size:28px!important;}
  body.tb-home-page .tb-home-destination-media{height:220px!important;min-height:220px!important;}
  .tb-footer>.container{border-radius:0!important;}
}
body.tb-home-page .tb-topbar{display:block!important;}
body.tb-home-page .tb-topbar-contact a,
body.tb-home-page .tb-topbar-phone,
body.tb-home-page .tb-topbar-email{font-size:13px!important;font-weight:800!important;color:#fff!important;}
body.tb-home-page .tb-topbar-social{justify-content:flex-end!important;gap:10px!important;}
body.tb-home-page .tb-topbar-social a{width:30px!important;height:30px!important;font-size:13px!important;color:#5A149F!important;}
body.tb-home-page .tb-topbar-social a:hover{color:#fff!important;}
@media (max-width:991.98px){.tb-topbar.d-none{display:none!important;}}


/* Travzigo UI requested fixes - 2026-06-30 v2 */
body.tb-home-page .tb-topbar,
.tb-topbar{
  min-height:40px!important;
}
body.tb-home-page .tb-topbar-inner,
.tb-topbar-inner{
  min-height:40px!important;
}
body.tb-home-page .container{
  max-width:1320px!important;
}
.tb-topbar>.container,
.tb-header>.container,
body.tb-home-page .tb-topbar>.container,
body.tb-home-page .tb-header>.container{
  max-width:1320px!important;
}
.tb-topbar,
.tb-header,
.tb-navbar .nav-link,
.tb-client-menu-btn,
.tb-client-login-btn{
  font-family:"DM Sans",Inter,Arial,sans-serif!important;
}
.tb-topbar-contact a,
.tb-topbar-phone,
.tb-topbar-email{
  font-size:12px!important;
  font-weight:800!important;
}
.tb-topbar-social a,
.tb-social.tb-topbar-social a{
  width:28px!important;
  height:28px!important;
  font-size:12px!important;
}
body.tb-home-page .tb-section-title h2{
  font-size:40px!important;
}
body.tb-home-page .tb-section-title p{
  font-size:16px!important;
}
body.tb-home-page .tb-top-destination-section .tb-section-title h2,
body.tb-home-page .tb-top-destination-section .tb-tight-title h2{
  font-size:30px!important;
  white-space:nowrap!important;
}
body.tb-home-page .tb-journey-actions{
  display:none!important;
}
body.tb-home-page .tb-home-destination-body{
  min-height:150px!important;
}
body.tb-home-page .tb-home-destination-body h3{
  font-size:18px!important;
  margin-bottom:20px!important;
}
body.tb-home-page .tb-destination-callback{
  font-size:14px!important;
}
body.tb-home-page .tb-destination-more{
  font-size:15px!important;
  white-space:nowrap!important;
}
body.tb-home-page .tb-travzigo-hero,
body.tb-home-page section.tb-travzigo-hero{
  height:70vh!important;
}
@media (max-width:767px){
  body.tb-home-page .tb-section-title h2{font-size:32px!important;}
  body.tb-home-page .tb-top-destination-section .tb-section-title h2,
  body.tb-home-page .tb-top-destination-section .tb-tight-title h2{
    font-size:28px!important;
    white-space:normal!important;
  }
}

/* Final destination gallery cards: full image overlay card */
.tb-topbar,
body.tb-home-page .tb-topbar{
  border-bottom:2px solid #0b385d!important;
}
body.tb-home-page .tb-home-destination-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:28px!important;
}
body.tb-home-page .tb-home-destination-linkcard,
body.tb-home-page a.tb-home-destination-card{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  height:330px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  border:0!important;
  background:#081d3c!important;
  box-shadow:0 18px 36px rgba(8,30,65,.14)!important;
  text-decoration:none!important;
  color:#fff!important;
  isolation:isolate!important;
}
body.tb-home-page .tb-home-destination-linkcard img,
body.tb-home-page a.tb-home-destination-card > img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .45s ease!important;
}
body.tb-home-page .tb-home-destination-linkcard:hover img,
body.tb-home-page a.tb-home-destination-card:hover > img{
  transform:scale(1.06)!important;
}
body.tb-home-page .tb-home-destination-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(5,14,28,0) 34%,rgba(5,14,28,.50) 68%,rgba(5,14,28,.88) 100%)!important;
  pointer-events:none!important;
}
body.tb-home-page .tb-home-destination-text{
  position:absolute!important;
  left:28px!important;
  right:24px!important;
  bottom:24px!important;
  z-index:2!important;
  display:block!important;
  color:#fff!important;
}
body.tb-home-page .tb-home-destination-text strong{
  display:block!important;
  font-family:"DM Sans",Inter,sans-serif!important;
  font-size:28px!important;
  line-height:1.05!important;
  font-weight:900!important;
  color:#fff!important;
  margin:0 0 8px!important;
  text-shadow:0 4px 16px rgba(0,0,0,.35)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.tb-home-page .tb-home-destination-text em{
  display:block!important;
  font-style:normal!important;
  font-size:16px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#fff!important;
  text-shadow:0 4px 16px rgba(0,0,0,.35)!important;
}
body.tb-home-page .tb-home-destination-body,
body.tb-home-page .tb-home-destination-media,
body.tb-home-page .tb-home-destination-actions,
body.tb-home-page .tb-destination-email,
body.tb-home-page .tb-destination-callback,
body.tb-home-page .tb-destination-more{
  display:none!important;
}
@media (max-width:991px){
  body.tb-home-page .tb-home-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;}
  body.tb-home-page .tb-home-destination-linkcard,
  body.tb-home-page a.tb-home-destination-card{height:300px!important;border-radius:28px!important;}
}
@media (max-width:575px){
  body.tb-home-page .tb-home-destination-grid{grid-template-columns:1fr!important;}
  body.tb-home-page .tb-home-destination-linkcard,
  body.tb-home-page a.tb-home-destination-card{height:300px!important;border-radius:26px!important;}
  body.tb-home-page .tb-home-destination-text strong{font-size:25px!important;}
}

/* Travzigo UI nav font size override */
body.tb-home-page .tb-navbar .nav-link {
  font-size: 15px !important;
}

/* UI patch: keep navbar menu font size same on inner pages too */
.tb-navbar .nav-link,
body.tb-home-page .tb-navbar .nav-link {
    font-size: 15px !important;
}

/* 2026-08 Simar website refresh — reference-inspired premium visa/travel UI.
   Existing CRM/package/booking selectors and behaviour are intentionally preserved. */
:root{
  --tb-orange:#5a149f;
  --tb-navy:#17141d;
  --tb-dark:#141019;
  --tb-muted:#6f6a74;
  --tb-soft:#f8f7fb;
  --tb-soft-2:#faf6ff;
  --tb-border:#e5e1e8;
  --tb-radius:20px;
  --tb-shadow:0 22px 55px rgba(47,26,71,.14);
  --tb-shadow-small:0 10px 28px rgba(47,26,71,.09);
}
body{font-family:"DM Sans",Arial,Helvetica,sans-serif;color:var(--tb-navy);background:#fff}
.tb-topbar{display:none!important}
.tb-header{
  min-height:88px;
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid #eee!important;
  box-shadow:0 8px 22px rgba(39,20,60,.04)!important;
  backdrop-filter:blur(16px);
}
.tb-navbar{min-height:87px!important;gap:18px}
.navbar-brand img,.tb-footer-logo{height:42px!important;max-width:190px!important}
.tb-main-menu{
  border:1px solid #dedbe1;
  border-radius:22px 22px 10px 10px;
  padding:0 3px;
  background:#fff;
}
.tb-navbar .nav-link,body.tb-home-page .tb-navbar .nav-link{
  padding:13px 13px!important;
  color:#625e67!important;
  font-size:13px!important;
  font-weight:600!important;
  border-radius:16px;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.tb-navbar .nav-link:after{display:none!important}
.tb-navbar .nav-link:hover,.tb-navbar .nav-link.active{
  color:#5a149f!important;
  background:#faf5ff!important;
}
.tb-navbar .nav-link:hover{transform:translateY(-1px)}
.tb-booking-nav-dropdown>.nav-link{font-weight:800!important;color:#5a149f!important}
.tb-client-login-btn,.tb-btn{
  background:linear-gradient(135deg,#336be0,#5a149f)!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:0 8px 20px rgba(79,28,135,.16)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.tb-client-login-btn:hover,.tb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(79,28,135,.25)!important}
.tb-service-menu,.tb-mega-menu{
  border:1px solid #e4dfe8!important;
  border-radius:18px!important;
  box-shadow:0 22px 50px rgba(40,24,55,.16)!important;
}
.tb-service-menu .dropdown-item i,.tb-mega-head span{color:#5a149f!important}
.tb-service-menu .dropdown-item:hover,.tb-mega-grid a:hover{background:#faf5ff!important;color:#5a149f!important;border-color:#eadcf3!important}

body.tb-home-page .tb-travzigo-hero,body.tb-home-page section.tb-travzigo-hero{
  height:600px!important;
  min-height:600px!important;
  background:radial-gradient(circle at 50% -20%,#fff7d7,#fffcf3 42%,#fff 80%)!important;
}
.tb-hero-slide{background-position:center!important;filter:saturate(.8)}
.tb-hero-overlay{
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,252,244,.90) 48%,rgba(255,255,255,.96))!important;
}
.tb-hero:before,.tb-hero:after{
  content:"";position:absolute;border-radius:50%;z-index:1;pointer-events:none;filter:blur(3px);opacity:.38;
}
.tb-hero:before{width:220px;height:220px;left:-85px;top:120px;background:#d5b5ff;animation:tbRefFloat 7s ease-in-out infinite}
.tb-hero:after{width:160px;height:160px;right:-45px;top:60px;background:#ffe493;animation:tbRefFloat 8s ease-in-out infinite reverse}
.tb-hero .container{justify-content:center!important}
.tb-hero-content{
  width:min(920px,100%);max-width:920px!important;margin:0 auto;text-align:center;color:#17141d!important;padding:20px 0 0!important;
}
.tb-hero-content .tb-kicker{
  display:inline-flex;align-items:center;padding:7px 12px;border:1px solid #e4d9ef;border-radius:999px;background:rgba(255,255,255,.88);
  color:#5a149f!important;font-size:10px!important;font-weight:800;letter-spacing:.17em;text-transform:uppercase;margin:26px 0 13px;
}
.tb-hero h1{
  color:#17141d!important;font-size:43px!important;line-height:1.08!important;letter-spacing:-1.5px!important;text-transform:none!important;
  text-shadow:none!important;margin:0 0 8px!important;
}
.tb-hero p{color:#6f6a74!important;font-size:17px!important;margin:0 auto 16px!important;max-width:650px!important}
.tb-hero-mini{justify-content:center!important;color:#5d5761!important;margin-top:8px}
.tb-hero-mini i{color:#5a149f!important}
.tb-hero-arrow{width:42px!important;height:42px!important;color:#5a149f!important;border:1px solid #e2dbe7!important;box-shadow:0 8px 24px rgba(45,24,60,.12)!important}
.tb-hero-arrow:hover{background:#5a149f!important;color:#fff!important}
.tb-hero-dots button{background:#cec5d5!important}.tb-hero-dots button.active{background:#5a149f!important}
.tb-visaway-search-wrap{width:min(820px,100%);margin:0 auto;display:flex;gap:14px;position:relative;text-align:left;z-index:12}
.tb-visaway-search{height:50px;flex:1;display:flex;align-items:center;border:1px solid #ddd8e1;border-radius:28px;background:#fff;box-shadow:0 7px 22px rgba(53,27,83,.12);padding-left:18px;color:#77717b}
.tb-visaway-search input{border:0;outline:0;min-width:0;flex:1;height:100%;padding:0 12px;background:transparent;color:#211c25}
.tb-visaway-search button{width:40px;height:40px;border:0;border-radius:50%;margin-right:5px;background:#5a149f;color:#fff;cursor:pointer;transition:transform .25s ease,background .25s ease}
.tb-visaway-search button:hover{transform:rotate(-8deg) scale(1.04);background:#421071}
.tb-visaway-explore{display:flex;align-items:center;gap:7px;border:2px solid #5a149f;border-radius:27px;padding:0 24px;color:#5a149f!important;font-weight:800;background:#fff;white-space:nowrap}
.tb-visaway-results{position:absolute;display:none;left:0;right:145px;top:58px;padding:7px;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 20px 45px rgba(39,22,56,.18);max-height:300px;overflow:auto;z-index:20}
.tb-visaway-results.is-open{display:block}
.tb-visaway-results a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border-radius:9px;color:#332d37}
.tb-visaway-results a:hover{background:#f6f0fc;color:#5a149f}.tb-visaway-results small{color:#888;white-space:nowrap}
.tb-visaway-hero-actions{justify-content:center!important;margin-top:18px!important}
.tb-visaway-light-btn{border:1px solid #dcd3e5!important;background:#fff!important;color:#5a149f!important;border-radius:10px!important;box-shadow:none!important}
.tb-visaway-light-btn:hover{background:#f8f0ff!important;color:#451177!important}

.tb-section{padding:66px 0}
.tb-section-title{margin-bottom:28px}
.tb-section-title .tb-script{font-family:"DM Sans",Arial,sans-serif!important;font-size:10px!important;letter-spacing:.17em;text-transform:uppercase;color:#5a149f!important;font-weight:800}
.tb-section-title h2{font-size:31px!important;letter-spacing:-.7px!important;text-transform:none!important;color:#17141d!important}
.tb-section-title h2 strong{color:#5a149f!important}
.tb-section-title p{color:#6f6a74!important}
body.tb-home-page .tb-home-destination-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
body.tb-home-page .tb-home-destination-linkcard,body.tb-home-page a.tb-home-destination-card{
  height:300px!important;border:1px solid #dfdce2!important;border-radius:21px!important;background:#fff!important;
  box-shadow:0 5px 16px rgba(45,28,61,.07)!important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease!important;
}
body.tb-home-page .tb-home-destination-linkcard:hover,body.tb-home-page a.tb-home-destination-card:hover{transform:translateY(-9px) scale(1.012)!important;box-shadow:0 20px 38px rgba(47,26,71,.16)!important}
body.tb-home-page .tb-home-destination-linkcard:after{content:"";position:absolute;width:90px;height:180%;top:-40%;left:-130px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:rotate(18deg);z-index:3;pointer-events:none}
body.tb-home-page .tb-home-destination-linkcard:hover:after{animation:tbRefShine .75s ease}
body.tb-home-page .tb-home-destination-text{left:20px!important;right:18px!important;bottom:20px!important}
body.tb-home-page .tb-home-destination-text strong{font-size:23px!important}.tb-home-destination-text em{font-size:13px!important;font-weight:700!important}
.tb-home-package-card,.tb-planning-card,.tb-testimonial-card,.tb-home-lead-card{
  border:1px solid #e4e1e6!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 22px rgba(45,28,61,.07)!important;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease!important;
}
.tb-home-package-card:hover,.tb-planning-card:hover,.tb-testimonial-card:hover{transform:translateY(-7px)!important;box-shadow:0 18px 36px rgba(47,26,71,.14)!important}
.tb-home-package-media img{transition:transform .45s ease!important}.tb-home-package-card:hover .tb-home-package-media img{transform:scale(1.05)!important}
.tb-journey-section{background:#190c30!important;color:#fff!important}
.tb-journey-card{background:#23123d!important;border:1px solid #40255f!important;border-radius:24px!important;box-shadow:none!important}
.tb-journey-copy,.tb-journey-copy h2,.tb-journey-copy strong{color:#fff!important}.tb-journey-copy p,.tb-journey-copy small{color:#cfc4d9!important}.tb-journey-copy .tb-script{color:#c6a5e8!important}
.tb-journey-points>div{border:1px solid #40255f!important;background:#291746!important;border-radius:15px!important}.tb-journey-points i{color:#d6b5f5!important}
.tb-planning-section{background:linear-gradient(180deg,#fff,#faf7ff)!important}.tb-planning-card i{color:#5a149f!important;background:#f2e7fb!important}
.tb-mini-cta-card{background:linear-gradient(135deg,#201035,#5a149f)!important;border-radius:20px!important;box-shadow:0 20px 44px rgba(48,20,76,.22)!important}
.tb-category-tabs button.active,.tb-category-tabs button:hover{background:#5a149f!important;border-color:#5a149f!important;box-shadow:0 9px 24px rgba(90,20,159,.18)!important}
.tb-stars{color:#f2b642!important}
.tb-home-lead-card{overflow:hidden!important}.tb-home-lead-copy{background:linear-gradient(135deg,#1a0d2e,#4d1678)!important}.tb-home-lead-copy *{color:#fff!important}
.tb-lead-form input,.tb-lead-form textarea,.tb-lead-form select{border-color:#dbd7de!important;border-radius:9px!important}
.tb-lead-popup-dialog{border-radius:23px!important;overflow:hidden!important}.tb-lead-popup-visual{background:linear-gradient(145deg,#1a0d2e,#5a149f)!important}

/* Carry the same visual language through existing inner pages without adding sections. */
.tb-page-hero{
  background:radial-gradient(circle at 78% 10%,rgba(111,55,186,.16),transparent 28%),linear-gradient(135deg,#fbf8ff,#fffdf7)!important;
  color:#17141d!important;border-bottom:1px solid #eee!important;
}
.tb-page-hero .tb-script{font-family:"DM Sans",Arial,sans-serif!important;font-size:10px!important;letter-spacing:.17em!important;text-transform:uppercase!important;color:#5a149f!important;font-weight:800!important}
.tb-page-hero h1,.tb-page-hero h2{color:#17141d!important;letter-spacing:-.8px!important;text-shadow:none!important}
.tb-page-hero p,.tb-page-hero span{color:#6f6a74!important}
.tb-content-card,.tb-detail-card,.tb-sidebar-card,.tb-side-card,.tb-service-page-card,.tb-service-card,
.tb-blog-card,.tb-list-blog-card,.tb-list-package-card,.tb-package-filter-panel,.tb-package-results-panel,
.tb-flight-result-card,.tb-hotel-list-card,.tb-hotel-overview-card,.tb-hotel-card{
  background:#fff!important;border:1px solid #e4e1e6!important;border-radius:18px!important;box-shadow:0 8px 25px rgba(45,28,61,.07)!important;
}
.tb-service-page-card,.tb-service-card,.tb-blog-card,.tb-list-blog-card,.tb-list-package-card,.tb-flight-result-card,.tb-hotel-list-card{
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease!important;
}
.tb-service-page-card:hover,.tb-service-card:hover,.tb-blog-card:hover,.tb-list-blog-card:hover,.tb-list-package-card:hover,.tb-flight-result-card:hover,.tb-hotel-list-card:hover{
  transform:translateY(-5px)!important;box-shadow:0 17px 36px rgba(47,26,71,.13)!important;
}
.tb-filter-head .tb-script,.tb-detail-section-head .tb-script,.tb-booking-panel-head .tb-script{color:#5a149f!important}
.tb-filter-clear,.tb-read-more,.tb-list-actions a{color:#5a149f!important}
.tb-flight-cheapest-strip,.tb-flight-result-alert{border-color:#e5d8ef!important;background:#faf5ff!important}
.tb-flight-price-box strong,.tb-hotel-price-box strong,.tb-list-price strong{color:#5a149f!important}

.tb-flight-booking-page,.tb-hotel-booking-page{background:linear-gradient(180deg,#fff 0,#faf7ff 56%,#fff 100%)!important}
.tb-flight-booking-section{padding-top:50px!important}
.tb-flight-booking-shell,.tb-booking-panel,.tb-booking-fare-card,.tb-hotel-price-summary-card{
  border-color:#e5dfe9!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(44,19,69,.09)!important;
}
.tb-flight-booking-steps{background:#f5f2f8!important;border-radius:14px!important}.tb-flight-booking-steps a.active{color:#5a149f!important;background:#fff!important}
.tb-booking-status-pill{background:#e9f8ee!important;color:#258147!important}.tb-booking-pay-btn{background:linear-gradient(135deg,#336be0,#5a149f)!important;border-radius:10px!important}

.tb-footer{background:#141019!important;color:#d4d0d8!important;padding-top:52px!important}
.tb-footer h4{color:#fff!important;text-transform:lowercase!important}.tb-footer p,.tb-footer li,.tb-footer-policy-links a{color:#aaa5af!important}
.tb-footer li:before,.tb-contact-list i{color:#c79aee!important}.tb-footer a:hover{color:#d8b6f5!important}.tb-footer-social a{background:#29232e!important}.tb-footer-social a:hover{background:#5a149f!important}
.tb-footer-bottom{border-color:#302b35!important}.tb-back-top{background:#651eaa!important;box-shadow:0 9px 25px rgba(59,20,91,.32)!important}

.tb-motion-item{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--tb-motion-delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--tb-motion-delay,0ms)}
.tb-motion-item.is-visible{opacity:1;transform:none}
@keyframes tbRefFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.08)}}
@keyframes tbRefShine{to{left:120%}}

@media(max-width:1199px){
  .tb-navbar .nav-link,body.tb-home-page .tb-navbar .nav-link{font-size:12px!important;padding:12px 9px!important}
  body.tb-home-page .tb-home-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:991px){
  .tb-header{min-height:68px}.tb-navbar{min-height:68px!important}.tb-main-menu{border:0;border-radius:0;padding:10px 0;background:transparent}
  .tb-navbar .nav-link,body.tb-home-page .tb-navbar .nav-link{padding:11px 12px!important;font-size:14px!important}
  .tb-navbar-collapse,.navbar-collapse{background:#fff}
  body.tb-home-page .tb-travzigo-hero,body.tb-home-page section.tb-travzigo-hero{height:570px!important;min-height:570px!important}
  .tb-hero h1{font-size:38px!important}.tb-hero-arrow{display:none!important}
  body.tb-home-page .tb-home-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
  body{padding-bottom:0}.container{--bs-gutter-x:32px}
  body.tb-home-page .tb-travzigo-hero,body.tb-home-page section.tb-travzigo-hero{height:590px!important;min-height:590px!important}
  .tb-hero-content{padding-top:5px!important}.tb-hero h1{font-size:31px!important}.tb-hero p{font-size:14px!important}
  .tb-visaway-search-wrap{gap:8px}.tb-visaway-explore{padding:0 14px;font-size:12px}.tb-visaway-results{right:90px}
  .tb-visaway-results small{display:none}.tb-visaway-hero-actions{gap:8px!important}.tb-visaway-hero-actions .btn{padding:11px 13px!important;font-size:12px!important}
  .tb-hero-mini{font-size:11px!important}.tb-section{padding:52px 0}.tb-section-title h2{font-size:28px!important}
  body.tb-home-page .tb-home-destination-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;margin-right:-16px!important;padding:4px 16px 18px 0!important;gap:12px!important}
  body.tb-home-page .tb-home-destination-linkcard,body.tb-home-page a.tb-home-destination-card{display:block!important;min-width:78vw!important;height:285px!important;scroll-snap-align:start!important}
  .tb-footer{padding-bottom:28px!important}
}
@media(max-width:520px){
  .tb-visaway-search-wrap{display:grid;grid-template-columns:1fr auto}.tb-visaway-search{grid-column:1/-1}.tb-visaway-explore{height:42px;grid-column:1/-1;justify-content:center}.tb-visaway-results{top:56px;right:0}
  .tb-hero-content .tb-kicker{margin-top:18px}.tb-visaway-hero-actions{flex-wrap:wrap!important}.tb-visaway-hero-actions>.tb-btn:first-child{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .tb-motion-item{opacity:1!important;transform:none!important}
}

/* Insurance date controls: visible calendar trigger independent of browser-native indicator. */
form[data-service-key="insurance"] label.tb-ins-date-label{position:relative}
form[data-service-key="insurance"] label.tb-ins-date-label input[type="date"]{padding-right:54px}
form[data-service-key="insurance"] label.tb-ins-date-label input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}
form[data-service-key="insurance"] .tb-ins-date-picker-button{
  position:absolute;
  right:12px;
  bottom:11px;
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:10px;
  background:#eaf7f5;
  color:#078b84;
  cursor:pointer;
  z-index:3;
  padding:0;
  box-shadow:none;
}
form[data-service-key="insurance"] .tb-ins-date-picker-button:hover{background:#dff3f0}
form[data-service-key="insurance"] .tb-ins-date-picker-button:focus-visible{outline:2px solid #078b84;outline-offset:2px}
form[data-service-key="insurance"] .tb-ins-date-picker-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* ===== css/reference-ui.css ===== */
:root{--ink:#17141d;--muted:#6f6a74;--purple:#5a149f;--blue:#336be0;--line:#e5e1e8;--soft:#f8f7fb;--dark:#141019}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.container{width:min(1220px,calc(100% - 64px));margin:auto}.topbar{height:88px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;padding:0 54px;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:40;box-shadow:0 8px 22px #27143c0a}.brand{font-size:23px;font-weight:900;letter-spacing:-1.3px;color:#24166f}.brand b{color:#6c19af}.nav-tabs{justify-self:center;display:flex;border:1px solid #dedbe1;border-radius:22px 22px 0 0;overflow:hidden;height:48px}.nav-tabs a{padding:13px 28px;border-right:1px solid #e5e2e7;color:#625e67}.nav-tabs a:last-child{border:0}.nav-tabs a.active{font-weight:700;color:#17141d;background:#faf8ff}.account{justify-self:end;display:flex;gap:20px;align-items:center;font-size:12px}.account button{border:0;border-left:1px solid #bbb;background:transparent;padding-left:20px;cursor:pointer}.hero{background:radial-gradient(circle at 50% -20%,#fff7d7,#fffcf3 42%,#fff 80%);padding:26px 20px 48px;text-align:center}.search-wrap{width:min(820px,100%);margin:auto;display:flex;gap:18px;position:relative}.search{height:48px;flex:1;background:#fff;border:1px solid #ddd8e1;border-radius:28px;display:flex;align-items:center;box-shadow:0 5px 18px #351b5315;padding-left:18px}.search input{border:0;outline:0;flex:1;padding:0 12px}.search button{width:38px;height:38px;border:0;border-radius:50%;background:var(--purple);color:#fff;margin-right:5px;cursor:pointer}.explore-btn{border:2px solid var(--purple);border-radius:27px;padding:12px 28px;color:var(--purple);font-weight:700;background:#fff}.results{position:absolute;top:55px;left:0;right:145px;text-align:left;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 20px 45px #2716382b;padding:7px;z-index:20;display:none}.results.show{display:block}.results a{display:flex;padding:11px;border-radius:9px}.results a:hover{background:#f6f0fc}.results small{margin-left:auto;color:#888}.hero h1{font-size:39px;letter-spacing:-1.4px;margin:62px 0 3px}.hero h1 em{font-family:Georgia,serif;font-style:normal;color:var(--purple)}.hero>p{font-size:18px;margin:0}.section{padding:28px 0}.section h2{font-size:23px;margin:8px 0 18px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:32px}.country-card{height:345px;border:1px solid #dfdce2;border-radius:21px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:.2s;box-shadow:0 5px 15px #2d1c3d0a}.country-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #2f1a4717}.card-meta{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 7px;font-size:12px;font-weight:700}.card-meta span{font-size:22px}.card-img{height:205px;margin:0 12px;border-radius:13px;background-size:cover;background-position:center;position:relative;overflow:hidden}.card-img.asia{background-image:url('../images/reference-asia.webp')}.card-img.uae{background-image:url('../images/reference-uae.webp')}.card-img.europe{background-image:url('../images/reference-europe.webp')}.card-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#0b07127a)}.card-img b{position:absolute;bottom:11px;left:13px;color:#fff;z-index:2}.card-copy{padding:13px 15px}.card-copy h3{font-size:18px;margin:0 0 3px}.card-copy p{font-size:12px;color:#706b74;margin:0}.fast{background:#190c30;color:#fff;padding:68px 0}.fast-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.19em;color:#c6a5e8}.fast h2{font-size:38px;line-height:1.1;letter-spacing:-1px;margin:15px 0 22px}.features{display:grid;gap:11px}.feature{display:flex;gap:15px;border:1px solid #40255f;border-radius:17px;background:#23123d;padding:18px}.feature>span{width:42px;height:42px;border-radius:12px;background:#7132b5;display:grid;place-items:center;font-size:19px}.feature h3{font-size:15px;margin:0 0 4px}.feature p{font-size:12px;color:#cfc4d9;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:13px 20px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:700;cursor:pointer}.btn.block{width:100%}.trust{text-align:center;padding:65px 0}.trust h2{font-size:30px;margin:0 0 6px}.trust>p{color:var(--muted)}.logos{display:flex;justify-content:space-between;gap:20px;margin:40px 0;color:#aaa6ae;font-weight:900;letter-spacing:-.5px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.stats div{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fbfafd}.stats small{letter-spacing:.14em;color:#7c7780;font-size:10px}.stats strong{font-size:31px;display:block;margin:7px 0}.stats p{font-size:12px;color:#777;margin:0}.breadcrumb{font-size:12px;color:#777;margin:24px 0}.center-head{text-align:center;margin:30px auto 26px;max-width:850px}.center-head .pill{display:inline-block;border-radius:20px;background:#edf3ff;color:#3863b5;padding:7px 12px;font-size:11px}.center-head h1{font-size:30px;margin:13px 0 7px}.center-head p{color:#777}.apply-banner{display:grid;grid-template-columns:1fr auto 265px;gap:18px;align-items:center;border:1px solid #e0dde3;border-radius:17px;padding:19px;box-shadow:0 4px 16px #2316320c}.apply-banner small{display:block;color:#777;margin-top:3px}.faces{border-left:1px solid #ddd;padding-left:18px;font-size:12px}.faces span{font-size:21px}.dest-hero{height:390px;margin-top:18px;border-radius:20px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:28px;color:#fff;position:relative;overflow:hidden}.dest-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0a06127f)}.dest-hero.asia{background-image:url('../images/reference-asia.webp')}.dest-hero.uae{background-image:url('../images/reference-uae.webp')}.dest-hero.europe{background-image:url('../images/reference-europe.webp')}.dest-hero strong,.dest-hero span{position:relative;z-index:2}.dest-hero span{font-size:35px}.dest-hero strong{font-size:32px;margin-left:10px}.details{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:50px;padding:44px 0 70px}.article h2{font-size:23px;margin:24px 0 10px}.article p,.article li{font-size:14px;line-height:1.8;color:#5e5963}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.steps div{border:1px solid var(--line);border-radius:11px;padding:12px}.steps span{width:27px;height:27px;border-radius:50%;background:#f0e6fb;color:var(--purple);display:grid;place-items:center;font-weight:800}.steps p{font-size:11px;line-height:1.4}.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.docs span{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fcfbfd}.plan{position:sticky;top:108px;align-self:start;border:1px solid #ddd9e1;border-radius:17px;padding:19px;box-shadow:0 11px 30px #24173213}.plan h3{margin-top:0}.plan-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#f2f0f5;border-radius:9px}.plan-switch button{border:0;background:transparent;padding:9px;border-radius:7px;cursor:pointer}.plan-switch button.active{background:#fff;color:var(--purple);font-weight:700;box-shadow:0 3px 9px #24143512}.price{font-size:30px;font-weight:800;display:block;margin:17px 0}.plan ul{padding-left:19px;color:#666;line-height:2}.page-intro{max-width:850px;padding:85px 0 55px}.page-intro.center{text-align:center;margin:auto}.page-intro small{letter-spacing:.18em;color:var(--purple);font-weight:700}.page-intro h1{font-size:52px;line-height:1.04;letter-spacing:-1.8px;margin:13px 0 18px}.page-intro p{font-size:18px;line-height:1.7;color:#6c6670}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;border-top:1px solid #eee;padding:42px 0 85px}.content-grid h2{font-size:29px}.content-grid p{line-height:1.8;color:#625d66}.metric{border-radius:20px;background:#f7f0fd;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}.metric strong{font-size:34px;color:var(--purple)}.blogs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:80px}.blog{border:1px solid #e4e1e6;border-radius:17px;padding:14px}.blog-img{height:175px;border-radius:12px;background:url('../images/reference-asia.webp') center/cover;margin-bottom:14px;display:grid;place-items:center;font-size:42px}.blog:nth-child(2n) .blog-img{background-image:url('../images/reference-uae.webp')}.blog:nth-child(3n) .blog-img{background-image:url('../images/reference-europe.webp')}.blog small{color:var(--purple);font-weight:700}.blog h2{font-size:18px;line-height:1.35}.blog p{font-size:12px;color:#777}.blog a{font-size:12px;color:var(--blue);font-weight:700}.footer{background:var(--dark);color:#d4d0d8;padding:50px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:55px}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-size:12px}.footer-col h4{color:#fff;margin:0 0 8px}.footer .brand{color:#fff}.footer .brand b{color:#d4acff}.footer p{color:#98939e;line-height:1.7}.explore{border-top:1px solid #302b35;margin-top:30px;padding-top:21px;font-size:11px}.explore p{line-height:2;color:#aaa5af}.copy{border-top:1px solid #302b35;margin-top:16px;padding-top:18px;font-size:11px;color:#817c86}.chat{position:fixed;right:22px;bottom:22px;z-index:25;background:#651eaa;color:#fff;padding:11px 16px;border-radius:27px;box-shadow:0 9px 25px #3b145b50}.modal-bg{position:fixed;inset:0;z-index:80;background:#150d20b8;backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px}.modal{width:min(610px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:23px;padding:32px;position:relative}.modal.small{width:min(420px,100%);text-align:center}.modal .close{position:absolute;right:16px;top:15px;width:34px;height:34px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer}.progress{display:flex;align-items:center;justify-content:center;margin:0 30px 25px}.progress span{width:29px;height:29px;border:1px solid #c9c5cc;border-radius:50%;display:grid;place-items:center;font-size:11px}.progress span.on{background:var(--purple);border-color:var(--purple);color:#fff}.progress i{width:70px;height:1px;background:#d9d5dc}.modal label{display:block;font-size:11px;font-weight:700;margin:13px 0;text-align:left}.modal input,.modal select{width:100%;height:45px;border:1px solid #dbd7de;border-radius:9px;margin-top:6px;padding:0 11px;background:#fff}.counter{display:flex;align-items:center;justify-content:space-between;height:45px;border:1px solid #dbd7de;border-radius:9px;margin-top:6px}.counter button{border:0;background:transparent;font-size:20px;padding:0 17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.checklist{display:grid;gap:8px;margin:15px 0}.checklist span{padding:12px;background:#f6f3f8;border-radius:9px}.note{font-size:11px;background:#fff8e4;color:#6f6240;padding:11px;border-radius:8px;margin-bottom:15px}.hidden{display:none!important}
@media(max-width:1024px){.topbar{grid-template-columns:160px 1fr 160px;padding:0 24px}.nav-tabs a{padding:13px 16px}.cards{grid-template-columns:repeat(3,1fr)}.country-card:nth-child(n+4){display:none}.fast-inner{grid-template-columns:1fr;gap:35px}.apply-banner{grid-template-columns:1fr auto}.faces{display:none}.details{gap:25px}.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){body{padding-bottom:58px}.container{width:min(100% - 32px,1220px)}.topbar{height:68px;padding:0 16px;grid-template-columns:1fr auto}.nav-tabs{position:fixed;left:0;right:0;bottom:0;height:58px;border-radius:15px 15px 0 0;background:#fff;z-index:50;box-shadow:0 -4px 18px #21152e18}.nav-tabs a{flex:1;padding:8px 6px;text-align:center;font-size:10px}.nav-tabs a span{display:block}.account>a{display:none}.account button{border:0;padding:0}.hero{padding:19px 16px 35px}.search-wrap{gap:8px}.explore-btn{padding:12px 16px}.results{right:92px}.results small{display:none}.hero h1{font-size:30px;margin-top:47px}.hero>p{font-size:15px}.cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px}.country-card,.country-card:nth-child(n+4){display:flex;min-width:78vw;scroll-snap-align:start}.fast{padding:45px 0}.fast h2{font-size:29px}.logos{overflow-x:auto;justify-content:flex-start}.logos span{white-space:nowrap}.stats{grid-template-columns:1fr}.center-head h1{font-size:25px}.apply-banner{grid-template-columns:1fr}.apply-banner .btn{width:100%}.dest-hero{height:245px}.details{grid-template-columns:1fr;padding-top:25px}.plan{position:static;grid-row:1}.steps{grid-template-columns:1fr 1fr}.docs{grid-template-columns:1fr 1fr}.page-intro{padding-top:45px}.page-intro h1{font-size:38px}.content-grid{grid-template-columns:1fr;gap:25px}.blogs{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-col:first-child{grid-column:1/-1}.chat{bottom:69px}.chat span{display:none}.form-grid{grid-template-columns:1fr}}

/* Motion + Booking Experience */
.nav-tabs a{padding-left:20px;padding-right:20px;transition:background .25s ease,color .25s ease}.nav-tabs a:hover{background:#faf5ff;color:var(--purple)}.nav-tabs .booking-nav{font-weight:700;color:var(--purple)}
.reveal-item{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--delay,0ms)}.reveal-item.is-visible{opacity:1;transform:none}
.hero{position:relative;overflow:hidden;padding-bottom:58px}.hero>*:not(.hero-orb){position:relative;z-index:2}.hero-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.4;pointer-events:none}.orb-one{width:210px;height:210px;background:#d5b5ff;left:-80px;top:115px;animation:floatOrb 7s ease-in-out infinite}.orb-two{width:150px;height:150px;background:#ffe493;right:-40px;top:45px;animation:floatOrb 8s ease-in-out infinite reverse}.hero-copy{animation:heroIn .8s cubic-bezier(.2,.8,.2,1) both}.hero-kicker{display:inline-block;margin-top:42px;padding:7px 12px;border:1px solid #e4d9ef;border-radius:999px;background:#ffffffaa;color:var(--purple);font-size:10px;font-weight:800;letter-spacing:.17em}.hero-copy h1{margin-top:18px}.hero-copy>p{font-size:18px;margin:0}.hero-actions{display:flex;justify-content:center;gap:10px;margin-top:23px}.btn{transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 8px 20px #4f1c8718}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #4f1c8730}.btn:active{transform:translateY(0) scale(.98)}.btn-light{background:#fff;color:var(--purple);border:1px solid #dcd3e5}.btn-light:hover{background:#f8f0ff}.country-card{position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.country-card:hover{transform:translateY(-9px) scale(1.012);box-shadow:0 20px 38px #2f1a4724}.country-card:before{content:"";position:absolute;width:90px;height:200%;top:-50%;left:-130px;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:rotate(18deg);z-index:4;pointer-events:none}.country-card:hover:before{animation:cardShine .75s ease}.modal-bg{animation:fadeIn .22s ease both}.modal{animation:modalIn .32s cubic-bezier(.2,.8,.2,1) both}.reveal,.country-card,.feature,.stats>div,.blog,.booking-benefits>div{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--delay,0ms)}.reveal.is-visible,.country-card.is-visible,.feature.is-visible,.stats>div.is-visible,.blog.is-visible,.booking-benefits>div.is-visible{opacity:1;transform:none}
.booking-page{background:linear-gradient(180deg,#fff 0,#faf7ff 54%,#fff 100%);overflow:hidden}.booking-hero{padding:78px 0 104px;background:radial-gradient(circle at 78% 25%,#6f37ba55,transparent 26%),linear-gradient(135deg,#150b28,#2c1150 55%,#51127d);color:#fff;position:relative}.booking-hero:before,.booking-hero:after{content:"";position:absolute;border:1px solid #ffffff18;border-radius:50%;width:430px;height:430px;right:-120px;top:-180px;animation:slowSpin 18s linear infinite}.booking-hero:after{width:310px;height:310px;right:-60px;top:-120px;animation-direction:reverse}.booking-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.booking-hero-inner>div:first-child{max-width:680px;animation:heroIn .75s ease both}.booking-kicker{font-size:10px;letter-spacing:.2em;color:#d7b8f5;font-weight:800}.booking-hero h1{font-size:54px;line-height:1.03;letter-spacing:-2px;margin:15px 0}.booking-hero h1 em{font-family:Georgia,serif;font-weight:400;color:#f2d3ff}.booking-hero p{font-size:17px;color:#d5cbe0;max-width:600px}.booking-float-card{min-width:255px;padding:24px;border:1px solid #ffffff26;border-radius:22px;background:#ffffff12;backdrop-filter:blur(10px);box-shadow:0 25px 55px #09040f45;animation:floatCard 5s ease-in-out infinite}.booking-float-card>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--purple);font-size:21px;margin-bottom:20px}.booking-float-card b,.booking-float-card small{display:block}.booking-float-card b{font-size:20px}.booking-float-card small{color:#cbbdd8;margin-top:5px}.booking-shell{margin-top:-55px;position:relative;z-index:3;border:1px solid #e5deea;background:#fff;border-radius:26px;padding:20px;box-shadow:0 24px 65px #2c134519}.booking-tabs{display:flex;gap:7px;padding:5px;background:#f5f2f8;border-radius:14px;width:max-content;margin-bottom:20px}.booking-tabs button{border:0;background:transparent;padding:12px 18px;border-radius:10px;color:#77717b;font-weight:700;cursor:pointer;transition:.2s}.booking-tabs button.active{background:#fff;color:var(--purple);box-shadow:0 4px 14px #35154e12}.booking-form{display:grid;align-items:end;gap:10px}.flight-form{grid-template-columns:1.2fr 42px 1.2fr 1fr 1fr auto}.hotel-form{grid-template-columns:1.4fr 1fr 1fr 1.2fr auto}.booking-form label{font-size:10px;font-weight:800;color:#746f78;letter-spacing:.04em}.booking-form input,.booking-form select{display:block;width:100%;height:50px;border:1px solid #ddd8e1;border-radius:10px;padding:0 12px;margin-top:6px;background:#fff;color:#211b25}.swap{width:38px;height:38px;border-radius:50%;border:1px solid #ded9e2;background:#fff;color:var(--purple);margin-bottom:6px;cursor:pointer;transition:.25s}.swap:hover{transform:rotate(180deg);background:#faf4ff}.search-booking{height:50px;white-space:nowrap}.ticket-stage{min-height:255px;margin-top:20px;border-radius:20px;background:#faf9fc;border:1px dashed #d9d1df;padding:22px}.ticket-placeholder{text-align:center;color:#817a85;padding:36px}.ticket-placeholder span{font-size:35px}.ticket-placeholder h2{font-size:17px;color:#3c3541;margin:8px 0 4px}.demo-ticket{background:#fff;border:1px solid #e1dce5;border-radius:22px;overflow:hidden;box-shadow:0 22px 45px #26143b14;animation:ticketIn .5s cubic-bezier(.2,.8,.2,1) both}.ticket-top{display:flex;justify-content:space-between;gap:18px;padding:22px 25px;border-bottom:1px dashed #d8d2dc}.ticket-top small,.ticket-grid small,.hotel-dates small,.ticket-bottom small{display:block;color:#88808c;font-size:9px;letter-spacing:.14em;font-weight:800}.ticket-top h2{margin:5px 0 0;font-size:18px}.ticket-top h2 span{font-weight:400;color:#847d89;font-size:12px}.status{align-self:center;background:#e9f8ee;color:#258147;border-radius:999px;padding:7px 11px;font-size:9px;letter-spacing:.1em}.flight-route{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:25px}.flight-route>div:not(.flight-line){display:grid}.flight-route strong{font-size:34px;color:#26103b}.flight-route span{color:#807986;font-size:10px}.flight-route b{font-size:17px;margin-top:5px}.flight-route .right{text-align:right}.flight-line{text-align:center;color:#8a818e}.flight-line:before{content:"";display:block;height:1px;background:linear-gradient(90deg,#cfc8d4,#6a20a6,#cfc8d4);position:relative;top:20px}.flight-line i{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f1e6fb;color:#6319a2;margin:0 auto;transform:rotate(45deg)}.flight-line span,.flight-line small{display:block;font-size:9px}.ticket-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 25px 23px}.ticket-grid>div{padding:12px;background:#f8f6fa;border-radius:10px}.ticket-grid b{display:block;margin-top:5px;font-size:11px}.ticket-bottom{border-top:1px dashed #d8d2dc;padding:17px 25px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:9px;color:#8a838d}.ticket-bottom b{display:block}.barcode{font-family:monospace;font-weight:900;letter-spacing:2px;color:#261a2c}.hotel-cover{position:relative;padding:25px;color:#fff;background:linear-gradient(120deg,#261038,#6d2498)}.hotel-cover>span{color:#ffdd75;letter-spacing:3px;font-size:10px}.hotel-cover h2{font-size:24px;margin:5px 0 1px}.hotel-cover p{margin:0;color:#d8c9e1}.hotel-cover .status{position:absolute;right:24px;top:24px}.hotel-body{padding:23px}.hotel-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:20px}.hotel-dates>div{display:grid}.hotel-dates strong{font-size:18px;margin:3px 0}.hotel-dates span{font-size:10px;color:#817a86}.hotel-note{margin:0 0 18px;padding:10px 12px;border-radius:9px;background:#eef9f1;color:#2c7743;font-size:11px}.booking-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:50px 0 80px}.booking-benefits>div{border:1px solid #e5dfe9;border-radius:17px;padding:22px;background:#fff}.booking-benefits span{font-size:23px}.booking-benefits h3{margin:9px 0 4px}.booking-benefits p{margin:0;color:#77707c;font-size:12px}
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes floatOrb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.08)}}@keyframes cardShine{to{left:120%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes floatCard{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes ticketIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:1100px){.booking-form{grid-template-columns:repeat(2,1fr)}.flight-form .swap{display:none}.search-booking{grid-column:1/-1}.booking-hero h1{font-size:44px}.nav-tabs a{padding-left:12px;padding-right:12px}}
@media(max-width:720px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:min(270px,100%)}.hero-kicker{margin-top:30px}.hero-copy h1{margin-top:15px}.booking-hero{padding:50px 0 92px}.booking-hero-inner{display:block}.booking-hero h1{font-size:37px}.booking-hero p{font-size:14px}.booking-float-card{margin-top:28px;min-width:0;width:100%}.booking-shell{width:calc(100% - 24px);padding:12px;margin-top:-48px}.booking-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.booking-tabs button{padding:11px 7px}.booking-form{grid-template-columns:1fr}.search-booking{grid-column:auto}.ticket-stage{padding:10px}.flight-route{padding:18px 14px;grid-template-columns:1fr .85fr 1fr}.flight-route strong{font-size:27px}.ticket-grid{grid-template-columns:1fr 1fr;padding:0 14px 16px}.ticket-bottom{padding:14px;flex-wrap:wrap}.barcode{display:none}.hotel-body{padding:14px}.hotel-dates{gap:8px}.hotel-dates strong{font-size:14px}.booking-benefits{grid-template-columns:1fr;padding:34px 0 60px}.footer{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-item,.country-card,.feature,.stats>div,.blog,.booking-benefits>div{opacity:1;transform:none}}

/* Simar Holidays integration layer: exact reference visual language over the existing PHP/CRM UI. */
.tb-topbar{display:none!important}.tb-header{height:88px;position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid #eee;box-shadow:0 8px 22px #27143c0a}.tb-header .container{width:100%;max-width:none;padding:0 54px}.tb-navbar{height:88px;padding:0!important;display:flex;gap:22px;flex-wrap:nowrap}.tb-navbar .navbar-brand{width:190px;min-width:190px;margin:0;display:flex;align-items:center}.tb-navbar .navbar-brand img{max-width:174px;max-height:58px;object-fit:contain}.tb-navbar .navbar-collapse{display:flex!important;min-width:0;align-items:center}.tb-main-menu{margin:auto!important;height:48px;display:flex;align-items:stretch;flex-wrap:nowrap;border:1px solid #dedbe1;border-radius:22px 22px 0 0;overflow:visible;background:#fff}.tb-main-menu>.nav-item{display:flex;align-items:stretch;margin:0!important;position:relative}.tb-main-menu>.nav-item>.nav-link{height:46px;display:flex;align-items:center;gap:6px;padding:0 15px!important;border-right:1px solid #e5e2e7;color:#625e67!important;font-size:12px;font-weight:500;white-space:nowrap;border-radius:0!important;background:transparent!important}.tb-main-menu>.nav-item:last-child>.nav-link{border-right:0}.tb-main-menu>.nav-item>.nav-link:hover,.tb-main-menu>.nav-item>.nav-link.active{color:#17141d!important;background:#faf8ff!important;font-weight:700}.tb-main-menu .tb-nav-caret{font-size:8px;margin-left:2px}.tb-main-menu .tb-mega-menu,.tb-main-menu .tb-service-menu{top:49px!important;border:1px solid #e3dfe6!important;border-radius:16px!important;box-shadow:0 20px 45px #27163824!important;background:#fff!important}.tb-client-header{width:190px;min-width:190px;display:flex;justify-content:flex-end}.tb-client-login-btn,.tb-client-menu-btn{border:0!important;border-left:1px solid #bbb!important;background:transparent!important;color:#332d37!important;border-radius:0!important;box-shadow:none!important;padding:8px 0 8px 20px!important;font-size:12px!important}.tb-client-avatar{background:#f0e6fb!important;color:#5a149f!important}.tb-reference-home .hero{min-height:470px}.tb-reference-home .hero-copy{max-width:900px;margin:auto}.tb-reference-home .hero-copy h1{font-size:42px}.tb-reference-home .hero-copy>p{font-size:18px}.tb-reference-home .cards{align-items:stretch}.tb-reference-home .country-card{height:345px}.tb-reference-card-img{height:205px;margin:0 12px;border-radius:13px;position:relative;overflow:hidden;display:block}.tb-reference-card-img>img{width:100%;height:100%;object-fit:cover;display:block}.tb-reference-card-img>.tb-home-destination-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#0b07127a)}.tb-reference-card-img>b{position:absolute;left:13px;bottom:11px;color:#fff;z-index:2;font-size:14px}.tb-reference-home .country-card .card-copy{display:block}.tb-reference-home .country-card .card-copy strong{font-size:18px;display:block;margin-bottom:3px}.tb-reference-home .country-card .card-copy em{font-size:12px;color:#706b74;font-style:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tb-reference-home .country-card .card-meta i{font-size:17px;color:#5a149f}.tb-reference-package-cards .tb-home-package-card{height:345px;border:1px solid #dfdce2;border-radius:21px;overflow:hidden;background:#fff;box-shadow:0 5px 15px #2d1c3d0a}.tb-reference-package-cards .tb-home-package-media{height:190px}.tb-reference-package-cards .tb-home-package-body{padding:13px 15px}.tb-reference-package-cards .tb-home-package-body h3{font-size:16px}.tb-reference-package-cards .tb-package-service-icons,.tb-reference-package-cards .tb-destination-badges{display:none}.tb-reference-home .results.is-open{display:block}.tb-reference-home .results.show{display:block}.tb-reference-home .logos{scrollbar-width:none}.tb-reference-home .logos::-webkit-scrollbar{display:none}

/* Reference-style inner pages without replacing their existing real data/forms. */
body:not(.tb-home-page) .tb-page-hero,body:not(.tb-home-page) .tb-listing-hero{background:radial-gradient(circle at 50% -20%,#fff7d7,#fffcf3 46%,#fff 88%)!important;color:#17141d!important;min-height:260px;padding:78px 0 56px!important;text-align:center;border-bottom:1px solid #f0ebf3}body:not(.tb-home-page) .tb-page-hero:before,body:not(.tb-home-page) .tb-listing-hero:before{display:none!important}body:not(.tb-home-page) .tb-page-hero .tb-script,body:not(.tb-home-page) .tb-listing-hero .tb-script{display:inline-block;padding:7px 12px;border:1px solid #e4d9ef;border-radius:999px;background:#fff;color:#5a149f!important;font-size:10px!important;font-family:Arial,Helvetica,sans-serif!important;font-weight:800;letter-spacing:.17em}body:not(.tb-home-page) .tb-page-hero h1,body:not(.tb-home-page) .tb-listing-hero h1{font-size:48px!important;line-height:1.05!important;letter-spacing:-1.7px!important;color:#17141d!important;margin:15px 0 10px!important}body:not(.tb-home-page) .tb-page-hero p,body:not(.tb-home-page) .tb-listing-hero p{color:#6f6a74!important;font-size:16px!important}.tb-section{padding:54px 0}.tb-soft-section{background:#fff!important}.tb-blog-card,.tb-service-card,.tb-list-package-card,.tb-package-detail-shell,.tb-contact-form-panel,.tb-contact-info-panel,.tb-faq-item{border:1px solid #e4e1e6!important;border-radius:17px!important;background:#fff!important;box-shadow:0 5px 15px #2d1c3d0a!important;transition:transform .3s ease,box-shadow .3s ease!important}.tb-blog-card:hover,.tb-service-card:hover,.tb-list-package-card:hover{transform:translateY(-7px);box-shadow:0 18px 38px #2f1a4720!important}.tb-blog-img,.tb-list-package-img{border-radius:13px!important;overflow:hidden}.tb-blog-body h3,.tb-list-package-body h3{color:#17141d!important}.tb-read-more,.tb-list-package-card a{transition:color .2s ease}.tb-read-more{color:#336be0!important}.tb-contact-page-grid{gap:24px!important}.tb-contact-info-panel{background:#190c30!important;color:#fff!important}.tb-contact-info-panel p,.tb-contact-info-panel small{color:#cfc4d9!important}.tb-contact-info-panel a,.tb-contact-info-panel span{color:#fff!important}.tb-contact-form-panel input,.tb-contact-form-panel select,.tb-contact-form-panel textarea,.tb-lead-form input,.tb-lead-form select,.tb-lead-form textarea{border:1px solid #dbd7de!important;border-radius:9px!important;background:#fff!important}.tb-empty-box{border:1px dashed #d9d1df!important;border-radius:18px!important;background:#faf9fc!important;color:#817a85!important}

/* Live flight / hotel pages retain their API behavior and use the reference booking presentation. */
.tb-flight-results-page,.tb-hotel-results-page,.tb-flight-booking-page,.tb-hotel-booking-page{background:linear-gradient(180deg,#fff 0,#faf7ff 54%,#fff 100%)!important}.tb-live-search-shell,.tb-flight-search-shell,.tb-hotel-search-shell,.tb-booking-shell,.tb-flight-filter-panel,.tb-hotel-filter-panel,.tb-flight-list>*,.tb-hotel-list>*{border-color:#e5deea!important;border-radius:18px!important;box-shadow:0 14px 38px #2c134512!important}.tb-service-tabs,.tb-trip-tabs{background:#f5f2f8!important;border-radius:14px!important}.tb-service-tab,.tb-trip-tab{border-radius:10px!important}.tb-service-tab.active,.tb-trip-tab.active{background:#fff!important;color:#5a149f!important;box-shadow:0 4px 14px #35154e12!important}.tb-live-field input,.tb-live-field select,.tb-unified-form input,.tb-unified-form select{border-color:#ddd8e1!important;border-radius:10px!important}.tb-flight-results-page .tb-btn,.tb-hotel-results-page .tb-btn,.tb-flight-booking-page .tb-btn,.tb-hotel-booking-page .tb-btn{background:linear-gradient(135deg,#336be0,#5a149f)!important;color:#fff!important;border:0!important;border-radius:9px!important}
.tb-reference-booking-choice{min-height:215px;border:1px dashed #d9d1df;border-radius:20px;background:#faf9fc;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:35px}.tb-reference-booking-choice small{font-size:10px;letter-spacing:.16em;color:#5a149f;font-weight:800}.tb-reference-booking-choice h2{font-size:28px;margin:8px 0}.tb-reference-booking-choice p{color:#77707c;max-width:650px;margin:0}.tb-reference-booking-choice .btn{white-space:nowrap}

/* Footer follows the reference dark four-column treatment while keeping CRM content. */
.tb-footer{background:#141019!important;color:#d4d0d8!important;padding:50px 0 24px!important}.tb-footer .row{display:grid!important;grid-template-columns:2fr repeat(3,1fr)!important;gap:55px!important;margin:0!important}.tb-footer .row>div{width:auto!important;padding:0!important}.tb-footer-logo{max-width:165px!important;max-height:62px!important;object-fit:contain!important}.tb-footer h4{font-size:14px!important;text-transform:lowercase;color:#fff!important;margin:0 0 8px!important}.tb-footer p,.tb-footer li,.tb-footer a{color:#aaa5af!important;font-size:12px!important;line-height:1.75!important}.tb-footer a:hover{color:#d4acff!important}.tb-footer ul{padding:0!important;margin:0!important;list-style:none!important}.tb-footer-social a{width:34px!important;height:34px!important;border:1px solid #302b35!important;background:#211b25!important}.tb-footer-bottom{border-top:1px solid #302b35!important;margin-top:30px!important;padding-top:18px!important}.tb-back-top{background:#651eaa!important;bottom:22px!important}

@media(max-width:1180px){.tb-header .container{padding:0 24px}.tb-navbar .navbar-brand{width:150px;min-width:150px}.tb-navbar .navbar-brand img{max-width:145px}.tb-client-header{width:140px;min-width:140px}.tb-main-menu>.nav-item>.nav-link{padding:0 10px!important;font-size:11px}.tb-main-menu .tb-nav-caret{display:none}.tb-reference-home .cards{grid-template-columns:repeat(3,1fr)}.tb-reference-home .country-card:nth-child(n+4),.tb-reference-package-cards .tb-home-package-card:nth-child(n+4){display:none}}
@media(max-width:720px){body{padding-bottom:58px}.tb-header{height:68px}.tb-header .container{padding:0 16px}.tb-navbar{height:68px;position:relative}.tb-navbar .navbar-brand{width:auto;min-width:0;flex:1}.tb-navbar .navbar-brand img{max-width:140px;max-height:48px}.tb-navbar .navbar-toggler{display:none!important}.tb-navbar .navbar-collapse{display:block!important;position:static!important;flex-basis:auto!important;flex-grow:0!important}.tb-main-menu{position:fixed!important;left:0;right:0;bottom:0;top:auto;height:58px;border-radius:15px 15px 0 0;z-index:80;background:#fff;box-shadow:0 -4px 18px #21152e18;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tb-main-menu::-webkit-scrollbar{display:none}.tb-main-menu>.nav-item{min-width:82px;flex:1}.tb-main-menu>.nav-item>.nav-link{height:58px;min-width:82px;padding:7px 8px!important;justify-content:center;text-align:center;font-size:10px;border-right:1px solid #eee;white-space:normal;line-height:1.1}.tb-main-menu .tb-mega-menu,.tb-main-menu .tb-service-menu{display:none!important}.tb-client-header{position:absolute;right:0;top:0;width:auto;min-width:0;height:68px;align-items:center}.tb-client-login-btn,.tb-client-menu-btn{border-left:0!important;padding-left:8px!important}.tb-reference-home .hero{min-height:420px}.tb-reference-home .hero-copy h1{font-size:30px}.tb-reference-home .cards{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px}.tb-reference-home .country-card,.tb-reference-home .country-card:nth-child(n+4),.tb-reference-package-cards .tb-home-package-card,.tb-reference-package-cards .tb-home-package-card:nth-child(n+4){display:flex;min-width:78vw;scroll-snap-align:start}.tb-reference-package-cards .tb-home-package-card{flex-direction:column}.tb-reference-booking-choice{display:block;min-height:0;padding:22px}.tb-reference-booking-choice h2{font-size:22px}.tb-reference-booking-choice .btn{width:100%;margin-top:18px}.tb-footer{padding-bottom:75px!important}.tb-footer .row{grid-template-columns:1fr 1fr!important;gap:32px!important}.tb-footer .row>div:first-child{grid-column:1/-1}.tb-footer-bottom{display:block!important}.tb-back-top{bottom:69px!important}body:not(.tb-home-page) .tb-page-hero h1,body:not(.tb-home-page) .tb-listing-hero h1{font-size:36px!important}}

/* Frontend-only visa application + payment preview. */
body.tb-visa-flow-open{overflow:hidden}.tb-visa-flow{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}.tb-visa-flow-backdrop{position:absolute;inset:0;border:0;background:#160d22c7;backdrop-filter:blur(7px)}.tb-visa-flow-card{position:relative;width:min(760px,100%);max-height:94vh;overflow:auto;background:#fff;border:1px solid #e4dfe8;border-radius:25px;box-shadow:0 35px 100px #10051e66;animation:modalIn .32s cubic-bezier(.2,.8,.2,1) both}.tb-visa-flow-card>header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #eee8f1;background:#fff}.tb-visa-flow-card>header small{display:block;color:#6c19af;font-size:9px;font-weight:900;letter-spacing:.16em}.tb-visa-flow-card>header strong{display:block;font-size:16px;margin-top:3px}.tb-visa-flow-card>header button{width:36px;height:36px;border:1px solid #ddd7e1;border-radius:50%;background:#fff;color:#4b4450;font-size:22px;line-height:1;cursor:pointer}.tb-visa-flow-progress{display:flex;align-items:center;justify-content:center;padding:20px 26px 5px}.tb-visa-flow-progress span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #cfc8d4;border-radius:50%;background:#fff;color:#7c7482;font-size:11px;font-weight:800;transition:.25s}.tb-visa-flow-progress span.active,.tb-visa-flow-progress.complete span{background:linear-gradient(135deg,#336be0,#5a149f);border-color:#5a149f;color:#fff}.tb-visa-flow-progress i{width:70px;height:1px;background:#ddd7e2}.tb-visa-flow-progress.complete i{background:#7a39b4}.tb-visa-flow-body{padding:22px 28px}.tb-visa-step>small{color:#6c19af;font-size:9px;letter-spacing:.15em;font-weight:900}.tb-visa-step h2{font-size:27px;letter-spacing:-.5px;margin:7px 0 19px}.tb-visa-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tb-visa-step label{font-size:10px;font-weight:800;color:#66606a}.tb-visa-step input,.tb-visa-step select{display:block;width:100%;height:48px;margin-top:6px;padding:0 12px;border:1px solid #dbd5df;border-radius:10px;background:#fff;color:#211b25;outline:none}.tb-visa-step input:focus,.tb-visa-step select:focus{border-color:#7b37b3;box-shadow:0 0 0 3px #6f27a90d}.tb-visa-muted{color:#77717b;margin:-8px 0 17px}.tb-visa-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tb-visa-upload-grid label{min-height:108px;padding:15px;border:1px dashed #cfc5d7;border-radius:13px;background:#fbf9fd;color:#3e3743}.tb-visa-upload-grid input{height:auto;border:0;padding:0;margin-top:13px;background:transparent;font-size:11px}.tb-visa-demo-note{margin-top:15px;padding:11px 13px;border-radius:10px;background:#fff8e7;border:1px solid #f4e6bd;color:#715d29;font-size:11px;font-weight:700}.tb-visa-review{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tb-visa-review>div{padding:13px;border:1px solid #e6e1e9;border-radius:11px;background:#faf9fc}.tb-visa-review small{display:block;font-size:8px;letter-spacing:.12em;color:#877f8a;font-weight:900}.tb-visa-review b{display:block;margin-top:5px;font-size:12px;overflow-wrap:anywhere}.tb-visa-consent{display:flex!important;align-items:flex-start;gap:9px;margin-top:17px}.tb-visa-consent input{width:17px;height:17px;margin:2px 0 0;accent-color:#5a149f}.tb-visa-consent span{font-size:12px;font-weight:600;color:#4f4854}.tb-visa-payment-summary{border:1px solid #ded6e5;border-radius:14px;padding:16px;background:linear-gradient(135deg,#fbf7ff,#f7f9ff)}.tb-visa-payment-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.tb-visa-payment-summary b{font-size:22px;color:#521593}.tb-visa-payment-summary small{display:block;color:#7a7280;margin-top:5px}.tb-visa-pay-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.tb-visa-pay-methods label{position:relative;padding:14px;border:1px solid #ddd6e1;border-radius:12px;background:#fff;cursor:pointer}.tb-visa-pay-methods input{position:absolute;right:10px;top:10px;width:15px;height:15px;margin:0;accent-color:#5a149f}.tb-visa-pay-methods span,.tb-visa-pay-methods small{display:block}.tb-visa-pay-methods span{font-size:13px;font-weight:800;color:#302937}.tb-visa-pay-methods small{margin-top:4px;color:#867e8a;font-size:9px;line-height:1.35}.tb-visa-flow-card>footer{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 24px;border-top:1px solid #eee8f1;background:#fff}.tb-visa-flow-card>footer>[data-visa-error]{color:#b42318;font-size:11px;text-align:right}.tb-visa-secondary{border:1px solid #d9d3de;border-radius:9px;background:#fff;padding:11px 15px;color:#4d4652;font-weight:700;cursor:pointer}.tb-visa-success{text-align:center;padding:25px 10px 35px}.tb-visa-success>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#eaf8ee;color:#248047;font-size:28px}.tb-visa-success>small{color:#5a149f;font-size:9px;letter-spacing:.15em;font-weight:900}.tb-visa-success h2{font-size:29px;margin:7px 0}.tb-visa-success p{color:#716a76}.tb-visa-success>div{display:inline-block;vertical-align:top;min-width:210px;margin:10px 4px;padding:12px;border-radius:11px;background:#f8f6fa}.tb-visa-success>div small,.tb-visa-success>div b{display:block}.tb-visa-success>div small{font-size:8px;color:#827b86;letter-spacing:.11em}.tb-visa-success>div b{font-size:11px;margin-top:4px}.tb-visa-success>strong{display:block;max-width:510px;margin:15px auto 0;padding:10px;border-radius:9px;background:#fff5e7;color:#845b19;font-size:10px;letter-spacing:.04em}

/* Sample Flight Ticket / Hotel Voucher kept separate from live booking. */
.tb-demo-docs{margin-top:32px;border:1px solid #e4dfe8;border-radius:25px;background:#fff;padding:22px;box-shadow:0 20px 55px #2c134510}.tb-demo-docs-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px}.tb-demo-docs-head small{font-size:9px;letter-spacing:.16em;color:#5a149f;font-weight:900}.tb-demo-docs-head h2{font-size:25px;margin:4px 0}.tb-demo-docs-head p{color:#77717b;margin:0}.tb-demo-docs-head>span{padding:8px 12px;border-radius:999px;background:#fff5e7;color:#865d1d;font-size:10px;font-weight:800;white-space:nowrap}.tb-demo-form{display:grid;align-items:end;gap:10px}.tb-demo-flight-form{grid-template-columns:1.2fr 42px 1.2fr 1fr 1fr auto}.tb-demo-hotel-form{grid-template-columns:1.4fr 1fr 1fr 1.2fr auto}.tb-demo-form label{font-size:10px;font-weight:800;color:#746f78;letter-spacing:.04em}.tb-demo-form input,.tb-demo-form select{display:block;width:100%;height:50px;border:1px solid #ddd8e1;border-radius:10px;padding:0 12px;margin-top:6px;background:#fff;color:#211b25}.tb-demo-swap{width:38px;height:38px;margin-bottom:6px;border:1px solid #ded9e2;border-radius:50%;background:#fff;color:#5a149f;cursor:pointer;transition:.25s}.tb-demo-swap:hover{transform:rotate(180deg);background:#faf4ff}.tb-demo-stage{min-height:220px;margin-top:20px;padding:18px;border:1px dashed #d9d1df;border-radius:20px;background:#faf9fc}.tb-demo-placeholder{text-align:center;padding:32px;color:#817a85}.tb-demo-placeholder>span{font-size:34px}.tb-demo-placeholder h3{font-size:17px;color:#3c3541;margin:8px 0 4px}.tb-demo-placeholder p{margin:0}.tb-sample-ticket{position:relative;overflow:hidden;background:#fff;border:1px solid #e1dce5;border-radius:21px;box-shadow:0 20px 42px #26143b12;animation:ticketIn .45s ease both}.tb-sample-ribbon{padding:7px 15px;background:#fff3d8;color:#815916;text-align:center;font-size:9px;font-weight:900;letter-spacing:.12em}.tb-sample-ticket>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-bottom:1px dashed #d8d2dc}.tb-sample-ticket>header small{display:block;color:#88808c;font-size:9px;letter-spacing:.12em;font-weight:900}.tb-sample-ticket>header h2{font-size:18px;margin:4px 0 0}.tb-sample-ticket>header h2 span{font-size:11px;color:#817986}.tb-sample-ticket>header p{margin:2px 0 0;color:#77717b}.tb-sample-ticket>header>b{padding:7px 11px;border-radius:999px;background:#fff5e7;color:#805816;font-size:9px;letter-spacing:.11em}.tb-sample-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:23px}.tb-sample-route>div{display:grid}.tb-sample-route>div:last-child{text-align:right}.tb-sample-route strong{font-size:31px;color:#26103b}.tb-sample-route span{font-size:10px;color:#807986}.tb-sample-route b{font-size:16px;margin-top:4px}.tb-sample-route>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#f1e6fb;color:#6319a2}.tb-sample-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:0 22px 20px}.tb-sample-grid>div{padding:11px;background:#f8f6fa;border-radius:10px}.tb-sample-grid small{display:block;color:#88808c;font-size:8px;letter-spacing:.12em;font-weight:900}.tb-sample-grid b{display:block;margin-top:4px;font-size:11px}.tb-sample-ticket>footer{padding:13px 22px;border-top:1px dashed #d8d2dc;color:#8a838d;font-size:9px;font-weight:700}.tb-sample-hotel>header{color:#fff;background:linear-gradient(120deg,#261038,#6d2498)}.tb-sample-hotel>header small,.tb-sample-hotel>header p{color:#d7c9e0}.tb-sample-hotel>header>b{background:#fff;color:#5a149f}.tb-sample-hotel-dates{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:22px}.tb-sample-hotel-dates>div{display:grid}.tb-sample-hotel-dates>div:last-child{text-align:right}.tb-sample-hotel-dates small{font-size:8px;letter-spacing:.12em;color:#847d89;font-weight:900}.tb-sample-hotel-dates strong{font-size:17px;margin:3px 0}.tb-sample-hotel-dates span{font-size:10px;color:#817a86}

@media(max-width:1000px){.tb-demo-flight-form,.tb-demo-hotel-form{grid-template-columns:1fr 1fr}.tb-demo-swap{display:none}.tb-demo-form .btn{grid-column:1/-1}.tb-visa-flow-card{max-height:92vh}}
@media(max-width:720px){.tb-visa-flow{padding:8px 8px 66px}.tb-visa-flow-card{border-radius:18px;max-height:calc(100vh - 82px)}.tb-visa-flow-card>header{padding:15px}.tb-visa-flow-progress{padding:14px 16px 3px}.tb-visa-flow-progress i{width:30px}.tb-visa-flow-body{padding:18px 15px}.tb-visa-form-grid,.tb-visa-upload-grid,.tb-visa-review{grid-template-columns:1fr}.tb-visa-pay-methods{grid-template-columns:1fr}.tb-visa-flow-card>footer{grid-template-columns:auto 1fr;padding:12px 15px}.tb-visa-flow-card>footer>[data-visa-error]{grid-column:1/-1;grid-row:1;text-align:left}.tb-demo-docs{width:calc(100% - 24px);padding:13px}.tb-demo-docs-head{display:block}.tb-demo-docs-head>span{display:inline-flex;margin-top:12px}.tb-demo-flight-form,.tb-demo-hotel-form{grid-template-columns:1fr}.tb-demo-form .btn{grid-column:auto}.tb-demo-stage{padding:9px}.tb-sample-ticket>header{padding:15px}.tb-sample-route{padding:17px 14px}.tb-sample-route strong{font-size:26px}.tb-sample-grid{grid-template-columns:1fr 1fr;padding:0 14px 15px}.tb-sample-hotel-dates{padding:17px 14px;gap:8px}.tb-sample-hotel-dates strong{font-size:13px}}

/* ===== css/navy-teal-theme.css ===== */
/* Simar Holidays public-site presentation theme.
   Purple + teal palette based on the approved booking/header reference.
   Presentation only: no markup, routes, data or application behaviour. */
:root{
  --ink:#241A2D;
  --muted:#756E7C;
  --purple:#5A149F;
  --purple-2:#7132B5;
  --plum:#2C1150;
  --deep:#150B28;
  --violet:#51127D;
  --teal:#0F9F9A;
  --teal-2:#12B8AD;
  --aqua:#52D7CC;
  --warm:#0F9F9A;
  --white:#FFFFFF;
  --soft:#FAF8FC;
  --soft-2:#F4EFF8;
  --line:#E6DFEC;
  --shadow-sm:0 8px 24px rgba(35,16,57,.07);
  --shadow-md:0 18px 44px rgba(35,16,57,.13);
  --focus:0 0 0 4px rgba(15,159,154,.18);
}

html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink);font-family:"DM Sans",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body:not(.tb-home-page){background:var(--soft)}
::selection{background:#E9D8F7;color:var(--deep)}
a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}

/* Header / navigation */
.tb-topbar{background:var(--deep)!important;color:#DDD2E8!important;border:0!important}
.tb-topbar a{color:#DDD2E8!important}
.tb-topbar a:hover{color:#fff!important}
.tb-topbar-social a{border-color:rgba(255,255,255,.15)!important;color:var(--aqua)!important}
.tb-header{background:rgba(255,255,255,.98)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 8px 28px rgba(35,16,57,.07)!important;backdrop-filter:blur(14px)}
.tb-main-menu{border-color:var(--line)!important}
.tb-main-menu>.nav-item>.nav-link{color:#3E3548!important;font-weight:750!important;letter-spacing:-.01em;position:relative}
.tb-main-menu>.nav-item>.nav-link:after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--purple));transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.tb-main-menu>.nav-item>.nav-link:hover,.tb-main-menu>.nav-item>.nav-link.active{color:var(--deep)!important;background:#F8F4FA!important}
.tb-main-menu>.nav-item>.nav-link:hover:after,.tb-main-menu>.nav-item>.nav-link.active:after{transform:scaleX(1)}
.tb-main-menu>.nav-item>.nav-link>i:first-child{color:var(--teal)!important;transition:transform .22s ease,color .22s ease}
.tb-main-menu>.nav-item>.nav-link:hover>i:first-child{color:var(--purple)!important;transform:translateY(-1px)}
.tb-service-menu,.tb-mega-menu,.tb-client-menu-list{border:1px solid var(--line)!important;box-shadow:0 22px 52px rgba(35,16,57,.15)!important;background:#fff!important;border-radius:14px!important}
.tb-service-menu .dropdown-item:hover,.tb-mega-grid a:hover,.tb-client-menu-list a:hover,.tb-client-menu-list button:hover{background:#F7F0FB!important;color:var(--plum)!important}
.tb-mega-head{background:#FBF9FC!important;border-color:var(--line)!important}
.tb-mega-head span,.tb-service-menu i{color:var(--teal)!important}

/* Approved purple hero treatment used across public page intros. */
.tb-reference-home .hero,.tb-home-page .tb-hero,.tb-page-hero,.tb-listing-hero,.booking-hero{
  background:radial-gradient(circle at 78% 22%,rgba(113,50,181,.42),transparent 29%),linear-gradient(135deg,#150B28 0%,#2C1150 56%,#51127D 100%)!important;
  color:#fff!important;
  position:relative;overflow:hidden;
}
.tb-reference-home .hero:before,.tb-home-page .tb-hero:before{background:radial-gradient(circle at 82% 16%,rgba(82,215,204,.10),transparent 34%)!important}
.tb-reference-home .hero h1,.tb-reference-home .hero p,.tb-home-page .tb-hero h1,.tb-page-hero h1,.tb-listing-hero h1,.booking-hero h1{color:#fff!important}
.tb-reference-home .hero h1 em,.tb-home-page .tb-hero h1 em,.tb-page-hero small,.tb-listing-hero small,.booking-hero h1 em{color:#F1D2FF!important}
.tb-reference-home .hero .eyebrow,.booking-kicker{color:#D8B9F4!important}
.tb-reference-home .hero .search,.tb-home-page .tb-search-shell{background:#fff!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:0 20px 48px rgba(9,4,15,.28)!important}
.tb-reference-home .hero .search button{background:linear-gradient(135deg,var(--teal-2),var(--teal))!important}
.tb-reference-home .hero .search button:hover{background:linear-gradient(135deg,#16C8BC,#0B8581)!important;transform:translateX(2px)}
.tb-reference-home .explore-btn{border-color:rgba(255,255,255,.65)!important;color:#fff!important;background:rgba(255,255,255,.06)!important;backdrop-filter:blur(8px)}
.tb-reference-home .explore-btn:hover{background:#fff!important;border-color:#fff!important;color:var(--plum)!important}
.tb-page-hero p,.tb-listing-hero p,.booking-hero p{color:#D8CDE1!important}
.tb-breadcrumb,.breadcrumb{color:#776F7E!important}

/* Cards and content surfaces */
.country-card,.tb-home-package-card,.tb-package-card,.tb-service-card,.tb-blog-card,.blog,.plan,.metric,.stats>div,.tb-info-card,.tb-booking-card,.tb-demo-docs,.tb-sample-ticket{
  background:#fff!important;border-color:var(--line)!important;border-radius:16px!important;box-shadow:0 6px 20px rgba(35,16,57,.055)!important;
  transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease!important;
}
.country-card:hover,.tb-home-package-card:hover,.tb-package-card:hover,.tb-service-card:hover,.tb-blog-card:hover,.blog:hover,.plan:hover{
  transform:translateY(-5px)!important;border-color:#CEB8E0!important;box-shadow:0 18px 38px rgba(35,16,57,.12)!important;
}
.card-meta,.tb-card-kicker,.tb-package-card small,.blog small,.eyebrow{color:var(--purple)!important}
.card-copy h3,.tb-home-package-card h3,.tb-package-card h3,.tb-service-card h3,.blog h2{color:var(--deep)!important}
.card-copy p,.tb-home-package-card p,.tb-package-card p,.tb-service-card p,.blog p{color:var(--muted)!important}
.metric{background:#F6EFFA!important}
.metric strong,.stats strong{color:var(--plum)!important}

/* Deep plum support/feature bands. */
.fast,.tb-reference-booking-choice,.tb-dark-section,.tb-support-band{background:linear-gradient(130deg,#150B28,#281142 65%,#35145A)!important;color:#fff!important}
.fast .eyebrow,.tb-reference-booking-choice small{color:#D9BDF0!important}
.feature{background:#23123D!important;border-color:#432761!important;border-radius:15px!important}
.feature>span{background:linear-gradient(145deg,var(--teal-2),var(--teal))!important;color:#fff!important;border-radius:11px!important;box-shadow:0 8px 20px rgba(15,159,154,.24)!important}
.feature p{color:#CFC4D9!important}

/* Buttons: custom layered treatment, polished motion, clear hierarchy. */
.btn,.tb-btn,.btn-primary,.tb-primary-btn,.tb-book-btn,.tb-search-btn,.tb-live-search-btn,.tb-booking-pay-btn,.tb-select-slot-btn,.tb-demo-form .btn,.tb-visa-flow-card>footer .btn{
  position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(90,20,159,.78)!important;border-radius:11px!important;
  background:linear-gradient(135deg,#7132B5 0%,#5A149F 52%,#3C1267 100%)!important;color:#fff!important;font-weight:800!important;letter-spacing:.006em;
  box-shadow:0 10px 24px rgba(90,20,159,.24),inset 0 1px 0 rgba(255,255,255,.22)!important;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,border-color .2s ease!important;
}
.btn:before,.tb-btn:before,.btn-primary:before,.tb-primary-btn:before,.tb-book-btn:before,.tb-search-btn:before,.tb-live-search-btn:before,.tb-booking-pay-btn:before,.tb-select-slot-btn:before,.tb-demo-form .btn:before{
  content:"";position:absolute;z-index:-1;top:-35%;bottom:-35%;left:-45%;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-18deg);transition:left .42s ease;
}
.btn:hover:before,.tb-btn:hover:before,.btn-primary:hover:before,.tb-primary-btn:hover:before,.tb-book-btn:hover:before,.tb-search-btn:hover:before,.tb-live-search-btn:hover:before,.tb-booking-pay-btn:hover:before,.tb-select-slot-btn:hover:before,.tb-demo-form .btn:hover:before{left:115%}
.btn:hover,.tb-btn:hover,.btn-primary:hover,.tb-primary-btn:hover,.tb-book-btn:hover,.tb-search-btn:hover,.tb-live-search-btn:hover,.tb-booking-pay-btn:hover,.tb-select-slot-btn:hover,.tb-demo-form .btn:hover{
  color:#fff!important;transform:translateY(-2px)!important;filter:saturate(1.08) brightness(1.04);box-shadow:0 16px 32px rgba(90,20,159,.31),inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.btn:active,.tb-btn:active,.btn-primary:active,.tb-primary-btn:active,.tb-book-btn:active,.tb-live-search-btn:active,.tb-booking-pay-btn:active{transform:translateY(0) scale(.985)!important;box-shadow:0 6px 15px rgba(90,20,159,.22)!important}
.tb-client-login-btn{background:linear-gradient(135deg,#12B8AD,#0F9F9A)!important;border-color:#0F9F9A!important;box-shadow:0 10px 24px rgba(15,159,154,.25),inset 0 1px 0 rgba(255,255,255,.25)!important}
.tb-client-login-btn:hover{box-shadow:0 15px 30px rgba(15,159,154,.32),inset 0 1px 0 rgba(255,255,255,.28)!important}
.btn:focus-visible,.tb-btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none!important;box-shadow:var(--focus)!important}
.btn-outline-primary,.tb-btn-outline,.tb-outline-card,.tb-visa-secondary,.tb-demo-swap{background:#fff!important;border:1px solid #CDB7DF!important;color:var(--purple)!important;box-shadow:0 5px 14px rgba(35,16,57,.06)!important}
.btn-outline-primary:before,.tb-btn-outline:before,.tb-outline-card:before,.tb-visa-secondary:before,.tb-demo-swap:before{display:none!important}
.btn-outline-primary:hover,.tb-btn-outline:hover,.tb-outline-card:hover,.tb-visa-secondary:hover,.tb-demo-swap:hover{background:#F7F0FB!important;color:var(--plum)!important;border-color:#A87DCA!important;box-shadow:0 10px 22px rgba(35,16,57,.10)!important}

/* Forms, tabs and booking controls */
input,select,textarea,.form-control,.form-select{border-color:#D8D0DE!important;color:var(--ink)!important;background-color:#fff!important;border-radius:10px!important;transition:border-color .18s ease,box-shadow .18s ease!important}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus{border-color:var(--teal)!important;box-shadow:var(--focus)!important;outline:0!important}
label{color:#4D4555}
.tb-booking-tabs,.tb-tabs,.sampleTabs,.booking-tabs{background:#F4EFF7!important;border-color:var(--line)!important}
.tb-booking-tabs button.active,.tb-tabs .active,.sampleTabs button.active,.booking-tabs button.active{background:#fff!important;color:var(--purple)!important;border-color:#CDB7DF!important;box-shadow:0 6px 16px rgba(35,16,57,.09)!important}
.tb-booking-tabs button i,.booking-tabs button i{color:var(--teal)!important}

/* Visa application / payment and sample ticket surfaces */
.tb-visa-flow-backdrop,.modalBackdrop,.modal-bg{background:rgba(21,11,40,.80)!important;backdrop-filter:blur(9px)}
.tb-visa-flow-card,.modalCard,.modal{border-color:var(--line)!important;border-radius:18px!important;box-shadow:0 30px 90px rgba(21,11,40,.36)!important}
.tb-visa-flow-card>header,.tb-visa-flow-card>footer,.modalCard>header,.modalCard>footer{border-color:#ECE5F0!important}
.tb-visa-flow-card>header small,.tb-visa-step>small,.tb-visa-success>small,.modalCard>header small,.modalBody>small{color:var(--purple)!important}
.tb-visa-flow-progress span.active,.tb-visa-flow-progress.complete span,.modalProgress span.active,.modalProgress span.on{background:linear-gradient(145deg,var(--purple-2),var(--purple))!important;border-color:var(--purple)!important;color:#fff!important}
.tb-visa-flow-progress.complete i{background:var(--purple)!important}
.tb-visa-consent input,.tb-visa-pay-methods input{accent-color:var(--teal)!important}
.tb-visa-review>div,.reviewBox>div,.tb-sample-grid>div{background:#FAF8FC!important;border-color:var(--line)!important}
.tb-visa-payment-summary,.paySummary{background:#F5EEFA!important;border-color:#DCCBE8!important}
.tb-visa-payment-summary b,.paySummary b{color:var(--plum)!important}
.tb-demo-docs{background:#fff!important}
.tb-demo-stage,.sampleExperience{background:#FAF8FC!important;border-color:#D8D0DE!important}
.tb-demo-docs-head small{color:var(--purple)!important}
.tb-demo-swap{color:var(--purple)!important}
.tb-sample-route strong,.sampleRoute strong{color:var(--plum)!important}
.tb-sample-route>i,.sampleRoute i{background:#E4F7F5!important;color:#0B827E!important}
.tb-sample-hotel>header,.hotelDoc>header{background:linear-gradient(120deg,#211033,#5E2386)!important;color:#fff!important}
.tb-sample-hotel>header small,.tb-sample-hotel>header p,.hotelDoc>header small,.hotelDoc>header span{color:#DCCFE5!important}
.tb-sample-hotel>header>b,.hotelDoc>header>b{color:var(--aqua)!important}

/* Editorial/CMS */
.page-intro small,.center-head .pill{color:var(--purple)!important}
.center-head .pill{background:#F1E6F8!important}
.page-intro h1,.center-head h1,.content-grid h2,.details h2,.article h2{color:var(--deep)!important}
.page-intro p,.content-grid p,.article p,.article li{color:#655D6C!important}
.content-grid{border-color:var(--line)!important}
.blog a{color:var(--purple)!important}

/* Footer / fixed utilities */
.tb-footer,.footer{background:linear-gradient(135deg,#12091F,#211033 62%,#2C1150)!important;color:#DCD3E3!important}
.tb-footer h3,.tb-footer h4,.footer h4,.tb-footer a:hover,.footer a:hover{color:#fff!important}
.tb-footer p,.tb-footer a,.footer p,.footer a{color:#AFA4B8!important}
.tb-footer a:hover,.footer a:hover{color:#D7B9F1!important;transform:translateX(3px)}
.tb-footer-bottom,.explore,.copy{border-color:rgba(255,255,255,.11)!important}
.chat,.tb-whatsapp-float{background:linear-gradient(145deg,#12B8AD,#0F9F9A)!important;color:#fff!important;box-shadow:0 12px 28px rgba(15,159,154,.30)!important}
.chat:hover,.tb-whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 17px 34px rgba(15,159,154,.36)!important}
.tb-back-top{background:linear-gradient(145deg,var(--purple-2),var(--purple))!important;color:#fff!important;border-color:var(--purple)!important}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:720px){
  .tb-main-menu{background:#fff!important;border-top:1px solid var(--line)!important;box-shadow:0 -9px 26px rgba(35,16,57,.11)!important}
  .tb-main-menu>.nav-item>.nav-link{color:#5E5667!important}
  .tb-main-menu>.nav-item>.nav-link.active{color:var(--plum)!important;background:#F5EFF9!important}
  .tb-main-menu>.nav-item>.nav-link:after{display:none}
  .tb-reference-home .hero,.tb-home-page .tb-hero,.booking-hero{background:linear-gradient(145deg,#150B28 0%,#2C1150 58%,#51127D 100%)!important}
  .country-card,.tb-home-package-card,.tb-package-card{border-radius:13px!important}
  .tb-visa-flow-card,.modalCard,.modal{border-radius:14px!important}
}

/* Final public-site consistency pass: keep every visible surface in the
   approved plum/violet + teal + white system. Presentation only. */
:root{
  --tb-theme-deep:#150B28;
  --tb-theme-plum:#2C1150;
  --tb-theme-violet:#51127D;
  --tb-theme-purple:#5A149F;
  --tb-theme-purple-2:#7132B5;
  --tb-theme-teal:#0F9F9A;
  --tb-theme-teal-2:#12B8AD;
  --tb-theme-soft:#FAF8FC;
  --tb-theme-line:#E6DFEC;
}

/* Homepage banner fills the available first screen below the desktop header
   stack. svh keeps it correct when mobile browser chrome expands/collapses. */
body.tb-home-page .tb-reference-home .tb-reference-hero{
  min-height:calc(100vh - 128px)!important;
  min-height:calc(100svh - 128px)!important;
  height:auto!important;
  padding:34px clamp(18px,3vw,52px) 54px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
body.tb-home-page .tb-reference-hero .search-wrap{flex:0 0 auto}
body.tb-home-page .tb-reference-hero .hero-copy{
  flex:1 1 auto;
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 0 18px;
}
body.tb-home-page .tb-reference-hero .hero-kicker{margin-top:0!important}
body.tb-home-page .tb-reference-hero .hero-copy h1{font-size:clamp(38px,4.2vw,66px)!important;line-height:1.04!important;max-width:1040px;margin:18px auto 10px!important}
body.tb-home-page .tb-reference-hero .hero-copy>p{font-size:clamp(15px,1.35vw,20px)!important;max-width:980px}

/* Segmented navigation, tabs and switches use one deliberate component shape. */
.tb-main-menu{
  border:1px solid var(--tb-theme-line)!important;
  border-radius:14px!important;
  overflow:visible;
  padding:0!important;
  box-shadow:0 6px 18px rgba(35,16,57,.045)!important;
}
.tb-main-menu>.nav-item>.nav-link{
  min-height:50px;
  display:flex!important;
  align-items:center;
  gap:7px;
  padding:0 15px!important;
  border-right:1px solid var(--tb-theme-line)!important;
  border-radius:0!important;
  background:#fff!important;
}
.tb-main-menu>.nav-item:first-child>.nav-link{border-radius:13px 0 0 13px!important}
.tb-main-menu>.nav-item:last-child>.nav-link{border-right:0!important;border-radius:0 13px 13px 0!important}
.tb-main-menu>.nav-item>.nav-link:after{display:none!important}
.tb-main-menu>.nav-item>.nav-link:hover,
.tb-main-menu>.nav-item>.nav-link.active{
  color:var(--tb-theme-plum)!important;
  background:linear-gradient(180deg,#FCFAFE,#F4ECFA)!important;
  box-shadow:inset 0 -3px 0 var(--tb-theme-teal)!important;
  transform:none!important;
}
.tb-main-menu>.nav-item>.nav-link>i:first-child{color:var(--tb-theme-teal)!important}
.tb-main-menu>.nav-item>.nav-link:hover>i:first-child,
.tb-main-menu>.nav-item>.nav-link.active>i:first-child{color:var(--tb-theme-purple)!important}

.tb-booking-tabs,.tb-tabs,.sampleTabs,.booking-tabs,.tb-service-tabs,.tb-trip-tabs,.plan-switch,.tb-day-tabs,.tb-flight-booking-steps{
  border:1px solid var(--tb-theme-line)!important;
  border-radius:13px!important;
  padding:4px!important;
  background:#F5F0F8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
.tb-booking-tabs button,.tb-tabs button,.sampleTabs button,.booking-tabs button,.tb-service-tab,.tb-trip-tab,.plan-switch button,.tb-day-tabs button,.tb-flight-booking-steps a{
  min-height:42px;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#5D5366!important;
  background:transparent!important;
  font-weight:800!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.tb-booking-tabs button:hover,.tb-tabs button:hover,.sampleTabs button:hover,.booking-tabs button:hover,.tb-service-tab:hover,.tb-trip-tab:hover,.plan-switch button:hover,.tb-day-tabs button:hover,.tb-flight-booking-steps a:hover{
  background:#FBF8FD!important;color:var(--tb-theme-purple)!important
}
.tb-booking-tabs button.active,.tb-tabs .active,.sampleTabs button.active,.booking-tabs button.active,.tb-service-tab.active,.tb-trip-tab.active,.plan-switch button.active,.tb-day-tabs button.active,.tb-flight-booking-steps a.active{
  color:var(--tb-theme-plum)!important;
  border-color:#DCCBE8!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(35,16,57,.10),inset 0 -2px 0 var(--tb-theme-teal)!important;
}

/* Buttons: consistent hierarchy including older page-specific controls. */
.tb-card-actions a,.tb-lead-submit,.tb-client-login-btn,.tb-live-search-btn,.tb-booking-pay-btn,.tb-select-slot-btn,
.tb-add-city-btn,.tb-search-submit,.tb-primary-action,.tb-payment-btn,.tb-gallery-nav,.tb-mini-arrow{
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease!important;
}
.tb-add-city-btn,.tb-primary-action,.tb-payment-btn{
  border-color:var(--tb-theme-purple)!important;
  background:linear-gradient(135deg,var(--tb-theme-purple-2),var(--tb-theme-purple) 55%,#3C1267)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(90,20,159,.22)!important;
}
.tb-mini-arrow,.tb-gallery-nav,.tb-swap-airport,.tb-flight-clear-filters,.tb-remove-city-btn,.tb-lead-popup-close{
  border:1px solid #D8CBE2!important;
  background:#fff!important;
  color:var(--tb-theme-purple)!important;
  box-shadow:0 5px 14px rgba(35,16,57,.08)!important;
}
.tb-mini-arrow:hover,.tb-gallery-nav:hover,.tb-swap-airport:hover,.tb-flight-clear-filters:hover,.tb-remove-city-btn:hover,.tb-lead-popup-close:hover{
  border-color:#B995D4!important;background:#F7F0FB!important;color:var(--tb-theme-plum)!important;transform:translateY(-2px)!important
}

/* Enquiry/login/visa popups and modal chrome. */
.tb-lead-popup-backdrop,.tb-client-login-backdrop,.tb-visa-flow-backdrop,.modalBackdrop,.modal-bg{
  background:rgba(21,11,40,.78)!important;
  backdrop-filter:blur(9px)!important;
}
.tb-lead-popup-dialog,.tb-client-login-dialog,.tb-visa-flow-card,.modalCard,.modal{
  background:#fff!important;
  border:1px solid rgba(113,50,181,.16)!important;
  box-shadow:0 32px 90px rgba(21,11,40,.34)!important;
}
.tb-lead-popup-visual{
  background:radial-gradient(circle at 15% 12%,rgba(18,184,173,.20),transparent 30%),linear-gradient(145deg,var(--tb-theme-deep),var(--tb-theme-plum) 58%,var(--tb-theme-violet))!important;
}
.tb-lead-popup-badge{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}
.tb-lead-popup-points i,.tb-script,.tb-lead-alert.success{color:var(--tb-theme-teal)!important}
.tb-lead-popup-form-wrap h2,.tb-client-login-dialog h2,.tb-visa-flow-card h2{color:var(--tb-theme-deep)!important}

/* Footer and floating controls: remove legacy navy/orange residues. */
.tb-footer,.footer{
  background:radial-gradient(circle at 85% 0,rgba(113,50,181,.25),transparent 26%),linear-gradient(135deg,#10071D,#1D0D31 58%,#2C1150)!important;
}
.tb-footer>.container{background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 22px 52px rgba(5,2,9,.20)!important}
.tb-footer h4,.tb-footer h3,.footer h4{color:#fff!important;text-transform:none!important;letter-spacing:.01em}
.tb-footer p,.tb-footer li,.tb-footer a,.tb-footer-policy-links a{color:#BFB3C8!important}
.tb-footer li:before,.tb-contact-list i{color:var(--tb-theme-teal)!important}
.tb-footer a:hover,.footer a:hover{color:#fff!important}
.tb-footer-social a{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#EADCF4!important;
}
.tb-footer-social a:hover{background:var(--tb-theme-teal)!important;border-color:var(--tb-theme-teal)!important;color:#fff!important;transform:translateY(-3px)!important}
.tb-footer-bottom{border-color:rgba(255,255,255,.12)!important}
.tb-back-top{background:linear-gradient(145deg,var(--tb-theme-purple-2),var(--tb-theme-purple))!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
.tb-whatsapp-float,.chat{background:linear-gradient(145deg,var(--tb-theme-teal-2),var(--tb-theme-teal))!important;color:#fff!important}

/* Common status/chip surfaces that previously retained blue/orange accents. */
.tb-page-hero small,.tb-listing-hero small,.tb-card-kicker,.tb-demo-docs-head small,.tb-visa-flow-card small{color:#D9BDF0!important}
.tb-page-hero .tb-breadcrumb a,.tb-listing-hero .tb-breadcrumb a{color:#D6C8DF!important}
.tb-booking-status-pill,.tb-status-pill.success{background:#E5F7F5!important;color:#087D78!important;border-color:#BDE9E5!important}
.tb-alert-info,.tb-note,.note{background:#F5EEFA!important;border-color:#DDCBE9!important;color:#584263!important}

@media(max-width:991.98px){
  body.tb-home-page .tb-reference-home .tb-reference-hero{
    min-height:calc(100vh - 68px)!important;
    min-height:calc(100svh - 68px)!important;
    padding:24px 18px 40px!important;
  }
  body.tb-home-page .tb-reference-hero .hero-copy{min-height:360px;padding:28px 0 12px}
  .tb-main-menu{border:0!important;border-radius:0!important;box-shadow:none!important;padding:8px!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:44px;border:0!important;border-radius:10px!important;padding:0 12px!important;margin:2px 0
  }
}

@media(max-width:720px){
  body.tb-home-page .tb-reference-home .tb-reference-hero{min-height:calc(100svh - 68px)!important}
  body.tb-home-page .tb-reference-hero .hero-copy h1{font-size:clamp(31px,9vw,42px)!important}
  body.tb-home-page .tb-reference-hero .hero-copy>p{font-size:15px!important}
  .tb-booking-tabs,.tb-tabs,.sampleTabs,.booking-tabs,.tb-service-tabs,.tb-trip-tabs,.tb-day-tabs{overflow-x:auto!important;scrollbar-width:none;white-space:nowrap}
  .tb-booking-tabs::-webkit-scrollbar,.tb-tabs::-webkit-scrollbar,.sampleTabs::-webkit-scrollbar,.booking-tabs::-webkit-scrollbar,.tb-service-tabs::-webkit-scrollbar,.tb-trip-tabs::-webkit-scrollbar,.tb-day-tabs::-webkit-scrollbar{display:none}
  .tb-booking-tabs button,.tb-tabs button,.sampleTabs button,.booking-tabs button,.tb-service-tab,.tb-trip-tab,.tb-day-tabs button{flex:0 0 auto!important;padding-left:14px!important;padding-right:14px!important}
  .tb-footer>.container{border-radius:0!important;border-left:0!important;border-right:0!important}
}

/* ========================================================================== */
/* Page-by-page override pass — approved plum/violet + teal + white system.   */
/* This layer intentionally follows every legacy stylesheet rule.             */
/* ========================================================================== */

/* 00. Legacy token bridge and shared shell */
:root{
  --tb-orange:#5A149F;
  --tb-navy:#241A2D;
  --tb-dark:#150B28;
  --tb-muted:#756E7C;
  --tb-soft:#FAF8FC;
  --tb-soft-2:#F4EFF8;
  --tb-border:#E6DFEC;
  --tb-shadow:0 22px 60px rgba(35,16,57,.13);
  --tb-shadow-small:0 10px 28px rgba(35,16,57,.08);
}
body{background:#fff!important;color:var(--tb-theme-deep)!important}
body:not(.tb-home-page){background:var(--tb-theme-soft)!important}
.tb-section{position:relative}
.tb-soft-section{background:linear-gradient(180deg,#FAF8FC 0%,#fff 100%)!important}
.tb-script,.tb-section-title strong,.tb-card-body li i,.tb-subtitle-row h3 i,.tb-feature-card span,.tb-feature-card a{color:var(--tb-theme-purple)!important}
.tb-topbar-contact i,.tb-topbar-social i,.tb-contact-list i{color:var(--tb-theme-teal)!important}
.tb-topbar-social a:hover{background:var(--tb-theme-teal)!important;color:#fff!important}
.tb-header .container{max-width:1500px}
.tb-navbar{min-height:76px!important;gap:18px}
.navbar-brand{flex:0 0 auto;min-width:150px}
.navbar-brand img{display:block!important;width:auto!important;max-width:205px!important;height:60px!important;object-fit:contain!important;object-position:left center!important;color:transparent!important}
#mainNav{min-width:0;gap:14px}
.tb-main-menu{flex-wrap:nowrap!important;white-space:nowrap}
.tb-main-menu>.nav-item>.nav-link{font-size:12.5px!important;padding-inline:11px!important}
.tb-main-menu>.nav-item>.nav-link.active{font-weight:900!important}
.tb-client-login-btn{min-width:88px!important;background:linear-gradient(135deg,var(--tb-theme-teal-2),var(--tb-theme-teal))!important;border-color:var(--tb-theme-teal)!important;color:#fff!important}
.tb-client-avatar{background:linear-gradient(145deg,var(--tb-theme-teal-2),var(--tb-theme-teal))!important;color:#fff!important}
.tb-client-menu-btn{border-color:#DCCBE8!important;background:#fff!important;color:var(--tb-theme-plum)!important}
.tb-client-menu-list i,.tb-service-menu .dropdown-item i,.tb-mega-grid small{color:var(--tb-theme-teal)!important}

/* Shared headings, cards, forms and actions */
.tb-section-title h2,.tb-subtitle-row h3,.tb-card-body h3,.tb-content-card h1,.tb-content-card h2,.tb-content-card h3,.tb-sidebar-card h3{color:var(--tb-theme-deep)!important}
.tb-section-title p,.tb-card-body p,.tb-content-card p,.tb-content-card li,.tb-sidebar-card p{color:#6B6272!important}
.tb-package-card,.tb-list-package-card,.tb-blog-card,.tb-service-card,.tb-content-card,.tb-sidebar-card,.tb-detail-card,.tb-booking-panel,.tb-profile-card,.tb-filter-panel,.tb-package-filter-panel,.tb-flight-filter-panel,.tb-hotel-filter-panel{
  background:#fff!important;border:1px solid var(--tb-theme-line)!important;box-shadow:0 10px 30px rgba(35,16,57,.075)!important;
}
.tb-package-card:hover,.tb-list-package-card:hover,.tb-blog-card:hover,.tb-service-card:hover{
  border-color:#CDB7DF!important;box-shadow:0 20px 42px rgba(35,16,57,.13)!important;transform:translateY(-4px)!important;
}
input,select,textarea,.form-control,.form-select,.tb-live-field,.tb-airport-field,.tb-traveller-box,.tb-hotel-guests-trigger{
  border-color:#D8D0DE!important;background:#fff!important;color:var(--tb-theme-deep)!important;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus,.tb-live-field:focus-within,.tb-airport-field:focus-within,.tb-traveller-box:focus-within{
  border-color:var(--tb-theme-teal)!important;box-shadow:0 0 0 4px rgba(15,159,154,.16)!important;
}
input[type="checkbox"],input[type="radio"],input[type="range"]{accent-color:var(--tb-theme-teal)!important}
.tb-card-actions .tb-btn,.tb-lead-submit,.tb-booking-pay-btn,.tb-select-slot-btn,.tb-live-search-btn,.tb-search-btn,.tb-package-search-btn,.tb-hotel-search-btn{
  background:linear-gradient(135deg,var(--tb-theme-purple-2),var(--tb-theme-purple) 58%,#3C1267)!important;border-color:var(--tb-theme-purple)!important;color:#fff!important;
}
.tb-outline-card,.tb-clear-btn,.tb-flight-clear-filters,.tb-filter-clear,.tb-read-more{
  background:#fff!important;border-color:#CDB7DF!important;color:var(--tb-theme-purple)!important;
}
.tb-outline-card:hover,.tb-clear-btn:hover,.tb-flight-clear-filters:hover,.tb-filter-clear:hover,.tb-read-more:hover{
  background:#F4EFF8!important;border-color:#A87DCA!important;color:var(--tb-theme-plum)!important;
}
.tb-category-tabs,.tb-service-tabs,.tb-trip-tabs,.tb-flight-detail-tabs,.tb-client-account-nav{
  border-color:var(--tb-theme-line)!important;background:#F5F0F8!important;
}
.tb-category-tabs button,.tb-service-tab,.tb-trip-tab,.tb-flight-detail-tabs button,.tb-client-account-nav a,.tb-client-account-nav button{
  color:#5D5366!important;border-color:transparent!important;background:transparent!important;
}
.tb-category-tabs button.active,.tb-category-tabs button:hover,.tb-service-tab.active,.tb-service-tab:hover,.tb-trip-tab.active,.tb-trip-tab:hover,.tb-flight-detail-tabs button.active,.tb-client-account-nav a.active{
  background:#fff!important;color:var(--tb-theme-plum)!important;border-color:#DCCBE8!important;box-shadow:inset 0 -3px 0 var(--tb-theme-teal),0 5px 14px rgba(35,16,57,.09)!important;
}

/* 01. Homepage */
body.tb-home-page .tb-reference-home{background:#fff!important}
body.tb-home-page .tb-reference-home .tb-reference-hero{
  min-height:calc(100vh - 114px)!important;
  min-height:calc(100svh - 114px)!important;
  margin:0!important;padding:clamp(24px,3vw,44px) clamp(18px,4vw,64px) clamp(34px,5vw,68px)!important;
  background:radial-gradient(circle at 82% 18%,rgba(18,184,173,.18),transparent 30%),radial-gradient(circle at 12% 78%,rgba(113,50,181,.28),transparent 32%),linear-gradient(135deg,#150B28 0%,#2C1150 58%,#51127D 100%)!important;
}
body.tb-home-page .tb-reference-hero .search-wrap{width:min(900px,100%)!important;margin-inline:auto!important}
body.tb-home-page .tb-reference-hero .search{border-radius:16px!important;min-height:54px!important;box-shadow:0 18px 44px rgba(8,3,14,.28)!important}
body.tb-home-page .tb-reference-hero .search>span{color:var(--tb-theme-teal)!important}
body.tb-home-page .tb-reference-hero .search button{width:42px!important;height:42px!important;border-radius:12px!important}
body.tb-home-page .tb-reference-hero .explore-btn{min-height:54px!important;border-radius:14px!important}
body.tb-home-page .tb-reference-hero .hero-copy{min-height:360px!important;padding-block:clamp(28px,5vh,74px)!important}
body.tb-home-page .tb-reference-hero .hero-kicker{color:#DCC3EF!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.20)!important}
body.tb-home-page .tb-reference-hero .hero-copy h1{color:#fff!important;text-wrap:balance}
body.tb-home-page .tb-reference-hero .hero-copy h1 em{color:#9CE7E1!important}
body.tb-home-page .tb-reference-hero .hero-copy>p{color:#D9CEE2!important}
body.tb-home-page .tb-reference-home>.section{margin:0!important;padding-block:clamp(54px,6vw,84px)!important}
body.tb-home-page .tb-reference-home>.section:nth-of-type(even){background:#FAF8FC!important}
body.tb-home-page .country-card{border-radius:17px!important}
body.tb-home-page .country-card .card-meta span,body.tb-home-page .card-meta i{color:var(--tb-theme-teal)!important}
body.tb-home-page .fast{background:radial-gradient(circle at 90% 20%,rgba(18,184,173,.15),transparent 24%),linear-gradient(135deg,#130820,#25103C 62%,#35145A)!important}
body.tb-home-page .stats>div{border-top:3px solid var(--tb-theme-teal)!important}
body.tb-home-page .metric,body.tb-home-page .tb-branch-card{background:#fff!important;border-color:var(--tb-theme-line)!important}
body.tb-home-page .tb-stat-card{border-color:var(--tb-theme-purple)!important;color:var(--tb-theme-purple)!important}

/* 02. Visa listing, country detail, application and payment preview */
body.tb-visa-page{background:#fff!important}
body.tb-visa-page .page-intro{padding-block:clamp(62px,8vw,105px)!important}
body.tb-visa-page .page-intro small,body.tb-visa-page .center-head .pill{color:var(--tb-theme-teal)!important}
body.tb-visa-page .page-intro h1,body.tb-visa-page .center-head h1{color:var(--tb-theme-deep)!important;text-wrap:balance}
body.tb-visa-page .country-card{border-radius:17px!important}
body.tb-visa-page .country-card .card-meta{color:var(--tb-theme-purple)!important}
body.tb-visa-page .apply-banner{background:linear-gradient(120deg,#fff,#F7F0FB)!important;border-color:#DCCBE8!important;box-shadow:0 14px 35px rgba(35,16,57,.09)!important}
body.tb-visa-page .apply-banner .btn{background:linear-gradient(135deg,var(--tb-theme-teal-2),var(--tb-theme-teal))!important;border-color:var(--tb-theme-teal)!important}
body.tb-visa-page .dest-hero{border-radius:20px!important;box-shadow:0 24px 55px rgba(21,11,40,.18)!important}
body.tb-visa-page .details{align-items:start}
body.tb-visa-page .article h2{color:var(--tb-theme-plum)!important}
body.tb-visa-page .steps div,body.tb-visa-page .docs span{background:#fff!important;border-color:var(--tb-theme-line)!important}
body.tb-visa-page .steps span{background:#E5F7F5!important;color:#087D78!important}
body.tb-visa-page .plan{border-top:4px solid var(--tb-theme-teal)!important}
body.tb-visa-page .plan-switch button.active{color:var(--tb-theme-plum)!important;box-shadow:inset 0 -2px 0 var(--tb-theme-teal),0 4px 12px rgba(35,16,57,.08)!important}
.tb-visa-flow-card{overflow:hidden!important}
.tb-visa-flow-card>header{background:linear-gradient(135deg,#150B28,#2C1150)!important;color:#fff!important}
.tb-visa-flow-card>header b,.tb-visa-flow-card>header h2{color:#fff!important}
.tb-visa-flow-card>footer{background:#FAF8FC!important}
.tb-visa-pay-methods button.active,.payMethods button.active{background:#E5F7F5!important;border-color:var(--tb-theme-teal)!important;color:#087D78!important}

/* 03. Booking landing and sample Flight/Hotel documents */
body.tb-reference-booking-page{background:#FAF8FC!important}
body.tb-reference-booking-page .booking-hero{background:radial-gradient(circle at 82% 18%,rgba(18,184,173,.18),transparent 29%),linear-gradient(135deg,#150B28,#2C1150 58%,#51127D)!important}
body.tb-reference-booking-page .booking-float-card{border-color:rgba(255,255,255,.20)!important;background:rgba(255,255,255,.09)!important}
body.tb-reference-booking-page .booking-float-card>span{background:#E5F7F5!important;color:#087D78!important}
body.tb-reference-booking-page .booking-shell{background:#fff!important;border-color:var(--tb-theme-line)!important;box-shadow:0 24px 65px rgba(35,16,57,.16)!important}
body.tb-reference-booking-page .booking-tabs,body.tb-reference-booking-page .sampleTabs{border:1px solid var(--tb-theme-line)!important}
body.tb-reference-booking-page .booking-benefits>div{background:#fff!important;border-color:var(--tb-theme-line)!important}
body.tb-reference-booking-page .booking-benefits span{background:#E5F7F5!important;color:#087D78!important}
body.tb-reference-booking-page .tb-reference-booking-choice{background:linear-gradient(135deg,#150B28,#2C1150 65%,#3B165F)!important}
body.tb-reference-booking-page .tb-demo-docs{border-top:4px solid var(--tb-theme-teal)!important}
body.tb-reference-booking-page .tb-sample-warning{background:#F4EFF8!important;color:var(--tb-theme-plum)!important;border-color:#DCCBE8!important}
body.tb-reference-booking-page .tb-sample-route>i{background:#E5F7F5!important;color:#087D78!important}

/* 04. Domestic, International, Group Tour and package listing */
.tb-package-listing-page .tb-page-hero{background:linear-gradient(105deg,rgba(21,11,40,.94),rgba(44,17,80,.78)),var(--page-bg) center/cover!important}
.tb-package-listing-page .tb-package-search-section{padding-top:52px!important}
.tb-package-listing-page .tb-package-filter-panel{border-top:4px solid var(--tb-theme-teal)!important}
.tb-package-listing-page .tb-filter-head{border-color:var(--tb-theme-line)!important}
.tb-package-listing-page .tb-filter-block h3,.tb-package-listing-page .tb-list-package-card h2,.tb-package-listing-page .tb-list-package-card h3{color:var(--tb-theme-deep)!important}
.tb-package-listing-page .tb-list-package-card{border-radius:18px!important;overflow:hidden}
.tb-package-listing-page .tb-list-meta-row i,.tb-package-listing-page .tb-git-next-row i{color:var(--tb-theme-teal)!important}
.tb-package-listing-page .tb-price,.tb-package-listing-page .tb-list-price{background:rgba(21,11,40,.88)!important;color:#fff!important}
.tb-package-listing-page .tb-package-results-topbar,.tb-package-listing-page .tb-listing-empty{background:#fff!important;border-color:var(--tb-theme-line)!important}

/* 05. Package detail */
.tb-package-detail-page{background:#FAF8FC!important}
.tb-package-detail-page .tb-package-detail-hero{background:linear-gradient(135deg,#150B28,#2C1150)!important;color:#fff!important}
.tb-package-detail-page .tb-detail-card,.tb-package-detail-page .tb-price-enquiry-card{border-radius:18px!important;border-color:var(--tb-theme-line)!important;background:#fff!important;box-shadow:0 12px 34px rgba(35,16,57,.08)!important}
.tb-package-detail-page .tb-detail-card{border-top:3px solid #E5DAEE!important}
.tb-package-detail-page .tb-detail-section-head{border-color:var(--tb-theme-line)!important}
.tb-package-detail-page .tb-detail-section-head h2,.tb-package-detail-page .tb-price-enquiry-card h2{color:var(--tb-theme-deep)!important}
.tb-package-detail-page .tb-option-card,.tb-package-detail-page .tb-policy-card,.tb-package-detail-page .tb-day-panel{background:#FAF8FC!important;border-color:var(--tb-theme-line)!important}
.tb-package-detail-page .tb-day-panel.active,.tb-package-detail-page .tb-departure-card.selected{border-color:var(--tb-theme-teal)!important;box-shadow:0 0 0 3px rgba(15,159,154,.13)!important}
.tb-package-detail-page .tb-day-panel-head span,.tb-package-detail-page .tb-departure-card-top i{color:var(--tb-theme-teal)!important}
.tb-package-detail-page .tb-price-enquiry-card{border-top:4px solid var(--tb-theme-teal)!important}

/* 06. Services */
.tb-service-page-card{border-radius:18px!important;overflow:hidden;border-top:3px solid var(--tb-theme-teal)!important}
.tb-service-page-card .tb-read-more{display:inline-flex!important;align-items:center!important;gap:8px!important}
.tb-content-card.tb-detail-card{border-top:4px solid var(--tb-theme-purple)!important;border-radius:18px!important}
.tb-sidebar-card{border-top:4px solid var(--tb-theme-teal)!important;border-radius:18px!important}
.tb-side-post{border-color:var(--tb-theme-line)!important;background:#FAF8FC!important}

/* 07. Blogs */
.tb-list-blog-card{border-radius:18px!important;overflow:hidden}
.tb-list-blog-card .tb-blog-body{border-top:3px solid var(--tb-theme-teal)!important}
.tb-blog-card .tb-read-more i{color:var(--tb-theme-teal)!important}
.tb-blog-card .tb-read-more:hover i{transform:translateX(3px)}
.tb-detail-card .tb-detail-main-img{border-radius:14px!important}

/* 08. CMS, About, Offers, policies, Contact and FAQ */
.tb-page-hero{background:linear-gradient(105deg,rgba(21,11,40,.95),rgba(44,17,80,.80)),var(--page-bg) center/cover!important}
.tb-page-hero:after{background:radial-gradient(circle at 82% 30%,rgba(18,184,173,.18),transparent 32%)!important}
.tb-contact-page-grid{gap:24px!important}
.tb-contact-info-panel,.tb-contact-form-panel,.tb-contact-map-card,.tb-content-card,.tb-side-card,.tb-faq-item{
  background:#fff!important;border:1px solid var(--tb-theme-line)!important;box-shadow:0 10px 30px rgba(35,16,57,.075)!important;
}
.tb-contact-info-panel{background:linear-gradient(145deg,#150B28,#2C1150 68%,#51127D)!important;color:#fff!important}
.tb-contact-info-panel h2,.tb-contact-info-panel h3,.tb-contact-info-panel a{color:#fff!important}
.tb-contact-info-panel p,.tb-contact-info-panel small{color:#D8CDE1!important}
.tb-contact-info-panel i{color:#73DED5!important}
.tb-contact-form-panel{border-top:4px solid var(--tb-theme-teal)!important}
.tb-faq-item.active{border-color:#CDB7DF!important;box-shadow:0 12px 30px rgba(35,16,57,.10)!important}
.tb-faq-question{color:var(--tb-theme-deep)!important}
.tb-faq-question i{color:var(--tb-theme-teal)!important}

/* 09. Live Flight results */
.tb-flight-results-page{background:#FAF8FC!important}
.tb-flight-results-page .tb-flight-page-hero{background:radial-gradient(circle at 82% 20%,rgba(18,184,173,.16),transparent 28%),linear-gradient(135deg,#150B28,#2C1150 62%,#51127D)!important}
.tb-flight-results-page .tb-flight-result-search-card{border-color:var(--tb-theme-line)!important;box-shadow:0 20px 50px rgba(35,16,57,.14)!important}
.tb-flight-results-page .tb-flight-filter-panel{border-top:4px solid var(--tb-theme-teal)!important}
.tb-flight-results-page .tb-flight-filter-head .tb-script,.tb-flight-results-page .tb-flight-results-topbar .tb-script{color:var(--tb-theme-purple)!important}
.tb-flight-results-page .tb-flight-count-pill{background:#F4EFF8!important;color:var(--tb-theme-purple)!important;border-color:#DCCBE8!important}
.tb-flight-results-page .tb-flight-result-card{border-color:var(--tb-theme-line)!important;border-radius:16px!important}
.tb-flight-results-page .tb-flight-result-card:hover{border-color:#CDB7DF!important;box-shadow:0 16px 36px rgba(35,16,57,.12)!important}
.tb-flight-results-page .tb-flight-duration-box i:after,.tb-flight-results-page .tb-flight-detail-mid i:after{background:var(--tb-theme-teal)!important;box-shadow:0 0 0 4px rgba(15,159,154,.14)!important}
.tb-flight-results-page .tb-flight-price-box button{background:linear-gradient(135deg,var(--tb-theme-purple-2),var(--tb-theme-purple))!important;box-shadow:0 9px 20px rgba(90,20,159,.22)!important}
.tb-flight-results-page .tb-flight-note a{color:var(--tb-theme-purple)!important}
.tb-flight-results-page .tb-flight-detail-tabs{background:#F5F0F8!important;border-color:var(--tb-theme-line)!important}

/* 10. Live Hotel results */
.tb-hotel-results-page{background:#FAF8FC!important}
.tb-hotel-results-page .tb-flight-page-hero{background:radial-gradient(circle at 82% 20%,rgba(18,184,173,.16),transparent 28%),linear-gradient(135deg,#150B28,#2C1150 62%,#51127D)!important}
.tb-hotel-results-page .tb-hotel-result-search-card{border-color:var(--tb-theme-line)!important;box-shadow:0 20px 50px rgba(35,16,57,.14)!important}
.tb-hotel-results-page .tb-hotel-filter-panel{border-top:4px solid var(--tb-theme-teal)!important}
.tb-hotel-results-page .tb-hotel-result-card{background:#fff!important;border-color:var(--tb-theme-line)!important;border-radius:17px!important;box-shadow:0 10px 28px rgba(35,16,57,.075)!important}
.tb-hotel-results-page .tb-hotel-result-card:hover{border-color:#CDB7DF!important;box-shadow:0 18px 38px rgba(35,16,57,.12)!important}
.tb-hotel-results-page .tb-hotel-rating,.tb-hotel-results-page .tb-hotel-board-pill{background:#E5F7F5!important;color:#087D78!important;border-color:#BDE9E5!important}
.tb-hotel-results-page .tb-hotel-price-box button{background:linear-gradient(135deg,var(--tb-theme-purple-2),var(--tb-theme-purple))!important;color:#fff!important}

/* 11. Flight and Hotel checkout */
.tb-flight-booking-page{background:#FAF8FC!important;min-height:70vh}
.tb-flight-booking-page .tb-flight-booking-steps{background:#F5F0F8!important;border-color:var(--tb-theme-line)!important}
.tb-flight-booking-page .tb-flight-booking-steps a span{background:#E5F7F5!important;color:#087D78!important}
.tb-flight-booking-page .tb-flight-booking-steps a.active span{background:var(--tb-theme-teal)!important;color:#fff!important}
.tb-flight-booking-page .tb-booking-panel{border-radius:18px!important}
.tb-flight-booking-page .tb-booking-panel-head{border-color:var(--tb-theme-line)!important}
.tb-flight-booking-page .tb-booking-fare-card{background:linear-gradient(145deg,#150B28,#2C1150)!important;color:#fff!important;border-color:#3F215B!important;box-shadow:0 20px 48px rgba(21,11,40,.24)!important}
.tb-flight-booking-page .tb-booking-fare-card h2,.tb-flight-booking-page .tb-booking-fare-card strong{color:#fff!important}
.tb-flight-booking-page .tb-booking-fare-card p,.tb-flight-booking-page .tb-booking-fare-card span{color:#D8CDE1!important}
.tb-flight-booking-page .tb-booking-status-pill{background:#E5F7F5!important;color:#087D78!important;border-color:#BDE9E5!important}
.tb-flight-booking-page .tb-traveller-note{background:#F4EFF8!important;border-color:#DCCBE8!important;color:#584263!important}

/* 12. Client account and booking history */
.tb-client-account-page{background:#FAF8FC!important}
.tb-client-account-page .tb-client-account-hero{background:radial-gradient(circle at 82% 20%,rgba(18,184,173,.16),transparent 28%),linear-gradient(135deg,#150B28,#2C1150 62%,#51127D)!important;color:#fff!important}
.tb-client-account-page .tb-client-account-hero h1{color:#fff!important}
.tb-client-account-page .tb-client-account-hero p{color:#D8CDE1!important}
.tb-client-account-page .tb-client-account-shell{background:#fff!important;border-color:var(--tb-theme-line)!important;box-shadow:0 18px 48px rgba(35,16,57,.12)!important}
.tb-client-account-page .tb-client-account-sidebar{background:#F7F3FA!important;border-color:var(--tb-theme-line)!important}
.tb-client-account-page .tb-client-account-avatar{background:linear-gradient(145deg,var(--tb-theme-teal-2),var(--tb-theme-teal))!important;color:#fff!important}
.tb-client-account-page .tb-client-account-nav{padding:5px!important;border-radius:13px!important}
.tb-client-account-page .tb-profile-card{border-radius:16px!important}
.tb-client-account-page .tb-profile-card h3{color:var(--tb-theme-plum)!important}
.tb-client-account-page .tb-booking-history-card{background:#fff!important;border-color:var(--tb-theme-line)!important}
.tb-client-account-page .tb-booking-status{background:#E5F7F5!important;color:#087D78!important;border-color:#BDE9E5!important}

/* 13. Enquiry/Login popups and footer */
.tb-lead-popup-dialog,.tb-client-login-dialog{border-radius:20px!important;overflow:hidden!important}
.tb-lead-popup-visual{background:radial-gradient(circle at 20% 16%,rgba(18,184,173,.20),transparent 30%),linear-gradient(145deg,#150B28,#2C1150 60%,#51127D)!important}
.tb-lead-popup-form-wrap,.tb-client-login-content{background:#fff!important}
.tb-lead-popup-form-wrap label span,.tb-client-login-content label span{color:#544B5C!important}
.tb-lead-popup-close{background:#fff!important;color:var(--tb-theme-purple)!important;border-color:#DCCBE8!important}
.tb-lead-popup-close:hover{background:#F4EFF8!important;color:var(--tb-theme-plum)!important}
.tb-footer{padding-top:58px!important;background:radial-gradient(circle at 86% 0,rgba(18,184,173,.10),transparent 24%),radial-gradient(circle at 8% 100%,rgba(113,50,181,.20),transparent 30%),linear-gradient(135deg,#10071D,#1D0D31 58%,#2C1150)!important}
.tb-footer>.container{padding:36px!important;border-radius:20px!important}
.tb-footer-logo{display:block!important;max-width:205px!important;height:64px!important;object-fit:contain!important;object-position:left center!important;color:transparent!important}
.tb-footer h4{padding-bottom:10px!important;position:relative}
.tb-footer h4:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;border-radius:99px;background:var(--tb-theme-teal)}
.tb-footer li:before{color:var(--tb-theme-teal)!important}
.tb-footer-social a,.tb-back-top,.tb-whatsapp-float{transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}

/* Responsive corrections */
@media(max-width:1399.98px){
  .tb-header .container{max-width:100%!important;padding-inline:22px!important}
  .tb-main-menu>.nav-item>.nav-link{font-size:11.5px!important;padding-inline:8px!important}
  .navbar-brand{min-width:125px}.navbar-brand img{max-width:165px!important;height:54px!important}
}
@media(max-width:1199.98px){
  .tb-main-menu>.nav-item>.nav-link{font-size:11px!important;padding-inline:6px!important}
  .tb-main-menu>.nav-item>.nav-link i:first-child{display:none}
}
@media(max-width:991.98px){
  .tb-navbar{min-height:68px!important}
  .navbar-brand img{height:52px!important;max-width:175px!important}
  #mainNav{gap:8px;background:#fff!important;border-top:1px solid var(--tb-theme-line)!important;padding:10px 0 16px}
  .tb-main-menu{white-space:normal!important}
  .tb-main-menu>.nav-item>.nav-link{font-size:13px!important;padding-inline:13px!important}
  .tb-main-menu>.nav-item>.nav-link i:first-child{display:inline-block}
  body.tb-home-page .tb-reference-home .tb-reference-hero{min-height:calc(100svh - 68px)!important;padding-top:22px!important}
  .tb-footer>.container{padding:28px!important}
}
@media(max-width:767.98px){
  .tb-topbar{display:none!important}
  body.tb-home-page .tb-reference-hero .search-wrap{gap:10px!important}
  body.tb-home-page .tb-reference-hero .explore-btn{padding-inline:15px!important}
  body.tb-home-page .tb-reference-hero .hero-copy{min-height:330px!important;padding-block:34px!important}
  body.tb-visa-page .page-intro h1{font-size:clamp(36px,11vw,48px)!important}
  body.tb-visa-page .details{grid-template-columns:1fr!important;gap:28px!important}
  body.tb-visa-page .plan{position:static!important}
  .tb-package-listing-page .tb-package-layout,.tb-flight-results-layout,.tb-hotel-results-layout,.tb-flight-booking-layout,.tb-client-account-shell{grid-template-columns:1fr!important}
  .tb-package-filter-panel,.tb-flight-filter-panel,.tb-hotel-filter-panel{position:static!important}
  .tb-footer{padding-top:28px!important}.tb-footer>.container{border-radius:0!important;padding:26px 18px!important}
}

/* ===== css/theme-core.css ===== */
/*
 * Simar Holidays public website design system
 * Layer 1: tokens, reset, typography and shared page rhythm.
 * Loaded after the legacy stylesheets so this file is the single source of
 * truth for the approved Purple / Teal / White visual language.
 */
:root {
  --tb-ink-950: #120826;
  --tb-ink-900: #1d0d38;
  --tb-ink-800: #2b124f;
  --tb-violet-700: #51148a;
  --tb-violet-600: #681caf;
  --tb-violet-500: #7b2bc5;
  --tb-violet-100: #eee4f7;
  --tb-violet-50: #f8f4fb;
  --tb-teal-700: #08736f;
  --tb-teal-600: #0d8d88;
  --tb-teal-500: #13a7a1;
  --tb-teal-100: #d9f3f1;
  --tb-teal-50: #effaf9;
  --tb-white: #ffffff;
  --tb-canvas: #f7f5fa;
  --tb-surface-soft: #fbf9fd;
  --tb-text: #261d33;
  --tb-text-muted: #6d6677;
  --tb-border: #dfd8e7;
  --tb-border-strong: #cfc4dc;
  --tb-success: #14845d;
  --tb-danger: #ba3245;
  --tb-warning: #b67816;
  --tb-gradient: linear-gradient(118deg, var(--tb-ink-950) 0%, var(--tb-ink-800) 48%, var(--tb-violet-700) 100%);
  --tb-gradient-button: linear-gradient(135deg, var(--tb-violet-500), var(--tb-violet-700) 58%, var(--tb-ink-800));
  --tb-gradient-teal: linear-gradient(135deg, #1ab7b0, var(--tb-teal-600));
  --tb-shadow-xs: 0 4px 14px rgba(26, 9, 48, .07);
  --tb-shadow-sm: 0 10px 28px rgba(26, 9, 48, .09);
  --tb-shadow-md: 0 18px 50px rgba(26, 9, 48, .13);
  --tb-shadow-button: 0 12px 26px rgba(81, 20, 138, .22);
  --tb-radius-sm: 10px;
  --tb-radius-md: 16px;
  --tb-radius-lg: 24px;
  --tb-radius-pill: 999px;
  --tb-container: 1180px;
  --tb-section-space: clamp(58px, 7vw, 96px);
  --tb-header-height: 84px;
  --tb-transition: 180ms cubic-bezier(.2, .7, .2, 1);
}

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

body {
  margin: 0;
  min-width: 320px;
  color: var(--tb-text);
  background: var(--tb-canvas);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

*, *::before, *::after { box-sizing: border-box; }

img { max-width: 100%; }

a {
  color: var(--tb-violet-700);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color var(--tb-transition), background var(--tb-transition), border-color var(--tb-transition), transform var(--tb-transition), box-shadow var(--tb-transition);
}

a:hover { color: var(--tb-teal-700); }

h1, h2, h3, h4, h5, h6 {
  color: var(--tb-ink-950);
  line-height: 1.14;
  letter-spacing: -.025em;
  text-wrap: balance;
}

h1, .tb-display-title { font-family: "Playfair Display", Georgia, serif; }

p { color: var(--tb-text-muted); }

.container {
  width: min(100% - 40px, var(--tb-container));
  max-width: var(--tb-container);
  margin-inline: auto;
}

.tb-section,
.section,
.page-section { padding-block: var(--tb-section-space); }

.tb-soft-section,
.section-soft { background: var(--tb-violet-50); }

.tb-script,
.tb-kicker,
.booking-kicker,
.page-intro small,
.booking-page small,
.eyebrow {
  color: var(--tb-teal-700);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

::selection { color: var(--tb-white); background: var(--tb-violet-600); }

:focus-visible {
  outline: 3px solid rgba(19, 167, 161, .36);
  outline-offset: 3px;
}

[hidden], .hidden { display: none !important; }

.reveal {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: no-preference) {
  /* reference-ui.js uses `is-visible`. Keep `visible` as a backwards-
     compatible alias so older cached JavaScript can also reveal content. */
  .reveal:not(.is-visible):not(.visible) {
    opacity: 0;
    transform: translateY(18px);
  }
  .reveal.is-visible,
  .reveal.visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .55s ease, transform .55s ease;
  }
}

/* ===== css/theme-components.css ===== */
/* Layer 2: reusable header, buttons, cards, forms, tabs, modal and footer. */

/* Header and navigation */
.tb-topbar {
  color: rgba(255,255,255,.9);
  background: var(--tb-ink-950) !important;
  border: 0 !important;
}

.tb-topbar-inner { min-height: 42px; }

.tb-topbar a,
.tb-topbar-contact a {
  color: rgba(255,255,255,.92) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.tb-topbar a i { color: var(--tb-teal-500) !important; }

.tb-topbar-social { display: flex; gap: 8px; }

.tb-topbar-social a {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 50%;
}

.tb-topbar-social a:hover {
  background: var(--tb-teal-600) !important;
  border-color: var(--tb-teal-600) !important;
  transform: translateY(-2px);
}

.tb-topbar-social a:hover i { color: #fff !important; }

.tb-header {
  position: relative;
  z-index: 60;
  min-height: var(--tb-header-height);
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid var(--tb-border) !important;
  box-shadow: 0 8px 28px rgba(28, 10, 51, .06) !important;
}

.tb-navbar { min-height: var(--tb-header-height); padding-block: 10px; }

.tb-navbar .navbar-brand {
  display: inline-flex;
  align-items: center;
  min-width: 150px;
  max-width: 205px;
  margin-right: 22px;
}

.tb-navbar .navbar-brand img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 52px;
  object-fit: contain;
}

.tb-main-menu {
  display: flex;
  align-items: stretch;
  gap: 0 !important;
  padding: 0 !important;
  overflow: visible;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--tb-shadow-xs);
}

.tb-main-menu > .nav-item { display: flex; margin: 0 !important; }

.tb-main-menu > .nav-item + .nav-item { border-left: 1px solid var(--tb-border); }

.tb-main-menu > .nav-item > .nav-link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 48px;
  padding: 11px 14px !important;
  color: #343044 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.tb-main-menu > .nav-item:first-child > .nav-link { border-radius: 22px 0 0 22px !important; }
.tb-main-menu > .nav-item:last-child > .nav-link { border-radius: 0 22px 22px 0 !important; }

.tb-main-menu > .nav-item > .nav-link i:not(.tb-nav-caret) {
  color: var(--tb-teal-500) !important;
  font-size: 16px;
}

.tb-main-menu > .nav-item > .nav-link::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 7px;
  left: 14px;
  height: 2px;
  background: var(--tb-teal-500);
  border-radius: var(--tb-radius-pill);
  opacity: 0;
  transform: scaleX(.35);
  display: block !important;
  transition: opacity var(--tb-transition), transform var(--tb-transition);
}

.tb-main-menu > .nav-item > .nav-link:hover,
.tb-main-menu > .nav-item > .nav-link.active {
  color: var(--tb-ink-950) !important;
  background: var(--tb-teal-50) !important;
}

.tb-main-menu > .nav-item > .nav-link:hover::after,
.tb-main-menu > .nav-item > .nav-link.active::after { opacity: 1 !important; transform: scaleX(1) !important; }

.tb-nav-caret { color: var(--tb-text-muted) !important; font-size: 9px !important; transition: transform var(--tb-transition); }
.tb-service-dropdown:hover .tb-nav-caret,
.tb-mega-holder:hover .tb-nav-caret { transform: rotate(180deg); }

.tb-service-menu,
.tb-mega-menu,
.tb-client-menu-list {
  overflow: hidden;
  padding: 10px !important;
  background: rgba(255,255,255,.99) !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-md) !important;
  box-shadow: var(--tb-shadow-md) !important;
}

.tb-service-menu .dropdown-item,
.tb-client-menu-list a,
.tb-client-menu-list button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 9px 12px !important;
  color: var(--tb-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  font-weight: 700;
  text-decoration: none;
}

.tb-service-menu .dropdown-item i,
.tb-client-menu-list i { color: var(--tb-teal-600) !important; }

.tb-service-menu .dropdown-item:hover,
.tb-client-menu-list a:hover,
.tb-client-menu-list button:hover { background: var(--tb-teal-50) !important; color: var(--tb-ink-950) !important; transform: translateX(3px); }

.tb-mega-head { color: #fff; background: var(--tb-gradient) !important; }
.tb-mega-grid a { color: var(--tb-text) !important; border-radius: 10px; }
.tb-mega-grid a:hover { color: var(--tb-ink-950) !important; background: var(--tb-teal-50) !important; }
.tb-mega-grid small { color: var(--tb-teal-700) !important; background: var(--tb-teal-100) !important; }

/* Capsule CTA language based on the supplied reference button. */
.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 {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 12px 18px 12px 24px !important;
  overflow: hidden;
  color: #fff !important;
  background: var(--tb-gradient-button) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: var(--tb-radius-pill) !important;
  box-shadow: var(--tb-shadow-button) !important;
  font-size: 14px;
  font-weight: 800 !important;
  line-height: 1.2;
  text-decoration: none !important;
  isolation: isolate;
  cursor: pointer;
  transition: transform var(--tb-transition), box-shadow var(--tb-transition), filter var(--tb-transition) !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 {
  content: "\2192";
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  color: var(--tb-violet-700);
  background: rgba(255,255,255,.94);
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  transition: transform var(--tb-transition), background var(--tb-transition);
}

.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 {
  color: #fff !important;
  filter: saturate(1.08) brightness(1.04);
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(81,20,138,.28) !important;
}

.btn:hover::after,
.tb-btn:hover::after,
.tb-live-search-btn:hover::after,
.tb-booking-pay-btn:hover::after,
.tb-select-slot-btn:hover::after,
.tb-lead-submit:hover::after,
.tb-demo-form > button:hover::after,
.tb-client-login-btn:hover::after { transform: translateX(4px); background: #fff; }

.btn:active,
.tb-btn:active,
.tb-live-search-btn:active,
.tb-booking-pay-btn:active { transform: translateY(0) scale(.985) !important; }

.btn:disabled,
.tb-btn:disabled,
.tb-booking-pay-btn:disabled,
.tb-select-slot-btn.disabled { opacity: .56; cursor: not-allowed; filter: grayscale(.2); box-shadow: none !important; }

.btn-light,
.btn-outline,
.tb-btn-light {
  color: var(--tb-violet-700) !important;
  background: #fff !important;
  border-color: var(--tb-border-strong) !important;
  box-shadow: var(--tb-shadow-xs) !important;
}

.btn-light::after,
.btn-outline::after,
.tb-btn-light::after { color: #fff; background: var(--tb-teal-600); }

.tb-btn-sm,
.tb-client-login-btn {
  min-height: 44px;
  padding: 8px 10px 8px 18px !important;
  font-size: 13px;
}

.tb-btn-sm::after,
.tb-client-login-btn::after { width: 28px; height: 28px; flex-basis: 28px; font-size: 16px; }

.tb-client-login-btn { background: var(--tb-gradient-teal) !important; box-shadow: 0 12px 26px rgba(13,141,136,.22) !important; }
.tb-client-login-btn::after { color: var(--tb-teal-700); }

/* Tabs and compact clickable 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 {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 5px !important;
  overflow-x: auto;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-pill) !important;
  box-shadow: var(--tb-shadow-xs);
  scrollbar-width: thin;
}

.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 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 17px !important;
  color: var(--tb-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--tb-radius-pill) !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.booking-tabs button i,
.tb-search-tab i { color: var(--tb-teal-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: #fff !important;
  background: var(--tb-gradient-button) !important;
  box-shadow: 0 7px 18px rgba(81,20,138,.2);
}

.booking-tabs button.active i,
.tb-search-tab.active i { color: var(--tb-teal-100) !important; }

/* Forms */
form label,
.tb-form-label { color: var(--tb-text); font-size: 13px; font-weight: 800; }

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px !important;
  color: var(--tb-text) !important;
  background: #fff !important;
  border: 1px solid var(--tb-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 14px;
  transition: border-color var(--tb-transition), box-shadow var(--tb-transition), background var(--tb-transition) !important;
}

textarea { min-height: 112px; resize: vertical; }

input::placeholder,
textarea::placeholder { color: #9993a2 !important; opacity: 1; }

input:focus,
select:focus,
textarea:focus {
  background: #fff !important;
  border-color: var(--tb-teal-500) !important;
  box-shadow: 0 0 0 4px rgba(19,167,161,.12) !important;
  outline: none !important;
}

input[type="checkbox"],
input[type="radio"] { accent-color: var(--tb-teal-600); }

.tb-live-field,
.tb-filter-search,
.tb-form-control-wrap {
  background: #fff !important;
  border-color: var(--tb-border) !important;
  border-radius: 14px !important;
}

.tb-live-field label i,
.tb-filter-search i { color: var(--tb-teal-600) !important; }

.tb-form-alert,
.tb-lead-alert,
.tb-account-alert { border-radius: 12px !important; }

/* Shared cards */
.tb-content-card,
.tb-detail-card,
.tb-blog-card,
.tb-list-blog-card,
.tb-home-package-card,
.tb-list-package-card,
.tb-booking-panel,
.tb-booking-fare-card,
.tb-profile-card,
.tb-contact-info-panel,
.tb-contact-form-panel,
.tb-contact-map-card,
.booking-shell,
.tb-demo-docs,
.plan,
.article {
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-sm) !important;
}

.tb-home-package-card,
.tb-blog-card,
.tb-list-blog-card,
.tb-list-package-card,
.country-card,
.booking-benefits > div {
  transition: transform var(--tb-transition), border-color var(--tb-transition), box-shadow var(--tb-transition) !important;
}

.tb-home-package-card:hover,
.tb-blog-card:hover,
.tb-list-blog-card:hover,
.tb-list-package-card:hover,
.country-card:hover,
.booking-benefits > div:hover {
  border-color: rgba(19,167,161,.48) !important;
  box-shadow: var(--tb-shadow-md) !important;
  transform: translateY(-5px) !important;
}

.tb-badge-more,
.pill,
.tb-booking-status-pill,
.tb-flight-count-pill,
.tb-result-count,
.tb-contact-chip {
  color: var(--tb-teal-700) !important;
  background: var(--tb-teal-50) !important;
  border: 1px solid var(--tb-teal-100) !important;
  border-radius: var(--tb-radius-pill) !important;
}

/* Modal / popup */
.tb-lead-popup-backdrop,
.tb-client-auth-backdrop,
.tb-visa-modal-backdrop { background: rgba(18,8,38,.76) !important; backdrop-filter: blur(5px); }

.tb-lead-popup-dialog,
.tb-client-auth-dialog,
.tb-visa-modal-dialog {
  overflow: hidden;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  border-radius: 26px !important;
  box-shadow: 0 30px 90px rgba(18,8,38,.34) !important;
}

.tb-lead-popup-visual,
.tb-client-auth-brand,
.tb-visa-modal-head { color: #fff !important; background: var(--tb-gradient) !important; }

.tb-lead-popup-visual h3,
.tb-lead-popup-visual p,
.tb-client-auth-brand h3,
.tb-client-auth-brand p,
.tb-visa-modal-head h2,
.tb-visa-modal-head p { color: #fff !important; }

.tb-lead-popup-badge,
.tb-lead-popup-points span { color: var(--tb-teal-100) !important; }

.tb-lead-popup-close,
.tb-client-auth-close,
.tb-visa-modal-close {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--tb-ink-950) !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: 50% !important;
  box-shadow: var(--tb-shadow-xs);
}

.tb-lead-popup-close:hover,
.tb-client-auth-close:hover,
.tb-visa-modal-close:hover { color: #fff !important; background: var(--tb-teal-600) !important; border-color: var(--tb-teal-600) !important; transform: rotate(6deg); }

/* Footer */
.tb-footer,
body.tb-home-page .tb-footer {
  position: relative;
  padding: 72px 0 0 !important;
  overflow: hidden;
  color: rgba(255,255,255,.78) !important;
  background: var(--tb-gradient) !important;
  border: 0 !important;
}

.tb-footer::before {
  content: "";
  position: absolute;
  top: -140px;
  right: -100px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255,255,255,.025), 0 0 0 96px rgba(255,255,255,.018);
  pointer-events: none;
}

.tb-footer h4,
body.tb-home-page .tb-footer h4 { color: #fff !important; font-size: 17px !important; text-transform: none !important; }
.tb-footer p,
.tb-footer li,
body.tb-home-page .tb-footer p,
body.tb-home-page .tb-footer li { color: rgba(255,255,255,.72) !important; }

.tb-footer a,
body.tb-home-page .tb-footer a { color: rgba(255,255,255,.78) !important; text-decoration: none; font-size: 14px !important; }
.tb-footer a:hover { color: var(--tb-teal-100) !important; transform: translateX(3px); }

.tb-footer-social { display: flex; gap: 10px; }
.tb-footer-social a,
body.tb-home-page .tb-footer-social a {
  display: grid !important;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 50% !important;
}
.tb-footer-social a:hover,
body.tb-home-page .tb-footer-social a:hover { background: var(--tb-teal-600) !important; border-color: var(--tb-teal-500) !important; transform: translateY(-3px); }

.tb-contact-list i { color: var(--tb-teal-400, #29c8c0) !important; }

.tb-footer-bottom,
body.tb-home-page .tb-footer-bottom {
  margin-top: 56px !important;
  padding: 22px 0 !important;
  border-top: 1px solid rgba(255,255,255,.13) !important;
}

.tb-footer-policy-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }

.tb-back-top {
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center;
  color: #fff !important;
  background: var(--tb-gradient-teal) !important;
  border: 2px solid rgba(255,255,255,.6) !important;
  border-radius: 50% !important;
  box-shadow: 0 12px 30px rgba(13,141,136,.28) !important;
}

.tb-back-top:hover { transform: translateY(-4px) !important; }

.tb-whatsapp-float,
[class*="whatsapp-float"] {
  color: #fff !important;
  background: var(--tb-teal-600) !important;
  border-color: rgba(255,255,255,.65) !important;
  box-shadow: 0 12px 30px rgba(13,141,136,.26) !important;
}
.tb-reference-page-action{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid rgba(75,25,127,.13)}
.tb-reference-page-action small{color:#6d6879;line-height:1.5}
.tb-reference-page-action .tb-btn{border-radius:999px;padding-inline:22px}
.tb-reference-page-action .tb-btn i{transition:transform .18s ease}
.tb-reference-page-action .tb-btn:hover i{transform:translateX(4px)}

/* ===== css/theme-pages.css ===== */
/* Layer 3: page-family layout and visual overrides. */

/* Home */
.tb-home-page { background: #fff; }

.tb-reference-home { overflow: clip; background: #fff; }

body.tb-home-page .tb-reference-home .tb-reference-hero {
  position: relative;
  display: flex;
  min-height: max(610px, calc(100svh - 126px)) !important;
  align-items: center;
  margin: 0 !important;
  padding: clamp(34px, 5vw, 72px) 0 !important;
  color: #fff;
  background: var(--tb-gradient) !important;
}

.tb-reference-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 76%, rgba(255,255,255,.16), transparent 15%), radial-gradient(circle at 91% 18%, rgba(19,167,161,.18), transparent 18%);
  pointer-events: none;
}

body.tb-home-page .tb-reference-hero .hero-copy,
body.tb-home-page .tb-reference-hero .search-wrap { position: relative; z-index: 2; }

body.tb-home-page .tb-reference-hero h1,
body.tb-home-page .tb-reference-hero h2,
body.tb-home-page .tb-reference-hero p { color: #fff !important; }

body.tb-home-page .tb-reference-hero .hero-copy h1 { font-size: clamp(42px, 5.4vw, 76px) !important; }

body.tb-home-page .tb-reference-hero .hero-kicker {
  color: var(--tb-teal-100) !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: var(--tb-radius-pill) !important;
}

body.tb-home-page .tb-reference-hero .search {
  min-height: 60px;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.65) !important;
  border-radius: var(--tb-radius-pill) !important;
  box-shadow: 0 18px 50px rgba(18,8,38,.2) !important;
}

body.tb-home-page .tb-reference-hero .search input { border: 0 !important; box-shadow: none !important; }
body.tb-home-page .tb-reference-hero .search button {
  color: #fff !important;
  background: var(--tb-teal-500) !important;
  border: 0 !important;
  border-radius: 50% !important;
}

body.tb-home-page .tb-reference-hero .explore-btn { color: #fff !important; border: 1px solid rgba(255,255,255,.6) !important; border-radius: var(--tb-radius-pill) !important; text-decoration: none; }
body.tb-home-page .tb-reference-hero .explore-btn:hover { background: rgba(255,255,255,.12) !important; transform: translateY(-2px); }

body.tb-home-page .tb-footer > .container {
  padding: 36px !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 52px rgba(5,2,9,.2) !important;
}

body.tb-home-page .tb-header .tb-client-login-btn {
  min-height: 44px !important;
  padding: 8px 10px 8px 18px !important;
  box-shadow: 0 12px 26px rgba(13,141,136,.22) !important;
}

.tb-reference-home > .container.section,
.tb-reference-home .trust { background: #fff !important; }

.tb-reference-home .fast { color: #fff; background: var(--tb-gradient) !important; }
.tb-reference-home .fast h2,
.tb-reference-home .fast h3,
.tb-reference-home .fast p { color: #fff !important; }
.tb-reference-home .feature span { color: var(--tb-teal-700) !important; background: #fff !important; }

.country-card {
  overflow: hidden;
  color: var(--tb-text) !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-sm) !important;
  text-decoration: none;
}
.country-card .card-meta i { color: var(--tb-teal-600) !important; }

/* Shared inner-page hero */
.tb-page-hero,
.tb-client-account-hero,
.booking-hero,
.tb-flight-page-topband {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: var(--tb-gradient) !important;
  border: 0 !important;
}

.tb-page-hero::after,
.tb-client-account-hero::after,
.booking-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 86% 12%, rgba(255,255,255,.11), transparent 22%);
  pointer-events: none;
}

.tb-page-hero h1,
.tb-page-hero p,
.tb-client-account-hero h1,
.tb-client-account-hero p,
.booking-hero h1,
.booking-hero p { color: #fff !important; }

/* Visa listing, details and application */
.tb-visa-page main.container { padding-block: clamp(48px, 6vw, 84px); }
.tb-visa-page .page-intro { max-width: 760px; margin: 0 auto 36px; }
.tb-visa-page .page-intro h1,
.tb-visa-page .center-head h1 { font-size: clamp(34px, 4vw, 58px); }
.tb-visa-page .tb-visa-listing {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100%;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  overflow: visible !important;
}
.tb-visa-page .tb-visa-listing .country-card,
.tb-visa-page .tb-visa-listing .country-card:nth-child(n) {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Visa destination cards: render the real image element at its natural ratio so no side is cropped. */
.tb-visa-page .tb-visa-listing { align-items: start !important; }
.tb-visa-page .tb-visa-listing .country-card,
.tb-visa-page .tb-visa-listing .country-card:nth-child(n) {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}
.tb-visa-page .tb-visa-listing .country-card .card-img {
  height: auto !important;
  aspect-ratio: auto !important;
  background-image: none !important;
  background-color: #f3f6fa !important;
  flex: 0 0 auto;
}
.tb-visa-page .tb-visa-listing .country-card .card-img > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.tb-visa-page .tb-visa-listing .country-card .card-img b {
  padding: 4px 8px;
  border-radius: 7px;
  background: rgba(10, 12, 18, .55);
  line-height: 1.1;
}
.tb-visa-page .tb-visa-listing .country-card .card-copy {
  flex: 0 0 auto !important;
  padding-bottom: 16px !important;
}

.tb-visa-page .breadcrumb { margin-bottom: 24px; color: var(--tb-text-muted); }
.tb-visa-page .breadcrumb a { color: var(--tb-teal-700); font-weight: 800; text-decoration: none; }

.tb-visa-page .apply-banner {
  padding: clamp(22px, 3vw, 34px) !important;
  color: #fff !important;
  background: var(--tb-gradient) !important;
  border: 0 !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-md) !important;
}
.tb-visa-page .apply-banner b,
.tb-visa-page .apply-banner small { color: #fff !important; }

.tb-visa-page .dest-hero { overflow: hidden; border-radius: var(--tb-radius-lg) !important; box-shadow: var(--tb-shadow-md); }
.tb-visa-page .details { align-items: start; gap: 24px; }
.tb-visa-page .article,
.tb-visa-page .plan { padding: clamp(24px, 3vw, 38px) !important; }
.tb-visa-page .article h2 { margin-top: 30px; }
.tb-visa-page .steps > div span { color: #fff !important; background: var(--tb-teal-600) !important; }
.tb-visa-page .docs span { color: var(--tb-text) !important; background: var(--tb-teal-50) !important; border: 1px solid var(--tb-teal-100) !important; border-radius: 12px !important; }
.tb-visa-page .plan { position: sticky; top: 22px; }
.tb-visa-page .price { color: var(--tb-violet-700) !important; }

.tb-visa-progress [data-visa-step],
.tb-visa-step-indicator { border-color: var(--tb-border) !important; }
.tb-visa-progress .active,
.tb-visa-step-indicator.active { color: #fff !important; background: var(--tb-teal-600) !important; border-color: var(--tb-teal-600) !important; }

/* Booking landing and sample documents */
.booking-page { background: var(--tb-canvas); }
.booking-hero { min-height: 390px; display: grid; align-items: center; }
.booking-hero-inner { position: relative; z-index: 2; padding-block: 64px; }
.booking-hero h1 { font-size: clamp(42px, 5vw, 72px); }
.booking-hero h1 em { color: #e4bfff !important; }
.booking-float-card { background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: var(--tb-radius-lg) !important; backdrop-filter: blur(12px); }
.booking-float-card span { color: var(--tb-teal-600) !important; background: #fff !important; }
.booking-float-card b,
.booking-float-card small { color: #fff !important; }

.booking-shell,
.tb-demo-docs { margin-block: 42px; padding: clamp(22px, 3vw, 38px) !important; }
.booking-panel { padding: 28px !important; }
.tb-demo-docs-head > span { color: var(--tb-teal-700) !important; background: var(--tb-teal-50) !important; border-radius: var(--tb-radius-pill) !important; }
.tb-demo-panel { padding-top: 24px; }
.tb-demo-form { gap: 16px; }
.tb-demo-stage { min-height: 360px; background: var(--tb-surface-soft) !important; border: 1px dashed var(--tb-border-strong) !important; border-radius: var(--tb-radius-md) !important; }
.tb-demo-swap { color: #fff !important; background: var(--tb-teal-600) !important; border: 0 !important; border-radius: 50% !important; }
.booking-benefits { gap: 18px; padding-bottom: var(--tb-section-space); }
.booking-benefits > div { background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-md) !important; box-shadow: var(--tb-shadow-xs); }

/* Package listings */
.tb-package-listing-page { background: var(--tb-canvas); }
.tb-page-hero { min-height: 330px; display: grid; align-items: end; padding: 72px 0 56px; }
.tb-page-hero > .container { position: relative; z-index: 2; }
.tb-package-layout { gap: 28px; align-items: start; }
.tb-package-filter-panel {
  position: sticky;
  top: 20px;
  padding: 22px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-sm) !important;
}
.tb-filter-head { border-color: var(--tb-border) !important; }
.tb-filter-clear { color: var(--tb-teal-700) !important; background: var(--tb-teal-50) !important; border: 1px solid var(--tb-teal-100) !important; border-radius: var(--tb-radius-pill) !important; }
.tb-filter-block { border-color: var(--tb-border) !important; }
.tb-list-package-card { overflow: hidden; }
.tb-list-price { color: var(--tb-violet-700) !important; }
.tb-list-meta-row span { color: var(--tb-text-muted) !important; background: var(--tb-violet-50) !important; border-color: var(--tb-border) !important; }
.tb-list-meta-row i { color: var(--tb-teal-600) !important; }

/* Package detail */
.tb-package-detail-page { background: var(--tb-canvas); }
.tb-package-detail-hero { background: #fff !important; border-bottom: 1px solid var(--tb-border) !important; }
.tb-detail-breadcrumb a { color: var(--tb-teal-700) !important; }
.tb-detail-mosaic,
.tb-detail-image { overflow: hidden; border-radius: var(--tb-radius-lg) !important; }
.tb-detail-route-summary { background: var(--tb-violet-50) !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-md) !important; }
.tb-route-duration-pill { color: #fff !important; background: var(--tb-teal-600) !important; }
.tb-detail-layout { gap: 28px; align-items: start; }
.tb-detail-main > section,
.tb-detail-sidebar > section,
.tb-git-booking-widget,
.tb-git-enquiry-card { background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-lg) !important; box-shadow: var(--tb-shadow-sm) !important; }
.tb-detail-section-head { border-color: var(--tb-border) !important; }
.tb-day-panel,
.tb-departure-card { background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-md) !important; }
.tb-day-panel-head,
.tb-departure-card-top { background: var(--tb-violet-50) !important; border-color: var(--tb-border) !important; }
.tb-day-panel-head i,
.tb-departure-card-top i { color: var(--tb-teal-600) !important; }
.tb-detail-sidebar { position: sticky; top: 20px; }

/* Service, blog and general CMS pages */
.tb-service-page,
.tb-blog-page,
.tb-content-page,
.tb-page-content { background: var(--tb-canvas); }
.tb-blog-card,
.tb-list-blog-card { overflow: hidden; }
.tb-blog-body { padding: 22px !important; }
.tb-blog-body a { font-weight: 800; }
.tb-content-card,
.tb-detail-card { padding: clamp(24px, 3vw, 42px) !important; }
.tb-content-card h2,
.tb-detail-card h2 { margin-top: 30px; }

.tb-contact-page-grid { gap: 24px; align-items: stretch; }
.tb-contact-info-panel,
.tb-contact-form-panel,
.tb-contact-map-card { padding: clamp(24px, 3vw, 34px) !important; }
.tb-contact-info-list i { color: #fff !important; background: var(--tb-teal-600) !important; border-radius: 50% !important; }
.tb-map-iframe { overflow: hidden; border-radius: var(--tb-radius-md) !important; }

.tb-faq-item { overflow: hidden; background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-md) !important; }
.tb-faq-question { color: var(--tb-ink-950) !important; background: #fff !important; }
.tb-faq-question:hover { background: var(--tb-teal-50) !important; }
.tb-faq-question i { color: var(--tb-teal-600) !important; }

/* Flight and hotel search/results */
.tb-flight-results-page,
.tb-hotel-results-page,
.tb-flight-booking-page,
.tb-hotel-booking-page { min-height: 70vh; background: var(--tb-canvas); }
.tb-flight-page-topband { min-height: 190px; }
.tb-flight-result-search-section { margin-top: -94px !important; position: relative; z-index: 3; }
.tb-booking-search-card {
  padding: 20px !important;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-md) !important;
}
.tb-unified-row { gap: 10px; }
.tb-live-field { min-height: 74px; padding: 10px 12px !important; }
.tb-live-field input,
.tb-live-field select { min-height: 30px; padding: 2px 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.tb-swap-airport { color: #fff !important; background: var(--tb-teal-600) !important; border: 0 !important; border-radius: 50% !important; }
.tb-flight-results-layout,
.tb-hotel-results-layout { gap: 24px; align-items: start; }
.tb-flight-filter-panel,
.tb-hotel-filter-panel { position: sticky; top: 18px; background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-lg) !important; box-shadow: var(--tb-shadow-sm) !important; }
.tb-flight-results-topbar,
.tb-hotel-results-topbar { background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-md) !important; }
.tb-flight-card,
.tb-hotel-card,
.tb-flight-list > article,
.tb-hotel-list > article { background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-lg) !important; box-shadow: var(--tb-shadow-xs) !important; }

/* Checkout */
.tb-flight-booking-section,
.tb-hotel-booking-section { padding-top: clamp(36px, 5vw, 72px) !important; }
.tb-flight-booking-layout,
.tb-hotel-booking-layout { gap: 24px; align-items: start; }
.tb-booking-panel,
.tb-booking-fare-card { padding: clamp(20px, 2.5vw, 30px) !important; }
.tb-booking-panel-head,
.tb-booking-fare-head { border-color: var(--tb-border) !important; }
.tb-booking-status-pill i { color: var(--tb-teal-700) !important; }
.tb-traveller-note { color: var(--tb-teal-700) !important; background: var(--tb-teal-50) !important; border: 1px solid var(--tb-teal-100) !important; border-radius: 12px !important; }
.tb-flight-booking-sidebar,
.tb-hotel-booking-sidebar { position: sticky; top: 20px; }
.tb-booking-total-row { color: var(--tb-ink-950) !important; background: var(--tb-violet-50) !important; border-radius: 12px !important; }

/* Account */
.tb-client-account-hero { min-height: 240px; padding: 58px 0; }
.tb-client-account-hero > .container { position: relative; z-index: 2; }
.tb-client-account-shell { overflow: hidden; background: #fff !important; border: 1px solid var(--tb-border) !important; border-radius: var(--tb-radius-lg) !important; box-shadow: var(--tb-shadow-md) !important; }
.tb-client-account-sidebar { background: var(--tb-ink-950) !important; }
.tb-client-account-sidebar h3,
.tb-client-account-sidebar p { color: #fff !important; }
.tb-client-account-avatar { color: var(--tb-teal-700) !important; background: #fff !important; }
.tb-client-account-nav a,
.tb-client-account-nav button { color: rgba(255,255,255,.8) !important; border-radius: 11px !important; }
.tb-client-account-nav a:hover,
.tb-client-account-nav button:hover,
.tb-client-account-nav a.active { color: #fff !important; background: rgba(19,167,161,.2) !important; }
.tb-client-account-content { background: var(--tb-surface-soft) !important; }
.tb-profile-card { padding: 24px !important; }

/* Empty and state layouts */
.tb-empty-box,
.tb-flight-booking-empty,
.tb-hotel-booking-empty,
.tb-account-login-required {
  padding: clamp(32px, 5vw, 64px) !important;
  text-align: center;
  background: #fff !important;
  border: 1px solid var(--tb-border) !important;
  border-radius: var(--tb-radius-lg) !important;
  box-shadow: var(--tb-shadow-sm) !important;
}
.tb-empty-icon,
.tb-account-empty-icon { color: #fff !important; background: var(--tb-teal-600) !important; border-radius: 50% !important; }
.tb-reference-booking-request{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:-38px;margin-bottom:34px;padding:25px 28px;border:1px solid rgba(75,25,127,.14);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(38,17,66,.12);position:relative;z-index:3}
.tb-reference-booking-request small{color:#0f9f9a;font-weight:900;letter-spacing:.08em}.tb-reference-booking-request h2{margin:5px 0 6px;font-size:24px}.tb-reference-booking-request p{margin:0;color:#6d6879}.tb-reference-booking-request .btn{flex:0 0 auto;border-radius:999px}.tb-reference-booking-request .btn i{transition:transform .18s}.tb-reference-booking-request .btn:hover i{transform:translateX(4px)}
@media(max-width:767px){.tb-reference-booking-request{align-items:flex-start;flex-direction:column;margin-top:-24px;padding:21px}.tb-reference-booking-request .btn{width:100%}}

/* ===== css/theme-responsive.css ===== */
/* Layer 4: tablet, mobile and accessibility-safe responsive behaviour. */

@media (max-width: 1199.98px) {
  :root { --tb-container: 1060px; }
  .tb-main-menu .nav-link { padding-inline: 10px !important; font-size: 13px; }
  .tb-main-menu .nav-link i:not(.tb-nav-caret) { font-size: 14px; }
  .tb-navbar .navbar-brand { min-width: 130px; max-width: 170px; margin-right: 12px; }
  .tb-package-layout,
  .tb-detail-layout,
  .tb-flight-results-layout,
  .tb-hotel-results-layout { gap: 20px; }
  .tb-visa-page .tb-visa-listing { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 991.98px) {
  :root { --tb-header-height: 72px; }
  .container { width: min(100% - 30px, var(--tb-container)); }
  .tb-header { position: sticky; top: 0; }
  .tb-navbar { min-height: var(--tb-header-height); }
  .tb-navbar .navbar-brand img { height: 46px; }
  .navbar-toggler { color: var(--tb-ink-950) !important; border: 1px solid var(--tb-border) !important; border-radius: 12px !important; }
  .navbar-collapse { margin-top: 12px; padding: 14px; background: #fff; border: 1px solid var(--tb-border); border-radius: var(--tb-radius-md); box-shadow: var(--tb-shadow-md); }
  .tb-main-menu { display: block; border-radius: var(--tb-radius-md) !important; box-shadow: none; }
  .tb-main-menu > .nav-item { display: block; border: 0 !important; border-bottom: 1px solid var(--tb-border) !important; }
  .tb-main-menu > .nav-item:last-child { border-bottom: 0 !important; }
  .tb-main-menu > .nav-item > .nav-link { justify-content: flex-start; min-height: 48px; padding-inline: 14px !important; border-radius: 0 !important; }
  .tb-main-menu > .nav-item:first-child > .nav-link { border-radius: 14px 14px 0 0 !important; }
  .tb-main-menu > .nav-item:last-child > .nav-link { border-radius: 0 0 14px 14px !important; }
  .tb-main-menu > .nav-item > .nav-link::after { top: 11px; right: auto; bottom: 11px; left: 5px; width: 3px; height: auto; transform: scaleY(.35); }
  .tb-main-menu > .nav-item > .nav-link:hover::after,
  .tb-main-menu > .nav-item > .nav-link.active::after { transform: scaleY(1) !important; }
  .tb-service-menu,
  .tb-mega-menu { position: static !important; width: 100% !important; max-width: none !important; margin: 4px 0 10px !important; box-shadow: none !important; }
  .tb-mega-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .tb-client-header { margin-top: 12px; }
  .tb-client-login-btn { width: 100%; }
  body.tb-home-page .tb-reference-home .tb-reference-hero { min-height: calc(100svh - var(--tb-header-height)) !important; }
  body.tb-home-page .tb-reference-hero .hero-copy h1 { font-size: clamp(38px, 7vw, 62px) !important; }
  .tb-package-filter-panel,
  .tb-detail-sidebar,
  .tb-flight-filter-panel,
  .tb-hotel-filter-panel,
  .tb-flight-booking-sidebar,
  .tb-hotel-booking-sidebar,
  .tb-visa-page .plan { position: static; }
  .tb-package-layout,
  .tb-detail-layout,
  .tb-flight-results-layout,
  .tb-hotel-results-layout,
  .tb-flight-booking-layout,
  .tb-hotel-booking-layout { grid-template-columns: 1fr !important; }
  .tb-client-account-shell { grid-template-columns: 1fr !important; }
  .tb-client-account-sidebar { padding: 20px !important; }
  .tb-client-account-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .tb-client-account-nav a,
  .tb-client-account-nav button { margin: 0 !important; }
}

@media (max-width: 767.98px) {
  :root { --tb-section-space: 54px; }
  body { font-size: 15px; }
  .container { width: min(100% - 24px, var(--tb-container)); }
  h1 { font-size: clamp(32px, 10vw, 46px) !important; }
  h2 { font-size: clamp(26px, 7vw, 36px) !important; }
  body.tb-home-page .tb-reference-home .tb-reference-hero { min-height: auto !important; padding: 46px 0 64px !important; }
  .tb-reference-hero .search-wrap { width: 100%; }
  .tb-reference-hero .search { min-height: 54px; }
  .tb-reference-hero .explore-btn { min-height: 48px; }
  .tb-reference-hero .hero-copy { padding-top: 34px; }
  .tb-reference-hero .hero-actions { flex-direction: column; align-items: stretch; }
  .tb-reference-hero .hero-actions .btn { width: 100%; }
  .tb-page-hero { min-height: 270px; padding: 54px 0 42px; }
  .booking-hero { min-height: 420px; }
  .booking-hero-inner { grid-template-columns: 1fr !important; gap: 28px; padding-block: 52px; }
  .booking-float-card { max-width: none; }
  .booking-shell,
  .tb-demo-docs { margin-block: 24px; padding: 18px !important; }
  .booking-tabs,
  .tb-category-tabs,
  .tb-day-tabs,
  .tb-trip-tabs,
  .tb-search-tabs,
  .plan-switch,
  .tb-flight-booking-steps,
  .tb-hotel-booking-steps { display: flex; width: 100%; justify-content: flex-start; }
  .booking-tabs button,
  .tb-category-tabs button,
  .tb-day-tabs button,
  .tb-trip-tab,
  .tb-search-tab,
  .plan-switch button { flex: 0 0 auto; }
  .tb-visa-page .details { grid-template-columns: 1fr !important; }
  .tb-visa-page .tb-visa-listing {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  .tb-visa-page .apply-banner { grid-template-columns: 1fr !important; gap: 18px; }
  .tb-visa-page .apply-banner .btn { width: 100%; }
  .tb-demo-form,
  .tb-profile-grid,
  .tb-form-two,
  .tb-form-three,
  .tb-lead-grid { grid-template-columns: 1fr !important; }
  .tb-demo-swap { transform: rotate(90deg); justify-self: center; }
  .tb-unified-row { grid-template-columns: 1fr !important; }
  .tb-live-field { width: 100% !important; }
  .tb-live-search-btn { width: 100%; }
  .tb-flight-result-search-section { margin-top: -68px !important; }
  .tb-lead-popup-dialog,
  .tb-client-auth-dialog,
  .tb-visa-modal-dialog { width: min(100% - 18px, 680px) !important; max-height: calc(100svh - 18px); overflow-y: auto; border-radius: 20px !important; }
  .tb-lead-popup-dialog { grid-template-columns: 1fr !important; }
  .tb-lead-popup-visual { display: none !important; }
  .tb-lead-popup-form-wrap { padding: 24px 18px !important; }
  .tb-lead-captcha-row { grid-template-columns: 1fr !important; }
  .tb-lead-submit { width: 100%; }
  .tb-footer,
  body.tb-home-page .tb-footer { padding-top: 56px !important; }
  body.tb-home-page .tb-footer > .container { padding: 28px 20px !important; border-radius: 0 !important; border-inline: 0 !important; }
  .tb-footer-bottom { align-items: flex-start !important; flex-direction: column; gap: 16px; }
  .tb-footer-policy-links { gap: 7px 14px; }
  .tb-client-account-nav { grid-template-columns: 1fr; }
  .tb-client-account-content { padding: 18px !important; }
}

@media (max-width: 479.98px) {
  .container { width: min(100% - 20px, var(--tb-container)); }
  .tb-navbar .navbar-brand { max-width: 150px; }
  .tb-main-menu .nav-link { font-size: 14px; }
  .tb-visa-page .tb-visa-listing { grid-template-columns: 1fr !important; }
  .tb-mega-grid { grid-template-columns: 1fr !important; }
  .btn,
  .tb-btn,
  .tb-live-search-btn,
  .tb-booking-pay-btn,
  .tb-select-slot-btn,
  .tb-lead-submit { width: 100%; }
  .tb-page-hero { min-height: 235px; }
  .tb-content-card,
  .tb-detail-card,
  .tb-booking-panel,
  .tb-booking-fare-card,
  .tb-profile-card,
  .tb-contact-info-panel,
  .tb-contact-form-panel { padding: 18px !important; border-radius: 18px !important; }
  .tb-back-top { right: 14px !important; bottom: 14px !important; width: 44px !important; height: 44px !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; }
}

/* ===== css/public-requirements.css ===== */
:root{--req-purple:#4b176f;--req-violet:#7028a2;--req-teal:#13b8ad;--req-ink:#171328;--req-muted:#6f687b;--req-line:#e8e0ef;--req-soft:#f8f5fb}
.tb-public-requirements{width:min(1180px,calc(100% - 32px));margin:54px auto;padding:34px;border:1px solid var(--req-line);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#fbf8fd 100%);box-shadow:0 20px 55px rgba(57,25,83,.09)}
.tb-public-requirements-head{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:26px}.tb-public-requirements-head>div:first-child{max-width:720px}.tb-public-requirements-head span{display:block;color:var(--req-teal);font-size:12px;font-weight:900;letter-spacing:.16em}.tb-public-requirements-head h2{margin:7px 0 10px;color:var(--req-ink);font-size:clamp(27px,3vw,42px);line-height:1.1}.tb-public-requirements-head p{margin:0;color:var(--req-muted);font-size:15px;line-height:1.7}
.tb-public-requirements-note{min-width:230px;padding:16px 18px;border:1px solid #d9f0ed;border-radius:16px;background:#effaf8;color:var(--req-ink)}.tb-public-requirements-note i{float:left;margin:3px 11px 18px 0;color:var(--req-teal);font-size:20px}.tb-public-requirements-note strong,.tb-public-requirements-note small{display:block}.tb-public-requirements-note strong{font-size:14px}.tb-public-requirements-note small{margin-top:4px;color:var(--req-muted);font-size:11px;line-height:1.45}
.tb-public-requirements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tb-public-requirement-card{overflow:hidden;border:1px solid var(--req-line);border-radius:19px;background:#fff}.tb-public-requirement-card header{display:flex;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid var(--req-line);background:linear-gradient(90deg,#fbf7fd,#fff)}.tb-public-requirement-card header>span{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--req-purple),var(--req-violet));color:#fff;font-size:17px}.tb-public-requirement-card h3{margin:0;color:var(--req-ink);font-size:17px;font-weight:850}.tb-public-requirement-card ul{list-style:none;margin:0;padding:5px 18px 12px}.tb-public-requirement-card li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 0;border-bottom:1px dashed #ece5f1}.tb-public-requirement-card li:last-child{border-bottom:0}.tb-public-requirement-card li>i{display:grid;width:19px;height:19px;margin-top:1px;place-items:center;border-radius:50%;background:#e7f8f5;color:#0b8c84;font-size:9px}.tb-public-requirement-card li strong,.tb-public-requirement-card li small{display:block}.tb-public-requirement-card li strong{color:#292236;font-size:13px}.tb-public-requirement-card li small{margin-top:3px;color:var(--req-muted);font-size:11px;line-height:1.45}.tb-public-requirement-card li em{padding:4px 7px;border-radius:999px;background:#f1e9f7;color:var(--req-purple);font-size:9px;font-style:normal;font-weight:850;white-space:nowrap}
.tb-public-requirements-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 20px;border-radius:18px;background:linear-gradient(120deg,#3d0f61,#6e229b);color:#fff}.tb-public-requirements-cta strong,.tb-public-requirements-cta span{display:block}.tb-public-requirements-cta strong{font-size:17px}.tb-public-requirements-cta span{margin-top:3px;color:#e9daf3;font-size:12px}.tb-public-requirements-cta .btn{border:0!important;background:var(--req-teal)!important;color:#082b31!important;white-space:nowrap}.tb-public-requirements-cta .btn:hover{background:#21c9bd!important;color:#071f25!important}
.tb-direct-login-shell{min-height:calc(100vh - 160px);padding:70px 16px;background:linear-gradient(145deg,#32104f 0%,#62228c 48%,#0f9f9a 145%)}.tb-direct-login-inner{width:min(1080px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);align-items:center;gap:48px}.tb-direct-login-copy{color:#fff}.tb-direct-login-copy>span{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.09);font-size:11px;font-weight:900;letter-spacing:.14em}.tb-direct-login-copy h1{margin:18px 0 12px;color:#fff;font-size:clamp(38px,5vw,62px);line-height:1.02}.tb-direct-login-copy p{max-width:500px;margin:0;color:#eadff1;font-size:16px;line-height:1.7}.tb-direct-login-copy ul{display:grid;gap:11px;margin:25px 0 0;padding:0;list-style:none}.tb-direct-login-copy li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}.tb-direct-login-copy li i{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:var(--req-teal);color:#08353b;font-size:11px}.tb-direct-login-mount{min-height:480px}.tb-direct-login-page .tb-client-auth-modal.tb-client-auth-page-modal{position:relative;inset:auto;z-index:2;display:block;padding:0;background:transparent}.tb-direct-login-page .tb-client-auth-page-modal .tb-client-auth-dialog{width:100%;max-height:none}.tb-direct-login-page .tb-client-auth-page-modal .tb-client-auth-close{display:none}.tb-direct-login-page.tb-client-auth-open{overflow:auto}
.tb-direct-login-page #tbLeadPopup{display:none!important}
@media(max-width:800px){.tb-public-requirements{padding:24px 18px}.tb-public-requirements-head{display:block}.tb-public-requirements-note{margin-top:18px}.tb-public-requirements-grid{grid-template-columns:1fr}.tb-public-requirements-cta{align-items:stretch;flex-direction:column}.tb-public-requirements-cta .btn{width:100%}.tb-direct-login-inner{grid-template-columns:1fr;gap:28px}.tb-direct-login-shell{padding:44px 14px}.tb-direct-login-copy{text-align:center}.tb-direct-login-copy p{margin-left:auto;margin-right:auto}.tb-direct-login-copy ul{display:inline-grid;text-align:left}.tb-direct-login-mount{min-height:430px}}
@media(max-width:520px){.tb-public-requirements{width:calc(100% - 20px);margin:34px auto;padding:20px 14px;border-radius:19px}.tb-public-requirement-card li{grid-template-columns:22px minmax(0,1fr)}.tb-public-requirement-card li em{grid-column:2;justify-self:start}.tb-public-requirements-head h2{font-size:28px}.tb-direct-login-copy h1{font-size:38px}}

/* ===== css/product-ui-refinement.css ===== */
/*
 * 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.webp") 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.webp") !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%}}

