/* =============================================================================
   ESTADIA EXPRESS - HEADER PREMIUM
   -----------------------------------------------------------------------------
   Derivado do Design System V3 (assets/ds.css). Nao redefine tokens.

   Direcao: o header nao deve se anunciar. Em repouso ele desaparece dentro do
   canvas da Hero (mesma tinta exata, sem borda e sem sombra), de modo que a
   primeira coisa que a pagina apresenta e a tipografia, nao a navegacao.
   Ao rolar, ele se materializa como uma folha fosca com um unico filete de 1px.

   Alinhamento: a coluna do header passa a ser exatamente a mesma coluna de
   1280px da Hero. O logotipo alinha na vertical com a primeira letra do titulo.

   Substitui integralmente as regras de header que viviam em legacy.css
   (bloco original linha 57).
   ============================================================================= */


/* -----------------------------------------------------------------------------
   1. CASCA
   -------------------------------------------------------------------------- */
header#header{
  position:sticky;
  top:0;
  z-index:var(--eex-z-sticky, 11);
  background:var(--eex-surface) !important;
  border-bottom:1px solid var(--eex-hairline) !important;
  box-shadow:none !important;
  transition:background var(--eex-d3) var(--eex-ease),
             border-color var(--eex-d3) var(--eex-ease),
             box-shadow var(--eex-d3) var(--eex-ease);
}

/* Na home o header nasce invisivel: mesma tinta do canvas da Hero. */
body.__page_index header#header{
  background:var(--eex-canvas) !important;
  border-bottom-color:transparent !important;
}

/* Estado rolado: folha fosca. Aplicado por js/header.js. */
header#header.eex-header--scrolled,
body.__page_index header#header.eex-header--scrolled{
  background:rgba(255,255,255,.86) !important;
  border-bottom-color:var(--eex-hairline) !important;
  box-shadow:var(--eex-e1) !important;
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  header#header.eex-header--scrolled,
  body.__page_index header#header.eex-header--scrolled{
    background:rgba(255,255,255,.72) !important;
    -webkit-backdrop-filter:saturate(1.6) blur(16px);
    backdrop-filter:saturate(1.6) blur(16px);
  }
}

/* A altura nunca muda com o scroll. Encolher um header em position:sticky
   deslocaria todo o conteudo abaixo dele e produziria tremor. */


/* -----------------------------------------------------------------------------
   2. COLUNA
   Mesma largura maxima e mesma calha da Hero.
   -------------------------------------------------------------------------- */
header#header > .container-fluid{
  width:100%;
  max-width:calc(var(--eex-maxw) + var(--eex-gutter) * 2);
  margin-inline:auto;
  padding-inline:var(--eex-gutter) !important;
}


/* -----------------------------------------------------------------------------
   3. MARCA
   -------------------------------------------------------------------------- */
header#header .navbar-brand{
  display:inline-flex;
  align-items:center;
  padding-left:0 !important;
  margin-left:0 !important;
}
header#header .navbar-brand img{
  max-height:46px !important;
  width:auto !important;
  transition:opacity var(--eex-d2) var(--eex-ease);
}
header#header .navbar-brand:hover img,
header#header .navbar-brand:focus-visible img{ opacity:.62; }


/* -----------------------------------------------------------------------------
   4. FAIXA DE UTILITARIOS (moeda, chat, conta)
   Deliberadamente silenciosa: 11px, caixa alta, tinta terciaria.
   -------------------------------------------------------------------------- */
header#header .menu-top{
  align-items:center;
  gap:var(--eex-s5);
  margin-top:var(--eex-s4) !important;
  margin-bottom:var(--eex-s2) !important;
  padding-right:0 !important;
}
header#header .menu-top-item{ margin:0 !important; }

header#header .menu-top-item a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:4px 0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--eex-font-ui) !important;
  font-size:var(--eex-fs-micro) !important;
  font-weight:var(--eex-w-medium) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--eex-stone-2) !important;
  text-decoration:none !important;
  transition:color var(--eex-d2) var(--eex-ease);
}
header#header .menu-top-item a:hover,
header#header .menu-top-item a:focus-visible{ color:var(--eex-ink) !important; }

header#header .menu-top-item .fa{ font-size:12px; line-height:1; }
header#header .menu-top-item .caret{ display:none; }

/* Preservado de legacy.css: a lista de desejos permanece desligada. */
.menu-top-item.menu-wish,
a.mylist-btn{ display:none !important; }


/* -----------------------------------------------------------------------------
   5. NAVEGACAO PRINCIPAL
   Rotulos em caixa alta com tracking largo. O hover nao preenche nada:
   apenas revela um filete de 1px crescendo da esquerda, exatamente como os
   links da Hero.
   -------------------------------------------------------------------------- */
header#header nav.main-nav-menu ul.nav{ align-items:center; }

