/* ====== BASE THEME ====== */
:root{
  --brand-blue:#0b2a5b;--brand-blue-900:#0a244e;--text-on-blue:#eef5ff;
  --body-bg:#0f1222;--card-bg:#111427;--border:#1f2540;--accent:#00d1ff;
  --link:#9fd1ff;--link-hover:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--body-bg);color:#e7e9f3;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;line-height:1.5}
.container{width:min(1200px,92vw);margin-inline:auto}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* ====== HEADER ====== */
.site-header{
  background:linear-gradient(180deg,var(--brand-blue),var(--brand-blue-900));
  color:var(--text-on-blue);
  border-bottom:1px solid rgba(255,255,255,.06);
}
/* contenedor a todo el ancho con 20px de padding lateral */
.site-header .container{width:100%;max-width:none;margin:0;padding:0 20px}

.topbar{
  display:flex;justify-content:flex-end;align-items:center;gap:.75rem;
  padding:.25rem 0;font-size:.9rem;opacity:.9
}
.lang-switch{display:inline-flex;gap:.5rem;align-items:center}
.lang-switch a{
  color:var(--link);text-decoration:none;font-weight:600;
  padding:.25rem .5rem;border-radius:.375rem;border:1px solid transparent
}
.lang-switch a.active{color:var(--link-hover);border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.lang-switch a:hover{color:var(--link-hover)}

/* Fila de marca + tabs: compacta, tabs centradas respecto al logo */
.brand-row{
  display:flex;
  align-items:center;          /* ✅ tabs centradas verticalmente con el logo */
  gap:1.25rem;
  padding:.25rem 0 .45rem;     /* ✅ barra más baja */
  min-height:30px;             /* referencia visual de “media altura” */
  margin-left:20px;            /* ✅ 20px desde el borde izquierdo */
}
.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;position:relative}
/* Logo grande sin agrandar en exceso la barra: lo “subimos” un poco */
.brand img{
  height:190px;                /* ✅ grande */
  width:auto;display:block;margin:0;
  transform:translateY(-14px); /* ✅ aligera la altura percibida de la barra */
}

/* ====== NAV TABS ====== */
.nav-holder{display:flex;align-items:center}
.tabs{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:.25rem;background:rgba(255,255,255,.06);
  padding:.28rem .48rem .40rem;  /* ✅ un poco más de aire por abajo */
  border-radius:.75rem;
}
.tab{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.48rem 1rem .60rem;     /* ✅ botones algo más “pesados” abajo */
  border-radius:.6rem;text-decoration:none;
  color:var(--text-on-blue);opacity:.9;border:1px solid transparent;
  transition:all .2s ease;
}
.tab:hover{opacity:1;background:rgba(255,255,255,.10)}
.tab.active{background:#0f1f3d;border-color:rgba(255,255,255,.15);opacity:1;font-weight:700}
.tab.cta{margin-left:.25rem;border:1px dashed rgba(255,255,255,.25)}

/* ====== CONTENT ====== */
.main-offset{padding-top:12px}

/* ====== LOGIN HELPERS ====== */
.login-wrap{max-width:760px;margin:28px auto;padding:0 8px}
.login-cols{display:flex;gap:24px;flex-wrap:wrap;align-items:stretch}
.login-form-col{flex:1 1 360px;max-width:420px}
.login-text-col{flex:1 1 260px;min-width:260px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}

/* ====== RESPONSIVE ====== */
@media (max-width: 992px){
  .brand img{height:130px;transform:translateY(-10px)}
}
@media (max-width: 768px){
  .brand-row{min-height:20px}
  .brand img{height:100px;transform:translateY(-6px)}
}
