/* ==========================================================================
   SINCLAIR CITAS - ESTILO MÉDICO PREMIUM V1.1 (SIN DESCUADRES NI OVERFLOW)
   ========================================================================== */

.sinclair-booking-page {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  color: #1E293B !important;
  background-color: #F8FAFC !important;
  padding: 0 0 80px 0 !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

.sinclair-booking-page * {
  box-sizing: border-box !important;
}

.sb-hidden {
  display: none;
}

.sb-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  width: 100% !important;
}

/* HERO */
.sb-hero {
  background: linear-gradient(180deg, #F0FDFA 0%, #F8FAFC 100%) !important;
  padding: 44px 0 32px 0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  text-align: center !important;
}

.sb-hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #CCFBF1 !important;
  color: #0F766E !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  margin-bottom: 16px !important;
  letter-spacing: 0.02em !important;
}

.sb-hero-title {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  line-height: 1.25 !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.02em !important;
}

.sb-hero-subtitle {
  font-size: 16px !important;
  color: #475569 !important;
  max-width: 780px !important;
  margin: 0 auto 20px auto !important;
  line-height: 1.65 !important;
}

.sb-hero-pills {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.sb-hero-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03) !important;
}

/* MAIN LAYOUT */
.sb-main-section {
  padding-top: 36px !important;
  width: 100% !important;
}

.sb-grid-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 350px !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
}

