.schedule-card { padding-bottom: 40px; }
.schedule-options { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin: 28px 0 8px; }
.schedule-option { display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1 1 160px; max-width: 220px; padding: 18px 14px; border: 2px solid #e2e8f0; border-radius: 14px; background: #fff; cursor: pointer; font-family: inherit; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.schedule-option:hover { border-color: var(--primary-blue); transform: translateY(-2px); }
.schedule-option.is-active { border-color: var(--primary-blue); background: linear-gradient(135deg, rgba(26,35,126,0.06), rgba(63,81,181,0.02)); box-shadow: 0 10px 24px rgba(26,35,126,0.1); }
.schedule-option-icon { font-size: 1.9rem; line-height: 1; }
.schedule-option-label { font-weight: 700; color: var(--text-dark); text-align: center; font-size: .95rem; }

.schedule-panel { margin-top: 28px; padding-top: 24px; border-top: 1px solid #edf2f7; animation: fadeIn 0.3s ease; }
.schedule-panel-title { color: var(--primary-blue); font-size: 1.25rem; margin-bottom: 8px; }
.schedule-panel-text { color: var(--text-muted); margin-bottom: 20px; line-height: 1.6; }

.schedule-date-list { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 16px; }
.schedule-date-chip { flex: 0 0 auto; padding: 10px 16px; border-radius: 999px; border: 2px solid #e2e8f0; background: #fff; font-weight: 700; font-size: .9rem; cursor: pointer; white-space: nowrap; text-transform: capitalize; color: var(--text-dark); transition: .18s ease; }
.schedule-date-chip:hover { border-color: var(--primary-blue); }
.schedule-date-chip.is-active { border-color: var(--primary-blue); background: var(--primary-blue); color: #fff; }

.schedule-slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; margin-bottom: 20px; }
.schedule-slot { padding: 12px 8px; border-radius: 10px; border: 2px solid #e2e8f0; background: #fff; font-weight: 700; cursor: pointer; color: var(--text-dark); transition: .18s ease; }
.schedule-slot:hover { border-color: var(--primary-pink); }
.schedule-slot.is-selected { border-color: var(--primary-green); background: var(--primary-green); color: #fff; }

.schedule-form { margin-top: 8px; animation: fadeIn 0.3s ease; }
.schedule-selected-slot { margin-bottom: 16px; color: var(--text-dark); font-size: .98rem; }
.schedule-empty { color: var(--text-muted); background: #f8f9fc; border-radius: 10px; padding: 16px; text-align: center; }

.schedule-phone-link { display: inline-flex; align-items: center; gap: 10px; padding: 16px 24px; border-radius: 12px; background: linear-gradient(135deg, var(--primary-blue), #3f51b5); color: #fff; font-weight: 800; font-size: 1.2rem; text-decoration: none; box-shadow: 0 10px 24px rgba(26,35,126,0.2); }
.schedule-phone-link:hover { filter: brightness(1.05); }

.schedule-form-error { color: #c0392b; background: #fdecea; border: 1px solid #f5c2bd; border-radius: 8px; padding: 10px 14px; margin-bottom: 16px; font-size: .92rem; }

@media (max-width: 600px) {
    .schedule-options { flex-direction: column; align-items: stretch; }
    .schedule-option { max-width: none; flex-direction: row; justify-content: flex-start; }
}
