/* APPV1_FRONTEND_HEADER_DEDUP_SPACE_R6L_20260905
   Global header de-duplication and vertical space refinement.
   R6I runtime and R6K1 global responsive authority are preserved.
*/

:root{
  --gt-r6l-navy:#0e2743;
}

/* Clean hamburger icon — no box visual. */
.gt-mobile-menu-button{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline-offset:2px!important;
  color:var(--gt-r6l-navy)!important;
}
.gt-mobile-menu-button:hover,
.gt-mobile-menu-button:focus-visible{
  background:transparent!important;
  box-shadow:none!important;
}
.gt-r6k-menu-icon,
.gt-r6f-icon-menu{
  width:22px!important;
  height:22px!important;
}

/* Compact brand row / logo across all public pages. */
.gt-brand-row{
  min-height:52px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.gt-brand-logo,
.gt-brand-logo a{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.gt-brand-logo img{
  max-height:26px!important;
  width:auto!important;
  object-fit:contain!important;
  margin:0 auto!important;
}

/* Compact icon cluster. */
.gt-header-account{
  gap:2px!important;
  margin:0!important;
  padding:0!important;
}
.gt-header-account>a{
  width:38px!important;
  min-width:38px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
}
.gt-r6k-account-icon,
.gt-r6k-appointment-icon,
.gt-r6k-cart-icon,
.gt-r6f-icon-account,
.gt-r6f-icon-appointment,
.gt-r6f-icon-cart{
  width:19px!important;
  height:19px!important;
}

/* Remove unnecessary vertical gaps between header/nav and page content. */
.gt-utility-row,
.gt-top-row,
.gt-brand-row,
.gt-nav-row,
.gt-primary-nav,
.gt-main-nav{
  margin-bottom:0!important;
}
.gt-nav-row,
.gt-primary-nav,
.gt-main-nav{
  padding-top:0!important;
  padding-bottom:0!important;
}

/* Homepage/CMS banner must start immediately after header. */
body.gt-public-body .gt-home-hero,
body.gt-public-body .gt-page-hero,
body.gt-public-body .gt-cms-hero,
body.gt-public-body .gt-banner{
  margin-top:0!important;
  padding-top:0!important;
}
body.gt-public-body .gt-home-hero .gt-hero-track,
body.gt-public-body .gt-home-hero .gt-hero-slide.is-active,
body.gt-public-body .gt-responsive-banner-media{
  margin-top:0!important;
  padding-top:0!important;
}

/* TV / very large */
@media(min-width:1920px){
  .gt-mobile-menu-button{display:none!important}
  .gt-brand-row{min-height:58px!important;padding-top:3px!important;padding-bottom:3px!important}
  .gt-brand-logo img{max-height:30px!important}
  .gt-header-account>a{width:42px!important;height:42px!important}
}

/* Desktop */
@media(min-width:1280px) and (max-width:1919px){
  .gt-mobile-menu-button{display:none!important}
  .gt-brand-row{min-height:54px!important}
  .gt-brand-logo img{max-height:27px!important}
}

/* Laptop */
@media(min-width:1024px) and (max-width:1279px){
  .gt-mobile-menu-button{display:none!important}
  .gt-brand-row{min-height:52px!important}
  .gt-brand-logo img{max-height:26px!important}
  .gt-header-account>a{width:36px!important}
}

/* Full nav hidden from tablet downward: hamburger becomes available. */
@media(max-width:1023px){
  .gt-mobile-menu-button{display:inline-flex!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  .gt-brand-row{
    min-height:50px!important;
    padding:2px 8px!important;
  }
  .gt-brand-logo img{max-height:25px!important}
  .gt-header-account>a{
    width:36px!important;
    min-width:36px!important;
    height:40px!important;
    min-height:40px!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .gt-brand-row{
    min-height:48px!important;
    padding:2px 6px!important;
    grid-template-columns:40px minmax(84px,1fr) auto!important;
    gap:2px!important;
  }
  .gt-mobile-menu-button{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }
  .gt-brand-logo img{
    max-height:23px!important;
    max-width:104px!important;
  }
  .gt-header-account{
    gap:0!important;
  }
  .gt-header-account>a{
    width:34px!important;
    min-width:34px!important;
    height:40px!important;
    min-height:40px!important;
  }

  /* Do not reserve a dead spacer before banners. */
  body.gt-public-body .gt-home-hero,
  body.gt-public-body .gt-page-hero,
  body.gt-public-body .gt-cms-hero,
  body.gt-public-body .gt-banner,
  body.gt-public-body .gt-home-hero .gt-hero-track,
  body.gt-public-body .gt-home-hero .gt-hero-slide.is-active,
  body.gt-public-body .gt-responsive-banner-media{
    margin-top:0!important;
    padding-top:0!important;
    top:auto!important;
  }
}

/* Landscape / short-height */
@media(max-height:700px), (orientation:landscape) and (max-height:820px){
  .gt-brand-row{
    min-height:44px!important;
    padding-top:1px!important;
    padding-bottom:1px!important;
  }
  .gt-brand-logo img{max-height:22px!important}
  .gt-mobile-menu-button,
  .gt-header-account>a{
    height:38px!important;
    min-height:38px!important;
  }
}
