/* ============================================================================
 * File: css/components/header-v2.css
 * Theme: portalv4.0
 * ----------------------------------------------------------------------------
 * Portado de portalv2.0/css/components/header-v2.css em 2026-05-28 (frente1).
 *
 * Mudança em relação ao header-v2.css do v2:
 *   - Adicionadas no topo (bloco abaixo) as 2 regras tipográficas que no v2
 *     viviam em css/base/tokens.css linhas 78-89, agora escopadas em
 *     .v2-hdr / .menu-overlay / .hv-search pra NÃO vazar pras demais páginas
 *     do v4 que ainda não foram portadas. Quando o port avançar, generalizar
 *     pro body global e remover este bloco.
 *
 * Atualização 2026-05-28: regras .v2-hdr-social e .v2-hdr-phone, que existiam
 * no final do arquivo, foram removidas — markup correspondente saiu do
 * menu/topo.php pelo mesmo motivo (ícones FA viravam quadrados vazios).
 * Backup pré-remoção: header-v2.css.bak-remove-tel-social-20260528.
 *
 * Resto do arquivo: cópia fiel do v2 (header preto fixo, alerta, botão menu,
 * busca Harvard-style). Não mexer em proporções/cores/transições sem aviso.
 * ============================================================================ */

/* ============================================================================
 * TIPOGRAFIA ESCOPADA — movida de tokens.css do v2 (linhas 78-89).
 * Escopo restrito aos 3 componentes portados nessa frente.
 * Generalizar pro body global quando o port das demais páginas avançar.
 * ============================================================================ */
.v2-hdr, .v2-hdr *,
.menu-overlay, .menu-overlay *,
.hv-search, .hv-search * {
    font-family: var(--fonte-corpo);
}
.v2-hdr h1, .v2-hdr h2, .v2-hdr h3, .v2-hdr h4, .v2-hdr h5, .v2-hdr h6,
.menu-overlay h1, .menu-overlay h2, .menu-overlay h3, .menu-overlay h4, .menu-overlay h5, .menu-overlay h6,
.hv-search h1, .hv-search h2, .hv-search h3, .hv-search h4, .hv-search h5, .hv-search h6 {
    font-family: var(--fonte-titulo);
}

/* ============================================================================
 * HEADER v2 + Busca Harvard-style — cópia fiel do v2.
 * Espelhando /var/www/dev/home.html (z-index:100).
 * Regras de .menu-overlay / .panel-* vivem em menu.css.
 * ============================================================================ */

/* HEADER v2 — espelhando /var/www/dev/home.html (z-index:100).
   2026-05-28: valores de height/padding restaurados pros literais do v2
   (height:80px, padding:18px 2rem 0) — barra IDÊNTICA ao header editorial v2. */
.v2-hdr,body .v2-hdr,.v2 .v2-hdr{background:#111;display:flex !important;align-items:center !important;height:80px;padding:18px 2rem 0;margin:0 !important;position:fixed !important;top:0 !important;left:0 !important;right:0 !important;width:100% !important;z-index:100 !important;font-family:-apple-system,'Helvetica Neue',sans-serif;transition:background-color .45s ease;overflow:visible !important;visibility:visible !important}
.v2-hdr.over-hero{background:transparent}
.v2-hdr.over-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none;z-index:-1}

