/* ============================================================
   Chrome público: header + pie de la landing y de las páginas visibles sin sesión.
   Lo comparten includes/partials/publico-header.php y publico-footer.php.

   EL HEADER REPRODUCE LA CABECERA REAL DE LA PORTADA (index.php: .cabecera / .navegacion /
   .menu / .menu-movil / .boton de assets/css/presentacion.css), no una variante: mismas medidas,
   mismo recorte de los botones, mismas mayúsculas, mismo punto de corte (7 enlaces hasta 961 px,
   botón de menú por debajo). Si cambia la cabecera de la portada, cambia aquí también.

   Es autosuficiente: cada token lleva su valor de reserva porque la portada (index.php) no
   carga gcg-tokens.css. Sin estilos en línea (la CSP de la portada lo prohíbe).
   Paleta: negro/carbón + gris + naranja #F4A62A. Sin azul, violeta ni glow ni desenfoque.
   ============================================================ */

/* ---------- Saltar al contenido (igual que .salto de la portada) ---------- */
.gcg-landing__skip{position:fixed;z-index:200;top:10px;left:10px;padding:10px 14px;color:#070A0D;background:var(--gcg-accent,#F4A62A);font:400 16px/normal var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);text-decoration:none;transform:translateY(-150%);transition:transform .2s ease}
.gcg-landing__skip:focus{transform:translateY(0)}
.gcg-landing__skip{min-height:44px;display:inline-flex;align-items:center}

/* ---------- Contenedor (= .contenedor de la portada: 1240 px, márgenes 48/32/24) ---------- */
.gcg-landing-shell{width:min(100% - 48px,1240px);margin-inline:auto}

/* ---------- Header (= .cabecera) ---------- */
.gcg-landing-nav{position:fixed;inset:0 0 auto;z-index:100;box-sizing:border-box;height:78px;background:linear-gradient(180deg,rgba(6,9,11,.98),rgba(6,9,11,.94));border-bottom:1px solid transparent;font-family:var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);transition:height .3s ease,border-color .3s ease,box-shadow .3s ease}
.gcg-landing-nav *,.gcg-landing-nav *::before,.gcg-landing-nav *::after{box-sizing:border-box}
.gcg-landing-nav.is-scrolled{height:68px;border-color:rgba(255,255,255,.09);box-shadow:0 12px 35px rgba(0,0,0,.24)}
.gcg-landing-nav__avance{position:absolute;inset:0 0 auto;height:2px;overflow:hidden}
.gcg-landing-nav__avance span{display:block;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#a56b18,#F4A62A,#FFE0A8)}
.gcg-landing-nav__inner{height:100%;display:flex;align-items:center;gap:28px}

/* Marca (= .marca) */
.gcg-landing-brand{display:block;width:182px;flex:0 0 auto;transition:transform .25s ease,opacity .25s ease}
.gcg-landing-brand:hover{transform:translateY(-2px);opacity:.9}
.gcg-landing-brand img{display:block;width:100%;height:58px;max-width:100%;object-fit:contain;object-position:left center}

/* Enlaces (= .navegacion) */
.gcg-landing-nav__links{display:flex;align-items:center;justify-content:center;gap:clamp(20px,2.4vw,36px);margin-left:auto}
.gcg-landing-nav__links a{white-space:nowrap;position:relative;display:block;padding:28px 0 25px;color:#AAB2BA;font-size:12px;font-weight:700;line-height:normal;letter-spacing:.045em;text-decoration:none;transition:color .2s ease}
.gcg-landing-nav__links a::after{content:"";position:absolute;right:0;bottom:18px;left:0;height:2px;background:var(--gcg-accent,#F4A62A);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.gcg-landing-nav__links a:hover,.gcg-landing-nav__links a[aria-current="page"]{color:#fff}
.gcg-landing-nav__links a:hover::after,.gcg-landing-nav__links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

/* Acciones (= .cabecera__auth) */
.gcg-landing-nav__actions{display:flex;align-items:center;gap:8px;margin-left:10px}

/* Botones (= .boton / .boton--pequeno / --borde / --principal: recortados, mayúsculas, 11 px) */
.gcg-landing-btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;margin:0;padding:0 17px;overflow:hidden;border:1px solid transparent;border-radius:0;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));background:none;color:#f4f5f6;font:700 11px/normal var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);letter-spacing:.055em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-shadow:none;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease}
.gcg-landing-btn:active{transform:scale(.99)}
.gcg-landing-btn.gcg-landing-btn--primary{background:var(--gcg-accent,#F4A62A);border-color:var(--gcg-accent,#F4A62A);color:#15100a}
.gcg-landing-btn.gcg-landing-btn--primary:hover{background:var(--gcg-accent-hover,#FFC15A);border-color:var(--gcg-accent-hover,#FFC15A)}
.gcg-landing-btn.gcg-landing-btn--ghost{background:rgba(9,13,16,.88);border-color:#5b6269;color:#f4f5f6}
.gcg-landing-btn.gcg-landing-btn--ghost:hover{background:rgba(244,166,42,.07);border-color:var(--gcg-accent,#F4A62A)}
.gcg-landing-btn:disabled,.gcg-landing-btn[aria-disabled="true"]{opacity:.6;cursor:not-allowed}

/* Botón de menú (= .menu): se vuelve «X» al abrir */
.gcg-landing-nav__menu{display:none;width:44px;height:44px;margin:0 0 0 auto;padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:0;background:rgba(255,255,255,.035);cursor:pointer}
.gcg-landing-nav__menu span{display:block;width:100%;height:2px;margin:4px 0;background:#fff;transition:transform .25s ease,opacity .2s ease}
.gcg-landing-nav__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.gcg-landing-nav__menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.gcg-landing-nav__menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Cajón móvil (= .menu-movil) */
.gcg-landing-nav__mobile{position:absolute;top:100%;left:0;width:100%;max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;padding:12px 24px 24px;background:rgba(7,10,13,.98);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 30px 80px rgba(0,0,0,.38)}
.gcg-landing-nav__mobile[hidden]{display:none}
.gcg-landing-nav__mobile:not([hidden]){animation:gcg-publico-abrir .25s ease-out both}
.gcg-landing-nav__mobile>a:not(.gcg-landing-btn){display:block;padding:15px 4px;color:#AAB2BA;font-size:14px;font-weight:700;line-height:normal;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.09)}
.gcg-landing-nav__mobile>a:not(.gcg-landing-btn):hover{color:#fff}
.gcg-landing-nav__mobile>a[aria-current="page"]:not(.gcg-landing-btn){color:var(--gcg-accent,#F4A62A)}
.gcg-landing-nav__mobile>.gcg-landing-btn{display:flex;width:100%;margin-top:10px}
.gcg-landing-nav__mobile>a.gcg-landing-btn{margin-top:16px}
.gcg-landing-nav__mobile>.gcg-landing-btn+.gcg-landing-btn{margin-top:8px}
@keyframes gcg-publico-abrir{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
body.gcg-menu-abierto{overflow:hidden}

/* Reserva bajo el header fijo (la portada la resuelve con el padding de su hero) */
.gcg-publico-espacio{height:78px}

/* Foco (igual que la portada: anillo claro; el botón recortado lo lleva por dentro) */
.gcg-landing-nav a:focus-visible,.gcg-landing-nav__menu:focus-visible{outline:2px solid var(--gcg-accent-hover,#FFC15A);outline-offset:4px}
.gcg-landing-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #070A0D,inset 0 0 0 4px var(--gcg-accent-hover,#FFC15A)}
.gcg-publico-footer a:focus-visible,.gcg-publico-footer button:focus-visible{outline:2px solid var(--gcg-accent,#F4A62A);outline-offset:2px}

/* ---------- Pie ---------- */
/* El pie lo usa la portada (index.php), las páginas de la app para visitantes (footer-v2.php) y landing-public.php.
   Fondo y filete son los de .pie / .gcg-v2-footer (#050709, 1px). Ancho: el de la página (tokens) o el de la portada. */
.gcg-publico-footer{background:#050709;border-top:1px solid rgba(255,255,255,.09);padding:16px 0 18px;color:#AAB2BA;font-family:var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)} /* 76px abajo: el botón flotante de soporte y los controles de vista ocupan la esquina inferior derecha */
.gcg .gcg-shell>.gcg-publico-footer{flex:0 0 auto;width:100%;margin-top:auto}
.gcg-publico-footer__wrap{width:min(100% - 2 * var(--gcg-page-pad,24px),var(--gcg-page-max,1240px));margin-inline:auto}
.gcg-publico-footer__top{display:flex;flex-wrap:wrap;align-items:center;gap:0 22px}
.gcg-publico-footer__col,.gcg-publico-footer__col ul,.gcg-publico-footer__col li{display:contents} /* todos los enlaces fluyen en filas horizontales */
.gcg-publico-footer__marca{flex:0 0 auto;margin-right:14px}
.gcg-publico-footer__marca img{width:84px;height:auto;display:block}
.gcg-publico-footer .gcg-publico-footer__titulo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0;font:700 11px var(--gcg-font-mono,"JetBrains Mono",Consolas,"Courier New",monospace);letter-spacing:.14em;text-transform:uppercase;color:#7F8992}
.gcg-publico-footer__col ul{list-style:none;margin:0;padding:0}
.gcg-publico-footer__col a,.gcg-publico-footer__col button{display:inline-flex;align-items:center;min-height:30px;padding:0;border:0;background:none;color:#AAB2BA;font:500 13px var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);text-align:left;text-decoration:none;overflow-wrap:anywhere;cursor:pointer;transition:color .16s}
.gcg-publico-footer__col a:hover,.gcg-publico-footer__col button:hover{color:var(--gcg-accent,#F4A62A)}
.gcg-publico-footer__col .gcg-publico-footer__dato{display:flex;align-items:center;min-height:30px;margin:0;color:#8B95A0;font:500 13px var(--gcg-font-body,Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
.gcg-publico-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:6px 24px;flex-wrap:wrap;margin-top:8px;padding:8px 72px 0 0;border-top:1px solid rgba(255,255,255,.06)}
.gcg-publico-footer__aviso{margin:0;font-size:10.5px;line-height:1.4;color:#707782}
.gcg-publico-footer__copy{flex:0 0 auto;font-size:10.5px;line-height:1.4;color:#707782}

/* ---------- Responsive ---------- */
/* Mismo punto de corte que la portada: 7 enlaces visibles hasta 961 px, botón de menú por debajo. */
@media(min-width:961px){.gcg-landing-nav__mobile{display:none}}
@media(max-width:1120px){.gcg-landing-nav__links{gap:18px}}
@media(max-width:1120px) and (min-width:961px){
  .gcg-landing-nav__inner{gap:16px}
  .gcg-landing-brand{width:160px}
  .gcg-landing-nav__links{gap:15px}
  .gcg-landing-nav__links a{letter-spacing:0}
  /* P1-B: en este rango la portada ocultaba Ingresar/Regístrate y no había menú: se quedan visibles, compactos. */
  .gcg-landing-nav__actions{gap:6px;margin-left:0}
  .gcg-landing-nav__actions .gcg-landing-btn{min-height:40px;padding-inline:11px;letter-spacing:.02em}
}
@media(max-width:1010px) and (min-width:961px){.gcg-landing-nav__links{gap:12px}} /* holgura: con scrollbar clásico de 15 px a 961 px no sobra ni un píxel */
@media(max-width:960px){
  .gcg-landing-nav__links,.gcg-landing-nav__actions{display:none}
  .gcg-landing-nav__menu{display:block}
}
@media(max-width:680px){
  .gcg-landing-shell{width:min(100% - 32px,1240px)}
  .gcg-landing-nav,.gcg-landing-nav.is-scrolled{height:66px}
  .gcg-landing-brand{width:154px}
  .gcg-landing-brand img{height:50px}
  .gcg-landing-nav__mobile{max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px);padding-inline:16px}
  .gcg-publico-espacio{height:66px}
  .gcg-publico-footer{padding:8px 0 38px} /* 60px: sitio libre para el botón flotante de soporte / controles de vista */
  .gcg-publico-footer__top{gap:0 11px}
  .gcg-publico-footer__marca{margin:0 4px 0 0}
  .gcg-publico-footer__marca img{width:72px}
  .gcg-publico-footer__col a,.gcg-publico-footer__col button,.gcg-publico-footer__col .gcg-publico-footer__dato{min-height:22px;font-size:11px}
  .gcg-publico-footer__col .gcg-publico-footer__dato{display:none} /* «País» sobra en móvil: el espacio manda */
  .gcg-publico-footer__bottom{padding:6px 0 0;margin-top:4px}
  .gcg-publico-footer__aviso,.gcg-publico-footer__copy{font-size:10px}
}
@media(max-width:390px){
  .gcg-landing-shell{width:min(100% - 24px,1240px)}
}
@media(prefers-reduced-motion:reduce){
  .gcg-landing-nav,.gcg-landing-brand,.gcg-landing-btn,.gcg-landing-nav__links a,.gcg-landing-nav__links a::after,.gcg-landing-nav__menu span,.gcg-publico-footer__col a,.gcg-publico-footer__col button{transition:none}
  .gcg-landing-nav__mobile:not([hidden]){animation:none}
}
@media print{.gcg-landing-nav{display:none}}
