/* Crédito Rápido WooCommerce v3.2 */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=DM+Sans:wght@400;500&display=swap');

:root {
  --crw-btn-bg:    #0a0a0f;
  --crw-btn-text:  #ffffff;
  --crw-accent:    #5b5bd6;
  --crw-accent2:   #7c3aed;
  --crw-dark:      #13131a;
  --crw-green:     #10b981;
  --crw-white:     #fff;
  --crw-gray:      #6b7280;
  --crw-gray2:     #9ca3af;
  --crw-border:    rgba(255,255,255,.08);
  --crw-border2:   rgba(255,255,255,.14);
  --crw-r:         16px;
  --crw-rsm:       10px;
  --crw-spring:    cubic-bezier(.34,1.56,.64,1);
  --crw-font:      'Sora',-apple-system,sans-serif;
  --crw-body:      'DM Sans',-apple-system,sans-serif;
}
html.crw-noscroll, html.crw-noscroll body { overflow:hidden!important; }

/* ══ BOTÓN ══════════════════════════════════════════ */
.crw-button-wrap { margin-top:12px; width:100%; box-sizing:border-box; }

.crw-credit-btn {
  position:relative; display:flex!important; align-items:center; justify-content:center;
  width:100%; padding:0; border:none!important; border-radius:var(--crw-r)!important;
  background:var(--crw-btn-bg)!important; cursor:pointer; overflow:hidden;
  box-shadow:0 0 0 1.5px rgba(91,91,214,.4),0 4px 20px rgba(91,91,214,.2)!important;
  transition:transform .2s,box-shadow .3s!important; font-family:var(--crw-font)!important;
}
.crw-credit-btn:hover { transform:translateY(-2px)!important; box-shadow:0 0 0 2px rgba(91,91,214,.6),0 8px 28px rgba(91,91,214,.35)!important; }
.crw-btn-inner { position:relative;z-index:2;display:flex;align-items:center;gap:10px;padding:13px 20px;width:100%;justify-content:center;pointer-events:none; }
.crw-btn-logo  { height:26px;width:auto;object-fit:contain;flex-shrink:0; }
.crw-btn-text  { color:var(--crw-btn-text)!important;font-family:var(--crw-font)!important;font-size:14px!important;font-weight:600!important;white-space:nowrap; }
.crw-btn-arrow { color:rgba(255,255,255,.45);font-size:15px;margin-left:auto;transition:transform .3s var(--crw-spring),color .2s; }
.crw-credit-btn:hover .crw-btn-arrow { transform:translateX(4px);color:rgba(255,255,255,.85); }
.crw-btn-shine { position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);transform:translateX(-120%) skewX(-15deg);z-index:1; }
.crw-credit-btn:hover .crw-btn-shine { animation:crw-shine .5s ease forwards; }
@keyframes crw-shine { to{transform:translateX(200%) skewX(-15deg)} }

/* Pulso sonda */
.crw-btn-pulse { position:absolute;inset:-1px;border-radius:inherit;border:2px solid rgba(91,91,214,.55);animation:crw-pulse-wave 2.5s ease-out infinite;pointer-events:none;z-index:0; }
.crw-btn-pulse::after { content:'';position:absolute;inset:-4px;border-radius:inherit;border:2px solid rgba(124,58,237,.35);animation:crw-pulse-wave 2.5s ease-out .85s infinite; }
@keyframes crw-pulse-wave { 0%{transform:scale(1);opacity:.75}65%{transform:scale(1.05);opacity:.15}100%{transform:scale(1.08);opacity:0} }
.crw-credit-btn:hover .crw-btn-pulse, .crw-credit-btn:hover .crw-btn-pulse::after { animation:none;opacity:0; }

