.site-header {
    background: #fff;
    border-bottom: 1px solid #eee;
}


/*
  Header usa max-width maior que as seções (80%) porque contém mais itens
  horizontais: logo + 5 menus + toggles de busca/orçamento + idioma.
  1400px garante que todos os elementos cabem sem overflow em 1440px,
  com 20px de margem simétrica em cada lado.
*/
.site-header .container {
    max-width: 1400px !important;   /* !important: sobrepõe overrides !important de páginas internas */
    padding-left: 5% !important;
    padding-right: 5% !important;
    margin-left: auto;
    margin-right: auto;
}

.navbar-brand img {
    height: 48px;
}

.header-menu-left {
    margin-left: 30px; /* distância da logo */
}

.nav-link {
    cursor: pointer;
    user-select: none;
}

.nav-link {
    font-weight: 600;
    font-size: 15px;
    color: #111;
}

.nav-link:hover {
    color: #0d6efd;
}

.dropdown-menu {
    border-radius: 8px;
    font-size: 14px;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ======================================================
   TOGGLES — Busca e Orçamento
   Altura alinhada ao .country-select (padding: 6px 12px)
====================================================== */

/*
  Wrapper de largura FIXA = estado máximo (busca aberta).
  Isso impede que o botão de idioma se mova durante a animação.
  Conteúdo alinhado à direita para que o orçamento fique sempre
  adjacente ao botão de idioma.
*/
.hdr-toggles {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 268px;            /* busca 210px + gap 10px + orçamento-ícone 48px */
    justify-content: flex-end;
    flex-shrink: 0;
}

/* Base compartilhada */
.hdr-toggle {
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    cursor: pointer;
}

/* ── BUSCA ─────────────────────────────────── */
.hdr-search {
    background: #f0f1f3;
    padding: 6px 12px;
    gap: 8px;
    width: 40px;           /* ícone 16px + padding 12+12 = 40px colapsado */
    box-sizing: border-box;
    transition: width 0.35s cubic-bezier(.4,0,.2,1);
}

.hdr-search.is-open { width: 210px; }

.hdr-search-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0 auto;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
    width: 16px;
}

.hdr-search-btn img {
    width: 16px;
    height: 16px;
    display: block;
}

.hdr-search-input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    outline: none;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #333;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease 0.1s;
    width: 0;
}

.hdr-search-input::placeholder { color: #aaa; }

.hdr-search.is-open .hdr-search-input {
    opacity: 1;
    pointer-events: auto;
    width: auto;
}

/* ── ORÇAMENTO ─────────────────────────────── */
.hdr-orcamento {
    background: #ea7626;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 6px 12px;
    gap: 0;
    overflow: hidden;
    max-width: 200px;   /* valor generoso; colapsado pelas páginas com form */
    transition: padding    0.35s cubic-bezier(.4,0,.2,1),
                gap        0.35s cubic-bezier(.4,0,.2,1),
                max-width  0.35s cubic-bezier(.4,0,.2,1),
                opacity    0.3s  ease;
}

/* Classe adicionada por JS quando o card do formulário SAI da tela */
.hdr-orcamento.hdr-orcamento--show {
    max-width: 200px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.hdr-orcamento:hover { background: #d06420; color: #fff; }
.hdr-orcamento:focus { color: #fff; }

.hdr-orcamento-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-width 0.35s cubic-bezier(.4,0,.2,1),
                opacity   0.2s  ease;
}

.hdr-orcamento.is-open {
    padding: 6px 14px 6px 16px;
    gap: 8px;
}

.hdr-orcamento.is-open .hdr-orcamento-label {
    max-width: 120px;
    opacity: 1;
}

.hdr-orcamento-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
}

/* Mobile: só ícone, sem expansão */
@media (max-width: 991px) {
    .hdr-toggles                                { width: auto; }
    /* no mobile o campo fica sempre aberto — largura preenche o espaço disponível */
    .hdr-search,
    .hdr-search.is-open                         { width: min(150px, calc(100vw - 200px)); }
    .hdr-orcamento.is-open                      { padding: 6px 12px; gap: 0; }
    .hdr-orcamento.is-open .hdr-orcamento-label { max-width: 0; opacity: 0; }

    /* logo menor no mobile para dar espaço aos botões */
    .navbar-brand img { height: 36px; }

    /* hamburguer sem outline amarelo ao focar */
    .site-header .navbar-toggler:focus,
    .site-header .navbar-toggler:focus-visible { outline: none; box-shadow: none; }
}

.country-select {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #ddd;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
    color: #111;
    text-decoration: none;
}

/* Mobile: idioma fica dentro do collapse — pequeno espaço superior */
@media (max-width: 991px) {
    .header-actions {
        margin-top: 15px;
        justify-content: center;
    }
}

@media (min-width: 992px) {
    /* Collapse preenche o espaço disponível entre logo e borda direita */
    .site-header .navbar-collapse { flex: 1 1 auto; }
}

/* =====================================================
   Z-INDEX: header e dropdowns sempre em primeiro plano
   ===================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20000;
}

.site-header .navbar,
.site-header .navbar-collapse {
  position: relative;
  z-index: 20001;
}

.site-header .dropdown-menu {
  position: absolute;
  z-index: 20002;
}

.site-header .dropdown {
  position: relative;
  z-index: 20002;
}

@media (max-width: 991px) {
  .site-header .navbar-collapse.show {
    position: relative;
    z-index: 20003;
  }
}
