/* Términos y políticas: página pública /legal.html, lector dentro de la app y pantalla de aceptación. */

/* ---- Texto legal (compartido por la página y el lector) ---- */
.legal-doc{max-width:760px;margin:0 auto;color:#e9ded1;font-size:15px;line-height:1.7}
.legal-doc h2{margin:6px 0 14px;font-family:var(--letra-imperial,Georgia,serif);font-size:clamp(21px,2.4vw + 12px,27px);line-height:1.25;color:#fff3cf}
.legal-doc h3{margin:22px 0 6px;font-size:15.5px;color:#ffd982}
.legal-doc p{margin:0 0 10px}
.legal-doc ul{margin:4px 0 12px;padding-left:20px}
.legal-doc li{margin:0 0 6px}
.legal-doc li::marker{color:#d4a64a}
.legal-doc a{color:#ffd982;text-underline-offset:3px}
.legal-doc strong{color:#fff}
.legal-doc section{padding:26px 0 8px;border-top:1px solid #d4a64a33;scroll-margin-top:12px}
.legal-num{margin:0;font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#d4a64a}
.legal-ficha{padding:14px 18px;margin:0 0 18px;border:1px solid #d4a64a4d;border-radius:16px;background:linear-gradient(170deg,#2a1414cc,#120b0acc);font-size:13px;color:#d9c8b6}
.legal-ficha p{margin:0 0 4px}.legal-ficha p:last-child{margin:0}
.legal-intro{color:#cdbcab}
.legal-indice{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;margin:16px 0 8px}
.legal-indice a{display:block;padding:9px 13px;border:1px solid #d4a64a33;border-radius:12px;background:#ffffff08;color:#f1e4d3;font-size:13px;text-decoration:none;transition:border-color .15s,background .15s}
.legal-indice a:hover,.legal-indice a:focus-visible{border-color:#d4a64a;background:#d4a64a1a;outline:none}
.legal-tabla{overflow-x:auto;margin:6px 0 12px;border:1px solid #d4a64a33;border-radius:12px}
.legal-tabla table{width:100%;border-collapse:collapse;font-size:13px}
.legal-tabla th,.legal-tabla td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #d4a64a22}
.legal-tabla th{color:#ffd982;font-weight:700;background:#d4a64a14}
.legal-tabla tr:last-child td{border-bottom:0}
.legal-pie{margin:28px 0 8px;padding-top:18px;border-top:1px solid #d4a64a33;text-align:center;font-size:12px;letter-spacing:.08em;color:#a8968a}

/* ---- Página pública ---- */
.legal-pagina{margin:0;min-height:100dvh;padding:0 18px 40px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:radial-gradient(ellipse at 50% 0,#c8102e33 0,transparent 55%),#0d0908;color:#e9ded1}
.legal-cabecera{display:flex;flex-direction:column;align-items:center;gap:6px;padding:34px 0 18px;text-align:center}
.legal-logo{width:84px;height:84px;border-radius:22%;box-shadow:0 0 0 1px #d4a64a59,0 12px 40px #000000b3,0 0 60px #c8102e40}
.legal-lema,.tyc-lema{margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.42em;margin-right:-.42em;color:#ffd982}
.legal-cabecera h1{margin:2px 0 0;font-family:var(--letra-imperial,Georgia,serif);font-size:clamp(22px,3vw + 12px,32px);color:#fff}

/* ---- Aviso en la pantalla de acceso ---- */
.tyc-acceso{display:flex;align-items:flex-start;gap:10px;width:min(460px,100%);padding:12px 16px;border:1px solid #d4a64a40;border-radius:16px;background:#0e0a09cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#d9c8b6;font-size:12.5px;line-height:1.55;flex:none}
.tyc-acceso p{margin:0}
.tyc-acceso .tyc-ico{flex:none;width:20px;height:20px;margin-top:1px;color:#d4a64a}
.tyc-acceso button{padding:0;border:0;background:none;font:inherit;font-weight:700;color:#ffd982;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tyc-acceso button:focus-visible{outline:2px solid #ffd982;outline-offset:2px;border-radius:4px}

.tyc-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---- Pantalla de aceptación ---- */
.tyc-capa{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));color:#f7f0e4;background:radial-gradient(ellipse at 50% 18%,#c8102e38 0,transparent 58%),linear-gradient(180deg,#080707bf 0,#080707a6 40%,#080707eb 100%),url(/assets/imperio/fondos/castillo-vertical.webp) center top/cover no-repeat,#120708;animation:tyc-entra .32s ease-out both}
.tyc-capa.tyc-saliendo{animation:tyc-sale .26s ease-in both}
@keyframes tyc-entra{from{opacity:0}to{opacity:1}}
@keyframes tyc-sale{to{opacity:0}}
.tyc-tarjeta{position:relative;width:min(520px,100%);margin:auto;padding:26px 24px 20px;border:1px solid #d4a64a59;border-radius:26px;background:linear-gradient(170deg,#1d1413f2,#0e0a09ee);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 28px 90px #000000b3,inset 0 1px 0 #ffd98221;text-align:center;animation:tyc-sube .42s cubic-bezier(.2,.8,.2,1) both}
.tyc-tarjeta:before{content:"";position:absolute;left:30px;right:30px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#d4a64a,#ffd982,#d4a64a,transparent)}
@keyframes tyc-sube{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.tyc-logo{display:block;width:72px;height:72px;margin:0 auto;border-radius:22%;box-shadow:0 0 0 1px #d4a64a59,0 10px 32px #000000b3,0 0 50px #c8102e4d}
.tyc-tarjeta h1{margin:8px 0 6px;font-family:var(--letra-imperial,Georgia,serif);font-size:clamp(23px,2vw + 16px,29px);line-height:1.2;color:#fff;background:linear-gradient(180deg,#fff7e0 0%,#f3cd6c 60%,#d9a441 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tyc-sub{margin:0 auto 16px;max-width:40ch;font-size:13.5px;line-height:1.55;color:#cdbcab}
.tyc-puntos{display:grid;gap:8px;margin:0 0 14px;padding:0;list-style:none;text-align:left}
.tyc-puntos li{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border:1px solid #d4a64a26;border-radius:16px;background:#ffffff07}
.tyc-puntos .tyc-ico{flex:none;width:34px;height:34px;padding:7px;border-radius:11px;color:#ffd982;background:linear-gradient(160deg,#650817,#2a0a0e);box-shadow:inset 0 0 0 1px #d4a64a4d}
.tyc-puntos span{font-size:12.5px;line-height:1.5;color:#cdbcab}
.tyc-puntos strong{display:block;margin-bottom:1px;font-size:13.5px;color:#fff3cf}
.tyc-leer{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin:0 0 14px;padding:0 16px;border:1px dashed #d4a64a80;border-radius:999px;background:transparent;color:#ffd982;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.tyc-leer:hover,.tyc-leer:focus-visible{border-style:solid;border-color:#ffd982;background:#d4a64a14;outline:none}
.tyc-leer .tyc-ico{width:18px;height:18px}
.tyc-checks{display:grid;gap:8px;margin:0 0 12px;text-align:left}
.tyc-check{position:relative;display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border:1px solid #4a3532;border-radius:14px;background:#0d0908;font-size:13px;line-height:1.5;color:#e9ded1;cursor:pointer;transition:border-color .15s,background .15s}
.tyc-check:has(input:checked){border-color:#d4a64a;background:#d4a64a12}
.tyc-check:has(input:focus-visible){outline:2px solid #ffd982;outline-offset:2px}
.tyc-check input{position:absolute;opacity:0;width:1px;height:1px}
.tyc-caja{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border:1.5px solid #d4a64a;border-radius:7px;background:#080707;transition:background .15s}
.tyc-caja .tyc-ico{width:15px;height:15px;stroke-width:2.6;color:#2a1a08;opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s}
.tyc-check input:checked + .tyc-caja{background:linear-gradient(180deg,#ffd982,#d4a64a)}
.tyc-check input:checked + .tyc-caja .tyc-ico{opacity:1;transform:none}
.tyc-error{margin:0 0 10px;padding:9px 12px;border-radius:12px;background:#c8102e26;color:#ffc9cf;font-size:12.5px}
.tyc-acciones{display:flex;gap:10px}
.tyc-acciones button{flex:1;min-height:46px;padding:0 18px;border-radius:999px;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.tyc-si{border:1px solid #d4a64a8c;color:#fff;background:linear-gradient(180deg,#d4173a,#9c0b23);box-shadow:0 8px 24px #c8102e4d;transition:filter .15s,opacity .15s}
.tyc-si:hover:not(:disabled){filter:brightness(1.1)}
.tyc-si:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.tyc-no{border:1px solid #d4a64a45;background:transparent;color:#f7f0e4}
.tyc-no:hover{border-color:#d4a64a;color:#ffd982}
.tyc-acciones button:focus-visible{outline:2px solid #ffd982;outline-offset:2px}
.tyc-version{margin:14px 0 0;font-size:11px;letter-spacing:.04em;color:#8f7d71}
.tyc-tarjeta-corta{width:min(440px,100%)}
@media (max-width:420px){.tyc-tarjeta{padding:22px 16px 16px;border-radius:22px}.tyc-acciones{flex-direction:column-reverse}}

/* ---- Lector a pantalla completa ---- */
.tyc-lector{position:fixed;inset:0;z-index:2147483001;display:flex;flex-direction:column;background:#0d0908;color:#e9ded1;animation:tyc-entra .22s ease-out both}
.tyc-lector-barra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #d4a64a40;background:linear-gradient(180deg,#1d1413,#120b0a)}
.tyc-lector-barra .tyc-lema{margin:0}
.tyc-lector-barra h2{margin:2px 0 0;font-family:var(--letra-imperial,Georgia,serif);font-size:19px;color:#fff}
.tyc-cerrar{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #d4a64a59;border-radius:50%;background:#ffffff0a;color:#ffd982;cursor:pointer}
.tyc-cerrar:focus-visible{outline:2px solid #ffd982;outline-offset:2px}
.tyc-lector-cuerpo{flex:1;overflow-y:auto;padding:18px 18px max(28px,env(safe-area-inset-bottom));outline:none;-webkit-overflow-scrolling:touch}
.tyc-cargando{max-width:760px;margin:30px auto;text-align:center;color:#cdbcab}
.tyc-cargando a{color:#ffd982}