/* Menu sempre preto nas páginas de captação (processo-seletivo + bolsa-financiamento) — Miquele 2026-05-25 */
body:has(.psv-page, .psm-page, .psgr-page, .pstr-page, .psmv-page, .psvd-page, .psev2-page, .psrc-page, .bbm5-page) .v2-hdr,
body:has(.psv-page, .psm-page, .psgr-page, .pstr-page, .psmv-page, .psvd-page, .psev2-page, .psrc-page, .bbm5-page) .v2-hdr.over-hero{background:#111 !important}
body:has(.psv-page, .psm-page, .psgr-page, .pstr-page, .psmv-page, .psvd-page, .psev2-page, .psrc-page, .bbm5-page) .v2-hdr.over-hero::before{display:none}
/* 2026-05-28: dimensões da logo IDÊNTICAS ao v2 (.v2-hdr-logo / img).
   Logo de 285x190 + margin-top:30px estoura a barra de 80px — comportamento
   intencional do header editorial v2 (overflow:visible na .v2-hdr). */
.v2-hdr-logo{display:flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none}
.v2-hdr-logo img{width:285px;height:190px;object-fit:contain;display:block}
.v2-hdr-logo{overflow:visible;margin-top:30px}
.v2-hdr-ln{font-size:15px;font-weight:500;color:#fff;display:block}
.v2-hdr-ls{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.5);display:block}
.v2-hdr-alert{display:flex;align-items:center;gap:7px;flex:1;padding:0 2rem;font-size:12px;color:rgba(255,255,255,.85)}
.v2-hdr-dot{width:7px;height:7px;border-radius:50%;background:#C49A20;flex-shrink:0}
.v2-hdr-right{display:flex;align-items:stretch;background:none;border-left:none}
.v2-hdr-search-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;width:54px;cursor:pointer;padding:0;color:#fff;transition:opacity .2s}
.v2-hdr-search-btn:hover{opacity:.7}
.v2-hdr-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 1.25rem;border:none;background:none;cursor:pointer;color:rgba(255,255,255,.9);font-family:inherit}
.v2-hdr-btn-label{font-size:11px;letter-spacing:.2px}
.v2-hdr-btn-sub{font-size:9px;color:rgba(255,255,255,.45);letter-spacing:.3px;text-transform:uppercase}
.v2-hdr-btn+.v2-hdr-btn{border-left:none}
.v2-hdr-l{width:19px;height:1.5px;background:rgba(255,255,255,.9);display:block;margin:1.5px 0}
.v2-hdr-link{text-decoration:underline;text-underline-offset:2px;cursor:pointer;color:inherit}

/* BUSCA Harvard-style — z-index:200 (acima do header z:100, igual referência) */
.hv-search{position:fixed;top:0;left:0;right:0;background:#111;z-index:200;padding:5rem 2rem 4rem;transform:translateY(-100%);transition:transform .5s cubic-bezier(.65,.05,.36,1);box-shadow:0 8px 30px rgba(0,0,0,.4)}
.hv-search.open{transform:translateY(0)}
.hv-search .ov-close{position:absolute;top:18px;right:24px;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;cursor:pointer;padding:10px 20px;font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;transition:all .2s;display:flex;align-items:center;gap:10px}
.hv-search .ov-close:hover{border-color:#fff;background:rgba(255,255,255,.05)}
.hv-search .ov-close svg{transition:transform .3s ease}
.hv-search .ov-close:hover svg{transform:rotate(90deg)}
.hv-search-inner{max-width:880px;margin:0 auto;text-align:center}
.hv-search-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,4vw,48px);font-weight:400;color:#fff;margin:0 0 2rem;line-height:1.2}
.hv-search-form{display:flex;align-items:stretch;gap:0;border:1px solid #111;background:#ececec}
.hv-search-input{flex:1;border:none;background:transparent;padding:0 1.25rem;font-size:18px;font-family:inherit;color:#111;outline:none;height:60px;min-width:0}
.hv-search-input::placeholder{color:#666;font-style:italic}
.hv-search-submit{background:#c00;color:#fff;border:none;padding:0 2.5rem;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;font-family:inherit;transition:background .2s}
.hv-search-submit:hover{background:#900}

/* OFFSET pro conteudo nao ficar atras do header fixo (apenas paginas SEM .v2). */
body:not(.home):not(.v2){padding-top:80px}

/* RESPONSIVO — !important em tudo pra vencer CSS externos.
   2026-05-28: valores mobile IDÊNTICOS ao v2 (.v2-hdr height:120px,
   .v2-hdr-logo margin-left:-.75rem, .v2-hdr-logo img height:150px com transform). */
@media (max-width:1024px){
  .v2-hdr,body .v2-hdr,.v2 .v2-hdr{padding:0 1rem !important;height:120px !important;align-items:center !important;width:100vw !important;left:0 !important;right:0 !important;overflow:hidden !important;display:flex !important;visibility:visible !important}
  .v2-hdr-logo,body .v2-hdr-logo,.v2 .v2-hdr-logo{margin-top:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;height:100% !important;overflow:hidden !important;margin-left:-.75rem !important}
  .v2-hdr-logo img,body .v2-hdr-logo img,.v2 .v2-hdr-logo img{width:auto !important;height:150px !important;max-width:62vw !important;display:block !important;object-fit:contain !important;object-position:left center !important;transform:translate(-6px,14px) !important}
  .v2-hdr-right,body .v2-hdr-right,.v2 .v2-hdr-right{display:flex !important;align-items:center !important;height:100% !important;margin-left:auto !important;gap:.25rem !important;flex-shrink:0 !important}
  .v2-hdr-alert,body .v2-hdr-alert,.v2 .v2-hdr-alert{display:none !important}
  .v2-hdr-btn,body .v2-hdr-btn,.v2 .v2-hdr-btn{padding:0 .65rem !important;display:flex !important;align-items:center !important;justify-content:center !important}
  .v2-hdr-btn-sub,.v2-hdr-btn-label{display:none !important}
  .v2-hdr-btn svg{width:26px !important;height:26px !important}
  .v2-hdr-search-btn,body .v2-hdr-search-btn,.v2 .v2-hdr-search-btn{display:flex !important;align-items:center !important;justify-content:center !important;width:44px !important}
  .v2-hdr-search-btn svg{width:24px !important;height:24px !important}
  .v2-hdr-l{width:26px !important;height:2px !important;margin:2.5px 0 !important;display:block !important;background:rgba(255,255,255,.9) !important}
  .v2-hdr-ln{font-size:12px}
  .v2-hdr-ls{font-size:7px}
  .v2-hdr.over-hero{background:transparent !important;border-bottom:none}
  .v2-hdr.over-hero::before{background:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}
  body:not(.home):not(.v2){padding-top:120px}
}

@media (max-width:640px){
  .v2-hdr-search-btn{width:46px}
  .v2-hdr-btn-label{font-size:10px}
  .hv-search{padding:4rem 1rem 3rem}
  .hv-search-form{flex-direction:column;border:none;background:none;gap:.75rem}
  .hv-search-input{border:1px solid #111;background:#ececec;height:54px}
  .hv-search-submit{height:50px}
}

/* Regras de .v2-hdr-social e .v2-hdr-phone removidas em 2026-05-28 — markup
   correspondente saiu do menu/topo.php pelo mesmo motivo (ícones FA viravam
   quadrados vazios no .v2-hdr). Backup: header-v2.css.bak-remove-tel-social-20260528. */