.sb-wizard-col {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* TARJETAS BASE */
.sb-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important;
  padding: 30px !important;
  margin-bottom: 24px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* INDICADOR DE PASOS */
.sb-steps-indicator {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 30px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  width: 100% !important;
}

.sb-step-ind {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #94A3B8 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  flex-shrink: 0 !important;
}

.sb-step-num {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #F1F5F9 !important;
  color: #64748B !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  transition: all 0.2s ease !important;
}

.sb-step-ind.active {
  color: #0D9488 !important;
}

.sb-step-ind.active .sb-step-num {
  background: #0D9488 !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.35) !important;
}

.sb-step-ind.completed .sb-step-num {
  background: #CCFBF1 !important;
  color: #0D9488 !important;
}

.sb-step-divider {
  flex: 1 !important;
  height: 2px !important;
  background: #E2E8F0 !important;
  margin: 0 10px !important;
  min-width: 10px !important;
}

/* PASOS / PANES */
.sb-step-pane {
  display: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.sb-step-pane.active {
  display: block !important;
  animation: sbFadeIn 0.25s ease !important;
}

@keyframes sbFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.sb-pane-title {
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 6px 0 !important;
}

.sb-pane-desc {
  font-size: 14px !important;
  color: #64748B !important;
  margin: 0 0 22px 0 !important;
}

/* PASO 1: SEDES */
.sb-sede-options {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

.sb-sede-card {
  border: 2px solid #E2E8F0 !important;
  border-radius: 14px !important;
  padding: 20px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  position: relative !important;
  background: #FFFFFF !important;
  display: block !important;
}

.sb-sede-card:hover {
  border-color: #99F6E4 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05) !important;
}

.sb-sede-card.selected {
  border-color: #0D9488 !important;
  background: #F0FDFA !important;
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.12) !important;
}

.sb-sede-badge {
  display: inline-block !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #0D9488 !important;
  background: #CCFBF1 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  margin-bottom: 10px !important;
  text-transform: uppercase !important;
}

.sb-sede-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.sb-sede-radio-circle {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  border: 2px solid #CBD5E1 !important;
  display: inline-block !important;
  position: relative !important;
  flex-shrink: 0 !important;
  transition: all 0.2s !important;
}

.sb-sede-card.selected .sb-sede-radio-circle {
  border-color: #0D9488 !important;
  background: #0D9488 !important;
  box-shadow: inset 0 0 0 3px #FFFFFF !important;
}

.sb-sede-name {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
}

.sb-sede-address {
  font-style: normal !important;
  font-size: 13px !important;
  color: #64748B !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.sb-sede-reg {
  color: #0D9488 !important;
  font-weight: 600 !important;
  font-size: 11.5px !important;
  display: inline-block !important;
  margin-top: 4px !important;
}

/* PASO 2: TRATAMIENTOS */
.sb-treatments-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

.sb-treat-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 14px !important;
  cursor: pointer !important;
  background: #FFFFFF !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}

.sb-treat-card:hover {
  border-color: #99F6E4 !important;
  background: #F8FAFC !important;
  transform: translateY(-2px) !important;
}

.sb-treat-card.selected {
  border-color: #0D9488 !important;
  background: #F0FDFA !important;
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.1) !important;
}

.sb-treat-icon {
  font-size: 22px !important;
  flex-shrink: 0 !important;
}

.sb-treat-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.sb-treat-info strong {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0F172A !important;
  margin-bottom: 2px !important;
}

.sb-treat-info span {
  font-size: 11.5px !important;
  color: #64748B !important;
  line-height: 1.35 !important;
}

.sb-treat-check {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #0D9488 !important;
  opacity: 0 !important;
  transition: opacity 0.2s !important;
}

.sb-treat-card.selected .sb-treat-check {
  opacity: 1 !important;
}

/* PASO 3: FECHAS Y HORAS (TOTALMENTE ENCAJADAS) */
.sb-dates-nav-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.sb-dates-nav-btns {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.sb-nav-arrow-btn {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  padding: 5px 12px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.sb-nav-arrow-btn:hover:not(:disabled) {
  background: #F1F5F9 !important;
  border-color: #0D9488 !important;
  color: #0D9488 !important;
}

.sb-nav-arrow-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

.sb-dates-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.sb-dates-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sb-date-item {
  background: #FFFFFF !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 12px 4px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.sb-date-item:hover {
  border-color: #0D9488 !important;
  transform: translateY(-2px) !important;
}

.sb-date-item.selected {
  border-color: #0D9488 !important;
  background: #0D9488 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3) !important;
}

.sb-date-dow {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #64748B !important;
}

.sb-date-item.selected .sb-date-dow {
  color: #CCFBF1 !important;
}

.sb-date-day {
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  line-height: 1.1 !important;
  margin: 3px 0 !important;
}

.sb-date-item.selected .sb-date-day {
  color: #FFFFFF !important;
}

.sb-date-month {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748B !important;
}

.sb-date-item.selected .sb-date-month {
  color: #CCFBF1 !important;
}

.sb-date-avail {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #0D9488 !important;
  background: #F0FDFA !important;
  padding: 2px 6px !important;
  border-radius: 999px !important;
  margin-top: 6px !important;
}

.sb-date-item.selected .sb-date-avail {
  background: rgba(255,255,255,0.25) !important;
  color: #FFFFFF !important;
}

.sb-times-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

.sb-times-group-title {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  margin-bottom: 8px !important;
}

.sb-times-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

.sb-time-slot {
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 10px 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1E293B !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
}

.sb-time-slot:hover {
  border-color: #0D9488 !important;
  color: #0D9488 !important;
  background: #F0FDFA !important;
}

.sb-time-slot.selected {
  background: #0D9488 !important;
  border-color: #0D9488 !important;
  color: #FFFFFF !important;
  box-shadow: 0 3px 8px rgba(13, 148, 136, 0.3) !important;
}

/* BANNER DE HORA SELECCIONADA DIRECTAMENTE VISIBLE */
.sb-selected-slot-banner {
  background: #F0FDFA !important;
  border: 2px solid #0D9488 !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  margin-top: 24px !important;
  display: none;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  animation: sbFadeIn 0.3s ease !important;
}

.sb-selected-slot-banner.is-visible {
  display: flex !important;
}

.sb-slot-banner-info {
  display: flex !important;
  flex-direction: column !important;
}

.sb-slot-banner-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0F766E !important;
  text-transform: uppercase !important;
}

.sb-slot-banner-val {
  font-size: 16px !important;
  color: #0F172A !important;
  font-weight: 800 !important;
}

.sb-slot-banner-btn {
  padding: 12px 20px !important;
  font-size: 15px !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35) !important;
}

.sb-no-slots {
  font-size: 13px !important;
  color: #94A3B8 !important;
  font-style: italic !important;
  padding: 6px 0 !important;
}

.sb-loading-box {
  display: flex;
  align-items: center !important;
  gap: 12px !important;
  padding: 24px !important;
  background: #F8FAFC !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  color: #64748B !important;
}

.sb-loading-box.is-hidden {
  display: none !important;
}

.sb-dates-section {
  display: none;
}

.sb-dates-section.is-visible {
  display: block !important;
}

.sb-error-box {
  display: none;
  background: #FEF2F2 !important;
  border: 1px solid #FECACA !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  color: #991B1B !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}

.sb-error-box.is-visible {
  display: block !important;
}

.sb-spinner {
  width: 20px !important;
  height: 20px !important;
  border: 3px solid #E2E8F0 !important;
  border-top-color: #0D9488 !important;
  border-radius: 50% !important;
  animation: sbSpin 0.7s linear infinite !important;
}

.sb-spinner-white {
  border-color: rgba(255,255,255,0.3) !important;
  border-top-color: #FFFFFF !important;
}

@keyframes sbSpin {
  to { transform: rotate(360deg); }
}

/* PASO 4: FORMULARIO */
.sb-selection-summary {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  background: #F0FDFA !important;
  border: 1px solid #CCFBF1 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-bottom: 24px !important;
}

.sb-summary-item {
  display: flex !important;
  flex-direction: column !important;
}

.sb-sum-lbl {
  font-size: 11px !important;
  color: #0F766E !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-bottom: 2px !important;
}

.sb-summary-item strong {
  font-size: 13.5px !important;
  color: #0F172A !important;
  font-weight: 700 !important;
}

.sb-form-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.sb-field-row.sb-two-cols {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.sb-field-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.sb-field-group label {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #334155 !important;
}

.sb-req {
  color: #EF4444 !important;
}

.sb-input,
.sb-textarea {
  width: 100% !important;
  background: #FFFFFF !important;
  border: 1.5px solid #CBD5E1 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14.5px !important;
  color: #0F172A !important;
  font-family: inherit !important;
  transition: all 0.2s !important;
}

.sb-input:focus,
.sb-textarea:focus {
  outline: none !important;
  border-color: #0D9488 !important;
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15) !important;
}

.sb-consent-group {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 14px !important;
}

.sb-checkbox-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
}

.sb-checkbox-label input {
  margin-top: 3px !important;
  accent-color: #0D9488 !important;
  width: 16px !important;
  height: 16px !important;
}

.sb-field-error-msg {
  background: #FEF2F2 !important;
  border: 1px solid #FCA5A5 !important;
  color: #991B1B !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}

/* BOTONES */
.sb-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 24px !important;
}

.sb-actions-between {
  justify-content: space-between !important;
}

.sb-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 13px 24px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  border: none !important;
  font-family: inherit !important;
}

