/* ═══ base/base.css ═══ */
/* ══ base.css · Reset mínimo, utilidades y piezas de marco (cabecera, pie, botones) ═══════════════════════════
   ORIGEN: T20B/pagina-standalone.html — reset y utilidades l. 73-83; cabecera «marco» l. 95-103; botones l. 289-300;
   pie l. 392-394; pausa de movimiento l. 208-210. Los colores salen de tokens.css (no hay valores nuevos).
   QUÉ NO ES: no trae héroe, ni fondos decorativos, ni la composición de ninguna página. Cada página pone lo suyo.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════ */
:root{--ap-radio-boton:999px} /* el radio de los botones de T20B; los CAMPOS usan --ap-radio (5 px) */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--ap-s-fondo);color:var(--ap-s-texto);font-family:var(--ap-texto);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit}
img,svg{display:block}
h1,h2,h3{font-family:var(--ap-display)}
:focus-visible{outline:3px solid var(--ap-s-foco);outline-offset:3px;border-radius:6px}

.ap-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ap-ancho{max-width:1240px;margin:0 auto}
.ap-sec{padding:clamp(56px,7vw,100px) max(16px,3vw)}
.ap-ante{display:inline-flex;align-items:center;gap:10px;font-family:var(--ap-mono);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ap-s-texto-3)}
.ap-ante::before{content:"";width:22px;height:1px;background:var(--ap-azul)}
.ap-h2{font-family:var(--ap-display);font-weight:600;font-size:clamp(30px,2.4vw + 14px,52px);line-height:1.08;letter-spacing:var(--ap-track-display);margin:14px 0 0;max-width:22ch}
.ap-lead{font-size:18px;color:var(--ap-s-texto-2);max-width:60ch;margin:16px 0 0}

/* Enlace para saltar al contenido */
.ap-salto{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ap-s-accion);color:var(--ap-s-accion-texto);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.ap-salto:focus{top:12px}

/* Cabecera mínima (logo + «Consulta gratis») */
.ap-marco{position:sticky;top:0;z-index:30;height:60px;display:flex;align-items:center;gap:18px;padding:0 max(16px,3vw);
  background:rgba(10,22,40,.95);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid rgba(127,190,233,.12)}
