/* ===== Minbis Scheduler (card) ===== */
#wapa-scheduler{
  --mb-primary: #0a66ff;            /* ajusta si tu tema usa otro azul */
  --mb-border:  #e5e7eb;
  --mb-text:    #1f2937;
  --mb-muted:   #6b7280;

  background:#fff;
  border:1px solid var(--mb-border);
  border-radius:14px;
  padding:24px;
  max-width:720px;
  margin:20px auto;
  color:var(--mb-text);
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}

#wapa-scheduler .wapa-step{ display:none; }
#wapa-scheduler .wapa-step.wapa-active{ display:block; }

#wapa-scheduler h3{ margin:0 0 14px; font-size:22px; }

/* Inputs */
#wapa-scheduler .wapa-form-group{ margin-bottom:16px; }
#wapa-scheduler label{ display:block; font-weight:700; margin-bottom:8px; }
#wapa-scheduler input[type="text"],
#wapa-scheduler input[type="tel"],
#wapa-scheduler input[type="date"],
#wapa-scheduler textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--mb-border);
  border-radius:10px;
  font-size:16px;
  outline:0;
  background:#f9fafb;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
#wapa-scheduler input:focus,
#wapa-scheduler textarea:focus{
  border-color: var(--mb-primary);
  box-shadow: 0 0 0 4px rgba(10,102,255,.12);
  background:#fff;
}

#wapa-scheduler .description{
  margin:.35rem 0 0;
  font-size:.9rem;
  color:var(--mb-muted);
}

/* Slots grid */
#wapa-scheduler .wapa-slots-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
  gap:12px;
  margin:10px 0 6px;
}
#wapa-scheduler .wapa-slot-btn{
  display:inline-block;
  width:100%;
  padding:10px 12px;
  border:1px solid #dbe8ff;
  background:#f2f6ff;
  color:#1f2937;
  border-radius:10px;
  cursor:pointer;
  font-weight:600;
  text-align:center;
  transition: background .15s, color .15s, border-color .15s, transform .03s;
}
#wapa-scheduler .wapa-slot-btn:hover{ background:#e8f0ff; }
#wapa-scheduler .wapa-slot-btn:active{ transform: translateY(1px); }
#wapa-scheduler .wapa-slot-btn.wapa-selected{
  background: var(--mb-primary);
  border-color: var(--mb-primary);
  color:#fff;
}

/* Buttons */
#wapa-scheduler .wapa-nav-buttons{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:18px;
}
#wapa-scheduler .button{
  background:#3f4652;
  color:#fff;
  border:0;
  padding:10px 16px;
  border-radius:10px;
  cursor:pointer;
}
#wapa-scheduler .button:hover{ filter:brightness(1.05); }

#wapa-scheduler .wapa-landing-cta-button{
  appearance:none;
  border:0;
  background: var(--mb-primary);
  color:#fff;
  padding:12px 18px;
  font-weight:700;
  border-radius:12px;
  cursor:pointer;
  box-shadow: 0 8px 16px rgba(10,102,255,.15);
  transition: transform .06s, box-shadow .15s, filter .15s;
}
#wapa-scheduler .wapa-landing-cta-button:hover{
  filter:brightness(1.05);
  box-shadow: 0 10px 22px rgba(10,102,255,.22);
}
#wapa-scheduler .wapa-landing-cta-button:active{ transform: translateY(1px); }
#wapa-scheduler .wapa-landing-cta-button[disabled]{
  opacity:.55; cursor:not-allowed; box-shadow:none;
}

/* Loader & errors */
#wapa-scheduler .wapa-loader{ text-align:center; margin:16px 0; }
#wapa-scheduler .wapa-error-msg{ color:#b91c1c; margin-top:8px; }

/* Small screens */
@media (max-width:480px){
  #wapa-scheduler{ padding:18px; }
  #wapa-scheduler .wapa-slots-grid{ grid-template-columns:repeat(2, 1fr); }
}