/* THE AI ACE — Header, navegación, tema e idioma */
.site-header{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(2,5,9,.92);backdrop-filter:blur(18px);position:sticky;top:0;z-index:100}
.brand{
    display:flex;
    align-items:center;
    gap:8px;

    min-width:150px;

    color:#fff;
    text-decoration:none;
    white-space:nowrap;

    font-weight:800;

    justify-self:start;
}.brand-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:24px;
    height:28px;

    font-size:28px;
    line-height:1;
    font-weight:900;

    color:#ffbf00;

    flex-shrink:0;
}
.brand span:last-child{
    font-size:14px;
    letter-spacing:.02em;
}

.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:19px}.brand-copy small{font-size:9px;letter-spacing:1px;color:#c7cbd1}
.main-nav{display:flex;gap:34px;font-weight:600}.main-nav a{color:#e5e8eb;transition:.2s}.main-nav a:hover{color:var(--cyan)}
.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle,.menu-toggle{border:1px solid #233646;background:#07101a;color:white;border-radius:10px;padding:10px 13px}.menu-toggle{display:none}
.language-selector{position:relative}.language-button{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:10px;border:1px solid #2a4052;background:#07101a;color:#fff;font:inherit;font-weight:700;cursor:pointer}.language-button:hover,.language-button[aria-expanded="true"]{border-color:var(--gold);box-shadow:0 0 22px rgba(255,191,0,.18)}
.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:210px;padding:10px;background:rgba(4,10,16,.98);border:1px solid #2a4052;border-radius:13px;box-shadow:0 22px 55px rgba(0,0,0,.55);display:none;z-index:300}.language-menu.open{display:block;animation:languageReveal .18s ease-out}.language-title{padding:8px 10px 11px;color:#aab8c8;font-size:13px;border-bottom:1px solid #182d3f;margin-bottom:5px}.language-menu button{width:100%;display:grid;grid-template-columns:26px 1fr 20px;align-items:center;text-align:left;gap:8px;border:0;background:transparent;color:#eef5fa;padding:10px;border-radius:8px;cursor:pointer;font:inherit}.language-menu button:hover,.language-menu button.active{background:rgba(255,191,0,.10);color:#ffd34f}.language-menu button b{text-align:right;color:var(--gold)}
body.light-mode .site-header{background:rgba(255,255,255,.94);border-color:#d6e1e8}body.light-mode .main-nav a{color:#172536}body.light-mode .theme-toggle,body.light-mode .language-button{background:#fff;color:#142332;border-color:#c6d4de}body.light-mode .language-menu{background:#fff;border-color:#c6d4de}body.light-mode .language-menu button{color:#142332}
@keyframes languageReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.main-nav{gap:18px}}
@media(max-width:760px){.site-header{padding:0 16px}.brand-copy{display:none}.menu-toggle{display:block}.main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;padding:20px;background:#050b12;border-bottom:1px solid #17334b}.main-nav.open{display:flex}.theme-toggle{display:none}.header-actions .btn-small{font-size:10px;padding:11px}.language-menu{right:-60px;width:205px}.language-button{padding:10px}.language-button .globe{display:none}}

/* ==================================================
   HEADER DESKTOP — CENTRADO DEFINITIVO DEL MENÚ
   ================================================== */

@media (min-width: 761px){

    .site-header{
        position: sticky;
    top: 0;
    z-index: 1000;
    }

    .site-header .main-nav{
        position: absolute;
        left: 50%;
        right: auto;
        top: 50%;

        transform: translate(-50%, -50%);

        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;

        gap: 26px;

        margin: 0;
        padding: 0;

        width: max-content;
        white-space: nowrap;
    }

    .site-header .brand{
        position: relative;
        z-index: 2;
    }

    .site-header .header-actions{
        position: relative;
        z-index: 2;
        margin-left: auto;
    }

    .main-nav a:hover {
        background: rgba(255, 255, 255, 0.04);
    }
}

@media (max-width: 760px) {
    .brand-copy {
        display: none;
    }

    .header-actions {
        gap: 8px;
    }

    .header-actions .btn-small {
        display: none;
    }

    .language-button {
        padding: 9px 10px;
    }

    .language-current {
        display: none;
    }
    /* ==========================================================
   CORRECCIÓN GLOBAL DEL HEADER
   Logo + navegación + selector de idiomas
   ========================================================== */

/* Estructura principal */

.site-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;

    width: 100%;
    min-height: var(--header-height, 74px);
    padding: 0 24px;
}

/* ==========================================================
   LOGO
   ========================================================== */

.site-header .brand {
    grid-column: 1;

    display: inline-flex;
    align-items: center;
    gap: 10px;

    min-width: max-content;
    margin: 0;

    text-decoration: none;
}

/*
   Sustituye visualmente A, ACE o cualquier variante
   por un único logotipo textual consistente.
*/

.site-header .brand-mark {
    display: inline-flex;
    align-items: center;

    color: transparent;
    font-size: 0;
    line-height: 1;
}

.site-header .brand-mark::after {
    content: "ACE";

    color: var(--color-primary, #ffb400);
    font-size: 2rem;
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    letter-spacing: -0.09em;
}

.site-header .brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1px;
}

.site-header .brand-copy strong {
    color: var(--text-primary, #ffffff);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.site-header .brand-copy small {
    color: var(--text-muted, #7b8798);
    font-size: 0.48rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.11em;
    white-space: nowrap;
}

/* ==========================================================
   NAVEGACIÓN CENTRAL
   ========================================================== */

.site-header .main-nav {
    grid-column: 2;
    justify-self: center;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 1.5vw, 28px);

    min-width: 0;
    margin: 0;
}

.site-header .main-nav a {
    white-space: nowrap;
}

/* ==========================================================
   ACCIONES DEL HEADER
   ========================================================== */

.site-header .header-actions {
    grid-column: 3;
    justify-self: end;

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;

    min-width: max-content;
    margin: 0;
}

/*
   Compatibilidad con páginas donde language-selector
   está directamente dentro de site-header.
*/

.site-header > .language-selector {
    grid-column: 3;
    justify-self: end;

    position: relative;
    margin: 0;
}

/* ==========================================================
   SELECTOR DE IDIOMAS
   ========================================================== */

.site-header .language-selector {
    position: relative;
    flex-shrink: 0;
}

.site-header .language-button {
    min-width: 74px;
    min-height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    margin: 0;
    padding: 8px 11px;

    color: var(--text-primary, #ffffff);
    background: #071522;
    border: 1px solid var(--border-color, #174e6c);
    border-radius: 11px;

    cursor: pointer;
}

.site-header .language-button:hover,
.site-header .language-button:focus-visible {
    border-color: var(--color-accent, #00b7ff);
}

.site-header .language-current {
    display: inline-block;

    color: var(--text-primary, #ffffff);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
}

.site-header .globe {
    color: var(--color-accent, #00b7ff);
}

.site-header .chevron {
    color: var(--text-muted, #7b8798);
}

/* Menú desplegable */

.site-header .language-menu {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    left: auto;
    z-index: 1000;

    min-width: 220px;
    margin: 0;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1180px) {
    .site-header {
        gap: 16px;
        padding-inline: 18px;
    }

    .site-header .main-nav {
        gap: 14px;
    }

    .site-header .main-nav a {
        font-size: 0.72rem;
    }

    .site-header .brand-copy small {
        display: none;
    }
}

/* ==========================================================
   MENÚ MÓVIL
   ========================================================== */

@media (max-width: 900px) {

  /* HEADER PRINCIPAL */
  .site-header {
    min-height: 58px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  /* OCULTAMOS EL MENÚ HAMBURGUESA */
  .menu-toggle {
    display: none !important;
  }

  /* NAVEGACIÓN HORIZONTAL COMPACTA */
  .main-nav {
    position: absolute;
    top: 58px;
    left: 0;
    right: 0;

    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-start;

    gap: 6px;
    padding: 6px 10px;

    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;

    white-space: nowrap;

    background: #020b13;
    border-top: 1px solid rgba(0, 174, 255, 0.10);
    border-bottom: 1px solid rgba(0, 174, 255, 0.18);

    z-index: 1000;

    scrollbar-width: none;
  }

  .main-nav::-webkit-scrollbar {
    display: none;
  }

  /* LINKS MUCHO MÁS PEQUEÑOS */
  .main-nav a {
    flex: 0 0 auto;
    width: auto;

    padding: 6px 9px;
    margin: 0;

    font-size: 11px;
    font-weight: 600;
    line-height: 1;

    text-align: center;
    border-radius: 7px;
  }

  /* ACCIONES DEL HEADER */
  .header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  /* REDUCIR SELECTOR DE IDIOMA */
  .language-button {
    min-height: 38px;
    padding: 6px 10px;
    font-size: 12px;
  }

  /* DEJAR ESPACIO PARA LA BARRA HORIZONTAL */
  main {
    padding-top: 42px;
  }
}
}

.site-header{height:76px;padding:0 32px;display:flex;align-items:center;
justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(2,5,9,.92);
backdrop-filter:blur(18px);position:sticky;top:0;z-index:100}
.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-size:38px;font-weight:900;letter-spacing:-4px;
color:var(--gold);font-style:italic}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:19px}
.brand-copy small{font-size:9px;letter-spacing:1px;color:#c7cbd1}.main-nav{display:flex;gap:34px;font-weight:600}
.main-nav a{color:#e5e8eb;transition:.2s}.main-nav a:hover{color:var(--cyan)}
.header-actions{display:flex;align-items:center;gap:12px}.theme-toggle,.menu-toggle{border:1px solid #233646;background:#07101a;
color:white;border-radius:10px;padding:10px 13px}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;
gap:12px;border-radius:9px;padding:16px 24px;font-weight:800;letter-spacing:.2px;transition:.25s;cursor:pointer}

@media(max-width:1050px){
    .main-nav{
        gap:18px;
    }
}