/* ═══════════════════════════════════════════════════════
   HEIBERS — Checkout v2 (3 pasos)
═══════════════════════════════════════════════════════ */

/* Paso numerado */
.co-step-title{
  display:flex;align-items:center;gap:12px;
  font-size:1rem;font-weight:700;color:#fff;margin:0 0 1.2rem;
}
.co-step-num{
  width:28px;height:28px;border-radius:50%;
  background:#1a6dcc;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;font-weight:800;flex-shrink:0;
}

/* Selects */
#billingDept,#billingCity{
  width:100%;background:#0d0d0d;color:#e5e7eb;
  border:1.5px solid #2a2a2a;border-radius:8px;
  padding:10px 12px;font-size:.88rem;cursor:pointer;
  transition:border-color .2s;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:34px;
}
#billingDept:focus,#billingCity:focus{border-color:#1a6dcc;outline:none;}
#billingCity:disabled{opacity:.45;cursor:not-allowed;}

/* ── Shipping opts ── */
.shipping-opts{display:flex;flex-direction:column;gap:10px;}
.shipping-opt{
  display:flex;align-items:center;gap:12px;
  background:#0d0d0d;border:1.5px solid #222;border-radius:10px;
  padding:14px 16px;cursor:pointer;transition:border-color .2s,background .2s;
}
.shipping-opt input{display:none;}
.shipping-opt.selected{border-color:#1a6dcc;background:#0a1525;}
.shipping-opt:hover:not(.selected){border-color:#333;}
.shipping-opt-icon{
  width:40px;height:40px;border-radius:50%;
  background:#1a6dcc;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;flex-shrink:0;
}
.shipping-opt:nth-child(2) .shipping-opt-icon{background:#059669;}
.shipping-opt-body{flex:1;}
.shipping-opt-body strong{display:block;color:#fff;font-size:.9rem;}
.shipping-opt-body span{color:#9ca3af;font-size:.8rem;}
.shipping-opt-price{color:#f59e0b;font-weight:700;font-size:.9rem;white-space:nowrap;}
.shipping-opt-price.free{color:#25D366;}
.tienda-info{display:flex;gap:12px;align-items:flex-start;color:#9ca3af;font-size:.85rem;}
.tienda-info i{color:#059669;font-size:1.3rem;margin-top:2px;flex-shrink:0;}
.tienda-info strong{display:block;color:#fff;margin-bottom:4px;}
.tienda-info a{color:#25D366;}

/* ── Payment opts ── */
.pay-opts{display:flex;flex-direction:column;gap:10px;}
.pay-opt{
  background:#0d0d0d;border:1.5px solid #222;border-radius:12px;
  cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;
}
.pay-opt input{display:none;}
.pay-opt.selected{border-color:#1a6dcc;background:#0a1525;}
.pay-opt:hover:not(.selected){border-color:#333;}
.pay-opt-header{
  display:flex;align-items:center;gap:12px;padding:14px 16px;
}
.pay-opt-icon{
  width:38px;height:38px;border-radius:50%;
  background:#1a6dcc;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:.95rem;flex-shrink:0;
}
.pay-opt-label{flex:1;}
.pay-opt-label strong{display:block;color:#fff;font-size:.9rem;}
.pay-opt-label span{color:#9ca3af;font-size:.78rem;}
.pay-check{color:#1a6dcc;font-size:1.1rem;opacity:0;transition:opacity .2s;}
.pay-opt.selected .pay-check{opacity:1;}
.pay-opt-body{
  display:none;padding:0 16px 14px;
  border-top:1px solid #1a1a1a;
}
.pay-opt.selected .pay-opt-body{display:block;padding-top:12px;}

.pay-icons-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  color:#d1d5db;font-size:1.4rem;
}
.badge-pay{
  background:#1e1e1e;color:#9ca3af;border:1px solid #333;
  border-radius:5px;padding:3px 8px;font-size:.72rem;font-weight:700;
}

/* Nequi info */
.nequi-info{display:flex;flex-direction:column;gap:6px;}
.nequi-row{
  display:flex;justify-content:space-between;align-items:center;
  background:#111;border-radius:8px;padding:8px 12px;
}
.nequi-row span{color:#9ca3af;font-size:.82rem;}
.nequi-row strong{color:#fff;font-size:.9rem;letter-spacing:.04em;}
.nequi-note{color:#6b7280;font-size:.78rem;margin:6px 0 0;display:flex;align-items:center;gap:5px;}

/* Contraentrega info */
.contra-info{display:flex;gap:12px;align-items:flex-start;color:#9ca3af;font-size:.82rem;}
.contra-info>i{color:#d97706;font-size:1.4rem;flex-shrink:0;margin-top:2px;}
.contra-info p{margin:0 0 6px;}
.contra-fee{
  background:#1a1000;border:1px solid #d9770640;border-radius:8px;
  padding:8px 12px;color:#fbbf24;font-size:.8rem;
  display:flex;align-items:center;gap:6px;
}

/* ── Confirmación overlays ── */
.co-confirm-overlay{
  display:none;
  position:fixed;inset:0;background:rgba(0,0,0,.85);
  z-index:9999;align-items:center;justify-content:center;
  padding:16px;
}
.co-confirm-modal{
  background:#111;border:1px solid #222;border-radius:14px;
  width:100%;max-width:480px;padding:2.5rem 2rem;
  text-align:center;animation:tallasIn .28s cubic-bezier(.34,1.2,.64,1);
}
.co-confirm-modal h2{color:#fff;margin:.6rem 0 .8rem;}
.co-confirm-modal p{color:#9ca3af;font-size:.88rem;margin:.4rem 0;}
.confirm-bank{
  background:#161616;border:1px solid #1a6dcc40;
  border-radius:10px;padding:1rem 1.2rem;margin:1rem 0;text-align:left;
  display:flex;flex-direction:column;gap:8px;
}
.bank-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;}
.bank-row span{color:#9ca3af;}
.bank-row strong{color:#e5e7eb;}
.co-confirm-modal .btn{display:block;width:100%;margin-top:.5rem;justify-content:center;}

/* Summary sticky */
@media(max-width:900px){
  .checkout-summary-col .card{position:static!important;}
}

/* ── Canales de contacto en overlays ── */
.overlay-greeting{color:#e5e7eb!important;font-size:.95rem!important;margin-bottom:.2rem;}
.contact-channels{
  background:#0d0d0d;border:1px solid #2a2a2a;border-radius:10px;
  padding:10px 14px;margin:.8rem 0;text-align:left;
}
.contact-channels p{color:#9ca3af;font-size:.8rem;margin:0 0 8px;}
.channels-row{
  display:flex;flex-wrap:wrap;gap:8px;
}
.channels-row span{
  background:#1a1a1a;border:1px solid #333;border-radius:6px;
  padding:5px 10px;color:#d1d5db;font-size:.78rem;
  display:flex;align-items:center;gap:5px;
}
.channels-row span i{color:#1a6dcc;}
.channels-row span .fab.fa-whatsapp{color:#25D366;}
