/* Ajustements responsive — breakpoints 360/375/390/414/768/1024/1440, aucun scroll horizontal. */

.elevateur-app, .elevateur-app * { max-width: 100%; }

@media (max-width: 480px) {
	.elevateur-calendar .fc-daygrid-day-number { padding: 4px 5px; font-size: 11px; }
	.elevateur-chip { font-size: 9px; padding: 1px 4px; }
	.elevateur-toolbar-title { font-size: 12px; }
	.elevateur-slot-modal { width: 94%; padding: 24px 18px 20px; }
	.elevateur-slot-facts { grid-template-columns: 1fr 1fr; gap: 12px 14px; }
	.elevateur-calendar .fc-timegrid-slot { height: 1.15em; }
	.elevateur-calendar .fc-timegrid-slot-label-cushion, .elevateur-calendar .fc-timegrid-axis-cushion { font-size: 9px; }
	.elevateur-chip-day { font-size: 9px; }
}

@media (min-width: 481px) and (max-width: 768px) {
	.elevateur-calendar .fc-daygrid-day-number { font-size: 13px; }
}

@media (min-width: 769px) {
	.elevateur-app { max-width: 860px; }
	.elevateur-slot-facts { grid-template-columns: 1fr 1fr 1fr; }
}

/* Boutons tactiles suffisamment grands sur tous les écrans. */
.elevateur-icon-btn, .elevateur-btn, .elevateur-filter-chip { min-height: 38px; }

/* Le bottom sheet reste scrollable indépendamment du calendrier sous-jacent. */
body.elevateur-sheet-locked { overflow: hidden; }

/* Focus visible clavier (accessibilité). */
.elevateur-app a:focus-visible,
.elevateur-app button:focus-visible,
.elevateur-app input:focus-visible,
.elevateur-app [tabindex]:focus-visible {
	outline: 2px solid var(--elv-ink, #1a1a1a);
	outline-offset: 2px;
}
