/* zyn-site.css — cabecera, pie, selector de idioma/divisa y modal de contratar
   COMUNES a todas las páginas de zyneronix.com (Terminal 1, 10-sep-2026).
   Marca oficial: antracita #0F0F14, índigo #6366F1 → violeta #7C3AED, Z serif
   en cajita + "Zyner·onix" en Instrument Serif (ver revision-branding-2026-09-09).
   Todo con prefijo .zn- para no chocar con el CSS propio de cada página.
   El HTML lo inyecta scripts/nav.mjs entre <!-- zyn:nav --> y <!-- zyn:footer -->. */

:root{
  --zn-bg:#0F0F14; --zn-panel:#1A1A24; --zn-raised:#252535; --zn-line:#2A2A36;
  --zn-indigo:#6366F1; --zn-violet:#7C3AED; --zn-violet-light:#A78BFA;
  --zn-ink:#F5F5F7; --zn-ink-2:#C9C9D1; --zn-ink-3:#8B8B97; --zn-ink-4:#5A5A66;
  --zn-green:#3DD68C; --zn-red:#FF6B7A;
}

/* ───────────── cabecera ───────────── */
.zn-nav{position:fixed;top:0;left:0;right:0;z-index:70;backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);background:rgba(15,15,20,.82);border-bottom:1px solid var(--zn-line);font-family:'Geist',-apple-system,system-ui,sans-serif;}
.zn-nav *{box-sizing:border-box;}
.zn-nav-inner{max-width:1180px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
@media(min-width:721px){ .zn-nav-inner{padding:0 32px;} }

.zn-brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--zn-ink);flex-shrink:0;}
.zn-brand-mark{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));display:grid;place-items:center;color:#fff;font-family:'Instrument Serif',serif;font-style:italic;font-size:17px;line-height:1;box-shadow:0 4px 14px rgba(99,102,241,.35);flex-shrink:0;}
.zn-brand-name{font-family:'Instrument Serif',serif;font-size:19px;letter-spacing:-0.01em;color:var(--zn-ink);}
.zn-brand-name em{font-style:italic;color:var(--zn-violet-light);}

.zn-links{display:none;align-items:center;gap:24px;margin-left:auto;}
.zn-links a{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--zn-ink-3);text-decoration:none;transition:color .2s;white-space:nowrap;padding:6px 0;}
.zn-links a:hover{color:var(--zn-ink);}
.zn-links a[aria-current="page"]{color:var(--zn-ink);border-bottom:1px solid var(--zn-violet-light);}
@media(min-width:960px){ .zn-links{display:flex;} }

.zn-tools{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.zn-cta{font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff;text-decoration:none;padding:0 15px;border-radius:999px;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));box-shadow:0 4px 14px rgba(99,102,241,.35);transition:transform .2s;white-space:nowrap;border:none;cursor:pointer;min-height:40px;display:inline-flex;align-items:center;gap:6px;}
.zn-cta:hover{transform:translateY(-1px);}
@media(max-width:519px){ .zn-nav .zn-cta{display:none;} }

/* selector de idioma: un solo control, dos segmentos */
.zn-lang{display:inline-flex;align-items:center;border:1px solid var(--zn-line);border-radius:999px;padding:2px;background:rgba(26,26,36,.7);}
.zn-lang a, .zn-lang button{font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--zn-ink-4);text-decoration:none;padding:6px 9px;border-radius:999px;background:none;border:none;cursor:pointer;line-height:1;min-height:30px;display:inline-flex;align-items:center;transition:color .2s,background .2s;}
.zn-lang a:hover, .zn-lang button:hover{color:var(--zn-ink-2);}
.zn-lang [aria-current="true"]{color:#fff;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));}
.zn-lang [aria-disabled="true"]{opacity:.4;cursor:default;}

/* selector de divisa (fase 2): solo conversión visual, se cobra en euros */
.zn-cur{position:relative;}
.zn-cur select{appearance:none;-webkit-appearance:none;font-family:'Geist Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--zn-ink-3);background:rgba(26,26,36,.7);border:1px solid var(--zn-line);border-radius:999px;padding:0 24px 0 11px;min-height:34px;cursor:pointer;line-height:1;}
.zn-cur select:hover{color:var(--zn-ink);}
.zn-cur::after{content:"";position:absolute;right:11px;top:50%;width:5px;height:5px;border-right:1px solid var(--zn-ink-4);border-bottom:1px solid var(--zn-ink-4);transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.zn-fx{display:inline-block;margin-left:8px;font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.04em;color:var(--zn-ink-4);white-space:nowrap;font-style:normal;}
.zn-fx:empty{display:none;}
div.zn-fx{display:block;margin:6px 0 0;}

/* hamburguesa + menú móvil */
.zn-burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--zn-line);background:rgba(26,26,36,.7);color:var(--zn-ink-2);cursor:pointer;flex-shrink:0;padding:0;}
.zn-burger span{display:block;width:16px;height:1.5px;background:currentColor;position:relative;transition:transform .25s,opacity .25s;}
.zn-burger span::before, .zn-burger span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:currentColor;transition:transform .25s,top .25s;}
.zn-burger span::before{top:-5px;} .zn-burger span::after{top:5px;}
.zn-nav.open .zn-burger span{background:transparent;}
.zn-nav.open .zn-burger span::before{top:0;transform:rotate(45deg);}
.zn-nav.open .zn-burger span::after{top:0;transform:rotate(-45deg);}
@media(min-width:960px){ .zn-burger{display:none;} }

