:root{
  --brand: #fd00ae;
  --brand-600: #e4009f;
  --bg: #ffffff;
  --text: #0f172a;
  --muted: #475569;
  --ghost: #f6f7fb;
  --shadow-lg: 0 20px 70px rgba(8,15,35,.18);
  --backdrop: rgba(6, 8, 20, .55);
  --ok: #16a34a;
  --err: #ef4444;
  --radius: 16px;
}

/* CTA compacta */
.alfa-coupon-trigger{
  display:flex; gap:.5rem; align-items:center; justify-content:center;
  padding:10px 14px; background:#fff; border:1px solid #eef1f5; border-radius:999px;
  box-shadow: 0 6px 20px rgba(8,15,35,.06);
  text-decoration:none; color:var(--text);
}
.alfa-coupon-trigger strong{
  background:var(--brand); color:#fff; border-radius:999px; padding:.4rem .8rem; font-weight:700;
}

/* MODAL */
.alfa-coupon-modal{ display:none; position:fixed; inset:0; z-index:999999; }
.alfa-coupon-backdrop{ position:absolute; inset:0; background:var(--backdrop); backdrop-filter: blur(2px); }

.alfa-coupon-dialog{
  position:absolute; 
  left:50%; 
  top:50%; 
  transform:translate(-50%,-50%);
  width:min(560px, calc(100% - 2rem));
  background:var(--bg); 
  color:var(--text);
  border-radius:var(--radius); 
  box-shadow:var(--shadow-lg);
  padding:0; 
  overflow:none !important;
}

html.alfa-modal-open{ 
    overflow:hidden; 
}

/* Brand strip */
.alfa-coupon-brand{
    display:flex; 
    align-items:center;
    justify-content:space-between;
    padding:14px 18px; 
    background:linear-gradient(90deg, var(--brand), var(--brand-600));
    color:#fff;
    border-radius: 15px 15px 0px 0px;
}

.alfa-brand-logo img{ height:28px; width:auto; display:block; filter: drop-shadow(0 1px 6px rgba(0,0,0,.25)); }
.alfa-brand-fallback{ font-weight:800; letter-spacing:.3px; }
.alfa-brand-badge{
  font-size:.75rem; background:rgba(255,255,255,.18);
  padding:.25rem .55rem; border-radius:999px; font-weight:700;
}

/* Close */
.alfa-coupon-close{
  position:absolute; 
  right:-20px; 
  top:-20px; 
  border:0; 
  background:transparent;
  font-size:28px; 
  line-height:1; 
  cursor:pointer; 
  color:#fff;
   z-index:2;
       padding: 5px;
    background: #ff7200;
    border-radius: 50%;
    height: 40px;
    width: 40px;
}
.alfa-coupon-close:hover{ opacity:1; }

/* Body */
.alfa-coupon-header{ padding:18px 20px 6px; }
.alfa-coupon-header h3{ margin:0 0 .25rem; font-size:1.15rem; font-weight:800; }
.alfa-coupon-sub{ margin:0; color:var(--muted); }

.alfa-coupon-form{ padding:10px 20px 4px; }
.alfa-coupon-label{ display:block; font-size:.85rem; color:var(--muted); margin:.35rem 0; }

.alfa-coupon-inputrow{
  position:relative; display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid #e8ebf1; border-radius:12px; padding:8px;
}
.alfa-coupon-icon{ margin-left:6px; opacity:.75; }
#alfa_coupon_input{
  flex:1; height:44px; border:0; outline:none; padding:0 8px; border-radius:10px;
  font-weight:700; letter-spacing:.5px;
}
#alfa_coupon_input::placeholder{ color:#94a3b8; font-weight:500; }

.alfa-coupon-apply{
  appearance:none; border:0; height:40px; padding:0 16px;
  border-radius:10px; background:var(--brand); color:#fff; font-weight:800; cursor:pointer;
}
.alfa-coupon-apply:hover{ background:var(--brand-600); }
.alfa-coupon-help{ margin:.6rem 0 0; color:var(--muted); font-size:.8rem; }

.alfa-coupon-footer{
  padding:14px 20px 18px; display:flex; justify-content:flex-end;
}
.alfa-coupon-cancel{
  appearance:none; border:0; padding:.6rem 1rem; border-radius:10px;
  background:var(--ghost); color:var(--text); font-weight:700; cursor:pointer;
}

/* Toast */
.alfa-toast{
    display:none; 
    position:relative;
    bottom:14px;
    border-radius:12px;
    padding:.75rem 1rem;
    font-weight:700;
    text-align:center;
    margin-left: 15px;
    margin-right: 15px;
}

.alfa-toast.is-success{
    display:block; 
    background:rgba(19, 138, 63, 0.6); 
    color:#fff
}

.alfa-toast.is-error{ 
    display:block;
    background:rgb(182, 45, 45, 0.6);
    color:#fff;
}

/* Nunca mostrar el form de Woo */
.checkout_coupon.woocommerce-form-coupon{ display:none !important; height:0 !important; overflow:hidden !important; }


.alfa-coupon-dialog{
    overflow: none;
}