.ap-marco .ap-marca{display:flex;align-items:center;text-decoration:none}
.ap-marco .ap-marca img{height:40px;width:auto}
.ap-marco nav{margin-left:auto;display:flex;gap:6px;align-items:center}
.ap-marco nav a{font-size:14px;text-decoration:none;color:#D7E7F6;padding:8px 12px;border-radius:999px}
.ap-marco nav a:hover{color:#F7FAFE;background:rgba(255,255,255,.06)}
.ap-marco nav a.ap-wa{color:#0A1628;background:#22C35D;font-weight:700}
.ap-marco nav a.ap-wa:hover{background:#86EFAC}
@media (max-width:640px){.ap-marco{gap:10px}.ap-marco nav a:not(.ap-wa){display:none}.ap-marco .ap-marca img{height:34px}}

/* Pie */
.ap-pie{padding:40px max(16px,3vw) 60px;border-top:1px solid var(--ap-s-borde);color:var(--ap-s-texto-3);font-size:14px}
.ap-pie .ap-ancho{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ap-pie a{color:var(--ap-s-texto-2)}

/* Botones */
.ap-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border-radius:var(--ap-radio-boton);border:0;cursor:pointer;font:inherit;font-size:15px;font-weight:600;text-decoration:none;line-height:1;
  background:var(--ap-s-accion);color:var(--ap-s-accion-texto)}
.ap-btn:hover{background:var(--ap-s-accion-hover)}
.ap-btn svg{width:18px;height:18px;flex:none}
.ap-btn--borde{background:transparent;color:var(--ap-s-texto);box-shadow:inset 0 0 0 1.5px var(--ap-s-borde-fuerte)}
.ap-btn--borde:hover{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ap-s-texto)}
.ap-btn.ap-ok{background:var(--ap-s-accion);color:var(--ap-s-accion-texto)}

/* Pausar movimiento (WCAG 2.2.2): sólo hace falta si hay movimiento continuo de más de 5 s.
   Las animaciones NO se apagan con «reducir movimiento» (orden de Robert, 20-oct): esto es un botón, no una media query. */
.ap-pausa{background:none;border:1px solid var(--ap-s-borde);color:var(--ap-s-texto-3);font:inherit;font-size:12px;border-radius:var(--ap-radio);padding:5px 10px;min-height:32px;cursor:pointer}
.ap-pausa:hover{color:var(--ap-s-texto)}
body.ap-pausado *{animation-play-state:paused!important}

/* Panel (lo usan compartir, insertar y citar). ORIGEN: T20B/herramientas/cierre.css .panel-dif */
.ap-panel,.ap-compartir,.ap-insertar,.ap-citar{border-radius:var(--ap-radio-panel);padding:24px;background:linear-gradient(180deg,var(--ap-s-panel),var(--ap-s-panel-2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px var(--ap-s-borde),0 30px 60px -36px rgba(0,0,0,.9)}
[data-tema="claro"] .ap-panel,[data-tema="claro"] .ap-compartir,[data-tema="claro"] .ap-insertar,[data-tema="claro"] .ap-citar{background:var(--ap-s-panel);box-shadow:0 0 0 1px var(--ap-s-borde),0 14px 30px -22px rgba(16,58,98,.35)}
.ap-panel__t{margin:0;font-family:var(--ap-display);font-weight:600;letter-spacing:-.02em;font-size:22px;color:var(--ap-s-texto)}
.ap-panel__b{margin:8px 0 0;color:var(--ap-s-texto-3);font-size:14.5px}

/* ═══ componentes/compartir/compartir.css ═══ */
/* ══ compartir.css · fichas de compartir (el panel .ap-panel que comparten insertar/citar/compartir vive en base/base.css) ═══════════════════════
   ORIGEN: T20B/herramientas/cierre.css (.panel-dif, .fichas-red, .ficha-red, .fr-*). Mismo diseño de ficha. */
.ap-fichas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0}
.ap-ficha{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:64px;padding:12px;border-radius:10px;border:0;cursor:pointer;text-align:left;font:inherit;color:var(--ap-s-texto);text-decoration:none;
  background:linear-gradient(180deg,#1A4470,#12304F);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 3px 0 #06101E;transition:transform .15s,box-shadow .15s,background .3s}
[data-tema="claro"] .ap-ficha{background:var(--ap-niebla);color:var(--ap-tinta);box-shadow:inset 0 0 0 1px var(--ap-borde)}
.ap-ficha:hover{background:linear-gradient(180deg,#1F5285,#163A60)}
[data-tema="claro"] .ap-ficha:hover{background:var(--ap-niebla-2)}
.ap-ficha:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 #06101E}
.ap-ficha__ico{grid-row:1 / span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:rgba(127,190,233,.14);color:var(--ap-s-acento)}
.ap-ficha__ico svg{width:20px;height:20px}
.ap-ficha__t{font-weight:700;font-size:14.5px}
.ap-ficha__d{font-size:12px;color:var(--ap-s-texto-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-ficha.ap-ok{background:var(--ap-s-accion);color:var(--ap-s-accion-texto)}
.ap-ficha.ap-ok .ap-ficha__d{color:var(--ap-s-accion-texto)}
.ap-ficha.ap-ok .ap-ficha__ico{background:rgba(10,22,40,.15);color:var(--ap-s-accion-texto)}
@media (max-width:420px){.ap-fichas{grid-template-columns:minmax(0,1fr)}}

/* ═══ componentes/citar/citar.css ═══ */
/* ══ citar.css · ORIGEN: T20B/herramientas/cierre.css (.citas, .cita-f, .cf-et, .cf-copiar) ═════════════ */
.ap-citas{display:grid;gap:10px;margin:16px 0 0}
.ap-cita{position:relative;padding:14px 14px 12px;border-radius:10px;background:#081F38;box-shadow:inset 0 0 0 1px rgba(127,190,233,.14);transition:box-shadow .3s}
[data-tema="claro"] .ap-cita{background:var(--ap-niebla)}
.ap-cita:hover,.ap-cita:focus-within{box-shadow:inset 0 0 0 1.5px var(--ap-celeste)}
[data-tema="claro"] .ap-cita:hover,[data-tema="claro"] .ap-cita:focus-within{box-shadow:inset 0 0 0 1.5px var(--ap-azul-txt)}
.ap-cita__et{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:var(--ap-radio);background:var(--ap-celeste);color:#0A1628}
.ap-cita p{margin:8px 0 0;padding-right:84px;font-size:13.5px;line-height:1.55;color:var(--ap-s-texto-2);word-break:break-word}
.ap-cita__copiar{position:absolute;right:10px;top:9px;border:0;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;border-radius:var(--ap-radio);padding:5px 12px;color:var(--ap-s-texto);background:rgba(127,190,233,.16);min-height:32px}
.ap-cita__copiar:hover{background:rgba(127,190,233,.28)}
.ap-cita__copiar.ap-ok{background:var(--ap-s-accion);color:var(--ap-s-accion-texto)}

/* ═══ componentes/sello-fuentes/fuentes.css ═══ */
/* ══ fuentes.css · ORIGEN: T20B/herramientas/cierre.css (.fuentes2, .leyes, .ley-n, .ley-v), sin el sello redondo ═══ */
.ap-fuentes{padding:clamp(24px,3vw,40px);border-radius:var(--ap-radio-panel);background:linear-gradient(180deg,rgba(18,48,79,.6),rgba(8,31,56,.6));box-shadow:inset 0 0 0 1px rgba(127,190,233,.16)}
[data-tema="claro"] .ap-fuentes{background:var(--ap-s-panel);box-shadow:0 0 0 1px var(--ap-s-borde)}
.ap-fuentes__t{margin-top:12px}
.ap-fuentes__intro{display:flex;align-items:flex-start;gap:10px}
.ap-fuentes__ok{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;margin-top:2px;border-radius:5px;background:var(--ap-s-accion);color:var(--ap-s-accion-texto);font-size:15px;font-weight:800;line-height:1}
.ap-leyes{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.ap-leyes li{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start;padding:16px 0;border-top:1px dashed var(--ap-s-borde)}
.ap-ley__n{font-family:var(--ap-display);font-weight:700;font-size:22px;letter-spacing:-.02em;color:var(--ap-accion-brillo);text-align:center;padding:10px 0;border-radius:var(--ap-radio);background:rgba(34,195,93,.08);box-shadow:inset 0 0 0 1px rgba(34,195,93,.35)}
[data-tema="claro"] .ap-ley__n{color:var(--ap-accion);background:rgba(21,122,60,.07);box-shadow:inset 0 0 0 1px rgba(21,122,60,.35)}
.ap-leyes a{font-family:var(--ap-display);font-weight:600;font-size:19px;color:var(--ap-s-texto);text-decoration-color:rgba(127,190,233,.5);text-underline-offset:4px}
.ap-leyes p{margin:4px 0 0;color:var(--ap-s-texto-2);font-size:15px}
.ap-ley__v{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--ap-s-texto-3)}
@media (max-width:860px){.ap-leyes li{grid-template-columns:72px 1fr;gap:12px}}

