/**
 * Calendrier / créneaux (faire-demande)
 * Scope: uniquement sous `.amtc-ui`.
 */

.amtc-ui #disponibilites-container {
	margin-top: 14px;
	min-height: 96px;
}

.amtc-ui .availability-loading,
.amtc-ui .availability-error,
.amtc-ui .availability-empty {
	border-radius: 12px;
	border: 1px dashed rgba(51, 51, 51, 0.18);
	background: #F7F5F2;
	padding: 14px;
	color: rgba(51, 51, 51, 0.72);
}

.amtc-ui .availability-loading {
	border-style: solid;
	background: rgba(200, 147, 7, 0.10);
}

.amtc-ui .availability-error {
	border-style: solid;
	border-color: rgba(220, 38, 38, 0.22);
	background: rgba(220, 38, 38, 0.06);
	color: #991b1b;
}

/* Navigation */
.amtc-ui .availability-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
	padding: 12px;
	border-radius: 12px;
	border: 1px solid rgba(230, 234, 242, 0.95);
	background: #F7F5F2;
}

.amtc-ui .availability-count {
	margin: 0;
	font-size: 13px;
	color: rgba(15, 23, 42, 0.55);
	font-weight: 800;
}

.amtc-ui .availability-day-current {
	flex: 1;
	text-align: center;
}

.amtc-ui .availability-day-current h4 {
	margin: 0 0 6px 0;
	font-size: 16px;
	color: #333333;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.amtc-ui .day-indicator {
	margin: 0;
	font-size: 12px;
	color: rgba(15, 23, 42, 0.55);
	font-weight: 700;
}

.amtc-ui .nav-arrow {
	background: rgba(51, 51, 51, 0.04);
	color: #333333;
	border: 0;
	padding: 10px 12px;
	cursor: pointer;
	font-size: 18px;
	border-radius: 10px;
	transition: background 160ms ease;
	min-width: 44px;
	font-weight: 900;
}

.amtc-ui .nav-arrow:hover:not(.disabled) {
	background: rgba(200, 147, 7, 0.22);
}

.amtc-ui .nav-arrow.disabled {
	background: rgba(51, 51, 51, 0.03);
	color: rgba(51, 51, 51, 0.25);
	cursor: not-allowed;
}

/* Slots */
.amtc-ui .availability-day {
	padding: 14px;
	background: #F7F5F2;
	border-radius: 12px;
	border: 1px solid rgba(230, 234, 242, 0.95);
}

.amtc-ui .slots-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 12px 0 0 0;
}

.amtc-ui .slot-item {
	margin: 0;
}

.amtc-ui .slot-button {
	width: 100%;
	background: #F7F5F2;
	color: #333333;
	border: 1px solid rgba(230, 234, 242, 0.95);
	padding: 10px 12px;
	cursor: pointer;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 900;
	transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	text-align: center;
	letter-spacing: 0.06em;
}

.amtc-ui .slot-button:hover {
	background: rgba(51, 51, 51, 0.03);
	border-color: rgba(51, 51, 51, 0.10);
}

.amtc-ui .slot-button.selected,
.amtc-ui .slot-button.active {
	background: rgba(200, 147, 7, 0.32);
	border-color: rgba(200, 147, 7, 0.55);
	color: #333333;
	box-shadow: 0 10px 20px rgba(16, 24, 40, 0.10);
}

.amtc-ui .slot-button.selected:hover,
.amtc-ui .slot-button.active:hover {
	background: rgba(200, 147, 7, 0.42);
}

@media (max-width: 900px) {
	.amtc-ui .slots-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.amtc-ui .slots-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
	.amtc-ui .availability-navigation { flex-wrap: wrap; }
	.amtc-ui .availability-count { width: 100%; text-align: center; }
}

.hidden_field { display: none; }