.crw-btn-caption { text-align:center!important;font-family:var(--crw-body)!important;font-size:11px!important;color:#9ca3af!important;margin:5px 0 0!important;padding:0!important; }
.crw-credit-btn--compact .crw-btn-inner { padding:9px 14px; }
.crw-credit-btn--compact .crw-btn-logo  { height:20px; }
.crw-credit-btn--compact .crw-btn-text  { font-size:12px!important; }
.crw-loop { margin-top:8px; }

.crw-cart-banner,.crw-checkout-banner { margin:16px 0;padding:16px;background:linear-gradient(135deg,rgba(91,91,214,.06),rgba(124,58,237,.06));border:1px solid rgba(91,91,214,.2);border-radius:var(--crw-r); }
.crw-checkout-banner-label { font-family:var(--crw-font)!important;font-size:12px!important;font-weight:700!important;color:var(--crw-accent)!important;text-align:center;margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em; }
.crw-checkout-banner .crw-button-wrap,.crw-cart-banner .crw-button-wrap { margin:0; }
.crw-checkout-banner-sep { text-align:center;margin-top:12px;font-family:var(--crw-body)!important;font-size:11px!important;color:var(--crw-gray)!important; }

/* ══ OVERLAY ════════════════════════════════════════ */
#crw-overlay {
  display:none; position:fixed!important; inset:0!important;
  z-index:9999999!important; align-items:center; justify-content:center;
  padding:16px; box-sizing:border-box;
}
#crw-overlay.crw-open { display:flex!important; }

/* Fondo oscuro — div separado para no bloquear clics del modal */
#crw-overlay-bg {
  position:fixed; inset:0;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  cursor:pointer; z-index:0;
  animation:crw-fade-in .3s ease both;
}
@keyframes crw-fade-in { from{opacity:0}to{opacity:1} }

/* ══ MODAL ══════════════════════════════════════════ */
.crw-modal {
  position:relative; z-index:1;
  background:var(--crw-dark); border:1px solid var(--crw-border2);
  border-radius:22px; width:100%; max-width:510px;
  max-height:calc(100vh - 32px); overflow-y:auto; overflow-x:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,.7);
  animation:crw-modal-in .42s var(--crw-spring) both;
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.08) transparent;
}
.crw-modal::-webkit-scrollbar{width:4px} .crw-modal::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
@keyframes crw-modal-in { from{opacity:0;transform:scale(.93) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)} }

/* ══ HEADER ═════════════════════════════════════════ */
.crw-modal-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 14px;border-bottom:1px solid var(--crw-border);
  position:sticky;top:0;background:var(--crw-dark);z-index:20;
}
.crw-modal-logo { height:24px;width:auto;object-fit:contain;display:block; }
.crw-modal-close {
  width:42px!important;height:42px!important;border-radius:50%!important;
  border:1.5px solid var(--crw-border2)!important;background:rgba(255,255,255,.06)!important;
  color:#d1d5db!important;display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;padding:0!important;box-shadow:none!important;
  transition:background .2s!important;
}
.crw-modal-close:hover { background:rgba(255,255,255,.12)!important;color:#fff!important; }

/* ══ STEPS ══════════════════════════════════════════ */
.crw-step { display:none; padding:24px 22px; box-sizing:border-box; }
.crw-step.crw-step--active { display:block; }
.crw-step--center.crw-step--active { display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:44px 22px!important; }
#crw-step-variation.crw-step--active { display:flex!important;flex-direction:column;gap:16px;padding:24px 22px; }
#crw-step-loading.crw-step--active   { display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:44px 22px!important; }

/* ══ LOADER ═════════════════════════════════════════ */
.crw-loader-visual { position:relative;width:88px;height:88px; }
.crw-loader-ring { position:absolute;inset:0;border-radius:50%;border:2px solid transparent;border-top-color:var(--crw-accent);animation:spin 1.2s linear infinite; }
.crw-loader-ring--2 { inset:11px;border-top-color:var(--crw-accent2);animation-duration:.85s;animation-direction:reverse; }
.crw-loader-icon { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--crw-accent);animation:pulse-ico 1.6s ease-in-out infinite; }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes pulse-ico { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.88)} }
.crw-loader-title { font-family:var(--crw-font)!important;font-size:20px!important;font-weight:700!important;color:var(--crw-white)!important;margin:0!important; }
.crw-loader-sub   { font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-gray2)!important;margin:0!important; }
.crw-progress-bar { width:200px;height:3px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden; }
.crw-progress-fill { height:100%;border-radius:99px;background:linear-gradient(90deg,var(--crw-accent),var(--crw-accent2));width:0%;transition:width .5s ease; }

