/* Estilos compartidos de las páginas legales de Flash Genius */
:root{
  --navy:#263C8F; --navy-900:#141F52; --sky:#00A8E4; --sun:#FCC16D; --sun-600:#E59E2C;
  --ink:#141A3A; --muted:#5A6185; --line:#E4E8F4; --bg-soft:#F4F7FF;
  --p-blue:#E1F8FE; --p-yellow:#FFF8D6; --p-green:#EAFBDC; --p-red:#FFE3E3;
  --ok:#1F9D63;
  --radius:22px;
  --shadow:0 18px 50px -18px rgba(20,31,82,.28);
  --ease:cubic-bezier(.22,.8,.24,1);
  --font:"Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:"Barlow Condensed","Rubik",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font-family:var(--font);color:var(--ink);background:linear-gradient(180deg,#F7F9FF,#fff 480px);line-height:1.7;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--sky)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:8px}
.container{width:min(1120px,100% - 32px);margin-inline:auto}

/* Cabecera */
.header .container{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:46px;height:auto;transition:transform .5s var(--ease)}
.brand:hover img{transform:rotate(-8deg) scale(1.06)}
.brand span{font:800 1.6rem/1 var(--display);letter-spacing:.02em;color:var(--navy)}
.brand span em{font-style:normal;color:var(--sun-600)}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;color:var(--ink);padding:10px 14px;border-radius:999px;transition:background .3s}
.back:hover{background:var(--bg-soft);color:var(--ink)}
.back svg{transition:transform .35s var(--ease)}
.back:hover svg{transform:translateX(-3px)}

/* Cabecera del documento */
.doc-head{padding:40px 0 28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 .8rem/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.eyebrow::before{content:"";width:22px;height:3px;border-radius:3px;background:currentColor}
.doc-head h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--navy-900);margin:14px 0 14px}
.doc-head p{color:var(--muted);font-size:1.1rem;max-width:720px}
.updated{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:7px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:.88rem;color:var(--muted)}
.updated::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}

/* Pestañas entre documentos */
.doc-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:12px;scrollbar-width:none}
.doc-tabs::-webkit-scrollbar{display:none}
.doc-tabs a{flex:none;padding:10px 16px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink);transition:background .3s,box-shadow .3s,transform .3s var(--ease)}
.doc-tabs a:hover{transform:translateY(-2px);color:var(--navy)}
.doc-tabs a[aria-current="page"]{background:var(--navy);color:#fff;box-shadow:0 10px 22px -12px rgba(38,60,143,.8)}

/* Maquetación */
.doc{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start;padding:20px 0 96px}
.toc{position:sticky;top:24px;padding:22px 20px;border-radius:var(--radius);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.toc b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.toc a{display:flex;gap:10px;padding:7px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.9rem;line-height:1.35;transition:background .25s,color .25s}
.toc a::before{counter-increment:t;content:counter(t);flex:none;width:20px;color:var(--muted);font-weight:600}
.toc a:hover{background:var(--bg-soft);color:var(--navy)}
.toc a.active{background:var(--p-blue);color:var(--navy);font-weight:600}

/* Texto */
.prose{min-width:0}
.prose section{padding:6px 0 26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.prose section:last-child{border-bottom:0}
.prose h2{font-size:1.45rem;line-height:1.25;letter-spacing:-.01em;color:var(--navy-900);margin:0 0 14px;display:flex;gap:12px;align-items:baseline}
.prose h2 .n{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;font:800 1.15rem/1 var(--display);transform:translateY(-2px)}
.prose h3{font-size:1.1rem;color:var(--navy-900);margin:22px 0 8px}
.prose p,.prose li{color:#363D63}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin-bottom:6px}
.prose strong{color:var(--ink)}
.card-id{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;padding:22px 24px;border-radius:18px;background:var(--bg-soft);margin:0 0 18px}
.card-id dt{font-weight:600;color:var(--muted)}
.card-id dd{margin:0}
.note{padding:16px 18px;border-radius:16px;background:var(--p-yellow);box-shadow:inset 0 0 0 1px #F6E7A6;color:#5B5530;margin:0 0 16px;font-size:.96rem}
.table-wrap{overflow-x:auto;margin:0 0 18px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line)}
table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:560px}
th,td{text-align:left;padding:12px 14px;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:var(--bg-soft);color:var(--navy-900);font-weight:600}
tr:last-child td{border-bottom:0}

/* Botones (página de cookies) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.4em;border-radius:999px;border:0;background:var(--navy);color:#fff;font:600 .95rem/1 var(--font);cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(38,60,143,.8)}
.btn--ghost{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 2px var(--line)}
.consent-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:18px;background:var(--p-blue);margin:0 0 18px}
.consent-box p{margin:0}
.consent-box div{display:flex;gap:10px;flex-wrap:wrap}

/* Pie */
.footer{background:var(--navy-900);color:rgba(255,255,255,.75);padding:28px 0;font-size:.9rem}
.footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{color:var(--sun)}
.footer nav{display:flex;gap:18px;flex-wrap:wrap}

/* Animaciones */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js.loaded .reveal{opacity:1;transform:none}

@media (max-width:900px){
  .doc{grid-template-columns:1fr;gap:24px}
  .toc{position:static}
}
@media (max-width:560px){
  body{font-size:16px}
  .back span{display:none}
  .card-id{grid-template-columns:1fr;gap:2px}
  .card-id dd{margin-bottom:10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