.sb-btn-primary {
  background: #007A70 !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(0, 122, 112, 0.25) !important;
}

.sb-btn-primary:hover:not(:disabled) {
  background: #00635B !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 122, 112, 0.35) !important;
}

.sb-btn-primary:disabled {
  background: #CBD5E1 !important;
  color: #94A3B8 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

.sb-btn-outline {
  background: #FFFFFF !important;
  color: #475569 !important;
  border: 1.5px solid #CBD5E1 !important;
}

.sb-btn-outline:hover {
  background: #F1F5F9 !important;
  color: #0F172A !important;
}

.sb-btn-success {
  background: linear-gradient(135deg, #0D9488 0%, #0F766E 100%) !important;
  color: #FFFFFF !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  box-shadow: 0 4px 16px rgba(13, 148, 136, 0.35) !important;
}

.sb-btn-success:hover:not(:disabled) {
  background: linear-gradient(135deg, #0F766E 0%, #115E59 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45) !important;
}

.sb-btn-wa {
  background: #25D366 !important;
  color: #FFFFFF !important;
}

.sb-btn-wa:hover {
  background: #20BA5A !important;
  transform: translateY(-2px) !important;
}

/* PANTALLA DE ÉXITO */
.sb-success-pane {
  display: none;
  text-align: center !important;
  padding: 30px 10px !important;
}

.sb-success-pane.is-visible {
  display: block !important;
}

.sb-success-icon {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: #CCFBF1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px auto !important;
}

.sb-success-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 8px 0 !important;
}

.sb-success-subtitle {
  font-size: 15px !important;
  color: #64748B !important;
  max-width: 500px !important;
  margin: 0 auto 24px auto !important;
}

.sb-success-card {
  max-width: 480px !important;
  margin: 0 auto 24px auto !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
  text-align: left !important;
}

.sb-suc-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #EDF2F7 !important;
  font-size: 14px !important;
}

.sb-suc-row:last-child {
  border-bottom: none !important;
}

.sb-suc-row span {
  color: #64748B !important;
}

.sb-suc-row strong {
  color: #0F172A !important;
}

.sb-success-tips {
  max-width: 560px !important;
  margin: 0 auto 24px auto !important;
  text-align: left !important;
  background: #FFFFFF !important;
  border: 1px dashed #CBD5E1 !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
}

.sb-success-tips h4 {
  margin: 0 0 10px 0 !important;
  font-size: 14px !important;
  color: #0F172A !important;
  font-weight: 700 !important;
}

.sb-success-tips ul {
  margin: 0 !important;
  padding-left: 20px !important;
  font-size: 13.5px !important;
  color: #475569 !important;
}

.sb-success-tips li {
  margin-bottom: 6px !important;
}

.sb-success-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

/* SIDEBAR */
.sb-doc-avatar-wrap {
  text-align: center !important;
  margin-bottom: 14px !important;
}

.sb-doc-avatar {
  width: 105px !important;
  height: 105px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  border: 3px solid #CCFBF1 !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.15) !important;
}

.sb-doc-info {
  text-align: center !important;
  margin-bottom: 14px !important;
}

.sb-doc-name {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 3px 0 !important;
}

.sb-doc-role {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0D9488 !important;
  display: block !important;
}

.sb-doc-col {
  font-size: 11.5px !important;
  color: #64748B !important;
  display: block !important;
}

.sb-doc-quote {
  font-style: italic !important;
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
  background: #F8FAFC !important;
  border-left: 3px solid #0D9488 !important;
  padding: 10px 12px !important;
  border-radius: 0 8px 8px 0 !important;
  margin: 0 !important;
}

.sb-side-title {
  font-size: 15.5px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  margin: 0 0 8px 0 !important;
}

.sb-side-desc {
  font-size: 13px !important;
  color: #64748B !important;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
}

.sb-side-phone-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  background: #007A70 !important;
  color: #FFFFFF !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  padding: 12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  box-shadow: 0 2px 8px rgba(0, 122, 112, 0.25) !important;
  margin-bottom: 10px !important;
}

