/* Universal Excursions V11.31.53 — native-feeling MOBILE WEB shell.
   Scope: <=767px only; desktop/templates/checkout and backend flows remain unchanged. */
.ue-native-bottom-nav,.ue-mobile-shortcuts{display:none}
.ue-mobile-more-tools{display:none}
@media (max-width:767px){
  :root{--ue-mnav-height:69px;--ue-mnav-safe:env(safe-area-inset-bottom,0px)}
  html{scroll-padding-top:74px;-webkit-text-size-adjust:100%}
  body.theme-ue-nexus{overflow-x:clip}
  body.theme-ue-nexus:has(.ue-native-bottom-nav){padding-bottom:calc(var(--ue-mnav-height) + var(--ue-mnav-safe))}
  body.theme-ue-nexus :is(input,select,textarea){max-width:100%}
  body.theme-ue-nexus input:not([type="checkbox"]):not([type="radio"]),
  body.theme-ue-nexus select,body.theme-ue-nexus textarea{font-size:16px}
  /* Authentic mobile tab navigation; links always target the complete website. */
  .ue-native-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:2px;position:fixed;bottom:0;left:0;right:0;z-index:77;width:100%;height:calc(var(--ue-mnav-height) + var(--ue-mnav-safe));padding:5px max(5px,env(safe-area-inset-right)) calc(5px + var(--ue-mnav-safe)) max(5px,env(safe-area-inset-left));border-top:1px solid #dce7ef;background:rgba(255,255,255,.97);box-shadow:0 -10px 25px rgba(11,46,72,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);isolation:isolate}
  .ue-native-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:13px;color:#708399;text-decoration:none;font:inherit;font-weight:750;font-size:10px;line-height:1.15;white-space:nowrap;transition:background-color .2s,color .2s;touch-action:manipulation}
  .ue-native-bottom-nav a svg{height:23px;width:23px;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}
  .ue-native-bottom-nav a.active{background:#e6f7fb;color:#083d61}
  .ue-native-bottom-nav a.active svg{stroke:#00a7cd;stroke-width:2.1}
  .ue-native-bottom-nav a:focus-visible{outline:2px solid #1bb4ca;outline-offset:-2px}
  .ue-native-bottom-nav a:active{background:#e9f5fa}
  .ue-native-bottom-nav a span{overflow:hidden;text-overflow:ellipsis;max-width:100%}
  body.ue-mobile-text-entry .ue-native-bottom-nav,
  body:has(.ue-sales-assistant.open) .ue-native-bottom-nav{opacity:0;visibility:hidden;pointer-events:none}
  body.site-menu-open .ue-native-bottom-nav{visibility:hidden;pointer-events:none}
  /* Premium compact site header and full-featured mobile drawer */
  body.theme-ue-nexus .site-header-premium{box-shadow:0 6px 20px rgba(8,39,62,.08)!important}
  body.theme-ue-nexus .nav-premium{padding:6px 0!important;min-height:64px!important}
  body.theme-ue-nexus .nav-premium .site-logo-crop{width:140px!important;height:46px!important}
  body.theme-ue-nexus .nav-actions-premium{gap:8px!important}
  body.theme-ue-nexus .site-mobile-toggle{border-radius:13px!important;border:1px solid #dbe8ef!important;background:#f7fbfd!important}
  body.theme-ue-nexus .site-mobile-drawer{padding-bottom:calc(var(--ue-mnav-height) + var(--ue-mnav-safe) + 8px)}
  body.theme-ue-nexus .site-mobile-drawer .mobile-primary-nav{padding:10px 12px}
  body.theme-ue-nexus .site-mobile-drawer .mobile-primary-nav a{border-radius:12px!important;min-height:46px}
  .ue-mobile-more-tools{display:block;border-top:1px solid #e6eef4;padding:12px 15px 5px}
  .ue-mobile-more-tools h3{margin:3px 6px 8px;color:#638295;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
  .ue-mobile-more-list{display:grid;gap:4px}
  .ue-mobile-more-list a{display:flex;gap:12px;align-items:center;padding:11px 9px;border-radius:12px;min-height:47px;color:#173d5c;font-size:13px;font-weight:750;text-decoration:none}
  .ue-mobile-more-list a:hover,.ue-mobile-more-list a:focus-visible{background:#edf8fc}
  .ue-mobile-more-list a>span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e9f8fc;color:#078bb8;font-size:17px;flex:none}
  .ue-mobile-more-list a>b{margin-left:auto;color:#8199aa;font-size:21px;font-weight:400}
  /* Home: retain all live filters but display them as an app search sheet. */
  body.theme-ue-nexus .ux-home-redesign .ux-hero{background:#0b4262}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-shell{padding:22px 0 28px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-copy h1{margin:10px 0 14px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-title-main{font-size:clamp(38px,10.4vw,52px)!important;line-height:1.02!important}
  body.theme-ue-nexus .ux-home-redesign .ux-title-accent{font-size:clamp(45px,12vw,59px)!important;line-height:.99!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-copy>p{font-size:13px!important;line-height:1.52!important;max-width:460px;margin-bottom:16px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-actions{margin-bottom:15px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-actions .ux-btn{border-radius:15px!important;min-height:46px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-search-card{border-radius:24px!important;padding:18px!important;box-shadow:0 24px 50px rgba(1,30,52,.31)!important;min-width:0}
  body.theme-ue-nexus .ux-home-redesign .ux-search-head strong{font-size:18px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-search-tabs button{min-height:46px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-field .field{border:1px solid #d2e3ec!important;border-radius:13px!important;background:#fff!important;min-height:51px!important;font-size:16px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-search-submit{min-height:53px!important;border-radius:15px!important;background:linear-gradient(120deg,#ff6b64,#ff5055)!important;color:#fff!important}
  body.theme-ue-nexus .ux-home-redesign .ux-search-head{margin-bottom:14px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-card-badges{justify-content:space-between}
  /* Direct access to real customer portal, tickets, favorites and support. */
  .ue-mobile-shortcuts{display:block;background:#f5f9fc;padding:20px 0 14px}
  .ue-mobile-shortcuts-head{display:flex;flex-direction:column;gap:3px;margin-bottom:11px}
  .ue-mobile-shortcuts-head strong{font-size:16px;color:#123d5c;line-height:1.25}
  .ue-mobile-shortcuts-head span{font-size:11px;color:#688399}
  .ue-mobile-shortcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .ue-mobile-shortcuts-grid a{display:flex;flex-direction:column;gap:6px;padding:12px 9px 11px;min-width:0;border:1px solid #dfebf2;border-radius:16px;background:#fff;box-shadow:0 5px 14px rgba(11,46,72,.035);text-decoration:none;min-height:105px;align-items:flex-start}
  .ue-mobile-shortcuts-grid a>span{width:33px;height:33px;border-radius:11px;background:#e9f8fc;color:#0098c2;display:grid;place-items:center;font-size:18px}
  .ue-mobile-shortcuts-grid strong{font-size:11.5px;line-height:1.25;color:#123d5c;word-break:normal}
  .ue-mobile-shortcuts-grid small{font-size:10px;line-height:1.2;color:#7791a1}
  body.theme-ue-nexus .ux-home-redesign .ux-featured-section{padding-top:25px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-featured-grid,
  body.theme-ue-nexus .ux-home-redesign .ux-review-cards{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
  body.theme-ue-nexus .ux-home-redesign .ux-tour-card{flex:0 0 min(76vw,310px)!important;border-radius:19px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-tour-media{aspect-ratio:1.48/1!important}
  body.theme-ue-nexus .ux-home-redesign .ux-tour-body h3{font-size:17px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-section-head h2{font-size:clamp(28px,7.4vw,37px)!important}
  body.theme-ue-nexus .ux-home-redesign .ux-review-card{flex:0 0 min(78vw,315px)!important}
  /* The live Tours catalog keeps its actual search and category filters. */
  body.theme-ue-nexus.page-tours .ue-page-hero--tours{min-height:0!important}
  body.theme-ue-nexus.page-tours .ue-page-hero--tours .container{padding:38px 0 32px!important;gap:15px}
  body.theme-ue-nexus.page-tours .ue-page-hero--tours h1{font-size:clamp(31px,8vw,40px)!important;line-height:1.07!important;letter-spacing:-.045em!important}
  body.theme-ue-nexus.page-tours .ue-page-hero--tours p{font-size:13px;line-height:1.5}
  body.theme-ue-nexus.page-tours .tours-catalog-section{padding:25px 0 42px!important;background:#f6fafc}
  body.theme-ue-nexus.page-tours .international-filter-bar{border:1px solid #dcebf3!important;border-radius:19px!important;padding:13px!important;box-shadow:0 10px 25px rgba(11,46,72,.06)!important;background:#fff}
  body.theme-ue-nexus.page-tours .international-filter-bar .field{min-height:48px;font-size:16px!important;border-radius:12px}
  body.theme-ue-nexus.page-tours .catalog-mobile-filter-toggle{min-height:44px;border-radius:12px}
  body.theme-ue-nexus.page-tours .tours-catalog-grid{display:grid!important;grid-template-columns:1fr!important;gap:13px!important}
  body.theme-ue-nexus.page-tours .tours-catalog-grid .premium-tour-card{border-radius:20px;overflow:hidden;box-shadow:0 8px 27px rgba(11,46,72,.08);background:#fff}
  body.theme-ue-nexus.page-tours .tour-card-media img{height:210px!important;object-fit:cover}
  body.theme-ue-nexus.page-tours .tour-card-body{padding:16px!important}
  body.theme-ue-nexus.page-tours .tour-card-body h3{font-size:18px!important;line-height:1.27!important}
  body.theme-ue-nexus.page-tours .tour-card-availability{min-height:44px;border-radius:12px}
  /* Product gallery and real checkout CTA, which must remain clickable. */
  body.theme-ue-nexus.page-product .marketplace-mobile-bookbar{bottom:calc(var(--ue-mnav-height) + var(--ue-mnav-safe))!important;padding:9px 12px 9px!important;box-shadow:0 -8px 23px rgba(12,46,74,.09)!important;z-index:82!important}
  body.theme-ue-nexus.page-product:has(.ue-native-bottom-nav){padding-bottom:calc(var(--ue-mnav-height) + var(--ue-mnav-safe) + 69px)!important}
  body.theme-ue-nexus.page-product .marketplace-mobile-bookbar .btn{min-height:44px!important}
  body.theme-ue-nexus.page-product .marketplace-product-title,
  body.theme-ue-nexus.page-product .product-head h1{font-size:clamp(27px,7.1vw,36px)!important;line-height:1.16!important}
  body.theme-ue-nexus.page-product .availability-inline-dialog{max-width:100%!important}
  body.theme-ue-nexus.page-product .marketplace-booking-column{max-width:100%!important}
  body.theme-ue-nexus.page-product .ue-option{min-width:0}
  body.theme-ue-nexus.page-product .booking-selection-summary{min-width:0}
  body.theme-ue-nexus.page-product.availability-open .ue-native-bottom-nav{opacity:0;visibility:hidden;pointer-events:none}
  body.theme-ue-nexus .ue-sales-assistant:not(.open){bottom:calc(var(--ue-mnav-height) + var(--ue-mnav-safe) + 12px)!important;right:12px!important}
  body.theme-ue-nexus .ue-sales-assistant.open .ue-sales-panel{bottom:calc(15px + var(--ue-mnav-safe))!important;max-height:calc(100dvh - 90px)!important}
  /* The old desktop footer remains accessible, without appearing under the tab bar. */
  body.theme-ue-nexus .pro-footer,
  body.theme-ue-nexus .ue-member-footer{padding-bottom:calc(34px + var(--ue-mnav-safe))!important}
  body.theme-ue-nexus .site-mobile-backdrop{z-index:89!important}
  body.theme-ue-nexus .site-mobile-drawer{z-index:90!important}
}
@media (max-width:359px){
  .ue-native-bottom-nav a{font-size:9px}
  .ue-native-bottom-nav a svg{width:21px;height:21px}
  .ue-mobile-shortcuts-grid{gap:6px}
  .ue-mobile-shortcuts-grid a{padding:10px 7px;min-height:108px}
  .ue-mobile-shortcuts-grid strong{font-size:10.5px}
  body.theme-ue-nexus .ux-home-redesign .ux-search-card{padding:13px!important}
}
@media (prefers-reduced-motion:reduce){.ue-native-bottom-nav a{transition:none}}

/* V11.31.69 — the Home becomes discovery-first on phones.
   The real filters are moved to the accessible booking dialog by JS. */
@media(max-width:767px){
  body.theme-ue-nexus .ux-home-redesign .ux-hero-shell{padding:14px 0 15px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-grid{gap:9px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-copy h1{margin:7px 0 8px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-title-main{font-size:clamp(31px,9vw,44px)!important;line-height:1.01!important}
  body.theme-ue-nexus .ux-home-redesign .ux-title-accent{font-size:clamp(37px,10.5vw,52px)!important;line-height:1!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-copy>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px!important;line-height:1.45!important;max-width:100%;margin:0 0 8px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-actions,
  body.theme-ue-nexus .ux-home-redesign .ux-hero-mini-proof{display:none!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-slider-ui{margin:3px 0 2px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-hero-nav button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:20px!important}
  body.ue-booking-enhanced.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px;width:100%;margin-top:5px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button{min-width:0;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d9e7ef;border-radius:16px;padding:10px 11px;text-align:left;box-shadow:0 10px 28px rgba(0,24,43,.13);min-height:61px;color:#153c59;font:inherit;cursor:pointer}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button:first-child{border:2px solid #a6dfec}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button>span:first-child{display:grid;place-items:center;font-size:20px;width:30px;height:32px;border-radius:9px;background:#ebf9fc;color:#079abe;flex:0 0 30px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch strong{font-size:12.5px;line-height:1.2;color:#113956;white-space:normal}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch small{font-size:10px;color:#617e90;line-height:1.25;margin-top:3px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch b{margin-left:auto;color:#f56359;font-size:19px}
  body.ue-booking-enhanced.theme-ue-nexus .ux-home-redesign .ux-hero-grid>.ux-search-card{display:none!important}
  body.theme-ue-nexus .ue-mobile-shortcuts{display:none!important}
  body.theme-ue-nexus .ux-home-redesign .ux-benefit-grid{display:flex!important;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:9px 0!important;gap:6px;scrollbar-width:none}
  body.theme-ue-nexus .ux-home-redesign .ux-benefit-grid::-webkit-scrollbar{display:none}
  body.theme-ue-nexus .ux-home-redesign .ux-benefit-grid article{flex:0 0 192px;scroll-snap-align:start;padding:7px 8px!important;align-items:center!important}
  body.theme-ue-nexus .ux-home-redesign .ux-benefit-grid strong{font-size:11px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-benefit-grid small{font-size:9px!important}
  body.theme-ue-nexus .ux-home-redesign .ux-featured-section{padding-top:16px!important}
}
@media(max-width:375px){
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch{gap:6px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button{gap:5px;padding:8px 7px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch button>span:first-child{width:26px;flex-basis:26px;font-size:17px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch strong{font-size:11px}
  body.theme-ue-nexus .ux-home-redesign .ux-mobile-search-launch small{font-size:9px}
}
