
.softpro-cid-wrapper{max-width:820px;margin:0 auto;font-family:"Euclid Circular B",sans-serif;display:grid;gap:.4rem!important;}
.sp-input{width:100%;height:52px!important;padding:0 1.2rem!important;border:1.5px solid #D4D7DD!important;border-radius:15px!important;background:#FAFAFC!important;box-sizing:border-box!important;font-size:1rem!important;color:#777!important;font-weight:400!important;}
.sp-input::placeholder{color:#A8A8A8!important;}
.sp-input.has-val{color:#333!important;font-weight:600!important;}
.sp-input:focus{outline:none;border-color:#2563EB!important;box-shadow:0 0 0 3px #2563eb22;}
.sp-error{color:#dc2626;font-size:.85rem;height:1rem;margin-top:.25rem;display:block;}
.sp-btn{cursor:pointer;padding:.95rem 1.5rem;font-weight:600;border:none;border-radius:15px!important;width:100%!important;display:block!important;}
.sp-btn.primary{background:#2563eb;color:#fff;margin-top:1.4rem!important;margin-bottom:1rem!important;}
.sp-btn.success{background:#22c55e;color:#fff;margin:0 auto 0;}
#sp-result.sp-hidden{display:none;}
.sp-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.8rem;margin-bottom:1rem;}
.sp-cell{padding:1rem .5rem;background:#f8fafc;border-radius:.6rem;text-align:center;font-weight:700;font-size:1.1rem;cursor:pointer;user-select:none;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.sp-cell span{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.25rem;}
.sp-cell:hover span{color:#2563eb;}
.sp-copymsg{text-align:center;font-size:.85rem;color:#16a34a;display:block;height:1rem;margin-top:.5rem;}
.sp-status{margin-top:.8rem;padding:.9rem 1rem;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04);color:#374151;}
.sp-status h4{margin:0 0 .25rem 0;font-size:.98rem;font-weight:600;}
.sp-status p{margin:0;font-size:.95rem;}
.sp-status .sp-wa-btn{display:inline-block;margin-top:.6rem;padding:.55rem 1rem;background:#22c55e;color:#fff!important;border-radius:10px;text-decoration:none;font-weight:600;}
.sp-status.warn{border-color:#f59e0b;background:#fffbeb;}
.sp-status.err{border-color:#ef4444;background:#fef2f2;}
.sp-hidden{display:none!important;}
@media (max-width:640px){.sp-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media (min-width:641px) and (max-width:900px){.sp-grid{grid-template-columns:repeat(4,1fr)!important;}}

/* 1.4.0: protección gestionada y ajustes puntuales de accesibilidad móvil. */
.softpro-cid-wrapper .spcid-turnstile { min-width:0; max-width:100%; }
.softpro-cid-wrapper .sp-btn:disabled { cursor:not-allowed; opacity:.72; }
/* El tema WooCommerce aplicaba estilos de botón a las celdas y ocultaba bloques B-H.
   Restauramos las tarjetas DIV de la versión 1.3.1, con números legibles en una línea. */
.softpro-cid-wrapper .sp-grid .sp-cell {
  box-sizing:border-box!important; min-width:0; max-width:100%; padding:.85rem .25rem!important;
  background:#f8fafc!important; color:#222831!important; border:0!important;
  border-radius:10px!important; box-shadow:0 1px 3px rgba(0,0,0,.06)!important;
  font-family:inherit!important; font-size:1rem!important; font-weight:700!important;
  line-height:1.35!important; text-align:center!important; display:flex!important;
  flex-direction:column; align-items:center; justify-content:center; cursor:pointer;
  user-select:none; overflow:visible; white-space:nowrap;
}
.softpro-cid-wrapper .sp-cell .sp-cell-label {
  display:block!important; font-size:.78rem!important; font-weight:600!important;
  color:#6b7280!important; margin:0 0 .25rem!important;
}
.softpro-cid-wrapper .sp-cell .sp-cell-number {
  display:block!important; color:#222831!important; font-size:1rem!important;
  font-weight:700!important; letter-spacing:0!important; white-space:nowrap!important;
}
.softpro-cid-wrapper .sp-cell:hover .sp-cell-label { color:#2563eb!important; }
.softpro-cid-wrapper .sp-cell:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
.softpro-cid-wrapper .sp-wa-btn:focus-visible { outline:2px solid #166534; outline-offset:3px; }
@media (max-width:640px) {
  .softpro-cid-wrapper { width:100%; max-width:100%; min-width:0; }
  .softpro-cid-wrapper .sp-input, .softpro-cid-wrapper .sp-btn { min-width:0; max-width:100%; }
  .softpro-cid-wrapper .sp-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:.65rem; }
  .softpro-cid-wrapper .sp-grid .sp-cell { padding:.8rem .35rem!important; }
  .softpro-cid-wrapper .sp-status { overflow-wrap:anywhere; }
}

/* Mensaje discreto durante verificaciones móviles y reintento sin recargar. */
.softpro-cid-wrapper .sp-status.info { border-color:#bfdbfe; background:#eff6ff; }
.softpro-cid-wrapper .sp-verify-retry {
  display:inline-block!important; width:auto!important; min-height:38px; margin-top:.7rem;
  padding:.55rem .85rem!important; border:1px solid #2563eb!important; border-radius:9px!important;
  background:#2563eb!important; color:#fff!important; font-family:inherit!important;
  font-size:.9rem!important; font-weight:600!important; line-height:1.3!important;
  cursor:pointer;
}
.softpro-cid-wrapper .sp-verify-retry:focus-visible { outline:2px solid #1d4ed8; outline-offset:2px; }
