/* ============================================================
   EATHERIX — estilos compartidos
   ------------------------------------------------------------
   Fuente única de los tokens de marca y del layout común
   (nav, footer, contenedor). NO duplicar estas reglas en las
   páginas: si algo debe cambiar en todo el sitio, se cambia aquí.

   Se enlaza automáticamente desde partials/head-assets.html, así
   que toda página que use los parciales lo hereda.

   Orden de cascada: este archivo carga ANTES del <style> de cada
   página, así que una página puede sobrescribir puntualmente lo
   que necesite (ej. agent.html y demo.html ajustan el nav).

   Referencia visual y decisiones de diseño: BRANDING.md
   ============================================================ */

/* ── Tokens de marca (ver BRANDING.md) ─────────────────────────────────── */
:root {
    --void: #160c28;
    --deep: #311d47;
    --surface: #3c2260;
    --rim: rgba(84, 52, 124, 0.22);
    --aether: #54347c;
    --glow: #8e6aa8;
    --luminous: #c6a7d0;
    --mist: #dccae6;
    --white: #f4eefa;
    --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Reset y base ─────────────────────────────────── */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    /* barra de scroll siempre presente: evita que el contenido centrado salte al navegar entre paginas cortas y largas */ overflow-y: scroll;
    scroll-behavior: smooth;
}
body {
    background: var(--void);
    color: var(--luminous);
    font-family: "Sora", system-ui, sans-serif;
    font-weight: 300;
    line-height: 1.75;
    overflow-x: hidden;
}
a {
    color: inherit;
    text-decoration: none;
}
img {
    display: block;
    max-width: 100%;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* ── Nav ─────────────────────────────────── */
nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 1.2rem 0;
    background: rgba(22, 12, 40, 0.85);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid var(--rim);
}
.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}
.nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-family: "Audiowide", system-ui, sans-serif;
    font-weight: 400;
    font-size: 1.05rem;
    letter-spacing: 0.2em;
    color: var(--white);
}
.nav-logo span {
    color: var(--glow);
    margin-left: -0.6em;
}
.nav-mark {
    height: 28px;
    width: auto;
}
.nav-right {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}
.nav-links {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    list-style: none;
}
.nav-links a {
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--luminous);
    transition: color 0.2s;
}
.nav-links a:hover {
    color: var(--white);
}
.nav-cta {
    padding: 0.55rem 1.3rem;
    background: var(--aether);
    color: var(--white);
    border-radius: 2px;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: background 0.2s, color 0.2s;
}
.nav-cta:hover {
    background: var(--glow);
    color: var(--void);
}

/* ── Footer ─────────────────────────────────── */
footer {
    padding: 2.5rem 0;
    border-top: 1px solid var(--rim);
}
.footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
}
.footer-logo {
    font-family: "Audiowide", system-ui, sans-serif;
    font-weight: 400;
    font-size: 0.95rem;
    letter-spacing: 0.18em;
    color: var(--white);
}
.footer-links {
    display: flex;
    gap: 2rem;
    list-style: none;
    flex-wrap: wrap;
}
.footer-links a {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(198, 167, 208, 0.5);
    transition: color 0.2s;
}
.footer-links a:hover {
    color: var(--glow);
}
.footer-copy {
    font-size: 0.7rem;
    color: rgba(198, 167, 208, 0.4);
}
.footer-social {
    display: flex;
    gap: 1rem;
}
.footer-social a {
    display: inline-flex;
    color: rgba(198, 167, 208, 0.5);
    transition: color 0.2s;
}
.footer-social a:hover {
    color: var(--glow);
}
.footer-social svg {
    width: 18px;
    height: 18px;
}

/* ── Responsive compartido ──────────────────────────────── */
@media (max-width: 640px) {
    .nav-links {
        display: none;
    }
    .footer-inner {
        justify-content: center;
        text-align: center;
    }
}
