/* Componentes compartidos entre las páginas públicas. */
/* Header público: transparente al inicio y contenido al desplazarse. */
.site-header{position:sticky;top:0;z-index:20;padding:24px 0;border:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:padding .3s ease,background .3s ease}
.site-header .navbar{height:66px;display:flex;align-items:center;padding:0 18px;border:1px solid transparent;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:border-color .3s ease,border-radius .3s ease,background .3s ease,box-shadow .3s ease}
.site-header.is-scrolled{padding:24px 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-scrolled .navbar{border-color:rgba(59,130,246,.25);border-radius:16px;background:rgba(11,18,32,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 40px rgba(0,0,0,.18)}
.site-header .brand{display:inline-flex;align-items:center;gap:12px;color:var(--text,#f8fafc);font-size:18px;font-weight:800;letter-spacing:-.04em;text-decoration:none}.site-header .brand img{width:38px;height:38px;filter:drop-shadow(0 0 8px rgba(59,130,246,.65))}
.site-header .nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}.site-header .nav-links>a{color:var(--muted,#94a3b8);font-size:14px;font-weight:600;text-decoration:none}.site-header .nav-links>a:not(.nav-login):not(.button){position:relative;padding:8px 0}.site-header .nav-links>a:not(.nav-login):not(.button):after{content:'';position:absolute;right:0;bottom:1px;left:0;height:1px;background:var(--blue-light,#93c5fd);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.site-header .nav-links>a:not(.nav-login):not(.button):hover{color:var(--text,#f8fafc)}.site-header .nav-links>a:not(.nav-login):not(.button):hover:after,.site-header .nav-links>a:not(.nav-login):not(.button):focus-visible:after{transform:scaleX(1);transform-origin:left}.site-header .nav-login{margin-left:62px;color:var(--text,#f8fafc)!important}
.public-language{display:flex;align-items:center;padding:3px;border:1px solid var(--line,#1e293b);border-radius:8px;background:rgba(8,16,29,.72);cursor:pointer}.public-language span{min-width:29px;padding:4px 6px;border-radius:5px;color:var(--dim,#708099);font:700 10px var(--mono,monospace);text-align:center}.public-language span[aria-current="true"]{background:rgba(59,130,246,.26);color:var(--text,#f8fafc)}.public-language:hover{border-color:var(--blue-light,#93c5fd)}.public-language:focus-visible{outline:2px solid var(--cyan,#22d3ee);outline-offset:3px}
.site-header .button{display:inline-flex;align-items:center;gap:11px;padding:14px 19px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 12px 25px -12px rgba(37,99,235,.85);color:#fff;font-size:14px;font-weight:800;text-decoration:none;transition:.2s}.site-header .nav-links>a.button{color:#fff}.site-header .button:hover{transform:translateY(-2px);filter:brightness(1.1)}.site-header .button-small{padding:9px 14px;border-radius:9px;font-size:12px}.site-header .menu-toggle{display:none;background:none;border:0;color:#fff}
@media(max-width:900px){.site-header .nav-links{gap:14px}.site-header .nav-login{margin-left:10px}}
@media(max-width:680px){.site-header,.site-header.is-scrolled{padding:14px 0}.site-header .navbar,.site-header.is-scrolled .navbar{height:58px;padding:0 13px;border-radius:13px}.site-header .brand{gap:9px;font-size:16px}.site-header .brand img{width:32px;height:32px}.site-header .menu-toggle{display:block;margin-left:auto;width:34px;height:34px}.site-header .menu-toggle span{display:block;width:19px;height:1px;margin:5px auto;background:#fff}.site-header .nav-links{position:absolute;top:72px;left:16px;right:16px;display:none;margin:0;padding:16px;border:1px solid var(--line-bright,rgba(96,165,250,.35));border-radius:13px;background:#0b1220;box-shadow:0 18px 50px rgba(0,0,0,.5)}.site-header .nav-links.is-open{display:grid;gap:14px}.site-header .nav-login{margin:0}.site-header .nav-links .button{justify-content:center}}
.ft-footer{padding:58px 0 32px;border-top:1px solid var(--line,#1e293b);background:rgba(5,8,15,.45)}
.ft-footer__grid{display:grid;grid-template-columns:minmax(250px,1.15fr) minmax(210px,1fr) minmax(210px,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.ft-footer__logo{display:inline-flex;align-items:center;gap:10px;color:var(--text,#f8fafc);font-size:18px;font-weight:800;letter-spacing:-.04em;text-decoration:none}.ft-footer__logo img{width:30px;height:30px;filter:drop-shadow(0 0 8px rgba(59,130,246,.65))}
.ft-footer__brand p,.ft-footer__column p,.ft-footer__column address{display:block;max-width:340px;margin:10px 0 0;color:var(--dim,#708099);font-size:12px;font-style:normal;line-height:1.8}.ft-footer__column h3{margin:0;color:var(--text,#f8fafc);font-size:13px;letter-spacing:-.02em}.ft-footer__column p{color:var(--muted,#94a3b8);font-weight:600}.ft-footer a{color:var(--muted,#94a3b8);font-size:11px;font-weight:600;text-decoration:none}.ft-footer a:hover{color:var(--blue-light,#93c5fd)}.ft-footer__column address a{color:var(--blue-light,#93c5fd)}
.ft-footer .ft-footer__bottom{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:30px;align-items:center;margin:42px auto 0;padding-top:21px;border-top:1px solid var(--line,#1e293b)}.ft-footer__bottom small{color:var(--dim,#708099);font-size:11px}.ft-footer__bottom div{display:flex;gap:17px;align-items:center}
@media(max-width:900px){.ft-footer__grid{grid-template-columns:1fr 1fr}.ft-footer__brand{grid-column:1/-1;max-width:430px}.ft-footer__bottom{grid-template-columns:1fr;gap:18px;align-items:start}}
@media(max-width:680px){.ft-footer{padding:45px 0 27px}.ft-footer__grid{grid-template-columns:1fr;gap:28px}.ft-footer__brand{grid-column:auto}.ft-footer__bottom{margin-top:35px;gap:18px}.ft-footer__bottom div{flex-wrap:wrap}}

/* Identidad FlowTrix compartida: el nombre conserva el degradado del acceso. */
.site-header .brand>span,.ft-footer__logo>span{display:inline-block;background:linear-gradient(94deg,#fff 0%,#60a5fa 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#fff}
