/* =========================================================
   Clean Mari · página legal (Privacy Policy)
   Usa los tokens de css/styles.css. Nivel ligero: sin librerías.
   ========================================================= */

.nav .legal__nav-btn{display:inline-flex}   /* aquí no hay menú: el botón se ve también en celular */
@media(max-width:400px){.nav .legal__nav-btn{--pad:10px 14px;font-size:14px;min-height:44px}}

/* ===== Portada ===== */
.legal-hero{position:relative;overflow:clip;padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,64px);
  background:linear-gradient(180deg,var(--bg) 0%,var(--brand-tint) 100%);border-bottom:1px solid var(--line)}
.legal-hero__techo{position:absolute;right:max(-60px,calc((100vw - var(--maxw)) / 2 - 40px));top:24px;width:min(520px,70vw);height:auto;opacity:.9;pointer-events:none}
.legal-hero__techo path{fill:none;stroke:var(--brand-soft);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}
.legal-hero__d1{width:34px;height:34px;right:22px;top:34px}
.legal-hero__d2{width:18px;height:18px;right:70px;top:22px;color:var(--magenta)}
@media(min-width:760px){
  .legal-hero__d1{width:44px;height:44px;right:clamp(24px,12vw,220px);top:clamp(120px,14vw,170px)}
  .legal-hero__d2{width:22px;height:22px;right:clamp(70px,18vw,300px);top:clamp(180px,20vw,240px)}
}
.legal-hero .wrap{position:relative;z-index:2}
.legal-hero__t{font-size:clamp(48px,10vw,96px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:4px 0 20px}
.legal-hero__lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--muted);max-width:40em}
.legal-hero__fecha{margin-top:24px}

/* ===== En resumen ===== */
.resumen-legal{margin-top:clamp(-28px,-3vw,-20px);position:relative;z-index:3}
.glance{list-style:none;padding:0;display:grid;gap:12px}
@media(min-width:620px){.glance{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.glance{grid-template-columns:repeat(4,1fr)}}
.glance__item{display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.glance__item b{font:700 18px/1.25 var(--font-display);letter-spacing:-.01em}
.glance__item span:last-child{font-size:14.5px;line-height:1.5;color:var(--muted)}
.glance__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}
.glance__ico svg{width:22px;height:22px}
.glance__item--grad{background:linear-gradient(150deg,var(--magenta),var(--cta-b));border:0;color:#fff}
.glance__item--grad .glance__ico{background:rgba(255,255,255,.18);color:#fff}
.glance__item--grad span:last-child{color:#F1E6FF}

/* ===== Texto legal ===== */
.legal{display:grid;gap:28px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(64px,9vw,112px)}
.legal > *{min-width:0}
@media(min-width:960px){.legal{grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start}}

.legal__indice{position:relative}
@media(min-width:960px){.legal__indice{position:sticky;top:calc(var(--nav-h) + 24px)}}
.indice{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);padding:4px 6px}
.indice summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 14px;font:700 15px/1 var(--font-display)}
.indice summary::-webkit-details-marker{display:none}
.indice summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);rotate:45deg;translate:0 -3px;transition:rotate .3s var(--ease)}
.indice[open] summary::after{rotate:225deg;translate:0 3px}
.indice ol{list-style:none;padding:4px 8px 12px;margin:0;display:grid;gap:2px;counter-reset:ind}
.indice li{counter-increment:ind}
.indice a{display:flex;gap:10px;align-items:baseline;padding:9px 10px;border-radius:10px;text-decoration:none;font-size:14.5px;line-height:1.3;color:var(--muted);transition:background .25s,color .25s}
.indice a::before{content:counter(ind,decimal-leading-zero);font:700 12px/1 var(--font-display);color:var(--brand);opacity:.7}
.indice a:hover{background:var(--brand-tint);color:var(--ink)}
.indice a[aria-current="true"]{background:var(--brand-soft);color:var(--ink);font-weight:600}
@media(min-width:960px){.indice summary{pointer-events:none}.indice summary::after{display:none}}

.legal__texto{max-width:740px;color:#2B2150;font-size:17px;line-height:1.72}
.legal__texto section{scroll-margin-top:calc(var(--nav-h) + 24px);padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.legal__texto section:last-child{border-bottom:0;margin-bottom:0}
.legal__texto h2{display:flex;align-items:center;gap:14px;font-size:clamp(24px,3vw,30px);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin-bottom:16px;color:var(--ink)}
.legal__texto h2 span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font:800 15px/1 var(--font-display);letter-spacing:0}
.legal__texto h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:24px 0 10px;color:var(--ink)}
.legal__texto p + p{margin-top:14px}
.legal__texto b{color:var(--ink);font-weight:700}
.legal__texto a:not(.btn){color:var(--brand);font-weight:600;text-underline-offset:3px}
.legal__lista{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}
.legal__lista li{position:relative;padding-left:28px}
.legal__lista li::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:12px;background:var(--brand);
  clip-path:path("M6 0C6.5 3.5 8.5 5.5 12 6C8.5 6.5 6.5 8.5 6 12C5.5 8.5 3.5 6.5 0 6C3.5 5.5 5.5 3.5 6 0Z")}
.legal__destacado{margin-top:18px;padding:16px 18px;border-radius:var(--r-md);background:var(--brand-tint);border-left:4px solid var(--brand);color:var(--ink);font-weight:600}

.tabla-legal{margin:16px 0;overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface)}
.tabla-legal:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.tabla-legal table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:480px}
.tabla-legal th{text-align:left;font:700 12.5px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:var(--brand-tint);padding:14px 16px}
.tabla-legal td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.tabla-legal code{font:600 13.5px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);background:var(--brand-soft);padding:2px 6px;border-radius:6px;white-space:nowrap}
@media(max-width:560px){
  .tabla-legal table{min-width:0}
  .tabla-legal thead{display:none}
  .tabla-legal tr{display:block;padding:12px 16px;border-top:1px solid var(--line)}
  .tabla-legal tr:first-child{border-top:0}
  .tabla-legal td{display:block;border:0;padding:3px 0}
  .tabla-legal td:last-child{color:var(--muted);font-size:14px}
}

.contacto-legal{display:grid;margin:18px 0 26px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);overflow:hidden}
.contacto-legal > div{display:grid;gap:4px;padding:14px 18px;border-top:1px solid var(--line)}
.contacto-legal > div:first-child{border-top:0}
@media(min-width:620px){.contacto-legal > div{grid-template-columns:120px 1fr;align-items:baseline}}
.contacto-legal__k{font:700 12.5px/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.legal__cta{margin-top:4px}

.pie a[aria-current="page"]{color:#fff}
