/* Accidental Gringo Booking Foundation 24.2 */
.site-header .nav-wrap{width:min(1540px,calc(100% - 24px));gap:10px}
.site-header .brand-v107{flex:0 0 auto;min-width:195px;max-width:210px}
#primary-nav{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:10px;flex-wrap:nowrap}
#primary-nav>a,#primary-nav>details>summary{white-space:nowrap}
#primary-nav>.ag2337-header-book{display:inline-flex;align-items:center;min-height:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#fff;color:#07384b!important;font-size:.8rem;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 7px 18px rgba(0,0,0,.12)}
#primary-nav>.ag2337-header-book:hover{background:#f6c65c;color:#07384b!important}
.ag-nav-label-short{display:none}
.ag-nav-account{display:inline-flex!important;align-items:center;justify-content:center;gap:6px}
.ag-nav-account svg{display:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.nav-explore-panel-v119{width:min(1030px,94vw)!important;grid-template-columns:1fr!important;padding:18px!important}
.ag2337-explore-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ag2337-explore-group{min-width:0;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
.ag2337-explore-group>span{display:block;margin:0 7px 7px;color:#9bc0ca;font-size:.64rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ag2337-explore-group>a{display:block!important;padding:9px 8px!important;border-radius:9px!important;line-height:1.25}
.ag2337-explore-group .ag2337-explore-book{background:#f6c65c!important;color:#082f45!important;font-weight:900!important}
.nav-explore-destinations-v1193{margin-top:12px!important;padding-top:15px!important}

.ag-booking-teaser{background:linear-gradient(100deg,#eef7f5,#fbf4e5);border-top:1px solid #d8e4e0;border-bottom:1px solid #d8e4e0}
.ag-booking-teaser:not(.ag-booking-teaser-home){padding:28px 0!important}
.ag-booking-teaser:not(.ag-booking-teaser-home)>.shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center}
.ag-booking-teaser:not(.ag-booking-teaser-home) h2{max-width:820px;margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.03;letter-spacing:-.03em;color:#173d4d}
.ag-booking-teaser:not(.ag-booking-teaser-home) p:not(.eyebrow){max-width:820px;margin:0;color:#5b7078}
.ag-booking-teaser:not(.ag-booking-teaser-home)>.shell>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:999px;background:#07384b;color:#fff;text-decoration:none;font-weight:900;white-space:nowrap;box-shadow:0 9px 21px rgba(7,56,75,.2)}
.ag-booking-teaser:not(.ag-booking-teaser-home)>.shell>a:hover{background:#1a6d78}

.ag-booking-teaser-home{padding:18px 0!important;background:#f4f8f5}
.ag-booking-home-teaser-inner{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(370px,1.15fr) auto;gap:22px;align-items:center}
.ag-booking-home-teaser-copy .eyebrow{margin-bottom:5px}
.ag-booking-home-teaser-copy h2{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.04;letter-spacing:-.025em;color:#173d4d}
.ag-booking-home-teaser-copy p:not(.eyebrow){margin:0;color:#5b7078;font-size:.9rem;line-height:1.45}
.ag-booking-home-popular{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.ag-booking-home-popular a{display:inline-flex;align-items:center;min-height:36px;padding:0 11px;border:1px solid #c5d8d4;border-radius:999px;background:#fff;color:#17495a;text-decoration:none;font-size:.78rem;font-weight:850;white-space:nowrap}
.ag-booking-home-popular a:hover{border-color:#0c6471;background:#e7f3f0}
.ag-booking-home-cta{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 15px;border-radius:999px;background:#07384b;color:#fff;text-decoration:none;font-size:.82rem;font-weight:900;white-space:nowrap}
.site-footer .ag-booking-footer-link{font-weight:800;color:#f6c65c}

@media(max-width:1500px) and (min-width:1221px){
  .site-header .nav-wrap{width:calc(100% - 18px);gap:7px}
  .site-header .brand-v107{min-width:190px;max-width:200px}
  #primary-nav{gap:7px}
  #primary-nav>a,#primary-nav>details>summary{font-size:.76rem!important}
  #primary-nav>.ag2337-header-book{padding:6px 9px;font-size:.74rem}
  .ag-nav-label-full{display:none}.ag-nav-label-short{display:inline}
  .ag-nav-account{width:40px!important;height:40px;padding:0!important;border-radius:999px!important}
  .ag-nav-account-label{display:none}.ag-nav-account svg{display:block}
  #primary-nav .nav-search-button{width:40px!important;min-width:40px!important;height:40px;padding:0!important}
  #primary-nav .nav-search-button span{display:none}
  .site-header .nav-pill{padding:9px 11px!important;font-size:.76rem!important}
  .site-header .language-controls{flex:0 0 auto}.site-header .lang{padding:5px 7px}
}

@media(max-width:1320px) and (min-width:1221px){
  .site-header .brand-v107{min-width:178px;max-width:188px}
  #primary-nav{gap:5px}
  #primary-nav>a,#primary-nav>details>summary{font-size:.72rem!important}
  #primary-nav>.ag2337-header-book{padding-inline:8px}
  .site-header .nav-pill{padding-inline:9px!important}
}

@media(max-width:1180px){
  .ag2337-explore-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nav-explore-panel-v119{width:min(820px,94vw)!important}
  .ag-booking-home-teaser-inner{grid-template-columns:1fr auto}
  .ag-booking-home-popular{grid-column:1/-1;grid-row:2}
}

@media(max-width:800px){
  #primary-nav>.ag2337-header-book{order:-20;width:100%;justify-content:center;min-height:46px;margin-bottom:4px;background:#f6c65c;color:#082f45!important}
  .nav-explore-panel-v119{width:100%!important;max-height:68vh;overflow:auto}
  .ag2337-explore-groups{grid-template-columns:1fr 1fr}
  .ag-nav-label-full{display:inline}.ag-nav-label-short{display:none}
  .ag-nav-account{width:auto!important;height:auto!important;justify-content:flex-start!important}.ag-nav-account-label{display:inline}.ag-nav-account svg{display:none}
  .ag-booking-teaser:not(.ag-booking-teaser-home)>.shell{grid-template-columns:1fr}
  .ag-booking-teaser:not(.ag-booking-teaser-home)>.shell>a{width:100%}
  .ag-booking-home-teaser-inner{grid-template-columns:1fr;gap:15px}
  .ag-booking-home-popular{grid-column:auto;grid-row:auto;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}
  .ag-booking-home-popular::-webkit-scrollbar{display:none}
  .ag-booking-home-cta{width:100%}
}

@media(max-width:520px){
  .ag2337-explore-groups{grid-template-columns:1fr}
  .nav-explore-destinations-v1193{align-items:flex-start!important}
  .ag-booking-teaser-home{padding:16px 0!important}
}

/* 24.2 mobile hamburger reliability */
@media(max-width:800px){
  .site-header .nav-wrap{position:relative}
  .site-header .menu-toggle{display:grid!important;place-items:center;position:relative;z-index:1003;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  #primary-nav{display:none!important;position:absolute!important;z-index:1002;top:calc(100% + 8px)!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column!important;align-items:stretch!important;gap:3px!important;padding:12px!important;background:#062b43!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:16px!important;box-shadow:0 20px 50px rgba(0,0,0,.34)!important}
  #primary-nav.open{display:flex!important}
  body.mobile-menu-open{overflow:hidden}
  #primary-nav>a,#primary-nav>button,#primary-nav>details,#primary-nav>.language-controls{width:100%;flex:0 0 auto}
  #primary-nav>a,#primary-nav>button,#primary-nav>details>summary{min-height:46px;padding:12px!important;border-radius:10px!important;text-align:left}
  #primary-nav>details>summary{display:flex!important;align-items:center;justify-content:space-between}
  #primary-nav .nav-explore-panel-v119,#primary-nav .nav-about-panel-v1201{position:static!important;transform:none!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none;box-shadow:none!important;margin:4px 0 8px!important}
}

/* 24.2 tablet hamburger and iPad language reliability */
@media(max-width:1220px){
  .site-header .nav-wrap{position:relative!important;display:flex!important;align-items:center!important}
  .site-header .menu-toggle{display:grid!important;place-items:center;position:relative;z-index:1003;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  #primary-nav{display:none!important;position:absolute!important;z-index:1002;top:calc(100% + 8px)!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column!important;align-items:stretch!important;gap:3px!important;padding:12px!important;background:#062b43!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:16px!important;box-shadow:0 20px 50px rgba(0,0,0,.34)!important}
  #primary-nav.open{display:flex!important}
  body.mobile-menu-open{overflow:hidden}
  #primary-nav>a,#primary-nav>button,#primary-nav>details,#primary-nav>.language-controls{width:100%;flex:0 0 auto}
  #primary-nav>a,#primary-nav>button,#primary-nav>details>summary{min-height:46px;padding:12px!important;border-radius:10px!important;text-align:left}
  #primary-nav>details>summary{display:flex!important;align-items:center;justify-content:space-between}
  #primary-nav .nav-explore-panel-v119,#primary-nav .nav-about-panel-v1201{position:static!important;transform:none!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none;box-shadow:none!important;margin:4px 0 8px!important}
  #primary-nav>.ag2337-header-book{order:-20;width:100%;justify-content:center;min-height:46px;margin-bottom:4px;background:#f6c65c;color:#082f45!important}
  .nav-explore-panel-v119{width:100%!important;max-height:none!important;overflow:visible!important}
  .ag2337-explore-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ag-nav-label-full{display:inline}.ag-nav-label-short{display:none}
  .ag-nav-account{width:auto!important;height:auto!important;justify-content:flex-start!important}.ag-nav-account-label{display:inline}.ag-nav-account svg{display:none}
}
@media(max-width:599px){
  #primary-nav>.language-controls{display:flex!important;align-items:center;justify-content:center;gap:5px;padding:7px!important}
}
@media(max-width:520px){.ag2337-explore-groups{grid-template-columns:1fr}}


/* 24.9.4.1 mobile menu reliability hotfix */
@media(max-width:1220px){
  .site-header,.site-header .nav-wrap{overflow:visible!important}
  .site-header .menu-toggle,
  .site-header [data-menu-toggle],
  .site-header button[aria-controls="primary-nav"]{
    position:relative!important;
    z-index:10006!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  #primary-nav[data-ag-menu-open],
  #primary-nav.open,
  #primary-nav.is-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  html.ag-mobile-menu-open #primary-nav{display:flex!important}
}

/* Compact More menu created by the 24.9.4.1 desktop navigation cleanup.
 * Kept in the globally loaded booking stylesheet so it remains styled on
 * the homepage and standard pages where hub-specific assets are deferred. */
.primary-nav>.ag-nav-more-v2492{position:relative}
.primary-nav>.ag-nav-more-v2492>summary{cursor:pointer;list-style:none}
.primary-nav>.ag-nav-more-v2492>summary::-webkit-details-marker{display:none}
.primary-nav>.ag-nav-more-v2492 .ag-nav-more-panel-v2492{min-width:230px}
.primary-nav>.ag-nav-more-v2492 .ag-nav-more-panel-v2492>a{display:block;white-space:nowrap}
