/* base.css — lo común a todas las páginas (spec 13): caja, cuerpo, enlaces, foco, logotipo y avisos.
   Solo usa tokens de marca.css; no escribe colores, fuentes ni radios. */
* { box-sizing: border-box; }
body { margin:0; padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);
       background:var(--color-fondo); color:var(--color-texto); font:16px/1.5 var(--fuente); }
a { color:var(--color-acento); }
:focus-visible { outline:2px solid var(--color-acento); outline-offset:2px; }
code, pre { font-family:var(--fuente-mono); }

/* Logotipo de texto */
.marca { font-weight:var(--marca-peso); letter-spacing:var(--marca-interletra); color:var(--marca-color);
         text-decoration:none; }

/* Avisos en línea */
.error { background:var(--color-error-suave); color:var(--color-error); border-radius:var(--radio);
         padding:10px 14px; font-size:15px; margin:0 0 8px; }
.exito { background:var(--color-acento-suave); color:var(--color-acento); border-radius:var(--radio);
         padding:10px 14px; font-size:15px; margin:0 0 8px; }
.error:empty, .exito:empty { display:none; }

/* Aviso de cookies al pie (static/js/aviso-cookies.js, spec 14 §7): informa, no bloquea. */
.aviso-cookies { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:9;
                 max-width:560px; margin:0 auto; display:flex; align-items:center; gap:12px; padding:12px 14px;
                 background:var(--color-superficie); color:var(--color-texto); border:1px solid var(--color-borde);
                 border-radius:var(--radio-grande); box-shadow:var(--sombra-flotante); font-size:14px; line-height:1.4; }
.aviso-cookies p { margin:0; flex:1; }
.aviso-cookies button { flex:none; padding:9px 14px; border:0; border-radius:var(--radio); font:700 14px/1 var(--fuente);
                        color:var(--color-acento-texto); background:var(--color-acento); cursor:pointer; }
