/* ============================================================
   Kipy — documentos legales
   Se apoya en site.css: aquí solo viven las clases que trae el
   contenido original (policy-*, clause, callout, toc, num, ff…).
   El texto legal no se toca: solo cambia su vestimenta.
   ============================================================ */

.legal .barra{position:sticky;background:var(--blanco);border-bottom-color:var(--linea);}
.legal .barra .marca .m-claro{display:none;}
.legal .barra .marca .m-oscuro{display:block;}
.legal .barra .menu a:not(.btn){color:var(--texto-2);}
.legal .barra .menu a:not(.btn):hover{color:var(--morado);}
.legal .barra .btn-min{background:var(--morado);color:#fff;}
.legal .barra .btn-min:hover{background:#3D0A73;}
.legal .hamburguesa{background:rgba(45,0,94,.08);color:var(--morado);}

/* el contenido original viene envuelto en .container */
.container{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:var(--gutter);}

/* ---------- cabecera del documento ---------- */
.hero-policy{
  position:relative;overflow:hidden;
  background:var(--g-morado);color:#fff;
  padding-block:clamp(56px,7vw,88px);
}
.hero-policy .container{position:relative;z-index:1;}
.hero-policy .badge{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 16px;border-radius:999px;margin-bottom:var(--e5);
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
}
.hero-policy h1{
  font-family:'Oduda','Poppins',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.005em;line-height:.98;
  font-size:clamp(2.25rem,5.2vw,3.75rem);
}
.hero-policy h1 .grad{color:var(--rojo);}
.hero-policy .lead{
  margin-top:var(--e5);max-width:62ch;
  font-size:clamp(1.0625rem,1.5vw,1.125rem);line-height:1.62;
  color:var(--sobre-oscuro-2);
}
.meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--e6);}
.meta-pill{
  padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);
  font-size:.8438rem;font-weight:500;color:var(--sobre-oscuro-2);
}

/* ---------- cuerpo ---------- */
.policy-wrap{padding-block:clamp(48px,6vw,80px);background:var(--blanco);}
.policy-card{
  background:var(--carta);border:1px solid var(--linea);border-radius:var(--radio-g);
  padding:clamp(28px,4vw,56px);
  box-shadow:var(--sombra);
  max-width:860px;margin-inline:auto;
}
.policy-intro{font-size:1.0625rem;line-height:1.7;color:var(--texto-2);}
.policy-intro + .policy-intro{margin-top:14px;}

.policy-section{padding-top:var(--e8);}
.policy-section:first-of-type{padding-top:var(--e7);}
.policy-section h2{
  display:flex;align-items:baseline;gap:14px;
  font-family:'Oduda','Poppins',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.006em;line-height:1.08;
  font-size:clamp(1.375rem,2.4vw,1.875rem);color:var(--morado);
  padding-bottom:var(--e4);margin-bottom:var(--e5);
  border-bottom:1px solid var(--linea);
}
.policy-section h2 .num{
  flex:none;font-size:.9375rem;font-weight:700;letter-spacing:.04em;
  color:var(--rojo-texto);font-variant-numeric:tabular-nums;
}
.policy-section > p{font-size:1rem;line-height:1.7;color:var(--texto-2);}
.policy-section > p + p{margin-top:12px;}

.policy-list{display:flex;flex-direction:column;gap:var(--e5);margin-top:var(--e5);}
.policy-item h3,.clause h3{
  font-size:1.125rem;font-weight:700;color:var(--morado);
  line-height:1.4;margin-bottom:6px;
}
.policy-item p,.clause p{font-size:1rem;line-height:1.7;color:var(--texto-2);}
.policy-item p + p,.clause p + p{margin-top:10px;}
.policy-item + .policy-item{margin-top:var(--e5);}
.clause{padding-top:var(--e5);}
.clause + .clause{border-top:1px solid var(--linea);}

.policy-card ul,.policy-card ol{
  margin-top:12px;padding-left:22px;
  display:flex;flex-direction:column;gap:9px;
  color:var(--texto-2);font-size:1rem;line-height:1.65;
}
.policy-card ul{list-style:disc;}
.policy-card ol{list-style:decimal;}
.policy-card li::marker{color:var(--rojo-texto);}
.policy-card strong{color:var(--morado);font-weight:700;}
.policy-card a{
  color:var(--rojo-texto);font-weight:600;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(192,34,81,.35);
}
.policy-card a:hover{text-decoration-color:currentColor;}

.callout{
  margin-top:var(--e5);padding:18px 20px;border-radius:16px;
  background:rgba(255,48,75,.07);
  font-size:.9688rem;line-height:1.65;color:var(--texto);
}
.callout strong{color:var(--rojo-texto);}

.toc{
  margin-top:var(--e6);padding:22px 24px;border-radius:18px;
  background:#F3EFF7;
}
.toc > p,.toc > strong{
  display:block;font-size:.8125rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--texto-3);margin-bottom:12px;
}
.toc ol{padding-left:20px;gap:7px;}

/* marcadores del texto legal pendiente de completar */
.pending{
  background:rgba(255,48,75,.12);color:var(--rojo-texto);
  padding:1px 7px;border-radius:6px;font-weight:600;font-size:.9375em;
}

.back-row{margin-top:var(--e8);padding-top:var(--e5);border-top:1px solid var(--linea);}
.back-link{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--rojo-texto);font-weight:600;
  text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:rgba(192,34,81,.35);
}
.back-link:hover{text-decoration-color:currentColor;}
.back-link svg{width:18px;height:18px;}

@media (max-width:640px){
  .policy-section h2{flex-direction:column;gap:6px;}
}