header#header .nav > li > a,
header#header .navbar-nav > li > a{
  position:relative;
  padding:10px 0 !important;
  margin:0 0 0 var(--eex-s6) !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--eex-font-ui) !important;
  font-size:12px !important;
  font-weight:var(--eex-w-medium) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--eex-ink) !important;
  text-decoration:none !important;
  transition:color var(--eex-d2) var(--eex-ease);
}
header#header .nav > li:first-child > a,
header#header .navbar-nav > li:first-child > a{ margin-left:0 !important; }

header#header .nav > li > a::after,
header#header .navbar-nav > li > a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:4px;
  height:1px;
  background:var(--eex-ink);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform var(--eex-d2) var(--eex-ease);
}
header#header .nav > li > a:hover,
header#header .navbar-nav > li > a:hover,
header#header .nav > li > a:focus-visible,
header#header .navbar-nav > li > a:focus-visible{
  background:none !important;
  color:var(--eex-ink) !important;
}
header#header .nav > li > a:hover::after,
header#header .navbar-nav > li > a:hover::after,
header#header .nav > li > a:focus-visible::after,
header#header .navbar-nav > li > a:focus-visible::after{ transform:scaleX(1); }

/* Item correspondente a pagina atual: filete permanente. */
header#header .nav > li.active > a::after,
header#header .navbar-nav > li.active > a::after{ transform:scaleX(1); }


/* -----------------------------------------------------------------------------
   6. MENUS SUSPENSOS
   -------------------------------------------------------------------------- */
header#header .dropdown-menu{
  min-width:190px;
  margin-top:var(--eex-s2);
  padding:var(--eex-s2) 0;
  background:var(--eex-surface);
  border:1px solid var(--eex-hairline);
  border-radius:var(--eex-r-sm);
  box-shadow:var(--eex-e2);
}
header#header .dropdown-menu > li > a{
  padding:10px var(--eex-s4) !important;
  font-family:var(--eex-font-ui) !important;
  font-size:var(--eex-fs-small) !important;
  font-weight:var(--eex-w-regular) !important;
  letter-spacing:0;
  text-transform:none;
  color:var(--eex-stone) !important;
  transition:background var(--eex-d1) var(--eex-ease), color var(--eex-d1) var(--eex-ease);
}
header#header .dropdown-menu > li > a:hover,
header#header .dropdown-menu > li > a:focus-visible{
  background:var(--eex-canvas-2) !important;
  color:var(--eex-ink) !important;
}


/* -----------------------------------------------------------------------------
   7. MOBILE
   -----------------------------------------------------------------------------
   A plataforma entrega o menu como um painel fixo azul-marinho de 301px com
   texto branco, e forca essa cor por especificidade de ID. Isso esta fora da
   paleta do produto. Reaproveitamos a mecanica (right negativo -> .open) e
   trocamos apenas a pele: painel bone, tinta ink, filetes de 1px.

   Largura e posicao fechada sao sempre sobrescritas EM PAR: se mexermos na
   largura sem mexer no right negativo, o painel vaza na borda direita.

   Todas as regras do painel vivem dentro de (max-width:767px), exatamente o
   mesmo ponto de quebra usado pela plataforma para torna-lo position:fixed.
   -------------------------------------------------------------------------- */
header#header .mobile-menu-toggle{
  display:inline-flex;
  align-items:center;
  padding:var(--eex-s3) !important;
  color:var(--eex-ink);
  cursor:pointer;
  transition:opacity var(--eex-d2) var(--eex-ease);
}
header#header .mobile-menu-toggle:hover{ opacity:.6; }
header#header .mobile-menu-toggle .fa{ font-size:20px !important; }

