/* AllShades26 Patient Portal - mobile.css - Responsive overrides */
@media (max-width: 768px) {
    .container { padding: 1rem; }
    .steps { gap: 0.25rem; }
    .step { font-size: 0.7rem; padding: 0.3rem 0.5rem; }
    .step-label { display: none; }
    .step .step-num { width: 28px; height: 28px; font-size: 0.8rem; }
    .card-body { padding: 1rem; }
    .card-header { padding: 0.75rem 1rem; font-size: 0.9rem; }
    .calendar-grid .day-cell { font-size: 0.8rem; }
    .calendar-grid .day-header { font-size: 0.65rem; }
    .slots-grid { grid-template-columns: repeat(2, 1fr); }
    .slot-btn { padding: 0.65rem 0.4rem; font-size: 0.9rem; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .form-group { margin-bottom: 0.75rem; }
    .form-label { font-size: 0.8rem; }
    .form-control { padding: 0.5rem 0.6rem; font-size: 0.9rem; }
    .btn { padding: 0.65rem 1rem; font-size: 0.9rem; }
    .btn-group { flex-direction: column; }
    .summary-row { font-size: 0.85rem; }
    .confirmation-code .code { font-size: 1.6rem; }
    .site-header .brand { font-size: 1.1rem; }
    h1 { font-size: 1.3rem; }
    h2 { font-size: 1.15rem; }
}
@media (max-width: 380px) {
    .slots-grid { grid-template-columns: repeat(2, 1fr); gap: 0.4rem; }
    .calendar-grid { gap: 2px; }
    .calendar-grid .day-cell { font-size: 0.75rem; }
}
@media (pointer: coarse) {
    .slot-btn { min-height: 48px; }
    .calendar-grid .day-cell { min-height: 40px; }
    .btn { min-height: 48px; }
}