.sb-side-phone-btn:hover {
  background: #00635B !important;
  transform: translateY(-2px) !important;
  color: #FFFFFF !important;
}

.sb-side-wa-link {
  display: block !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #059669 !important;
  text-decoration: none !important;
  margin-bottom: 14px !important;
}

.sb-side-wa-link:hover {
  text-decoration: underline !important;
}

.sb-side-hours {
  border-top: 1px solid #EDF2F7 !important;
  padding-top: 12px !important;
  font-size: 12px !important;
  color: #64748B !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.sb-side-hours strong {
  color: #0F172A !important;
}

.sb-badge-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sb-badge-list li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 12.5px !important;
  color: #475569 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #EDF2F7 !important;
}

.sb-badge-list li:last-child {
  border-bottom: none !important;
}

.sb-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .sb-grid-layout {
    grid-template-columns: 1fr !important;
  }
  .sb-hero-title {
    font-size: 26px !important;
  }
  .sb-dates-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .sb-sede-options {
    grid-template-columns: 1fr !important;
  }
  .sb-treatments-grid {
    grid-template-columns: 1fr !important;
  }
  .sb-field-row.sb-two-cols {
    grid-template-columns: 1fr !important;
  }
  .sb-selection-summary {
    grid-template-columns: 1fr !important;
  }
  .sb-card {
    padding: 18px 14px !important;
  }
  .sb-steps-indicator {
    overflow-x: auto !important;
  }
  .sb-step-lbl {
    display: none !important;
  }
  .sb-dates-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
  }
  .sb-date-item {
    padding: 8px 2px !important;
  }
  .sb-date-day {
    font-size: 17px !important;
  }
  .sb-selected-slot-banner {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .sb-slot-banner-btn {
    width: 100% !important;
  }
}