@media (max-width:767px){

  /* --- 7.1 O painel ------------------------------------------------------- */
  header#header #mobile-menu{
    --eex-drawer-w:min(86vw, 340px);
    width:var(--eex-drawer-w) !important;
    right:calc(-1 * var(--eex-drawer-w)) !important;
    padding:0 var(--eex-s5) var(--eex-s8) !important;
    background-color:var(--eex-canvas) !important;
    box-shadow:none !important;
    transition:right var(--eex-d3) var(--eex-ease-out) !important;
  }
  header#header #mobile-menu.open{
    right:0 !important;
    box-shadow:var(--eex-e3) !important;
  }

  /* --- 7.2 Tinta ---------------------------------------------------------- */
  /* A plataforma pinta tudo de branco via #id #id. Trazemos de volta ao ink. */
  header#header #mobile-menu,
  header#header #mobile-menu a,
  header#header #mobile-menu span,
  header#header #mobile-menu .fa,
  header#header #mobile-menu .navbar-nav > li > a,
  header#header #mobile-menu .menu-top-item a,
  header#header #mobile-menu .mobile-menu-toggle-close .fa{
    color:var(--eex-ink) !important;
  }

  /* --- 7.3 Cabecalho do painel -------------------------------------------- */
  header#header #mobile-menu > .row:first-child{
    align-items:center;
    margin:0 !important;
    padding-block:var(--eex-s5);
    border-bottom:1px solid var(--eex-hairline);
  }
  header#header #mobile-menu > .row:first-child .fa-2x{ font-size:18px !important; }
  header#header .mobile-menu-toggle-close{
    padding:var(--eex-s2) !important;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    transition:opacity var(--eex-d2) var(--eex-ease);
  }
  header#header .mobile-menu-toggle-close:hover{ opacity:.6; }

  /* --- 7.4 Navegacao ------------------------------------------------------ */
  /* No painel a hierarquia se inverte: a navegacao passa a ser o conteudo
     principal da tela, entao os rotulos crescem e saem da caixa alta. */
  header#header #mobile-menu .navbar-nav{
    margin:var(--eex-s2) 0 0 !important;
    padding:0 !important;
    float:none !important;
    width:100%;
  }
  header#header #mobile-menu .navbar-nav > li{
    float:none !important;
    border-bottom:1px solid var(--eex-hairline-2);
  }
  header#header #mobile-menu .navbar-nav > li:last-child{ border-bottom:0; }
  header#header #mobile-menu .navbar-nav > li > a{
    display:block;
    margin:0 !important;
    padding:var(--eex-s4) 0 !important;
    font-size:16px !important;
    font-weight:var(--eex-w-regular) !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }
  header#header #mobile-menu .navbar-nav > li > a::after{ display:none !important; }
  header#header #mobile-menu .navbar-nav > li > a:active{ opacity:.55; }

  /* --- 7.5 Filetes -------------------------------------------------------- */
  header#header #mobile-menu hr{
    border:0;
    height:1px;
    background:var(--eex-hairline);
    margin-block:var(--eex-s5) !important;
  }

  /* --- 7.6 Moeda: pilulas de contorno ------------------------------------- */
  /* Dois detalhes da plataforma sabotavam este bloco. (1) .visible-xs traz um
     display:block !important, entao o flex abaixo nunca valia e os itens ficavam
     inline-block. (2) o proprio <li> ja recebia uma pilula da plataforma (borda,
     fundo, height:40px, line-height:40px e padding lateral), que aparecia atras
     da nossa pilula no <a>: duas capsulas desencontradas. O <li> volta a ser so
     celula da grade e o <a> passa a ser a unica pilula, com metades iguais. */
  header#header .mobile-menu-cur{
    display:flex !important;
    gap:var(--eex-s2);
    list-style:none;
    padding:0 !important;
  }
  header#header .mobile-menu-cur li{
    float:none !important;
    margin:0 !important;
    flex:1 1 0 !important;
    min-width:0 !important;
    height:auto !important;
    line-height:normal !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    border-radius:0 !important;
  }
  header#header .mobile-menu-cur li a{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:44px;
    padding:0 var(--eex-s3) !important;
    line-height:1.2 !important;
    border:1px solid var(--eex-hairline);
    border-radius:var(--eex-r-pill);
    font-size:var(--eex-fs-micro) !important;
    font-weight:var(--eex-w-medium) !important;
    letter-spacing:var(--eex-track-micro) !important;
    text-transform:uppercase;
    transition:border-color var(--eex-d2) var(--eex-ease);
  }
  header#header .mobile-menu-cur li a:hover{ border-color:var(--eex-ink); }
  /* A regra geral de tinta acima usa dois IDs (header#header #mobile-menu), logo
     qualquer excecao precisa igualar essa especificidade, nao apenas usar
     !important. Por isso o #mobile-menu aparece aqui de novo. */
  header#header #mobile-menu .mobile-menu-cur li.selected a,
  header#header #mobile-menu .mobile-menu-cur li.selected a span{
    color:var(--eex-text-invert) !important;
  }
  header#header .mobile-menu-cur li.selected a{
    background:var(--eex-ink) !important;
    border-color:var(--eex-ink) !important;
  }

  /* --- 7.7 Faixa de utilitarios no topo da pagina ------------------------- */
  header#header .navbar-brand img{ max-height:38px !important; }
  header#header .menu-top{
    gap:var(--eex-s4);
    margin-top:var(--eex-s3) !important;
    margin-bottom:var(--eex-s3) !important;
  }
}


/* -----------------------------------------------------------------------------
   8. MOVIMENTO REDUZIDO E IMPRESSAO
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  header#header,
  header#header .nav > li > a::after,
  header#header .navbar-nav > li > a::after,
  header#header .navbar-brand img,
  header#header .menu-top-item a{ transition:none !important; }
}

@media print{
  header#header{ position:static !important; box-shadow:none !important; border-bottom:1px solid #ccc !important; }
  header#header .menu-top, header#header .mobile-menu-toggle{ display:none !important; }
}