.zn-menu{display:none;border-top:1px solid var(--zn-line);background:rgba(15,15,20,.97);padding:10px 20px 22px;max-height:calc(100vh - 60px);overflow-y:auto;}
.zn-nav.open .zn-menu{display:block;}
@media(min-width:960px){ .zn-nav.open .zn-menu{display:none;} }
.zn-menu a.zn-mlink{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid var(--zn-line);font-family:'Instrument Serif',serif;font-size:22px;color:var(--zn-ink);text-decoration:none;letter-spacing:-0.01em;}
.zn-menu a.zn-mlink[aria-current="page"]{color:var(--zn-violet-light);}
.zn-menu a.zn-mlink small{font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--zn-ink-4);}
.zn-menu-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;flex-wrap:wrap;}
.zn-menu .zn-cta{display:inline-flex;min-height:44px;}
.zn-menu-tools .zn-lang, .zn-menu-tools .zn-cur{flex-shrink:0;}
@media(max-width:519px){ .zn-menu-tools .zn-cta{width:100%;justify-content:center;} }

/* aviso de idioma (primera visita, detección por navigator.language; no redirige sola) */
.zn-langbar{position:fixed;top:60px;left:0;right:0;z-index:69;background:rgba(26,26,36,.96);border-bottom:1px solid var(--zn-line);font-size:13px;color:var(--zn-ink-2);display:none;align-items:center;justify-content:center;gap:12px;padding:9px 16px;flex-wrap:wrap;font-family:'Geist',-apple-system,system-ui,sans-serif;}
.zn-langbar.show{display:flex;}
.zn-langbar a{color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));padding:6px 12px;border-radius:999px;font-size:12px;}
.zn-langbar button{background:none;border:none;color:var(--zn-ink-4);cursor:pointer;font-size:18px;line-height:1;padding:4px 6px;}

/* separador para páginas cuya cabecera antigua no era fija (legales, garantía, gracias) */
.zn-nav-spacer{height:60px;}

/* ───────────── pie ───────────── */
.zn-footer{border-top:1px solid var(--zn-line);padding:44px 0 28px;font-family:'Geist',-apple-system,system-ui,sans-serif;position:relative;z-index:2;background:var(--zn-bg);}
.zn-footer *{box-sizing:border-box;}
.zn-footer-inner{max-width:1180px;margin:0 auto;padding:0 20px;}
@media(min-width:721px){ .zn-footer-inner{padding:0 32px;} }
.zn-footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:22px;}
.zn-footer-links{display:flex;gap:6px 20px;flex-wrap:wrap;}
.zn-footer-links a{color:var(--zn-ink-4);font-size:12px;text-decoration:none;font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.04em;transition:color .2s;padding:4px 0;}
.zn-footer-links a:hover{color:var(--zn-ink-2);}
.zn-footer-legal{display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:10px;}
.zn-footer-legal a{color:var(--zn-ink-4);font-size:11.5px;text-decoration:none;font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.03em;padding:3px 0;}
.zn-footer-legal a:hover{color:var(--zn-ink-2);}
.zn-footer-note{color:var(--zn-ink-4);font-size:11.5px;font-family:'Geist Mono',ui-monospace,monospace;letter-spacing:.02em;margin-top:22px;padding-top:22px;border-top:1px solid var(--zn-line);line-height:1.7;}
.zn-footer-note a{color:var(--zn-ink-3);text-decoration:none;}
.zn-footer-note a:hover{color:var(--zn-ink);}
.zn-footer-note .zn-sep{margin:0 6px;opacity:.6;}
.zn-footer-tag{font-family:'Geist',sans-serif;color:var(--zn-ink-3);font-size:13px;max-width:360px;line-height:1.55;margin-top:12px;}

