/* Pelican mobile refinements. Loaded after the legacy stylesheet. */
.tb-mobile-submenu-toggle,.tb-mobile-filter-toggle{display:none}
.tb-booking-datepicker{max-width:calc(100vw - 24px)}
@media(max-width:991.98px){
  /* Give the expanded navigation its own scroll area, including in landscape. */
  .tb-navbar #mainNav.show{max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:12px}
  .tb-mobile-submenu-toggle{display:grid;place-items:center;position:absolute;top:0;right:0;width:44px;height:44px;border:1px solid #dce7eb;border-radius:10px;background:#f2fafb;color:#087f8c;font-size:18px}
  .tb-mobile-submenu-toggle[aria-expanded="true"]{background:#0796a5;color:white}
  .tb-mobile-nav-ready>.nav-link{margin-right:52px}
  .tb-mobile-nav-ready>.nav-link .tb-nav-caret{display:none}
  .tb-mobile-nav-ready>.tb-mega-menu,.tb-mobile-nav-ready>.tb-service-menu{display:none!important}
  .tb-mobile-nav-ready.tb-submenu-open>.tb-mega-menu,.tb-mobile-nav-ready.tb-submenu-open>.tb-service-menu{display:block!important}
  .tb-mega-head{flex-wrap:wrap;gap:8px}
  .tb-mega-head strong{font-size:14px}
  .tb-mega-grid a{min-height:44px}
  .tb-mega-grid{max-height:none;overflow:visible}
  .tb-mega-grid span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .tb-service-menu .dropdown-item{white-space:normal;overflow-wrap:anywhere;min-height:44px}
  .tb-mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:11px 14px;border:1px solid #cce3e8;border-radius:12px;background:#effbfc;color:#076b77;font:inherit;font-weight:700;text-align:left}
  .tb-mobile-filters:not(.tb-filters-open)>:not(.tb-mobile-filter-toggle){display:none!important}
  .tb-mobile-filters.tb-filters-open>.tb-mobile-filter-toggle{margin-bottom:16px}
  .tb-mobile-filters{position:static!important;align-self:start;padding:14px!important}
  .tb-check-row{min-height:44px;align-items:center}
  /* ID-based old rules otherwise disable touch scrolling on these carousels. */
  #packages .tb-card-row,#categories .tb-theme-package-row,#testimonials .tb-testimonial-track{overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch}
  #packages .tb-card-row,#categories .tb-theme-package-row{grid-auto-columns:min(310px,100%);padding:16px 0 24px}
  #packages .tb-package-card,#categories .tb-package-card{min-width:0}
  .tb-mini-arrow.js-scroll-left{left:0}
  .tb-mini-arrow.js-scroll-right{right:0}
  #testimonials .tb-testimonial-shell{padding-bottom:48px}
  #testimonials .tb-testimonial-window{padding:16px 0;width:100%}
  #testimonials .testimonial-prev,#testimonials .testimonial-next{position:absolute;top:auto;bottom:0;transform:none;width:44px;height:44px}
  #testimonials .testimonial-prev{left:calc(50% - 50px)}
  #testimonials .testimonial-next{right:calc(50% - 50px)}
  .tb-hero-dots{width:calc(100% - 32px);max-width:calc(100% - 32px)!important;flex-wrap:wrap;justify-content:center;gap:2px!important;bottom:16px!important}
  .tb-hero-dots button,.tb-hero-dots button.active{box-sizing:border-box;width:20px!important;height:20px!important;flex:0 0 20px!important;border:6px solid transparent;background-clip:padding-box;border-radius:50%;padding:0}
  .tb-hero .tb-hero-content{transform:none!important}
  /* Reserve actual mobile content height to avoid jumps when focusing controls. */
  .tb-section,.tb-packages-section,.tb-destinations-section,.tb-blogs-section,.tb-testimonials-section,
  .tb-package-card,.tb-destination-card,.tb-blog-card,.tb-testimonial-card,.tb-service-card{content-visibility:visible;contain-intrinsic-size:none}
  .tb-content-card table{display:block;max-width:100%;overflow-x:auto}
  .tb-content-card iframe,.tb-content-card video{max-width:100%}
}
@media(max-width:767.98px){
  /* 16px inputs avoid iOS focus zoom; controls remain comfortable to tap. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),select,textarea{font-size:16px!important;min-width:0;max-width:100%}
  .tb-live-field input,.tb-live-field select,.tb-filter-search input,.tb-lead-form input,.tb-lead-form select{min-height:44px}
  .tb-service-tab,.tb-trip-tab{min-height:44px!important;height:auto!important;font-size:13px!important;padding:8px 12px!important}
  .tb-unified-service-tabs{position:static!important;transform:none!important;display:flex!important;flex-wrap:wrap;max-width:100%!important;margin:0 0 14px!important;gap:6px!important}
  .tb-unified-service-tabs .tb-service-tab{flex:1 1 auto!important;justify-content:center}
  .tb-booking-search-card.tb-unified-search-card{padding-top:14px!important}
  .tb-pax-controls input{min-height:44px!important}
  .tb-hotel-guests-popover .tb-hotel-room-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .tb-hotel-guests-popover .tb-room-no{grid-column:1/-1!important}
  .tb-hotel-guests-popover .tb-hotel-room-row select{height:44px!important;font-size:16px!important}
  .tb-hotel-guests-popover .tb-child-age-box{flex-wrap:wrap}
  .tb-hotel-guests-popover .tb-hotel-add-room,.tb-hotel-guests-popover .tb-hotel-remove-room{width:44px!important;height:44px!important;min-width:44px!important}
  .tb-hotel-guests-popover{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-width:none!important;transform:none!important;z-index:1100;max-height:75vh;max-height:75dvh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 60px #142c4055}
  .tb-client-auth-dialog,.tb-lead-popup-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
  .tb-client-auth-pane .tb-otp-boxes input{width:100%;min-width:0;padding:0;text-align:center}
  .tb-gallery-modal,.tb-hotel-room-modal{overscroll-behavior:contain}
  .tb-day-tabs button,.tb-flight-detail-tabs button{min-height:44px!important}
  .tb-detail-card,.tb-content-card,.tb-booking-panel{overflow-wrap:anywhere}
  .tb-hotel-guest-grid>*{grid-column:auto!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}
  .tb-hotel-booking-policy-table{overflow-x:auto;max-width:100%}
  .tb-hotel-booking-policy-table table{min-width:480px}
  .tb-section[id],.tb-detail-card[id],#home{scroll-margin-top:80px}
  .tb-hero,.tb-hero .container{min-height:360px!important}
  .tb-hero .tb-hero-content{padding-top:60px!important;padding-bottom:90px!important}
}
@media(max-width:360px){
  .tb-service-tab,.tb-trip-tab{font-size:12px!important;padding:8px!important}
  .tb-stat-card{width:130px;height:130px}
  .tb-client-auth-dialog{padding:18px}
}
@media(prefers-reduced-motion:reduce){
  .tb-hero-slide,.tb-package-card,.tb-destination-card{transition:none!important}
}

/* Mobile search and Popular Packages refinement — 2026-09-05. */
@media(max-width:767.98px){
  .tb-booking-search-card.tb-unified-search-card .tb-unified-service-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    gap:8px!important;
  }
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    min-height:46px!important;
    padding:10px 6px!important;
    border:1px solid #dce7ed!important;
    border-radius:24px!important;
    background:#fff!important;
    color:#17233a!important;
    box-shadow:none!important;
    transform:none!important;
    font-size:13px!important;
  }
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab::before,
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab::after{display:none!important}
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab.active{
    background:var(--tb-orange,#0796a5)!important;
    border-color:var(--tb-orange,#0796a5)!important;
    color:#fff!important;
  }
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab.active i{color:#fff!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{box-shadow:none!important;transform:none!important}
  .tb-booking-search-card.tb-unified-search-card .tb-service-tab:focus-visible{outline:2px solid #145466;outline-offset:3px}
  .tb-flight-search-form .tb-pax-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    width:100%!important;
  }
  .tb-flight-search-form .tb-pax-controls>span{
    display:flex!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:56px;
    padding:6px 0;
    border-bottom:1px solid #edf1f5;
    font-size:14px!important;
  }
  .tb-flight-search-form .tb-pax-controls>span input{
    flex:0 0 64px!important;
    width:64px!important;
    height:44px!important;
    text-align:center!important;
    margin:0!important;
  }
  .tb-flight-search-form .tb-pax-controls>select{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:12px 0 0!important;
    padding:10px 12px!important;
    border-radius:10px!important;
  }
  #packages .tb-card-row{
    grid-auto-columns:100%!important;
    gap:20px!important;
    padding:16px 4px 24px!important;
    overflow-x:hidden!important;
    scroll-snap-type:none!important;
  }
  #packages .tb-card-row>.tb-package-card{width:100%!important;min-width:0!important;max-width:100%!important}
}

/* Flight results: start mobile search immediately below the header. */
@media(max-width:767.98px){
  .tb-flight-results-page>.tb-flight-page-topband{display:none!important;}
  .tb-flight-results-page>.tb-flight-result-search-section{margin-top:0!important;padding-top:12px!important;}
}

/* Mobile flight results: contained filters and a horizontal flight timeline. */
@media(max-width:767.98px){
  .tb-flight-results-page .tb-flight-filter-panel{
    position:static!important;top:auto!important;height:auto!important;max-height:none!important;
    overflow:visible!important;align-self:start!important;padding:16px!important;
  }
  .tb-flight-results-page .tb-flight-filter-block{height:auto!important;max-height:none!important;min-width:0;}
  .tb-flight-results-page .tb-flight-check{min-width:0;min-height:36px;white-space:normal;}
  .tb-flight-results-page .tb-flight-check span{min-width:0;overflow-wrap:anywhere;}
  .tb-flight-results-page .tb-flight-cheapest-strip::before,
  .tb-flight-results-page .tb-flight-cheapest-strip::after{display:none!important;content:none!important;}
  .tb-flight-results-page .tb-cheapest-strip-head{margin-bottom:12px!important;gap:5px!important;}
  .tb-flight-results-page .tb-cheapest-strip-head span{white-space:normal!important;}
  .tb-flight-results-page .tb-flight-cheapest-strip{padding:14px 12px 12px!important;border-radius:16px!important;box-shadow:none!important;}
  .tb-flight-results-page .tb-cheapest-flight-card,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card){
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr)!important;
    gap:14px 8px!important;padding:16px 12px 12px!important;border-radius:14px!important;
  }
  .tb-flight-results-page .tb-cheapest-flight-card>*,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>*{min-width:0!important;order:initial!important;}
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-airline-box,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-airline-box{
    grid-column:1/-1!important;grid-row:1!important;border-bottom:1px solid #edf1f5;padding-bottom:12px;gap:10px!important;
  }
  .tb-flight-results-page .tb-flight-airline-box h3{font-size:15px!important;line-height:1.4;overflow-wrap:anywhere;}
  .tb-flight-results-page .tb-flight-card-fare-tags{flex-wrap:wrap;}
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-time-box:nth-child(2),
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-time-box:nth-child(2){grid-column:1!important;grid-row:2!important;text-align:left!important;}
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-time-box:nth-child(4),
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-time-box:nth-child(4){grid-column:3!important;grid-row:2!important;text-align:right!important;}
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-duration-box,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-duration-box{
    grid-column:2!important;grid-row:2!important;min-height:0!important;align-self:center!important;text-align:center!important;
  }
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-duration-box i,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-duration-box i{width:100%!important;max-width:100%!important;}
  .tb-flight-results-page .tb-flight-time-box strong{font-size:22px!important;line-height:1.25;}
  .tb-flight-results-page .tb-flight-time-box span{font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere;}
  .tb-flight-results-page .tb-flight-duration-box span,.tb-flight-results-page .tb-flight-duration-box small{font-size:11px!important;white-space:normal!important;}
  .tb-flight-results-page .tb-cheapest-flight-card>.tb-flight-price-box,
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-price-box{
    grid-column:1/-1!important;grid-row:3!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:3px 12px!important;border-top:1px solid #edf1f5;padding-top:12px!important;text-align:left!important;align-items:center;
  }
  .tb-flight-results-page .tb-flight-price-box>strong{grid-column:1;grid-row:1;font-size:23px!important;line-height:1.25;}
  .tb-flight-results-page .tb-flight-price-box>span{grid-column:1;grid-row:2;font-size:11px!important;}
  .tb-flight-results-page .tb-flight-price-box>button{grid-column:2;grid-row:1/3;min-height:44px!important;margin:0!important;min-width:100px!important;padding:10px 12px!important;border-radius:10px!important;}
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-note{grid-column:1/-1!important;grid-row:4!important;}
  .tb-flight-results-page .tb-flight-result-card:not(.tb-multicity-result-card)>.tb-flight-detail-panel{grid-column:1/-1!important;grid-row:5!important;}
}

/* Keep the complete airline filter list inside its card at every width. */
.tb-flight-results-page .tb-flight-filter-panel{height:auto!important;max-height:none!important;overflow:visible!important;position:static!important;align-self:start!important;}

/* Mobile expanded flight segment: route timeline first, baggage facts below. */
@media(max-width:767.98px){
  .tb-flight-results-page .tb-flight-detail-panel{
    margin:0 -12px -12px!important;
    border-top:1px solid #e5ebf3!important;
    background:#f7fafc!important;
  }
  .tb-flight-results-page .tb-flight-detail-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:14px 12px 4px!important;
    overflow:visible!important;
    background:#f7fafc!important;
  }
  .tb-flight-results-page .tb-flight-detail-tabs button,
  .tb-flight-results-page .tb-flight-detail-tabs button:first-child,
  .tb-flight-results-page .tb-flight-detail-tabs button:last-child{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:auto!important;
    padding:9px 7px!important;
    border:1px solid #dce5ef!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#334155!important;
    box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
    font-size:10.5px!important;
    font-weight:800!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .tb-flight-results-page .tb-flight-detail-tabs button.active{
    color:#057986!important;
    background:#eafafb!important;
    border-color:#0796a5!important;
    box-shadow:0 5px 14px rgba(7,150,165,.12)!important;
  }
  .tb-flight-results-page .tb-flight-detail-body{padding:8px 12px 14px!important;background:#f7fafc!important;}
  .tb-flight-results-page .tb-flight-detail-pane{
    border:1px solid #dfe7f0!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(15,23,42,.05)!important;
  }
  .tb-flight-results-page .tb-flight-detail-pane h4{
    padding:14px!important;
    margin:0!important;
    border-bottom:1px solid #e8eef5!important;
    background:#fff!important;
    color:#0f172a!important;
    font-size:14px!important;
    line-height:1.35!important;
  }
  .tb-flight-results-page .tb-flight-public-fare-table{
    width:100%!important;max-width:none!important;padding:0!important;gap:0!important;
  }
  .tb-flight-results-page .tb-flight-public-fare-table div{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;padding:13px 14px!important;border-bottom:1px solid #edf1f5!important;
  }
  .tb-flight-results-page .tb-flight-public-fare-table div:last-child{border-bottom:0!important;background:#effbfc!important;}
  .tb-flight-results-page .tb-flight-public-fare-table b,
  .tb-flight-results-page .tb-flight-public-fare-table span{font-size:12px!important;color:#475569!important;}
  .tb-flight-results-page .tb-flight-public-fare-table strong,
  .tb-flight-results-page .tb-flight-public-fare-table em{font-size:14px!important;color:#0f172a!important;}
  .tb-flight-results-page .tb-flight-rule-live{padding:12px!important;background:#fff!important;}
  .tb-flight-results-page .tb-flight-rule-loading,
  .tb-flight-results-page .tb-flight-rule-error{
    margin:0!important;padding:14px!important;border-radius:11px!important;line-height:1.4!important;
  }
  .tb-flight-results-page .tb-flight-rule-loading b{font-size:12px!important;}
  .tb-flight-results-page .tb-flight-rule-loading small{font-size:11px!important;line-height:1.4!important;}
  .tb-flight-results-page .tb-flight-rule-table{width:100%!important;max-width:none!important;margin:0!important;border-radius:11px!important;}
  .tb-flight-results-page .tb-flight-rule-table>div{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;}
  .tb-flight-results-page .tb-flight-rule-table span{padding:11px 10px!important;font-size:11px!important;line-height:1.4!important;}
  .tb-flight-results-page .tb-flight-rule-table .head span{font-size:11px!important;}
  .tb-flight-results-page .tb-flight-detail-pane>p{padding:10px 12px 13px!important;font-size:11px!important;line-height:1.5!important;}

  .tb-flight-results-page .tb-flight-detail-pane>.tb-flight-leg-wrap{padding:10px!important;}
  .tb-flight-results-page .tb-flight-leg-card{padding:12px!important;border-radius:12px!important;}
  .tb-flight-results-page .tb-flight-leg-airline{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;padding-bottom:11px!important;}
  .tb-flight-results-page .tb-flight-leg-airline strong{font-size:14px!important;line-height:1.3!important;}
  .tb-flight-results-page .tb-flight-leg-airline small{font-size:12px!important;}
  .tb-flight-results-page .tb-flight-leg-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(72px,.9fr) minmax(0,1fr)!important;
    gap:12px 6px!important;
    align-items:start!important;
  }
  .tb-flight-results-page .tb-flight-leg-grid>.tb-flight-leg-time{
    min-width:0!important;min-height:112px!important;height:auto!important;
    display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
    padding:8px 0!important;text-align:left!important;
  }
  .tb-flight-results-page .tb-flight-leg-grid>.tb-flight-leg-time:nth-child(3){text-align:right!important;align-items:flex-end!important;}
  .tb-flight-results-page .tb-flight-leg-time strong{font-size:21px!important;line-height:1.15!important;}
  .tb-flight-results-page .tb-flight-leg-time span{font-size:10px!important;line-height:1.35!important;margin-top:5px!important;}
  .tb-flight-results-page .tb-flight-leg-time em{font-size:11px!important;line-height:1.3!important;margin-top:5px!important;}
  .tb-flight-results-page .tb-flight-leg-time small{font-size:12px!important;font-weight:800!important;line-height:1.3!important;margin-top:5px!important;}
  .tb-flight-results-page .tb-flight-leg-grid>.tb-flight-leg-duration{
    min-width:0!important;min-height:112px!important;height:auto!important;
    grid-column:2!important;grid-row:1!important;align-self:start!important;justify-self:stretch!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    padding:8px 2px!important;text-align:center!important;
  }
  .tb-flight-results-page .tb-flight-leg-duration span,.tb-flight-results-page .tb-flight-leg-duration small{font-size:10px!important;line-height:1.3!important;}
  .tb-flight-results-page .tb-flight-leg-duration i{width:100%!important;max-width:none!important;margin:7px 0 5px!important;}
  .tb-flight-results-page .tb-flight-leg-grid>.tb-flight-leg-facts{
    min-width:0!important;max-width:none!important;min-height:66px!important;
    margin:0!important;padding:10px 8px!important;border:1px solid #e5ebf3!important;
    border-radius:10px!important;background:#f8fafc!important;text-align:center!important;
  }
  .tb-flight-results-page .tb-flight-leg-facts b{font-size:10px!important;line-height:1.25!important;}
  .tb-flight-results-page .tb-flight-leg-facts span{font-size:11px!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
  .tb-flight-results-page .tb-flight-layover-pill{margin:10px 0!important;padding:9px 10px!important;border-radius:10px!important;font-size:11px!important;text-align:center!important;}
}
