/* Header v1.1: azul plano, sin degradados. Componentes de navegación accesibles. */
:root { --gp-header-bg:#08152e; --gp-header-height:82px; --gp-header-breakpoint:1160px; }
.gp-header { position:sticky; top:0; z-index:900; background:var(--gp-header-bg); color:#fff; border-bottom:1px solid rgba(255,255,255,.10); isolation:isolate; }
.admin-bar .gp-header { top:32px; }
.gp-header .gp-header-row { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:clamp(12px,1.6vw,24px); height:var(--gp-header-height); min-height:0; padding:0; }
.gp-header .gp-brand { display:flex; align-items:center; flex:0 0 auto; width:clamp(170px,15vw,202px); text-decoration:none; }
.gp-header .gp-brand-logo { display:block; width:100%; height:auto; aspect-ratio:640/205; object-fit:contain; }
.gp-header .gp-nav { display:flex; justify-content:center; flex:1 1 auto; align-self:stretch; width:auto; min-width:0; order:initial; background:none; }
.gp-header .gp-nav-list { display:flex; align-items:stretch; justify-content:center; flex-direction:row; gap:clamp(12px,1.5vw,25px); padding:0; margin:0; list-style:none; }
.gp-header .gp-nav-list li { position:relative; display:flex; align-items:center; flex-shrink:0; list-style:none; }
.gp-header .gp-nav-list > li > a { position:relative; display:inline-flex; align-items:center; min-height:48px; padding:4px 0; white-space:nowrap; color:#f3f5fc; text-decoration:none; font-size:clamp(13px,1vw,15px); font-weight:650; line-height:1.3; transition:color 180ms ease; }
.gp-header .gp-nav-list > li > a:hover,.gp-header .gp-nav-list > li > a:focus-visible { color:#fff; text-decoration:none; }
.gp-header .gp-nav-list > li.current-menu-item > a::after,.gp-header .gp-nav-list > li.current-menu-ancestor > a::after,.gp-header .gp-nav-list > li > a[aria-current=page]::after { content:""; position:absolute; left:0; right:0; bottom:7px; height:3px; background:#f02b40; border-radius:3px; }
.gp-header .gp-nav-list > li.menu-item-has-children { padding-right:14px; }
.gp-header .gp-submenu-toggle { position:absolute; top:50%; right:-5px; transform:translateY(-50%); width:20px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:3px; background:none; color:#d7dfef; cursor:pointer; touch-action:manipulation; }
.gp-header .gp-submenu-toggle .gp-icon { width:14px; height:14px; transition:transform 180ms ease; }
.gp-header .sub-menu { position:absolute; top:calc(100% - 7px); left:-16px; z-index:10; width:max-content; min-width:238px; max-width:320px; display:block; padding:8px; margin:0; background:#111f3b; border:1px solid #40506a; border-top:3px solid #f02b40; border-radius:5px; box-shadow:0 12px 26px rgba(0,0,0,.20); list-style:none; opacity:0; visibility:hidden; transform:translateY(6px); pointer-events:none; transition:opacity 180ms ease,transform 180ms ease,visibility 180ms ease; }
.gp-header .sub-menu li { position:relative; display:flex; align-items:stretch; width:100%; }
.gp-header .sub-menu a { display:flex; align-items:center; width:100%; min-height:43px; padding:10px 12px; color:#eaf1ff; text-decoration:none; font-size:14px; line-height:1.4; border-radius:3px; white-space:normal; }
.gp-header .sub-menu a:hover,.gp-header .sub-menu a:focus-visible { background:#223456; color:#fff; }
.gp-header .gp-nav-list li:hover > .sub-menu,.gp-header .gp-nav-list li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.gp-header .gp-header-actions { display:flex; align-items:center; flex:0 0 auto; gap:10px; margin:0; white-space:nowrap; order:initial; width:auto; }
.gp-header .gp-header-call,.gp-header .gp-header-whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 14px; min-height:46px; border-radius:6px; text-decoration:none; font-size:14px; font-weight:750; line-height:1; touch-action:manipulation; transition:background-color 180ms ease,border-color 180ms ease; }
.gp-header .gp-header-call { background:transparent; color:#fff; border:1px solid #ee3448; }
.gp-header .gp-header-call:hover { background:#182945; color:#fff; }
.gp-header .gp-header-whatsapp { background:#19aa57; color:#fff; border:1px solid #19aa57; }
.gp-header .gp-header-whatsapp:hover { background:#138944; border-color:#138944; color:#fff; }
.gp-header .gp-icon { flex:0 0 auto; max-width:none; }
.gp-header .gp-icon path { stroke:currentColor; fill:none; stroke-width:1.9; stroke-linejoin:round; stroke-linecap:round; }
.gp-header .gp-quickcall,.gp-header .gp-menu-toggle,.gp-header .gp-mobile-actions { display:none; }
.gp-header .gp-menu-close-icon { display:none; }

/* A partir de 1160px la navegación usa drawer propio para no comprimir el header. */
@media (max-width:1160px) {
  :root { --gp-header-height:74px; }
  .gp-header .gp-header-row { gap:10px; }
  .gp-header .gp-brand { width:clamp(144px,34vw,183px); margin-right:auto; }
  .gp-header .gp-header-actions { display:none; }
  .gp-header .gp-quickcall,.gp-header .gp-menu-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 46px; width:46px; height:46px; margin:0; border:1px solid rgba(255,255,255,.27); border-radius:6px; background:transparent; color:#fff; text-decoration:none; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
  .gp-header .gp-menu-toggle { border-color:#f04454; }
  .gp-header .gp-menu-toggle[aria-expanded="true"] { background:#152747; }
  .gp-header .gp-menu-toggle[aria-expanded="true"] .gp-menu-open-icon { display:none; }
  .gp-header .gp-menu-toggle[aria-expanded="true"] .gp-menu-close-icon { display:block; }
  .gp-header .gp-quickcall .gp-icon { width:20px; height:20px; }
  .gp-header .gp-nav { display:none; position:fixed; inset:var(--gp-nav-top,74px) 0 0; z-index:10; width:100%; height:auto; min-height:0; max-height:none; padding:12px max(16px,calc((100vw - 600px)/2)) 30px; margin:0; flex-direction:column; justify-content:flex-start; align-self:auto; overflow-y:auto; overscroll-behavior:contain; background:var(--gp-header-bg); border-top:1px solid rgba(255,255,255,.15); box-shadow:0 20px 35px rgba(0,0,0,.22); }
  .gp-header .gp-nav.is-open { display:flex; }
  .gp-header .gp-nav-list { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; width:100%; gap:0; }
  .gp-header .gp-nav-list > li { display:flex; flex-wrap:wrap; justify-content:space-between; width:100%; min-width:0; padding:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .gp-header .gp-nav-list > li.menu-item-has-children { padding:0; }
  .gp-header .gp-nav-list > li > a { display:flex; flex:1 1 auto; width:auto; min-height:54px; padding:15px 6px; font-size:16px; font-weight:680; white-space:normal; }
  .gp-header .gp-nav-list > li > a::after { display:none; }
  .gp-header .gp-submenu-toggle { display:inline-flex; position:static; transform:none; flex:0 0 48px; align-items:center; justify-content:center; width:48px; height:48px; padding:0; margin:3px 0; border:1px solid rgba(255,255,255,.22); border-radius:5px; background:#11233f; color:#fff; }
  .gp-header .gp-submenu-toggle .gp-icon { width:18px; height:18px; }
  .gp-header li.gp-submenu-is-open > .gp-submenu-toggle .gp-icon { transform:rotate(180deg); }
  .gp-header .sub-menu { display:none; position:static; top:auto; left:auto; flex:1 0 100%; width:100%; max-width:100%; min-width:0; padding:0 0 10px 14px; margin:0; border:0; border-left:2px solid #ee3448; border-radius:0; background:none; box-shadow:none; opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:none; }
  .gp-header .gp-nav-list li:hover > .sub-menu,.gp-header .gp-nav-list li:focus-within > .sub-menu { display:none; }
  .gp-header .gp-nav-list li.gp-submenu-is-open > .sub-menu,.gp-header .gp-nav-list li.gp-submenu-is-open:hover > .sub-menu,.gp-header .gp-nav-list li.gp-submenu-is-open:focus-within > .sub-menu { display:block; }
  .gp-header .sub-menu a { min-height:48px; padding:13px 12px; font-size:16px; color:#dce6f8; }
  .gp-header .sub-menu .gp-submenu-toggle { right:0; }
  .gp-header .gp-mobile-actions { display:flex; flex-direction:column; gap:10px; width:100%; margin-top:24px; padding-bottom:15px; }
  .gp-header .gp-mobile-actions a { width:100%; min-height:50px; font-size:16px; }
  body.gp-menu-open { overflow:hidden; }
}
@media(max-width:782px) { .admin-bar .gp-header { top:46px; } }
@media(max-width:600px) { .admin-bar .gp-header { top:0; } }
@media(max-width:360px) { .gp-header .gp-brand { width:143px; } .gp-header .gp-header-row { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .gp-header .gp-nav-list a,.gp-header .gp-nav-list .gp-submenu-toggle,.gp-header .gp-header-call,.gp-header .gp-header-whatsapp { transition:none; } }