/* ───────────── modal de contratar (Stripe) ───────────── */
.zn-hire-overlay{position:fixed;inset:0;background:rgba(10,10,14,.74);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;font-family:'Geist',-apple-system,system-ui,sans-serif;}
.zn-hire-overlay[hidden]{display:none;}
.zn-hire-card{background:#16161D;border:1px solid var(--zn-line);border-radius:18px;padding:28px;max-width:440px;width:100%;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.6);max-height:calc(100vh - 40px);overflow-y:auto;}
.zn-hire-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--zn-ink-3);font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;min-width:40px;min-height:40px;}
.zn-hire-close:hover{color:var(--zn-ink);}
.zn-hire-kicker{font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--zn-violet-light);margin:0 0 8px;}
.zn-hire-card h3{margin:0 0 6px;color:var(--zn-ink);font-family:'Instrument Serif',serif;font-weight:400;font-size:26px;letter-spacing:-0.01em;line-height:1.1;}
.zn-hire-sub{color:var(--zn-ink-3);font-size:13px;margin:0 0 18px;line-height:1.5;}
.zn-hire-form label{display:block;font-size:13px;color:var(--zn-ink-3);margin-bottom:12px;}
.zn-hire-form input[type=text],.zn-hire-form input[type=email],.zn-hire-form input[type=tel]{display:block;width:100%;margin-top:6px;background:#1C1C24;border:1px solid var(--zn-line);border-radius:10px;padding:11px 12px;color:var(--zn-ink);font-size:15px;font-family:inherit;min-height:44px;outline:none;}
.zn-hire-form input:focus{border-color:var(--zn-violet);}
.zn-hire-check{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.45;}
.zn-hire-check input{margin-top:3px;flex-shrink:0;}
.zn-hire-check a{color:var(--zn-violet-light);}
.zn-hire-submit{width:100%;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));color:#fff;border:none;border-radius:999px;padding:14px;font-size:14px;font-weight:500;cursor:pointer;margin-top:8px;font-family:inherit;min-height:46px;box-shadow:0 6px 22px rgba(99,102,241,.35);}
.zn-hire-submit:disabled{opacity:.6;cursor:default;}
.zn-hire-error{color:var(--zn-red);font-size:12px;margin:10px 0 0;}
.zn-hire-error[hidden]{display:none;}
.zn-hire-fine{color:var(--zn-ink-4);font-size:11px;margin:12px 0 0;line-height:1.5;}
/* elección de producto dentro del modal (botón "Contratar" del menú) */
.zn-hire-choice{display:grid;gap:10px;margin:6px 0 4px;}
.zn-hire-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:#1C1C24;border:1px solid var(--zn-line);border-radius:14px;padding:14px 16px;color:var(--zn-ink);cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s;min-height:64px;}
.zn-hire-opt:hover{border-color:var(--zn-violet-light);background:#22222C;}
.zn-hire-opt .n{font-family:'Instrument Serif',serif;font-size:20px;line-height:1.1;}
.zn-hire-opt .d{display:block;font-size:12px;color:var(--zn-ink-3);margin-top:3px;font-family:'Geist',sans-serif;}
.zn-hire-opt .p{font-family:'Instrument Serif',serif;font-size:20px;color:var(--zn-violet-light);white-space:nowrap;}
.zn-hire-opt.web .p{color:var(--zn-ink-2);}
.zn-hire-both{font-size:12px;color:var(--zn-ink-4);margin:10px 0 0;line-height:1.5;}

/* botón fijo de contratar (páginas de producto) */
.zn-hire-fab{position:fixed;left:20px;bottom:20px;z-index:60;background:linear-gradient(135deg,var(--zn-indigo),var(--zn-violet));color:#fff;border:none;border-radius:999px;padding:13px 20px;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 8px 24px rgba(99,102,241,.4);font-family:'Geist',-apple-system,system-ui,sans-serif;min-height:46px;display:inline-flex;align-items:center;gap:8px;}
.zn-hire-fab:hover{transform:translateY(-1px);}
.zn-hire-fab.web{background:var(--zn-panel);border:1px solid var(--zn-violet-light);color:var(--zn-ink);box-shadow:0 8px 24px rgba(0,0,0,.35);}
@media(max-width:480px){ .zn-hire-fab{left:14px;bottom:14px;padding:12px 16px;font-size:13px;} }
