/* ───────── UtilWebPro · estilos compartidos de páginas legales ───────── */
:root{
  --paper:#F4EFE6; --paper-2:#EFE8DB; --card:#FBF8F2;
  --ink:#1B1815; --ink-soft:#574F45; --muted:#8A8073;
  --line:#E2D9C9; --line-strong:#D3C8B4;
  --accent:#CA462C; --accent-deep:#A8361F; --teal:#2F6E5E;
  --font-display:'Fraunces',Georgia,serif;
  --font-ui:'Hanken Grotesk',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-ui);background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.wrap{max-width:820px;margin:0 auto;padding:0 24px;position:relative;z-index:1}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(244,239,230,.82);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:1080px;margin:0 auto;padding:0 24px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand .mark{width:34px;height:34px;border-radius:9px;background:var(--accent);display:grid;place-items:center;
  color:#fff;font-family:var(--font-display);font-weight:600;font-size:20px;box-shadow:0 4px 12px rgba(202,70,44,.35);transform:rotate(-4deg)}
.brand .name{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.02em}
.brand .name b{color:var(--accent);font-weight:600}
.brand .name .pro{display:inline-block;background:var(--accent);color:#fff;font-family:var(--font-ui);
  font-weight:700;font-size:.5em;letter-spacing:.1em;line-height:1;padding:.28em .42em;border-radius:5px;
  margin-left:.34em;vertical-align:middle;transform:translateY(-1px);box-shadow:0 2px 6px rgba(202,70,44,.3)}
.nav a.back{font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:8px 14px;border-radius:99px;transition:.2s}
.nav a.back:hover{background:var(--paper-2);color:var(--ink)}

/* Artículo legal */
.legal{padding:54px 0 30px}
.legal .eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.legal h1{font-family:var(--font-display);font-weight:500;font-size:clamp(32px,5vw,46px);letter-spacing:-.025em;line-height:1.08}
.legal .updated{color:var(--muted);font-size:13.5px;margin-top:12px}
.legal .card{background:var(--card);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 1px 2px rgba(27,24,21,.04),0 8px 30px rgba(27,24,21,.06);padding:38px 40px;margin-top:30px}
@media(max-width:560px){.legal .card{padding:26px 22px}}
.legal h2{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em;margin:30px 0 10px}
.legal h2:first-child{margin-top:0}
.legal h3{font-family:var(--font-display);font-weight:600;font-size:17px;margin:20px 0 6px}
.legal p{color:var(--ink-soft);margin-bottom:12px;font-size:15.5px}
.legal ul{margin:0 0 14px 22px;color:var(--ink-soft);font-size:15.5px}
.legal li{margin-bottom:7px}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--accent-deep)}
.legal strong{color:var(--ink)}
.legal .divider{height:1px;background:var(--line);margin:26px 0}

/* Placeholder a rellenar por el propietario */
.ph{background:rgba(202,70,44,.12);color:var(--accent-deep);padding:1px 6px;border-radius:5px;font-weight:600;white-space:nowrap}

/* Tabla de cookies */
.legal table{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:14px}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-soft)}
.legal th{font-weight:700;color:var(--ink);background:var(--paper-2)}
.legal table tr:last-child td{border-bottom:none}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}

/* Nota / aviso */
.note{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:12px;padding:16px 18px;margin:18px 0;font-size:14px;color:var(--ink-soft)}
.note strong{color:var(--ink)}

/* Footer */
footer.site{margin-top:50px;border-top:1px solid var(--line);background:var(--paper-2)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;padding:40px 24px;max-width:1080px;margin:0 auto}
.foot .col h4{font-family:var(--font-display);font-size:16px;font-weight:600;margin-bottom:12px}
.foot .col a{display:block;color:var(--ink-soft);text-decoration:none;font-size:14px;padding:4px 0;transition:.18s}
.foot .col a:hover{color:var(--accent)}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0;font-size:13px;color:var(--muted);text-align:center}
.foot .brand .name{font-size:20px}
