/* ===== Besplus — Política de privacidad ===== */
.bpw-politica{max-width:1300px;margin:0 auto;box-sizing:border-box;color:#2b2b2b;font-size:16px;line-height:1.7}
.bpw-pol-cab{max-width:900px;margin:0 0 40px}
.bpw-pol-cab h1{font-size:clamp(30px,4vw,44px)!important;font-weight:800!important;line-height:1.15!important;color:#1a1a1a!important;margin:0 0 10px!important}
.bpw-pol-fecha{display:inline-block;font-size:13px;font-weight:600;color:#1a1a1a;background:color-mix(in srgb,var(--bpw-verde,#20C406) 16%,#fff);padding:4px 12px;border-radius:30px;margin:0 0 16px}
.bpw-pol-intro{font-size:18px;color:#444;margin:0}
.bpw-pol-cuerpo.con-indice{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
.bpw-pol-indice{position:sticky;top:calc(var(--bpw-pol-top,110px) + var(--bpw-admin,0px));max-height:calc(100vh - var(--bpw-pol-top,110px) - var(--bpw-admin,0px) - 24px);overflow-y:auto;background:#f6f8f6;border-radius:14px;padding:20px 20px 22px}
.bpw-pol-indice>p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6b6b6b;margin:0 0 10px}
.bpw-pol-indice ol{margin:0 0 16px;padding-left:18px;font-size:14px;line-height:1.5}
.bpw-pol-indice li{margin:0 0 8px}
.bpw-pol-indice a{color:#1a1a1a;text-decoration:none}
.bpw-pol-indice a:hover{color:var(--bpw-verde,#20C406)}
.bpw-pol-secciones{max-width:none}
.bpw-pol-sec{scroll-margin-top:110px;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #e6e9e6}
.bpw-pol-sec:last-child{border-bottom:0}
.bpw-pol-sec h2{display:flex;align-items:center;gap:12px;font-size:22px!important;font-weight:800!important;color:#1a1a1a!important;margin:0 0 12px!important;line-height:1.3!important}
.bpw-pol-sec h2 span{flex:0 0 32px;height:32px;border-radius:50%;background:var(--bpw-verde,#20C406);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center}
.bpw-pol-txt p{margin:0 0 .9em}
.bpw-pol-txt ul{margin:0 0 1em;padding-left:1.2em}
.bpw-pol-txt li{margin:0 0 .5em}
.bpw-pol-txt a{color:#1a1a1a;text-decoration:underline;text-decoration-color:var(--bpw-verde,#20C406);text-underline-offset:3px}
.bpw-pol-btn{appearance:none;border:2px solid var(--bpw-verde,#20C406);background:var(--bpw-verde,#20C406);color:#fff;border-radius:30px;padding:10px 20px;font:inherit;font-size:13px;font-weight:700;text-transform:uppercase;cursor:pointer;width:100%}
.bpw-pol-btn:hover{background:#1a1a1a;border-color:#1a1a1a;color:var(--bpw-verde,#20C406)}
.bpw-pol-secciones .bpw-pol-btn{width:auto}
@media (max-width:900px){
    .bpw-pol-cuerpo.con-indice{grid-template-columns:1fr;gap:28px}
    .bpw-pol-indice{position:static;max-height:none;overflow:visible}
}
/* El sticky no funciona si el tema recorta el scroll (Salient): se cambia por clip */
body.admin-bar{--bpw-admin:32px}
html:has(.bpw-pol-indice),body:has(.bpw-pol-indice),
body:has(.bpw-pol-indice) :is(#ajax-content-wrap,.ocm-effect-wrap,.ocm-effect-wrap-inner,.container-wrap,.main-content,.container,.row,.e-con,.e-con-inner,.elementor,.elementor-widget-wrap,.elementor-widget-bpw_politica,.elementor-widget-container){overflow:visible!important;overflow-x:clip!important}
/* Datos faltantes: solo visibles para administradores */
.bpw-falta{background:#fff3cd;color:#8a5a00;padding:0 4px;border-radius:4px;font-weight:600}
.bpw-pol-aviso{background:#fff3cd;border:1px solid #f0d58a;color:#5c4400;border-radius:12px;padding:12px 16px;margin:0 0 24px;font-size:14px}
/* Móvil: todo centrado */
@media (max-width:640px){
    .bpw-politica,.bpw-politica :is(h1,h2,h3,p,li,nav){text-align:center!important}
    .bpw-pol-cab{margin-left:auto;margin-right:auto}
    .bpw-pol-sec h2{flex-direction:column;justify-content:center;gap:8px}
    .bpw-pol-sec h2 span{flex:none;width:32px}
    .bpw-pol-txt ul{list-style-position:inside;padding-left:0}
    .bpw-politica nav.bpw-pol-indice ol{list-style:none!important;padding:0!important;margin-left:0!important;counter-reset:bpwpol}
    .bpw-politica nav.bpw-pol-indice ol li{display:block!important;counter-increment:bpwpol;text-align:center!important}
    .bpw-politica nav.bpw-pol-indice ol li::before{content:counter(bpwpol) ". "!important;display:inline!important;position:static!important;color:#6b6b6b}
    .bpw-politica nav.bpw-pol-indice ol li a{display:inline!important;width:auto!important;float:none!important}
    .bpw-pol-btn{width:auto}
}