/* ══ CHECKOUT HEAD ══════════════════════════════════ */
.crw-checkout-head { margin-bottom:20px; }
.crw-checkout-head h2 { font-family:var(--crw-font)!important;font-size:19px!important;font-weight:700!important;color:var(--crw-white)!important;margin:0 0 10px!important;text-align:center; }
.crw-product-summary { display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--crw-border);border-radius:var(--crw-rsm);padding:7px 14px;margin-bottom:10px; }
.crw-product-name  { font-family:var(--crw-body)!important;font-size:12px!important;color:var(--crw-gray2)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px; }
.crw-product-price { font-family:var(--crw-font)!important;font-size:15px!important;font-weight:700!important;color:var(--crw-white)!important; }

/* ══ CANTIDAD ═══════════════════════════════════════ */
.crw-qty-wrap {
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,.05); border:1px solid var(--crw-border2);
  border-radius:var(--crw-rsm); padding:12px 16px;
}
.crw-qty-label {
  font-family:var(--crw-font)!important; font-size:13px!important;
  font-weight:600!important; color:var(--crw-white)!important; margin:0!important;
}
.crw-qty-row {
  display:flex; align-items:center;
  background:rgba(255,255,255,.08); border:1px solid var(--crw-border2);
  border-radius:99px; overflow:hidden;
}
/* ─── BOTONES QTY: estilos directos en tag, sin clases ─── */
.crw-q-btn {
  width:40px!important; height:40px!important;
  background:transparent!important; border:none!important;
  color:#ffffff!important; cursor:pointer!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  padding:0!important; margin:0!important; box-shadow:none!important; outline:none!important;
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation!important; user-select:none!important;
  font-size:20px!important; line-height:1!important;
}
.crw-q-btn:hover { background:rgba(91,91,214,.3)!important; }
.crw-q-btn:active { background:rgba(91,91,214,.5)!important; }
.crw-q-num {
  min-width:36px; text-align:center; display:inline-block;
  font-family:var(--crw-font)!important; font-size:16px!important;
  font-weight:700!important; color:#ffffff!important;
}

/* ══ VARIACIÓN ══════════════════════════════════════ */
.crw-var-head { text-align:center; }
.crw-var-head h2 { font-family:var(--crw-font)!important;font-size:20px!important;font-weight:700!important;color:var(--crw-white)!important;margin:0 0 4px!important; }
.crw-var-subname { font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-gray2)!important;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.crw-var-group { display:flex;flex-direction:column;gap:8px; }
.crw-var-label { font-family:var(--crw-font)!important;font-size:10px!important;font-weight:700!important;color:var(--crw-gray2)!important;letter-spacing:.08em;text-transform:uppercase!important; }
.crw-var-options { display:flex;flex-wrap:wrap;gap:8px; }
.crw-var-option { padding:8px 16px;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:99px!important;color:var(--crw-white)!important;font-family:var(--crw-body)!important;font-size:13px!important;font-weight:500!important;cursor:pointer!important;transition:all .2s!important; }
.crw-var-option:hover { background:rgba(91,91,214,.12)!important;border-color:rgba(91,91,214,.35)!important; }
.crw-var-option.crw-var-selected { background:var(--crw-accent)!important;border-color:var(--crw-accent)!important;color:#fff!important; }
.crw-var-preview { display:flex;align-items:center;justify-content:space-between;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:var(--crw-rsm);padding:12px 16px;font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-gray2)!important; }
.crw-var-preview strong { font-family:var(--crw-font)!important;font-size:17px!important;color:var(--crw-green)!important; }
.crw-continue-btn { width:100%;padding:14px;background:linear-gradient(135deg,var(--crw-accent),var(--crw-accent2))!important;border:none!important;border-radius:var(--crw-r)!important;color:#fff!important;font-family:var(--crw-font)!important;font-size:15px!important;font-weight:700!important;cursor:pointer!important;transition:transform .2s,box-shadow .2s,opacity .2s!important;box-shadow:0 4px 20px rgba(91,91,214,.35)!important; }
.crw-continue-btn.crw-continue-off { opacity:.4!important;cursor:not-allowed!important;box-shadow:none!important; }
.crw-continue-btn:not(.crw-continue-off):hover { transform:translateY(-2px)!important;box-shadow:0 8px 28px rgba(91,91,214,.45)!important; }

/* ══ SECCIONES ══════════════════════════════════════ */
.crw-section-label { display:flex;align-items:center;gap:8px;margin:20px 0 12px; }
.crw-section-num   { font-family:var(--crw-font)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em;color:var(--crw-accent)!important;background:rgba(91,91,214,.12);border:1px solid rgba(91,91,214,.22);padding:2px 8px;border-radius:99px; }
.crw-section-label>span:last-child { font-family:var(--crw-font)!important;font-size:12px!important;font-weight:600!important;color:var(--crw-white)!important;text-transform:uppercase;letter-spacing:.06em; }

/* ══ CAMPOS ═════════════════════════════════════════ */
.crw-fields-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.crw-field-group { display:flex;flex-direction:column;gap:5px; }
.crw-field-group--full { grid-column:1/-1; }
.crw-field-group label { font-family:var(--crw-font)!important;font-size:10px!important;font-weight:600!important;color:var(--crw-gray2)!important;text-transform:uppercase!important;letter-spacing:.07em!important;margin:0!important; }
.crw-opt { text-transform:none!important;font-weight:400!important;opacity:.7; }
.crw-field-group input,.crw-field-group select,.crw-field-group textarea {
  background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.1)!important;
  border-radius:var(--crw-rsm)!important;padding:10px 12px!important;
  font-family:var(--crw-body)!important;font-size:13px!important;color:#fff!important;
  outline:none!important;width:100%!important;box-sizing:border-box!important;
  transition:border-color .2s,box-shadow .2s!important;-webkit-appearance:none!important;
  appearance:none!important;box-shadow:none!important;margin:0!important;
}
.crw-field-group input::placeholder,.crw-field-group textarea::placeholder { color:rgba(156,163,175,.45)!important; }
.crw-field-group input:focus,.crw-field-group select:focus,.crw-field-group textarea:focus { border-color:rgba(91,91,214,.55)!important;background:rgba(91,91,214,.07)!important;box-shadow:0 0 0 3px rgba(91,91,214,.12)!important; }
.crw-field-group input.crw-invalid { border-color:rgba(239,68,68,.55)!important;box-shadow:0 0 0 3px rgba(239,68,68,.1)!important; }
.crw-notes-field { margin-top:10px; }

