/* TG Travel v0.16.46 — responsive Header/Navigation corrections.
   Does not change Top Bar, Footer, WordPress menu data, or ad-slot manager.
   Keep approved native mobile CSS <=980px and full desktop >=1400px intact. */

/* Reassert the already approved 650–980px empty-ad single-row Header.
   Old saved grid-row:2 rules must never leave a phantom first track. */
@media screen and (min-width:650px) and (max-width:980px) {
  body #tg-global-header .tg-brand-row.tg-no-mobile-center-ads {
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    align-items:center!important;justify-content:space-between!important;
    grid-template-columns:none!important;grid-template-rows:none!important;
    min-height:0!important;height:auto!important;row-gap:0!important;
    padding-top:6px!important;padding-bottom:6px!important;margin-top:0!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-mobile-center-ads > .tg-brand {
    grid-column:auto!important;grid-row:auto!important;align-self:center!important;
    min-width:0!important;flex:0 1 auto!important;margin:0!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-mobile-center-ads > .tg-header-tools {
    grid-column:auto!important;grid-row:auto!important;align-self:center!important;
    min-width:0!important;flex:1 1 auto!important;width:auto!important;
    margin:0!important;justify-content:flex-end!important;
  }
}

/* The 981–1000px seam previously had desktop link visibility but no desktop
   navigation skin (which only begins at 1001px). Use the existing accessible
   hamburger/recursive menu instead of painting empty separators. */
@media screen and (min-width:981px) and (max-width:1000px) {
  body #tg-global-header .tg-brand-row.tg-no-center-ads {
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    align-items:center!important;justify-content:space-between!important;
    height:auto!important;min-height:0!important;
    padding:7px 0!important;gap:12px!important;
    grid-template-columns:none!important;grid-template-rows:none!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads > .tg-brand {
    grid-row:auto!important;grid-column:auto!important;
    display:flex!important;align-items:center!important;
    flex:0 0 auto!important;max-width:32%!important;min-width:0!important;
    align-self:center!important;margin:0!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads .tg-brand img {
    display:block!important;width:auto!important;height:auto!important;
    max-width:100%!important;max-height:66px!important;object-fit:contain!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads > .tg-header-tools {
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    flex:1 1 auto!important;min-width:0!important;width:auto!important;
    grid-column:auto!important;grid-row:auto!important;align-self:center!important;
    gap:8px!important;margin:0!important;
  }
  body #tg-global-header .tg-header-tools > form#tg-site-search.tg-header-search-global {
    display:flex!important;flex:0 1 var(--tg-mh-tablet-search-max,380px)!important;
    width:min(100%,var(--tg-mh-tablet-search-max,380px))!important;
    max-width:var(--tg-mh-tablet-search-max,380px)!important;min-width:0!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;
    margin:0!important;
  }
  body #tg-global-header #tg-mobile-menu-toggle.tg-menu-toggle {
    display:grid!important;place-items:center!important;flex:0 0 auto!important;
    width:var(--tg-mh-menu-size,40px)!important;min-width:var(--tg-mh-menu-size,40px)!important;
    height:var(--tg-mh-menu-size,40px)!important;min-height:var(--tg-mh-menu-size,40px)!important;
    margin:0!important;padding:0!important;background:var(--tg-primary,#0b2f57)!important;
    color:#fff!important;border:0!important;border-radius:var(--tg-mh-menu-radius,11px)!important;
    font-size:var(--tg-mh-menu-icon,24px)!important;line-height:1!important;
  }
  body #tg-global-header .tg-nav-shell{display:none!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important}
  body #tg-global-header .tg-nav-shell:has(#tg-global-nav.is-open){display:block!important;}
  body #tg-global-header .tg-nav-shell > .tg-container {width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body #tg-global-header #tg-global-nav.tg-global-nav:not(.is-open) {display:none!important}
}

/* Reuse the approved dark recursive mobile-nav rules in the 20px breakpoint seam. */
/* TG Travel v0.14.6: dark navigation ONLY <=980px. Keeps existing accordion JS intact. */
@media screen and (min-width:981px) and (max-width:1000px) {
  body #tg-global-header .tg-nav-shell,
  body #tg-global-header .tg-nav-shell > .tg-container {
    background:var(--tgm-background,#191b1f)!important;
    border-color:var(--tgm-line,#34383e)!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open {
    display:block!important;position:static!important;
    box-sizing:border-box!important;width:100%!important;max-width:100%!important;
    background:var(--tgm-background,#191b1f)!important;
    color:var(--tgm-text,#fff)!important;
    padding:14px max(12px,env(safe-area-inset-right)) 24px max(12px,env(safe-area-inset-left))!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    max-height:calc(100dvh - 175px)!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.menu,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu {
    background:transparent!important;box-shadow:none!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open > ul.menu {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:var(--tgm-gap,8px)!important;padding:0!important;margin:0!important;width:100%!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li {
    position:relative!important;box-sizing:border-box!important;
    background:transparent!important;border:0!important;
    margin:0!important;padding:0!important;width:100%!important;min-width:0!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li > a {
    display:flex!important;align-items:center!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    background:var(--tgm-card,#222428)!important;
    color:var(--tgm-text,#fff)!important;
    border:1px solid var(--tgm-line,#34383e)!important;
    border-radius:var(--tgm-radius,13px)!important;
    box-shadow:none!important;text-decoration:none!important;
    padding:12px 53px 12px 15px!important;margin:0!important;
    min-height:58px!important;font-size:15px!important;font-weight:650!important;
    line-height:1.35!important;overflow-wrap:anywhere!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li.tg-sub-open > a,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li.current-menu-item > a,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li.current-menu-ancestor > a {
    background:var(--tgm-accent,#0D3F76)!important;
    color:var(--tgm-accent_text,#fff)!important;
    border-color:var(--tgm-accent,#0D3F76)!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li > .tg-sub-toggle {
    display:grid!important;place-items:center!important;position:absolute!important;
    right:8px!important;top:8px!important;z-index:5!important;
    width:42px!important;height:42px!important;
    border:1px solid var(--tgm-line,#34383e)!important;
    border-radius:11px!important;
    background:var(--tgm-arrow_bg,#303238)!important;
    color:var(--tgm-icon,#8FB0C8)!important;
    font-size:22px!important;line-height:1!important;
    cursor:pointer!important;touch-action:manipulation!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li.tg-sub-open > .tg-sub-toggle {
    background:var(--tgm-accent,#0D3F76)!important;
    border-color:var(--tgm-icon,#8FB0C8)!important;
    color:#fff!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu ul.sub-menu {
    display:none!important;position:static!important;
    box-sizing:border-box!important;
    width:calc(100% - min(var(--tgm-indent,10px),12px))!important;
    max-width:100%!important;min-width:0!important;
    margin:9px 0 12px min(var(--tgm-indent,10px),12px)!important;
    padding:0 0 0 6px!important;
    border:0!important;border-left:1px solid var(--tgm-line,#34383e)!important;
    border-radius:0!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li.tg-sub-open > ul.sub-menu {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:var(--tgm-gap,8px)!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu li > a {
    background:var(--tgm-child,#25272c)!important;
    color:var(--tgm-child_text,#f2f4f8)!important;
    min-height:52px!important;font-size:14px!important;
    padding-left:12px!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu li.tg-sub-open > a,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu li.current-menu-item > a,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open ul.sub-menu li.current-menu-ancestor > a {
    background:var(--tgm-accent,#0D3F76)!important;
    color:var(--tgm-accent_text,#fff)!important;
  }
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li > a:focus-visible,
  body #tg-global-header #tg-global-nav.tg-global-nav.is-open li > .tg-sub-toggle:focus-visible {
    outline:2px solid var(--tgm-icon,#8FB0C8)!important;outline-offset:2px!important;
  }
}

/* Ensure the mobile hamburger's arrow pseudo element does not duplicate the
   actual keyboard/touch submenu toggle. */
@media screen and (min-width:981px) and (max-width:1000px) {
 body #tg-global-header #tg-global-nav.tg-global-nav.is-open .menu-item-has-children > a::after {display:none!important}
 body #tg-global-header #tg-global-nav.tg-global-nav.is-open > ul.menu > li::after {display:none!important}
}
/* 1001–1399px: prevent the configured logo's height from crossing into the
   navigation below. Normal site owner logo/header controls remain effective;
   min-size follows the larger of the selected header and its logo. */
@media screen and (min-width:1001px) and (max-width:1399px) {
  body #tg-global-header .tg-brand-row.tg-no-center-ads {
    box-sizing:border-box!important;
    min-height:max(var(--tg-dnav-header-min-height,106px),calc(min(var(--tg-dnav-header-logo-max-height,96px),96px) + 16px))!important;
    height:auto!important;grid-template-rows:auto!important;
    padding-top:max(8px,var(--tg-dnav-header-pad-top,2px))!important;
    padding-bottom:max(8px,var(--tg-dnav-header-pad-bottom,2px))!important;
    align-items:center!important;overflow:visible!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads > .tg-brand {
    display:flex!important;align-items:center!important;align-self:center!important;
    min-height:0!important;margin:0!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads .tg-brand img,
  body #tg-global-header .tg-brand-row.tg-no-center-ads .tg-brand img.custom-logo {
    display:block!important;width:auto!important;height:auto!important;
    max-width:100%!important;max-height:min(var(--tg-dnav-header-logo-max-height,96px),96px)!important;
    margin:0!important;object-fit:contain!important;transform:none!important;
  }
  body #tg-global-header .tg-brand-row.tg-no-center-ads > .tg-header-tools {
    align-self:center!important;min-width:0!important;margin:0!important;
  }
}

/* Desktop nav must never break to an invisible/stray second row. At narrow
   desktop widths reduce only item font/gaps, without changing the menu tree,
   active underline, dropdowns or access/visibility plugins. */
@media screen and (min-width:1001px) and (max-width:1399px) {
  body #tg-global-header .tg-nav-shell,
  body #tg-global-header .tg-nav-shell > .tg-container,
  body #tg-global-header #tg-global-nav.tg-global-nav {overflow:visible!important}
  body #tg-global-nav.tg-global-nav > ul.menu {
    display:flex!important;flex-wrap:nowrap!important;
    align-items:center!important;justify-content:center!important;
    gap:0!important;max-width:100%!important;width:100%!important;
    margin:0!important;padding:0!important;
  }
  body #tg-global-nav.tg-global-nav > ul.menu > li {
    flex:0 1 auto!important;min-width:0!important;
    margin:0!important;padding:0!important;
  }
  body #tg-global-nav.tg-global-nav > ul.menu > li > a {
    white-space:nowrap!important;min-width:0!important;
    font-size:min(var(--tg-dnav-font,14px),clamp(10.5px,1.04vw,13.5px))!important;
    min-height:var(--tg-dnav-height,44px)!important;
  }
  body #tg-global-nav.tg-global-nav > ul.menu > li.menu-item-has-children > a::after {
    margin-left:3px!important;font-size:min(var(--tg-dnav-arrow-top-size,13px),12px)!important;
  }
}
