/* ── Documentos legales ── */
  .legal-ov{position:fixed;inset:0;z-index:900;background:rgba(4,10,18,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;opacity:0;transition:opacity .25s;}
  .legal-ov[hidden]{display:none;}
  .legal-ov.on{opacity:1;}
  .legal-card{width:100%;max-width:760px;max-height:90vh;display:flex;flex-direction:column;background:var(--card,var(--card));border:1px solid var(--line,var(--line));border-radius:6px;box-shadow:0 30px 80px rgba(var(--sombra-rgb),.55);transform:translateY(14px);transition:transform .35s cubic-bezier(.2,.9,.3,1);overflow:hidden;}
  .legal-ov.on .legal-card{transform:none;}
  .legal-top{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 8px;position:relative;}
  .legal-top::before{content:"";position:absolute;left:28px;top:0;width:34px;height:3px;background:var(--gold-line,var(--gold-line));}
  .legal-kick{display:block;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,var(--gold));margin-bottom:6px;}
  .legal-top h2{font-family:var(--serif);font-size:1.8rem;font-weight:600;color:var(--title,var(--title));line-height:1.1;}
  .legal-x{font-size:1.6rem;line-height:1;color:var(--muted,var(--muted));padding:4px 8px;border-radius:3px;}
  .legal-x:hover{color:var(--gold,var(--gold));}
  .legal-tabs{display:flex;gap:26px;padding:0 28px;border-bottom:1px solid var(--line,var(--line));}
  .legal-tabs button{position:relative;padding:12px 0;font-size:.8rem;color:var(--muted,var(--muted));letter-spacing:.02em;}
  .legal-tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold,var(--gold));transform:scaleX(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
  .legal-tabs button[aria-selected="true"]{color:var(--gold,var(--gold));font-weight:600;}
  .legal-tabs button[aria-selected="true"]::after{transform:scaleX(1);}
  .legal-body{overflow-y:auto;padding:22px 28px 26px;overscroll-behavior:contain;}
  .legal-doc h3{font-family:var(--serif);font-size:1.22rem;font-weight:600;color:var(--title,var(--title));margin:24px 0 8px;}
  .legal-doc p,.legal-doc li{font-size:.86rem;line-height:1.75;color:var(--muted,var(--muted));}
  .legal-doc b{color:var(--text,var(--text));font-weight:600;}
  .legal-doc ul{padding-left:18px;margin:6px 0 10px;}
  .legal-doc li{margin-bottom:5px;}
  .legal-doc li::marker{color:var(--gold-line,var(--gold-line));}
  .legal-doc a{color:var(--gold,var(--gold));text-decoration:underline;text-underline-offset:2px;}
  .legal-lead{font-size:.95rem !important;color:var(--text,var(--text)) !important;padding:14px 16px;background:rgba(var(--gold-rgb),.06);border-left:2px solid var(--gold-line,var(--gold-line));border-radius:0 4px 4px 0;}
  .legal-nota{margin-top:10px;padding:12px 14px;border:1px solid var(--line,var(--line));border-radius:4px;background:rgba(var(--realce-rgb),.02);}
  .legal-tabla{border:1px solid var(--line,var(--line));border-radius:4px;overflow:hidden;margin:10px 0 12px;}
  .legal-tabla > div{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:14px;padding:10px 14px;border-top:1px solid var(--line-2,var(--line-2));font-size:.8rem;line-height:1.6;color:var(--muted,var(--muted));}
  .legal-tabla > div > span:first-child{color:var(--text,var(--text));font-weight:500;word-break:break-word;}
  .legal-tabla .lt-h{border-top:0;background:rgba(var(--realce-rgb),.03);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;}
  .legal-tabla .lt-h span{color:var(--dim,var(--dim)) !important;font-weight:600 !important;}
  .legal-acciones{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 10px;}
  .legal-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold,var(--gold));color:var(--canvas-hondo);font-size:.74rem;font-weight:700;letter-spacing:.06em;padding:11px 18px;border-radius:3px;text-decoration:none !important;transition:background .2s,transform .12s;border:1px solid var(--gold,var(--gold));}
  .legal-btn:hover{background:var(--gold-claro);}
  .legal-btn:active{transform:translateY(1px);}
  .legal-btn.ghost{background:transparent;color:var(--gold,var(--gold)) !important;border-color:var(--gold-line,var(--gold-line));}
  .legal-btn.ghost:hover{background:rgba(var(--gold-rgb),.1);}
  .legal-pie{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;border-top:1px solid var(--line,var(--line));background:rgba(var(--realce-rgb),.02);font-size:.7rem;color:var(--dim,var(--dim));}
  .ck-pref{border:1px solid var(--line,var(--line));border-radius:4px;}
  .ck-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;}
  .ck-row + .ck-row{border-top:1px solid var(--line-2,var(--line-2));}
  .ck-row b{display:block;font-size:.86rem;color:var(--text,var(--text));}
  .ck-row span{display:block;font-size:.78rem;line-height:1.6;color:var(--muted,var(--muted));margin-top:3px;}
  .ck-fijo{font-size:.68rem !important;color:var(--green,var(--green)) !important;white-space:nowrap;margin:0 !important;}
  .ck-sw{position:relative;flex:0 0 44px;width:44px;height:24px;cursor:pointer;}
  .ck-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;}
  .ck-sw i{position:absolute;inset:0;border-radius:24px;background:rgba(var(--realce-rgb),.12);border:1px solid rgba(var(--realce-rgb),.2);transition:background .25s;}
  .ck-sw i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--text);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
  .ck-sw input:checked + i{background:var(--gold,var(--gold));border-color:var(--gold,var(--gold));}
  .ck-sw input:checked + i::after{transform:translateX(20px);background:var(--canvas-hondo);}
  .ck-sw input:focus-visible + i{outline:2px solid var(--gold,var(--gold));outline-offset:2px;}
  .sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

  /* ── Aviso de cookies ── */
  #ck-banner{position:fixed;left:20px;bottom:20px;z-index:850;width:min(430px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:18px 18px 16px;background:rgba(19,35,57,.97);border:1px solid var(--line,var(--line));border-top:2px solid var(--gold-line,var(--gold-line));border-radius:6px;box-shadow:0 18px 50px rgba(var(--sombra-rgb),.5);opacity:0;transform:translateY(16px);transition:opacity .35s,transform .45s cubic-bezier(.2,.9,.3,1);}
  #ck-banner[hidden]{display:none;}
  #ck-banner.on{opacity:1;transform:none;}
  .ck-ic{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--gold-rgb),.12);color:var(--gold,var(--gold));grid-row:span 2;}
  .ck-ic svg{width:19px;height:19px;}
  .ck-txt b{display:block;font-size:.88rem;color:var(--title,var(--title));margin-bottom:3px;}
  .ck-txt p{font-size:.77rem;line-height:1.6;color:var(--muted,var(--muted));}
  .ck-txt a{color:var(--gold,var(--gold));text-decoration:underline;text-underline-offset:2px;}
  .ck-acc{grid-column:2;display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
  .ck-acc .legal-btn{padding:9px 14px;}

  /* ── Aviso de inactividad ── */
  #idle-aviso{position:fixed;left:50%;top:18px;transform:translate(-50%,-10px);z-index:950;display:flex;align-items:center;gap:16px;padding:12px 14px 12px 18px;background:#1a2c47;border:1px solid var(--gold-line,var(--gold-line));border-radius:6px;box-shadow:0 14px 40px rgba(var(--sombra-rgb),.5);font-size:.8rem;color:var(--text,var(--text));opacity:0;transition:opacity .25s,transform .3s;max-width:calc(100vw - 24px);}
  #idle-aviso[hidden]{display:none;}
  #idle-aviso.on{opacity:1;transform:translate(-50%,0);}
  #idle-aviso b{color:var(--gold,var(--gold));font-variant-numeric:tabular-nums;}
  #idle-aviso .legal-btn{padding:8px 12px;white-space:nowrap;}

  /* Enlaces legales dentro de la app */
  .pie-legal{display:inline-flex;gap:14px;align-items:center;}
  .pie-legal a,.pie-legal button{color:var(--dim,var(--dim));text-decoration:none;font-size:inherit;padding:0;}
  .pie-legal a:hover,.pie-legal button:hover{color:var(--gold,var(--gold));}
  .sb-legal{display:flex;gap:10px;padding:0 24px 14px;font-size:.66rem;}
  .sb-legal a{color:var(--dim,var(--dim));text-decoration:none;}
  .sb-legal a:hover{color:var(--gold,var(--gold));}

  @media(max-width:600px){
    .legal-ov{padding:0;align-items:stretch;}
    .legal-card{max-height:none;height:100%;border-radius:0;border:0;}
    .legal-top,.legal-body,.legal-pie{padding-left:18px;padding-right:18px;}
    .legal-tabs{padding:0 18px;gap:22px;}
    .legal-top::before{left:18px;}
    .legal-top h2{font-size:1.5rem;}
    .legal-tabla > div{grid-template-columns:1fr;gap:2px;}
    #ck-banner{left:12px;right:12px;bottom:12px;width:auto;}
    #idle-aviso{flex-direction:column;align-items:stretch;text-align:center;gap:10px;}
  }
  @media (prefers-reduced-motion:reduce){
    .legal-ov,.legal-card,#ck-banner,#idle-aviso{transition:none !important;}
  }
