/* GoACPros governed Spanish route shell. Release GAP-ES-PROD-002 v1.0.4; corrective GAP-ES-CORRECTIVE-001 v1.0.0. */
body.goacpros-es-site {
  --es-bg: #081326;
  --es-surface: #0F1F3D;
  --es-surface-soft: #132846;
  --es-text: #FAF7F2;
  --es-muted: #AAB6C8;
  --es-accent: #F4A261;
  --es-border: rgba(250,247,242,.14);
  margin: 0;
  background: var(--es-bg);
  color: var(--es-text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-theme="light"] body.goacpros-es-site {
  --es-bg: #FAF7F2;
  --es-surface: #FFFFFF;
  --es-surface-soft: #F1EADE;
  --es-text: #0F1F3D;
  --es-muted: #46556B;
  --es-border: #CFC5B4;
}
body.goacpros-es-site *, body.goacpros-es-site *::before, body.goacpros-es-site *::after { box-sizing: border-box; }
body.goacpros-es-site a { text-underline-offset: 3px; }
body.goacpros-es-site .screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.goacpros-es-site .screen-reader-text:focus { position:fixed!important; left:16px; top:16px; z-index:99999; width:auto; height:auto; padding:12px 16px; clip:auto; background:#fff; color:#081326; border-radius:8px; }
.es-site-topline { border-bottom:1px solid var(--es-border); background:var(--es-surface); color:var(--es-muted); font-size:13px; }
.es-site-topline-inner { min-height:38px; display:flex; justify-content:center; align-items:center; gap:8px; padding:8px 20px; text-align:center; }
.es-site-status-dot { width:8px; height:8px; border-radius:50%; background:var(--es-accent); flex:0 0 auto; }
.es-site-header { position:sticky; top:0; z-index:100; background:rgba(8,19,38,.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--es-border); }
html[data-theme="light"] .es-site-header { background:rgba(250,247,242,.9); }
.es-site-nav-bar { width:min(1180px, calc(100% - 40px)); min-height:76px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.es-site-logo { display:inline-flex; align-items:center; min-height:48px; text-decoration:none; }
.es-site-logo img { display:block; width:220px; max-width:42vw; height:auto; }
.es-site-logo .logo-light { display:none!important; }
.es-site-logo .logo-dark { display:block!important; }
html[data-theme="light"] .es-site-logo .logo-dark { display:none!important; }
html[data-theme="light"] .es-site-logo .logo-light { display:block!important; }
html[data-theme="dark"] .es-site-logo .logo-light { display:none!important; }
html[data-theme="dark"] .es-site-logo .logo-dark { display:block!important; }
.es-site-nav { display:flex; align-items:center; gap:24px; color:var(--es-muted); font-size:15px; font-weight:650; }
.es-site-nav > a { min-height:44px; display:inline-flex; align-items:center; color:var(--es-muted); text-decoration:none; }
.es-site-nav > a:hover, .es-site-nav > a:focus-visible { color:var(--es-text); }
.es-site-lang { border-left:1px solid var(--es-border); padding-left:20px; white-space:nowrap; }
.es-site-lang a { color:var(--es-muted); text-decoration:none; }
.es-site-lang strong { color:var(--es-text); }
.es-site-call { display:inline-flex!important; align-items:center!important; gap:8px; min-height:44px!important; padding:10px 18px!important; border-radius:999px!important; background:var(--es-accent)!important; color:#0F1F3D!important; font-weight:750!important; text-decoration:none!important; white-space:nowrap; }
.es-site-theme-toggle, .es-site-menu-toggle { width:44px; height:44px; border:1px solid var(--es-border); border-radius:12px; background:var(--es-surface); color:var(--es-text); cursor:pointer; font:inherit; font-size:19px; align-items:center; justify-content:center; }
.es-site-theme-toggle { display:inline-flex; border-radius:999px; }
.es-site-menu-toggle { display:none; }
.es-site-mobile-menu { display:none; background:var(--es-surface); border-top:1px solid var(--es-border); padding:16px 20px 20px; }
.es-site-mobile-menu.is-open { display:block; }
.es-site-mobile-menu a { display:block; min-height:48px; padding:12px 16px; margin:0 auto 8px; max-width:720px; border:1px solid var(--es-border); border-radius:14px; background:var(--es-bg); color:var(--es-text); font-weight:650; text-decoration:none; }
.es-site-mobile-menu .es-site-mobile-call { background:var(--es-accent); color:#0F1F3D; border-color:var(--es-accent); text-align:center; font-weight:750; }
.es-site-mobile-lang { max-width:720px; margin:8px auto 0; padding:10px 16px; color:var(--es-muted); }
.es-site-mobile-lang a { display:inline; min-height:auto; padding:0; margin:0; border:0; background:transparent; color:var(--es-muted); }
.es-site-mobile-lang strong { color:var(--es-text); }
.es-site-footer { background:#040B18; color:#B0BCCC; padding:56px 0 28px; }
.es-site-footer-inner { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.es-site-footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(200,200,220,.1); }
.es-site-footer h2 { color:#6B7D96; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin:0 0 16px; }
.es-site-footer a { color:#B0BCCC; font-size:14px; font-weight:600; display:block; padding:6px 0; text-decoration:none; }
.es-site-footer a:hover, .es-site-footer a:focus-visible { color:#FAF7F2; }
.es-site-footer-brand img { display:block; width:240px; max-width:100%; height:auto; }
.es-site-footer-tagline { margin:14px 0 0; font-size:17px; font-weight:700; color:#E8E0D4; }
.es-site-footer-summary { margin:10px 0 0; color:#6B7D96; font-size:13.5px; line-height:1.6; max-width:390px; }
.es-site-disclosure { padding:24px 0; border-bottom:1px solid rgba(200,200,220,.1); text-align:center; }
.es-site-disclosure p { margin:0 auto; color:#6B7D96; font-size:12px; line-height:1.65; max-width:920px; }
.es-site-disclosure p + p { margin-top:12px; }
.es-site-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; }
.es-site-footer-bottom p { margin:0; color:#6B7D96; font-size:12px; }
.es-site-footer-legal { display:flex; flex-wrap:wrap; gap:22px; }
.es-site-footer-legal a { padding:0; font-size:12px; color:#6B7D96; }
.es-site-mobile-callbar { display:none; position:fixed; left:0; right:0; bottom:0; z-index:120; align-items:center; justify-content:space-between; gap:14px; min-height:68px; padding:8px 16px calc(8px + env(safe-area-inset-bottom, 0px)); background:var(--es-surface); border-top:1px solid var(--es-border); box-shadow:0 -8px 30px rgba(0,0,0,.25); }
.es-site-mobile-callbar-note { color:var(--es-muted); font-size:12px; font-weight:600; line-height:1.35; }
.es-site-mobile-callbar a { display:inline-flex; min-height:48px; padding:12px 18px; border-radius:14px; background:var(--es-accent); color:#0F1F3D; text-decoration:none; font-weight:750; white-space:nowrap; }
body.goacpros-es-site :is(a,button):focus-visible { outline:3px solid var(--es-accent); outline-offset:3px; }
@media (max-width:1060px) {
  .es-site-nav { display:none; }
  .es-site-menu-toggle { display:inline-flex; }
  .es-site-mobile-callbar { display:flex; }
  body.goacpros-es-site { padding-bottom:92px; }
  .es-site-footer { padding-bottom:108px; }
}
@media (max-width:620px) {
  .es-site-nav-bar { width:min(100% - 28px, 1180px); }
  .es-site-logo img { width:190px; max-width:58vw; }
  .es-site-footer-grid { grid-template-columns:1fr; }
  .es-site-footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; }
  .es-site-mobile-callbar-note { max-width:130px; }
}
