.mcadvcr-booking { max-width: 420px; }
.mcadvcr-booking .mcadv-field { margin-bottom: 12px; }
.mcadvcr-booking select,
.mcadvcr-booking input[type="text"],
.mcadvcr-booking input[type="email"],
.mcadvcr-booking input[type="tel"] {
	width: 100%;
	box-sizing: border-box;
	padding: 8px;
}
.mcadvcr-availability,
.mcadvcr-result { margin: 8px 0; font-weight: 600; min-height: 1.2em; }
.mcadvcr-availability.is-ok,
.mcadvcr-result.is-ok { color: #047857; }
.mcadvcr-availability.is-error,
.mcadvcr-result.is-error { color: #b91c1c; }

/* Suppléments (voir assets/js/front.js, buildSupplementsUI()) et tarif calculé du créneau
   sélectionné (heures pleines/creuses + suppléments, voir MCADVCR_Pricing/MCADVCR_Supplements) —
   affichés avant l'envoi de la demande, sur le formulaire [mca_booking]. */
.mcadvcr-supplements {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 8px 0;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}
.mcadvcr-supp-row { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.mcadvcr-supp-check { display: flex; align-items: center; gap: 6px; }
.mcadvcr-supp-amount { color: #64748b; }
.mcadvcr-supp-row input[type="number"] { width: 64px; }
.mcadvcr-price { margin: 8px 0; min-height: 1.2em; }
.mcadvcr-price:empty { display: none; }
.mcadvcr-total-message { font-weight: 600; color: #1f2937; }

/* Agenda public [mca_agenda] : grande grille de disponibilité affichée directement sur la
   page (lignes = créneaux horaires, colonnes = ressources) — pas de calendrier caché dans
   un popup comme le champ de date de [mca_booking] ci-dessus. */
.mcadvcr-agenda { max-width: 100%; }
.mcadvcr-agenda-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.mcadvcr-agenda-title { text-transform: capitalize; }
.mcadvcr-agenda-date { padding: 6px 8px; }
.mcadvcr-agenda-prev:disabled,
.mcadvcr-agenda-next:disabled { opacity: .4; cursor: not-allowed; }
.mcadvcr-agenda-grid { overflow-x: auto; }
.mcadvcr-agenda-table {
	border-collapse: collapse;
	width: 100%;
	min-width: 480px;
}
.mcadvcr-agenda-table th,
.mcadvcr-agenda-table td {
	border: 1px solid #e2e8f0;
	padding: 0;
}
.mcadvcr-agenda-table thead th {
	padding: 8px 10px;
	background: #f8fafc;
	font-size: 13px;
	white-space: nowrap;
}
.mcadvcr-agenda-time {
	padding: 6px 10px !important;
	background: #f8fafc;
	font-size: 12.5px;
	font-weight: 600;
	white-space: nowrap;
	text-align: right;
}
.mcadvcr-agenda-cell { min-width: 120px; height: 36px; text-align: center; font-size: 12px; }
.mcadvcr-agenda-cell.is-closed {
	background: repeating-linear-gradient(45deg, #f1f5f9, #f1f5f9 6px, #e2e8f0 6px, #e2e8f0 12px);
	color: #64748b;
}
.mcadvcr-agenda-cell.is-booked { background: #fef2f2; color: #991b1b; }
.mcadvcr-agenda-cell.is-pending { background: #fffbeb; color: #92400e; }
.mcadvcr-agenda-slot-btn {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 34px;
	border: 0;
	background: #ecfdf5;
	color: #065f46;
	font-weight: 600;
	cursor: pointer;
}
.mcadvcr-agenda-slot-btn:hover { background: #d1fae5; }
.mcadvcr-agenda-panel {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
	max-width: 420px;
}
.mcadvcr-agenda-panel[hidden] { display: none; }
.mcadvcr-agenda-panel label { display: block; font-weight: 600; font-size: 12.5px; margin-bottom: 8px; }
.mcadvcr-agenda-panel input[type="text"],
.mcadvcr-agenda-panel input[type="email"],
.mcadvcr-agenda-panel input[type="tel"] {
	width: 100%;
	box-sizing: border-box;
	padding: 7px 8px;
	margin-top: 2px;
	font-weight: normal;
}
.mcadvcr-agenda-panel-result { font-weight: 600; min-height: 1.2em; }
.mcadvcr-agenda-panel-result.is-ok { color: #047857; }
.mcadvcr-agenda-panel-result.is-error { color: #b91c1c; }

/* Task 7 : navigation "jour précédent/suivant" à côté du champ date du formulaire [mca_booking]
   (voir assets/js/front.js, shiftSelectedDay()). */
.mcadvcr-day-nav { display: flex; align-items: center; gap: 6px; }
.mcadvcr-day-nav .mcadvcr-start { flex: 1; }
.mcadvcr-day-nav .button { flex-shrink: 0; padding: 0 10px; }

/* Task 3 : "Membres présents" (recherche + chips) et "Invités" (chips), formulaire [mca_booking]
   — voir assets/js/front.js (initMembersSearch()/initGuestsUI()). */
.mcadvcr-members-field,
.mcadvcr-guests-field { margin: 10px 0; }
.mcadvcr-members-search { position: relative; }
.mcadvcr-members-results {
	position: absolute;
	z-index: 10;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 2px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
	max-height: 220px;
	overflow-y: auto;
}
.mcadvcr-members-results[hidden] { display: none; }
.mcadvcr-members-result {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #f1f5f9;
	padding: 8px 10px;
	font-size: 13px;
	cursor: pointer;
}
.mcadvcr-members-result:last-child { border-bottom: 0; }
.mcadvcr-members-result:hover,
.mcadvcr-members-result:focus { background: #f1f5f9; }
.mcadvcr-members-empty { padding: 8px 10px; font-size: 12.5px; color: #64748b; }
.mcadvcr-members-selected,
.mcadvcr-guests-selected {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 8px;
}
.mcadvcr-member-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #eff6ff;
	color: #1e3a8a;
	border: 1px solid #bfdbfe;
	border-radius: 999px;
	padding: 3px 6px 3px 10px;
	font-size: 12.5px;
	font-weight: 600;
}
.mcadvcr-guest-chip { background: #f8fafc; color: #334155; border-color: #e2e8f0; }
.mcadvcr-member-remove {
	border: 0;
	background: rgba(15, 23, 42, .08);
	color: inherit;
	border-radius: 999px;
	width: 18px;
	height: 18px;
	line-height: 1;
	cursor: pointer;
	font-size: 13px;
}
.mcadvcr-member-remove:hover { background: rgba(15, 23, 42, .18); }
.mcadvcr-guests-add { display: flex; gap: 6px; }
.mcadvcr-guests-add input[type="text"] { flex: 1; }