/* ══ ENVÍOS ═════════════════════════════════════════ */
.crw-shipping-methods { display:flex;flex-direction:column;gap:8px; }
.crw-shipping-loading { display:flex;align-items:center;gap:10px;padding:13px;background:rgba(255,255,255,.03);border:1px solid var(--crw-border);border-radius:var(--crw-rsm);font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-gray2)!important; }
.crw-mini-loader { width:15px;height:15px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--crw-accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0; }
.crw-shipping-option { display:flex;align-items:center;gap:12px;padding:12px 15px;background:rgba(255,255,255,.03);border:1px solid var(--crw-border);border-radius:var(--crw-rsm);cursor:pointer;transition:background .2s,border-color .2s;user-select:none; }
.crw-shipping-option:hover { background:rgba(91,91,214,.07);border-color:rgba(91,91,214,.2); }
.crw-shipping-option.crw-selected { background:rgba(91,91,214,.1);border-color:rgba(91,91,214,.42); }
.crw-shipping-radio { width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s; }
.crw-shipping-option.crw-selected .crw-shipping-radio { border-color:var(--crw-accent);background:var(--crw-accent); }
.crw-shipping-option.crw-selected .crw-shipping-radio::after { content:'';width:6px;height:6px;background:#fff;border-radius:50%; }
.crw-shipping-label { flex:1;font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-white)!important; }
.crw-shipping-price { font-family:var(--crw-font)!important;font-size:13px!important;font-weight:600!important;color:var(--crw-green)!important; }

/* ══ RESUMEN ════════════════════════════════════════ */
.crw-order-summary { background:rgba(255,255,255,.03);border:1px solid var(--crw-border);border-radius:var(--crw-rsm);padding:14px 16px;margin:18px 0; }
.crw-summary-row { display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-family:var(--crw-body)!important;font-size:13px!important;color:var(--crw-gray2)!important;border-bottom:1px solid rgba(255,255,255,.05); }
.crw-summary-row:last-child { border-bottom:none; }
.crw-summary-total { font-family:var(--crw-font)!important;font-size:15px!important;font-weight:700!important;color:var(--crw-white)!important;padding-top:10px!important; }

