/* Shared styles for the legal pages (aviso legal, privacidad, cookies), generated by tools/legal_build.py. */
:root { --bg: #fbf8f3; --ink: #2f3349; --ink-soft: #5d6380; --line: #e7e1d6; --accent: #ff8c00; --accent-deep: #d96f00; --f-display: "Rubik", "Helvetica Neue", Arial, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body { font: 400 16px/1.65 var(--f-display); }
.in { max-width: 860px; margin-inline: auto; padding-inline: 16px; }
.site-head { position: sticky; top: 0; z-index: 50; background: #000; color: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.28); }
.site-head .in { max-width: 1240px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px; }
.site-head img { height: 54px; width: auto; display: block; }
.site-head .back { color: #fff; font-weight: 700; font-size: .93rem; text-decoration: none; border: 2px solid #fff; border-radius: 999px; padding: 9px 18px; white-space: nowrap; }
.site-head .back:hover { background: rgba(255,255,255,.1); }
.legal { max-width: 860px; margin: 0 auto; padding: 56px 16px 72px; overflow-wrap: anywhere; }
.legal h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); line-height: 1.05; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 28px; }
.legal h1:not(:first-child) { margin-top: 64px; padding-top: 40px; border-top: 1.5px solid var(--line); }
.legal h2, .legal h3, .legal h4, .legal h5, .legal h6 { font-weight: 700; line-height: 1.2; margin: 32px 0 10px; }
.legal h2 { font-size: 1.5rem; } .legal h3 { font-size: 1.3rem; } .legal h4 { font-size: 1.15rem; } .legal h5, .legal h6 { font-size: 1.02rem; }
.legal p, .legal li { color: var(--ink-soft); }
.legal p { margin: 0 0 14px; }
.legal ul, .legal ol { margin: 0 0 14px; padding-left: 22px; }
.legal li { margin-bottom: 6px; }
.legal strong { color: var(--ink); }
.legal a { color: var(--accent-deep); text-underline-offset: 3px; }
.legal table { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: .92rem; display: block; overflow-x: auto; }
.legal td, .legal th { border: 1px solid var(--line); padding: 8px 10px; vertical-align: top; text-align: left; color: var(--ink-soft); }
.legal th { color: var(--ink); font-weight: 700; background: #f4efe6; }
.legal tbody th { width: 28%; }
.legal code { font-family: "Anonymous Pro", ui-monospace, monospace; font-size: .95em; background: #f4efe6; padding: 1px 5px; border-radius: 4px; overflow-wrap: anywhere; }
.legal .legal-meta { margin-top: -16px; margin-bottom: 28px; }
.legal h3[id], .legal h2[id] { scroll-margin-top: 110px; }
.legal-btn { font: 700 .95rem var(--f-display); color: #fff; background: var(--accent); border: 0; border-radius: 999px; padding: 11px 22px; cursor: pointer; }
.legal-btn:hover { background: var(--accent-deep); }
.legal-foot { background: #000; color: #fff; font-size: .88rem; }
.legal-foot .in { max-width: 1240px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-block: 26px; }
.legal-foot nav { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.legal-foot a, .legal-foot button { color: #fff; text-decoration: none; font: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.legal-foot a:hover, .legal-foot button:hover { color: var(--accent); }
@media (max-width: 520px) { .site-head img { height: 40px; } .site-head .back { padding: 7px 14px; font-size: .85rem; } }
