/* ═══════════════════════════════════════════════════════════
   SISTEMA DE VENTANAS EMERGENTES · 5 TIPOS
   Ver guía de implementación, apartado 6
   ═══════════════════════════════════════════════════════════ */
.pop-velo{position:fixed;inset:0;z-index:1500;background:rgba(26,26,26,.6);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .24s cubic-bezier(.2,.8,.3,1),visibility .24s}
.pop-velo.on{opacity:1;visibility:visible}
.pop-caja{background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.3);
  width:100%;max-width:460px;max-height:88vh;overflow-y:auto;position:relative;
  transform:translateY(18px) scale(.97);transition:transform .26s cubic-bezier(.2,.8,.3,1)}
.pop-velo.on .pop-caja{transform:translateY(0) scale(1)}
.pop-caja.ancha{max-width:600px}
.pop-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:0;
  background:rgba(26,26,26,.06);border-radius:50%;cursor:pointer;display:flex;
  align-items:center;justify-content:center;color:var(--carbon);z-index:2;
  transition:background .16s}
.pop-x:hover{background:rgba(26,26,26,.12)}
.pop-x svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.pop-cuerpo{padding:34px 30px 30px}
@media (max-width:479px){.pop-cuerpo{padding:28px 22px 24px}}
.pop-ico{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin-bottom:18px}
.pop-ico svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2.3;
  stroke-linecap:round;stroke-linejoin:round}
.pop-ico.ok{background:var(--exito-100);color:var(--exito)}
.pop-ico.err{background:var(--cayena-100);color:var(--cayena)}
.pop-ico.avi{background:var(--aviso-100);color:var(--aviso)}
.pop-ico.inf{background:var(--gris-100);color:var(--carbon)}
.pop-caja h3{font-size:21px;line-height:1.25;color:var(--carbon-900);margin-bottom:10px}
.pop-caja p{font-size:15px;color:var(--texto-2);line-height:1.65;margin-bottom:0}
.pop-acc{display:flex;gap:11px;margin-top:26px;flex-wrap:wrap}
.pop-acc .btn{flex:1;min-width:140px;justify-content:center}
.pop-acc.col{flex-direction:column}
.pop-acc.col .btn{width:100%}
.pop-nota{font-size:12.5px;color:var(--texto-3);margin-top:16px;line-height:1.55}
.pop-nota a{color:var(--costa)}

/* Cookies: barra inferior, no centrada */
.pop-velo.cookies{align-items:flex-end;justify-content:center;background:transparent;
  pointer-events:none;padding:0}
.pop-velo.cookies .pop-caja{max-width:none;width:100%;border-radius:0;pointer-events:auto;
  box-shadow:0 -8px 40px rgba(0,0,0,.18);transform:translateY(100%)}
.pop-velo.cookies.on .pop-caja{transform:translateY(0)}
.pop-cookies{display:flex;align-items:center;gap:26px;padding:22px 30px;
  max-width:1200px;margin:0 auto;flex-wrap:wrap}
.pop-cookies .txt{flex:1;min-width:260px}
.pop-cookies .txt b{display:block;font-size:15px;color:var(--carbon-900);margin-bottom:4px}
.pop-cookies .txt span{font-size:13.5px;color:var(--texto-2);line-height:1.6}
.pop-cookies .txt a{color:var(--costa);text-decoration:underline}
.pop-cookies .acc{display:flex;gap:10px;flex-wrap:wrap;flex:none}
@media (max-width:639px){
  .pop-cookies{padding:20px;gap:16px}
  .pop-cookies .acc{width:100%}
  .pop-cookies .acc .btn{flex:1}
}
.ck-fila{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:15px 0;border-bottom:1px solid var(--borde-suave)}
.ck-fila:last-of-type{border-bottom:0}
.ck-fila .t{flex:1;min-width:0}
.ck-fila .t b{display:block;font-size:14.5px;color:var(--carbon-900);margin-bottom:3px}
.ck-fila .t small{display:block;font-size:13px;color:var(--texto-2);line-height:1.55}
.ck-sw{width:44px;height:24px;border-radius:12px;background:var(--gris-300);flex:none;
  position:relative;cursor:pointer;transition:background .18s;margin-top:2px;border:0;padding:0}
.ck-sw::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;
  border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.ck-sw.on{background:var(--cayena)}
.ck-sw.on::after{transform:translateX(20px)}
.ck-sw.fija{background:var(--exito);cursor:not-allowed;opacity:.65}
.ck-sw.fija::after{transform:translateX(20px)}

/* Promocional: imagen + texto */
.pop-promo{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:14px}
.pop-promo .img{aspect-ratio:16/7;background:
  linear-gradient(135deg,var(--carbon-900) 0%,var(--carbon-700) 60%,var(--cayena) 180%);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.45);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;position:relative;overflow:hidden}
.pop-promo .img::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.04) 14px 28px)}
.pop-promo .cont{padding:28px 30px 30px}
.pop-promo .sello{display:inline-block;background:var(--cayena);color:#fff;font-size:10.5px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;
  border-radius:var(--r-pill);margin-bottom:14px}
.campo-pop{display:flex;flex-direction:column;margin-bottom:14px}
.campo-pop label{font-size:13px;font-weight:600;margin-bottom:6px}
.campo-pop input{height:48px;padding:0 14px;border:1px solid var(--borde);
  border-radius:var(--r-campo);font-size:16px;outline:none;font-family:inherit;
  transition:border-color .18s,box-shadow .18s}
.campo-pop input:focus{border-color:var(--carbon);box-shadow:var(--sombra-foco)}
.campo-pop .err-p{font-size:12.5px;color:var(--cayena-900,#A91F20);margin-top:5px;display:none}
.campo-pop .err-p.on{display:block}
@media (prefers-reduced-motion:reduce){
  .pop-velo,.pop-caja,.pop-velo.cookies .pop-caja,.ck-sw,.ck-sw::after{transition:none}
}
@media print{.pop-velo{display:none !important}}