/* ══ BOTÓN PAGAR ════════════════════════════════════ */
.crw-pay-btn { position:relative;width:100%;padding:0;border:none!important;border-radius:var(--crw-r)!important;background:linear-gradient(135deg,var(--crw-accent),var(--crw-accent2))!important;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .3s!important;box-shadow:0 4px 22px rgba(91,91,214,.4)!important;font-family:var(--crw-font)!important; }
.crw-pay-btn:hover { transform:translateY(-2px)!important;box-shadow:0 8px 30px rgba(91,91,214,.52)!important; }
.crw-pay-btn:disabled { opacity:.55;cursor:not-allowed; }
.crw-pay-btn-inner { position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;pointer-events:none; }
.crw-pay-text   { color:#fff!important;font-size:15px!important;font-weight:700!important; }
.crw-pay-amount { color:rgba(255,255,255,.7)!important;font-size:13px!important; }
.crw-pay-shine  { position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14) 0%,transparent 55%);pointer-events:none; }
.crw-security-note { display:flex!important;align-items:center;justify-content:center;gap:5px;font-family:var(--crw-body)!important;font-size:11px!important;color:var(--crw-gray)!important;margin:10px 0 0!important; }

/* ══ ÉXITO ══════════════════════════════════════════ */
.crw-success-visual { position:relative;width:88px;height:88px; }
.crw-checkmark { width:88px;height:88px; }
.crw-checkmark-circle { stroke:var(--crw-green);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:crw-stroke .55s cubic-bezier(.65,0,.45,1) forwards; }
.crw-checkmark-check  { stroke:var(--crw-green);stroke-width:2;stroke-dasharray:48;stroke-dashoffset:48;stroke-linecap:round;animation:crw-stroke .3s cubic-bezier(.65,0,.45,1) .55s forwards; }
@keyframes crw-stroke { 100%{stroke-dashoffset:0} }
#crw-confetti { position:absolute;inset:-20px;pointer-events:none; }
.crw-confetti-piece { position:absolute;border-radius:1px;animation:confetti-fall 1s ease-out forwards; }
@keyframes confetti-fall { from{transform:translate(0,0) rotate(0deg);opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot));opacity:0} }
#crw-step-success h2 { font-family:var(--crw-font)!important;font-size:24px!important;font-weight:700!important;color:var(--crw-white)!important;margin:0!important; }
.crw-success-sub   { font-family:var(--crw-body)!important;font-size:14px!important;color:var(--crw-gray2)!important;margin:0!important; }
.crw-order-num     { font-family:var(--crw-font)!important;font-size:15px!important;color:var(--crw-white)!important;margin:0!important;background:rgba(255,255,255,.04);border:1px solid var(--crw-border);padding:7px 18px;border-radius:99px; }
.crw-order-num strong { color:var(--crw-accent)!important; }
.crw-success-email { font-family:var(--crw-body)!important;font-size:12px!important;color:var(--crw-gray)!important;margin:0!important; }
.crw-success-btn   { padding:12px 28px;background:rgba(91,91,214,.14)!important;border:1px solid rgba(91,91,214,.3)!important;border-radius:var(--crw-r)!important;color:var(--crw-accent)!important;font-family:var(--crw-font)!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important; }
.crw-success-btn:hover { background:rgba(91,91,214,.24)!important; }

/* ══ TOAST ══════════════════════════════════════════ */
.crw-error-toast { position:fixed!important;bottom:24px;left:50%;transform:translateX(-50%) translateY(16px);background:rgba(220,38,38,.96);color:#fff;font-family:var(--crw-font)!important;font-size:13px!important;font-weight:500!important;padding:11px 18px;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.35);z-index:99999999!important;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:90vw; }
.crw-error-toast.crw-toast-visible { opacity:1;transform:translateX(-50%) translateY(0); }

/* ══ RESPONSIVE ═════════════════════════════════════ */
@media(max-width:600px){
  #crw-overlay { align-items:flex-end!important;padding:0!important; }
  .crw-modal   { max-width:100%!important;border-radius:22px 22px 0 0!important;max-height:92vh!important;animation:modal-up .38s var(--crw-spring) both!important; }
  @keyframes modal-up { from{transform:translateY(100%)}to{transform:translateY(0)} }
  .crw-modal-close { width:46px!important;height:46px!important; }
  .crw-fields-grid { grid-template-columns:1fr!important; }
  .crw-field-group--full { grid-column:1!important; }
}
