/* APPV1_FRONTEND_LUXURY_HEADER_COMPOSITION_R6MR_20260905
   Pixel-space luxury header composition over R6L.
   CSS-only: runtime and header de-dup JS authority remain unchanged.
*/

:root{
  --gt-r6mr-navy:#173b63;
  --gt-r6mr-deep:#0e2743;
  --gt-r6mr-gold:#c7a35b;
  --gt-r6mr-line:#e7dcc9;
}

/* Utility row: compact and elegant */
.gt-utility-row,
.gt-top-row{
  min-height:28px!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  margin:0!important;
  line-height:1.2!important;
}

/* Main brand row: true three-part composition */
.gt-brand-row{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  min-height:58px!important;
  padding:3px 28px!important;
  gap:14px!important;
  box-sizing:border-box!important;
  margin:0!important;
}

.gt-brand-row .gt-header-search,
.gt-brand-row .gt-search-wrap,
.gt-brand-row .gt-header-search-wrap{
  grid-column:1!important;
  justify-self:start!important;
  align-self:center!important;
  margin:0!important;
}

.gt-brand-logo{
  grid-column:2!important;
  justify-self:center!important;
  align-self:center!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
  min-width:180px!important;
}

.gt-brand-logo img{
  max-height:38px!important;
  max-width:220px!important;
  width:auto!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  margin:0 auto!important;
}

/* If image tagline is unreadable at current asset size, add a crisp text tagline. */
.gt-brand-logo::after{
  content:"EMOTIONS CAPTURED FOREVER.";
  display:block!important;
  margin-top:1px!important;
  color:#6f6a63!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  font-family:inherit!important;
}

.gt-header-account{
  grid-column:3!important;
  justify-self:end!important;
  align-self:center!important;
  display:flex!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}
.gt-header-account>a{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
}

/* Menu: navy lines with a restrained gold accent, never a black box. */
.gt-mobile-menu-button{
  position:relative!important;
  color:#173b63!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
}
.gt-mobile-menu-button .gt-r6k-menu-icon,
.gt-mobile-menu-button .gt-r6f-icon-menu{
  color:#173b63!important;
  width:23px!important;
  height:23px!important;
}
.gt-mobile-menu-button::after{
  content:"";
  position:absolute!important;
  width:12px!important;
  height:2px!important;
  left:14px!important;
  bottom:8px!important;
  background:#c7a35b!important;
  border-radius:999px!important;
}
.gt-mobile-menu-button:hover,
.gt-mobile-menu-button:focus-visible{
  color:#0e2743!important;
  background:rgba(199,163,91,.08)!important;
  outline:1px solid rgba(199,163,91,.38)!important;
  outline-offset:0!important;
}

/* Nav row: compact, premium, no unnecessary vertical banding */
.gt-nav-row,
.gt-primary-nav,
.gt-main-nav{
  min-height:46px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin:0!important;
  border-top:1px solid rgba(231,220,201,.8)!important;
  border-bottom:1px solid rgba(231,220,201,.8)!important;
}
.gt-nav-row a,
.gt-primary-nav a,
.gt-main-nav a{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
}

/* Banner/page starts immediately after header/nav */
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 main{
  margin-top:0!important;
  padding-top:0!important;
}

/* TV / very large screens */
@media(min-width:1920px){
  .gt-utility-row,.gt-top-row{min-height:30px!important}
  .gt-brand-row{
    grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr)!important;
    min-height:64px!important;
    padding-inline:42px!important;
  }
  .gt-brand-logo img{max-height:42px!important;max-width:250px!important}
  .gt-brand-logo::after{font-size:8.5px!important}
  .gt-nav-row,.gt-primary-nav,.gt-main-nav{min-height:48px!important}
  .gt-mobile-menu-button{display:none!important}
}

/* Desktop */
@media(min-width:1280px) and (max-width:1919px){
  .gt-brand-row{
    min-height:60px!important;
    padding-inline:30px!important;
  }
  .gt-brand-logo img{max-height:38px!important;max-width:220px!important}
  .gt-mobile-menu-button{display:none!important}
}

/* Laptop */
@media(min-width:1024px) and (max-width:1279px){
  .gt-brand-row{
    grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr)!important;
    min-height:56px!important;
    padding-inline:18px!important;
    gap:10px!important;
  }
  .gt-brand-logo img{max-height:34px!important;max-width:195px!important}
  .gt-brand-logo::after{font-size:7.5px!important}
  .gt-header-account>a{width:36px!important;min-width:36px!important}
  .gt-mobile-menu-button{display:none!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  .gt-brand-row{
    grid-template-columns:42px minmax(120px,1fr) auto!important;
    min-height:52px!important;
    padding:2px 10px!important;
    gap:4px!important;
  }
  .gt-mobile-menu-button{
    display:inline-flex!important;
    grid-column:1!important;
  }
  .gt-brand-logo{
    grid-column:2!important;
    min-width:0!important;
  }
  .gt-brand-logo img{max-height:29px!important;max-width:150px!important}
  .gt-brand-logo::after{font-size:7px!important}
  .gt-header-account{grid-column:3!important}
}

/* Mobile */
@media(max-width:767px){
  .gt-utility-row,
  .gt-top-row{
    min-height:24px!important;
    padding-top:1px!important;
    padding-bottom:1px!important;
  }
  .gt-brand-row{
    grid-template-columns:40px minmax(104px,1fr) auto!important;
    min-height:50px!important;
    padding:2px 6px!important;
    gap:2px!important;
  }
  .gt-mobile-menu-button{
    display:inline-flex!important;
    grid-column:1!important;
  }
  .gt-brand-logo{
    grid-column:2!important;
    min-width:0!important;
  }
  .gt-brand-logo img{
    max-height:27px!important;
    max-width:132px!important;
  }
  .gt-brand-logo::after{
    font-size:6.2px!important;
    letter-spacing:.05em!important;
  }
  .gt-header-account{
    grid-column:3!important;
    gap:0!important;
  }
  .gt-header-account>a{
    width:34px!important;
    min-width:34px!important;
    height:38px!important;
    min-height:38px!important;
  }
  .gt-nav-row,
  .gt-primary-nav,
  .gt-main-nav{
    min-height:0!important;
  }
}

/* Landscape / short-height screens */
@media(max-height:700px), (orientation:landscape) and (max-height:820px){
  .gt-utility-row,.gt-top-row{min-height:22px!important}
  .gt-brand-row{
    min-height:46px!important;
    padding-top:1px!important;
    padding-bottom:1px!important;
  }
  .gt-brand-logo img{max-height:25px!important}
  .gt-brand-logo::after{font-size:6.5px!important}
  .gt-nav-row,.gt-primary-nav,.gt-main-nav{min-height:40px!important}
}
