/* Banner de cookies y páginas legales de RALÚN */
.cookies { position: fixed; z-index: 100; left: 16px; right: 16px; bottom: 16px; max-width: 560px; margin: 0 auto;
  background: #252D61; color: #FFFFFF; border-radius: 14px; padding: 20px; box-shadow: 0 18px 50px rgba(37, 45, 97, .35);
  font-family: "Montserrat", system-ui, sans-serif; font-size: 14px; line-height: 1.5; }
.cookies a { color: #FFFFFF; }
.cookies-opciones { margin: 14px 0 4px; display: grid; gap: 10px; }
.cookies-opciones label { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; font-weight: 600; cursor: pointer; }
.cookies-opciones label span { grid-column: 2; font-weight: 400; opacity: .8; font-size: 13px; }
.cookies-opciones input { margin-top: 3px; accent-color: #E87C71; width: 16px; height: 16px; }
.cookies-botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; justify-content: flex-end; }
.cookies-botones button { font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 10px 16px; border-radius: 999px; cursor: pointer; }
.cb-lleno { background: #FFFFFF; color: #252D61; border: 0; }
.cb-linea { background: transparent; color: #FFFFFF; border: 1.5px solid rgba(255, 255, 255, .5); }
.cookies [hidden] { display: none; }

.legal-links { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.legal-links a { color: inherit; opacity: .75; text-decoration: none; }
.legal-links a:hover { opacity: 1; text-decoration: underline; }

/* Páginas de texto legal */
.doc { max-width: 760px; margin: 0 auto; padding: 110px 20px 80px; color: #252D61; font-family: "Montserrat", system-ui, sans-serif; }
.doc .volver { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: #252D61; }
.doc h1 { font-weight: 500; font-size: clamp(32px, 6vw, 52px); letter-spacing: -.02em; margin: 26px 0 8px; line-height: 1.05; }
.doc .fecha { font-size: 13px; color: #6b7196; margin-bottom: 36px; }
.doc h2 { font-weight: 600; font-size: 20px; margin: 34px 0 10px; }
.doc p, .doc li { font-size: 16px; line-height: 1.65; color: #3c4472; }
.doc ul { padding-left: 20px; margin: 8px 0; }
.doc li { margin: 4px 0; }
.doc table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 15px; }
.doc th, .doc td { text-align: left; padding: 10px 8px; border-bottom: 1px solid #dcd9d4; vertical-align: top; }
.doc .caja { background: #fff; border: 1px solid #dcd9d4; border-radius: 12px; padding: 18px 20px; margin: 16px 0; }
.doc .boton-borrar { font: inherit; font-weight: 600; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; background: #E87C71; color: #fff; border: 0; border-radius: 999px; padding: 13px 22px; cursor: pointer; margin-top: 8px; }
.doc .ok { color: #1f6b3a; font-weight: 600; margin-top: 10px; }
.doc a { color: #252D61; }
