/* ── MODAL WHATSAPP ── */
.sv-wa-modal{display:none;position:fixed;inset:0;z-index:9999}
.sv-wa-modal.is-open{display:flex;align-items:center;justify-content:center}
.sv-wa-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.sv-wa-box{position:relative;z-index:1;background:var(--card);border:1px solid rgba(0,240,255,.2);border-radius:24px;padding:40px 36px;max-width:420px;width:calc(100% - 40px);text-align:center;box-shadow:0 24px 64px rgba(0,0,0,.5)}
.sv-wa-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.05);border:none;color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.sv-wa-close:hover{background:rgba(255,255,255,.1)}
.sv-wa-close svg{width:16px;height:16px}
.sv-wa-icon-wrap{width:64px;height:64px;border-radius:50%;background:rgba(37,211,102,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.sv-wa-icon{width:32px;height:32px;fill:#25D366}
.sv-wa-title{font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:1px;color:var(--white);margin-bottom:6px}
.sv-wa-product{font-size:15px;font-weight:700;color:var(--cyan);margin-bottom:10px;min-height:22px}
.sv-wa-sub{font-size:13px;color:var(--muted);margin-bottom:24px;line-height:1.6}
.sv-wa-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:#fff;border-radius:12px;padding:14px 24px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s;margin-bottom:16px}
.sv-wa-btn svg{fill:#fff;width:20px;height:20px}
.sv-wa-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.4);color:#fff}
.sv-wa-note{font-size:12px;color:var(--muted)}
.sv-wa-note a{color:var(--cyan)}


/* ═══════════════════════════
   MODAL LOGIN POPUP
═══════════════════════════ */
.js-login-modal{display:none;position:fixed;inset:0;z-index:99999}
.js-login-modal.is-open{display:flex;align-items:center;justify-content:center}
.js-login-overlay{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}
.js-login-box{
  position:relative;z-index:1;
  background:var(--card);
  border:1px solid rgba(0,240,255,.2);
  border-radius:24px;
  padding:40px 36px;
  width:100%;max-width:440px;
  margin:0 16px;
  box-shadow:0 32px 80px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
/* Linea cyan top */
.js-login-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
}
/* Glow rojo */
.js-login-box::after{
  content:'';position:absolute;top:-80px;right:-80px;
  width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(229,9,20,.12) 0%,transparent 70%);
  pointer-events:none;
}
.js-login-close{
  position:absolute;top:16px;right:16px;z-index:2;
  background:rgba(255,255,255,.05);border:none;
  color:rgba(255,255,255,.5);width:32px;height:32px;
  border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s;
}
.js-login-close:hover{background:rgba(255,255,255,.1);color:#fff}
.js-login-close svg{width:16px;height:16px}
/* Logo pequeno */
.js-login-logo{
  display:flex;align-items:center;gap:10px;
  margin-bottom:20px;position:relative;z-index:1;
}
.js-login-logo img{height:36px;width:auto;object-fit:contain;filter:drop-shadow(0 0 8px rgba(0,240,255,.4))}
.js-login-logo span{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1rem;letter-spacing:2px;color:var(--white)}
.js-login-logo span em{color:var(--cyan);font-style:normal}
/* Titulo */
.js-login-title{
  font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:2px;
  color:#fff;margin:0 0 6px;position:relative;z-index:1;
}
.js-login-sub{font-size:13px;color:rgba(255,255,255,.45);margin-bottom:24px;position:relative;z-index:1}
/* Formulario */
.js-login-box .form-row{position:relative;z-index:1;margin-bottom:16px!important}
.js-login-box label{
  display:block;margin-bottom:7px!important;
  font-size:10px!important;font-weight:700!important;
  letter-spacing:1.2px!important;text-transform:uppercase!important;
  color:rgba(0,240,255,.75)!important;
}
.js-login-box input.input-text,
.js-login-box input[type="text"],
.js-login-box input[type="email"],
.js-login-box input[type="password"]{
  width:100%!important;height:50px!important;
  border:1.5px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;padding:0 16px!important;
  font-size:14px!important;font-family:'DM Sans',sans-serif!important;
  background:rgba(255,255,255,.05)!important;color:#fff!important;
  box-sizing:border-box!important;transition:border-color .2s,box-shadow .2s!important;
}
.js-login-box input.input-text:focus{
  outline:none!important;border-color:var(--cyan)!important;
  box-shadow:0 0 0 3px rgba(0,240,255,.1)!important;
  background:rgba(0,240,255,.04)!important;
}
.js-login-box input.input-text::placeholder{color:rgba(255,255,255,.25)!important}
/* Checkbox recuerdame */
.js-login-box .woocommerce-form__label-for-checkbox{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  font-size:13px!important;text-transform:none!important;letter-spacing:0!important;
  color:rgba(255,255,255,.6)!important;
}
.js-login-box input[type="checkbox"]{accent-color:var(--cyan)!important}
/* Boton submit */
.js-login-box .woocommerce-form-login__submit,
.js-login-box button[type="submit"],
.js-login-box .button{
  background:var(--red)!important;color:#fff!important;
  border:none!important;border-radius:12px!important;
  width:100%!important;height:50px!important;
  font-size:15px!important;font-weight:700!important;
  letter-spacing:.5px!important;cursor:pointer!important;
  box-shadow:0 8px 24px rgba(229,9,20,.35)!important;
  transition:transform .18s,box-shadow .18s!important;
  margin-top:8px!important;
}
.js-login-box button[type="submit"]:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 12px 32px rgba(229,9,20,.55)!important;
}
/* Olvidaste */
.js-login-box .lost_password,.js-login-box .woocommerce-LostPassword{
  text-align:center;margin-top:12px!important;position:relative;z-index:1;
}
.js-login-box .lost_password a{color:var(--cyan)!important;font-size:13px!important;text-decoration:none!important}
.js-login-box .lost_password a:hover{color:#fff!important;text-decoration:underline!important}
/* Separador registro */
.js-login-register-link{
  text-align:center;margin-top:20px;font-size:13px;
  color:rgba(255,255,255,.4);position:relative;z-index:1;
}
.js-login-register-link a{color:var(--cyan);font-weight:600;text-decoration:none}
.js-login-register-link a:hover{color:#fff}
/* Mensajes error */
.js-login-box .woocommerce-error,.js-login-box .woocommerce-info,.js-login-box .woocommerce-message{
  background:rgba(229,9,20,.08);border:1px solid rgba(229,9,20,.25);
  border-radius:10px;padding:10px 14px;font-size:13px;color:#fff;
  margin-bottom:16px!important;list-style:none!important;
}
