/**
 * Formulaire Medcare — thème clair, variables du site (avec fallbacks).
 */

/* Variables : réutilisation des variables du thème si présentes, sinon fallbacks thème clair */
.gildas-medcare {
	--gildas-medcare-primary: var(--color-primary, var(--link-color, #2271b1));
	--gildas-medcare-primary-hover: var(--color-primary-hover, var(--link-hover-color, #135e96));
	--gildas-medcare-text: var(--color-text, var(--body-color, #1d2327));
	--gildas-medcare-muted: var(--color-muted, #50575e);
	--gildas-medcare-border: var(--color-border, var(--border-color, #e2e8f0));
	--gildas-medcare-bg: var(--color-background, var(--body-background, #fff));
	--gildas-medcare-bg-input: var(--color-input-background, #f6f7f7);
	--gildas-medcare-success: var(--color-success, #00a32a);
	--gildas-medcare-error: var(--color-error, #b32d2e);
	--gildas-medcare-radius: var(--radius, 12px);
	--gildas-medcare-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.gildas-medcare {
	margin: 1em 0;
	padding: 1.5em;
	background: var(--gildas-medcare-bg);
	border: 1px solid var(--gildas-medcare-border);
	border-radius: var(--gildas-medcare-radius);
	box-shadow: var(--gildas-medcare-shadow);
	color: var(--gildas-medcare-text);
}

.gildas-medcare-form .widefat {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.5em 0.75em;
	border: 1px solid var(--gildas-medcare-border);
	border-radius: 8px;
	background: var(--gildas-medcare-bg);
	color: var(--gildas-medcare-text)!important;
}

.gildas-medcare-form .widefat:focus {
	border-color: var(--gildas-medcare-primary);
	outline: none;
	box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
}

.gildas-medcare-form p {
	margin-bottom: 1em;
}

.gildas-medcare-form label {
	margin-bottom: 0.25em;
	font-weight: 600;
	color: var(--gildas-medcare-text);
}

.gildas-medcare-form .required {
	color: var(--gildas-medcare-error);
}

.gildas-medcare-form h2 {
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	font-size: 1.1em;
	color: var(--gildas-medcare-text);
}

.gildas-medcare-form h2:first-of-type {
	margin-top: 0;
}

/* Grille 2 colonnes (étapes 1 et 3) selon la largeur */
.gildas-medcare-fields-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1em;
}

.gildas-medcare-step1-grid p {
	margin-bottom: 0;
}

@media (min-width: 600px) {
	.gildas-medcare-step1-grid {
		grid-template-columns: 1fr 1fr;
	}
	.gildas-medcare-step1-grid .gildas-medcare-grid-full,
	.gildas-medcare-step1-grid .gildas-medcare-field-full {
		grid-column: 1 / -1;
	}
}

/* Navigation : boutons en bas, Suivant/Envoyer à droite */
.gildas-medcare-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75em;
	margin-top: 1.5em;
	padding-top: 1em;
	border-top: 1px solid var(--gildas-medcare-border);
}

.gildas-medcare-nav-right {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-left: auto;
}

/* Bouton Envoyer — état chargement (évite le spam) */
.gildas-medcare-btn-loading {
	pointer-events: none;
	cursor: not-allowed;
	opacity: 0.85;
}

.gildas-medcare-btn-loading .gildas-medcare-btn-spinner {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.5em;
	vertical-align: middle;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: gildas-medcare-spin 0.6s linear infinite;
}

@keyframes gildas-medcare-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Indicateur d'étape pour lecteurs d'écran uniquement */
.gildas-medcare-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Barre de progression — pills */
.gildas-medcare-progress {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 1.25em;
}

.gildas-medcare-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.5em 0.75em;
	border-radius: 999px;
	border: 1px solid var(--gildas-medcare-border);
	background: var(--gildas-medcare-bg-input);
	color: var(--gildas-medcare-muted);
	font-size: 0.875em;
	font-weight: 600;
}

.gildas-medcare-pill-active {
	border-color: var(--gildas-medcare-primary);
	background: rgba(34, 113, 177, 0.08);
	color: var(--gildas-medcare-primary);
}

.gildas-medcare-pill-done {
	border-color: var(--gildas-medcare-success);
	background: rgba(0, 163, 42, 0.08);
	color: var(--gildas-medcare-success);
}

/* Boutons */
.gildas-medcare-form .button,
.gildas-medcare-form .gildas-medcare-btn-next,
.gildas-medcare-form .gildas-medcare-btn-prev,
.gildas-medcare-form .gildas-medcare-btn-submit {
	display: inline-flex;
	align-items: center;
	padding: 0.5em 1em;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid var(--gildas-medcare-border);
	background: var(--gildas-medcare-bg-input);
	color: var(--gildas-medcare-text);
}

.gildas-medcare-form .button-primary,
.gildas-medcare-form .gildas-medcare-btn-next,
.gildas-medcare-form .gildas-medcare-btn-submit {
	border-color: var(--gildas-medcare-primary);
	background: var(--gildas-medcare-primary);
	color: #fff;
}

.gildas-medcare-form .button-primary:hover,
.gildas-medcare-form .gildas-medcare-btn-next:hover,
.gildas-medcare-form .gildas-medcare-btn-submit:hover {
	background: var(--gildas-medcare-primary-hover);
	border-color: var(--gildas-medcare-primary-hover);
}

.gildas-medcare-success {
	padding: 1em;
	background: rgba(0, 163, 42, 0.1);
	border-left: 4px solid var(--gildas-medcare-success);
	border-radius: 0 8px 8px 0;
	color: var(--gildas-medcare-text);
}

.gildas-medcare-error {
	padding: 1em;
	background: rgba(179, 45, 46, 0.08);
	border-left: 4px solid var(--gildas-medcare-error);
	margin-bottom: 1em;
	border-radius: 0 8px 8px 0;
}

/* En-tête commun à chaque étape (aligné avec étape 1) */
.gildas-medcare-step-header {
	margin-bottom: 20px;
	border-bottom: 1px solid var(--gildas-medcare-border);
	padding-bottom: 20px;
}
.gildas-medcare-step-header h2 {
	margin-top: 0;
	margin-bottom: 0.35em;
	font-size: 1.15em;
	color: var(--gildas-medcare-text);
}
.gildas-medcare-step-header .gildas-medcare-step2-intro,
.gildas-medcare-step-header .gildas-medcare-step3-intro {
	margin-bottom: 0;
	color: var(--gildas-medcare-muted);
	font-size: 0.95em;
}

/* Étape 2 — arbre services */
.gildas-medcare-step2-intro {
	margin-bottom: 0;
	color: var(--gildas-medcare-muted);
}

.gildas-medcare-arbre {
	margin: 1em 0;
}
.gildas-medcare-pilier-root {
	margin-bottom: 1em;
}
.gildas-medcare-pilier-root[style*="display: none"] {
	margin-bottom: 0;
}

.gildas-medcare-arbre .gildas-medcare-group {
	margin: 0.5em 0;
	border: 1px solid var(--gildas-medcare-border);
	border-radius: var(--gildas-medcare-radius);
	background: var(--gildas-medcare-bg-input);
	overflow: hidden;
}

.gildas-medcare-arbre .gildas-medcare-group summary {
	padding: 0.6em 0.75em;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	color: var(--gildas-medcare-text);
}

.gildas-medcare-arbre .gildas-medcare-group summary::-webkit-details-marker {
	display: none;
}

.gildas-medcare-arbre .gildas-medcare-group summary::before {
	content: "▸ ";
	display: inline-block;
	transition: transform 0.2s;
	margin-right: 0.25em;
}

.gildas-medcare-arbre .gildas-medcare-group[open] summary::before {
	transform: rotate(90deg);
}

.gildas-medcare-arbre .gildas-medcare-children {
	padding: 0 0.75em 0.75em 1.5em;
}

.gildas-medcare-arbre .gildas-medcare-leaf {
	margin: 0.35em 0;
}

.gildas-medcare-arbre .gildas-medcare-leaf label {
	font-weight: 400;
	cursor: pointer;
}

/* Étape 3 — infos par service (details/summary) */
.gildas-medcare-step3-intro {
	margin-bottom: 1em;
	color: var(--gildas-medcare-muted);
}

.gildas-medcare-step3-blocks {
	margin: 1em 0;
}

.gildas-medcare-step3-service-details {
	margin-bottom: 1em;
	border: 1px solid var(--gildas-medcare-border);
	border-radius: var(--gildas-medcare-radius);
	background: var(--gildas-medcare-bg-input);
	overflow: hidden;
}

.gildas-medcare-step3-service-details summary {
	padding: 0.6em 0.75em;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
	color: var(--gildas-medcare-text);
}

.gildas-medcare-step3-service-details summary::-webkit-details-marker {
	display: none;
}

.gildas-medcare-step3-service-details summary::before {
	content: "▸ ";
	display: inline-block;
	transition: transform 0.2s;
	margin-right: 0.25em;
}

.gildas-medcare-step3-service-details[open] summary::before {
	transform: rotate(90deg);
}

.gildas-medcare-step3-service {
	padding: 0 0.75em 0.75em 0.75em;
	border-top: 1px solid var(--gildas-medcare-border);
}

/* Grille 2 colonnes dans chaque bloc service (étape 3) */
.gildas-medcare-step3-service {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75em;
}

@media (min-width: 520px) {
	.gildas-medcare-step3-service {
		grid-template-columns: 1fr 1fr;
	}
	.gildas-medcare-step3-service .gildas-medcare-field-full {
		grid-column: 1 / -1;
	}
}

.gildas-medcare-step3-service .gildas-medcare-field {
	margin-bottom: 0;
}

.gildas-medcare-step3-service .gildas-medcare-field:last-child {
	margin-bottom: 0;
}

.gildas-medcare-notice {
	padding: 1em;
	background: rgba(34, 113, 177, 0.08);
	border-left: 4px solid var(--gildas-medcare-primary);
	border-radius: 0 8px 8px 0;
}

/* Formulaire une page — blocs masqués */
.gildas-medcare-single-page .gildas-medcare-block[hidden] {
	display: none !important;
}

.gildas-medcare-single-page .gildas-medcare-inline-error {
	color: var(--gildas-medcare-error);
	margin-bottom: 0.5em;
}

.gildas-medcare-single-page .gildas-medcare-reset-info {
	margin-top: 1em;
	font-size: 0.95em;
	color: var(--gildas-medcare-muted);
}

/* --- STEP 3 : STYLES AVANCÉS (DESIGN CARD) --- */

.mc-service-card {
    background: #fff;
    border: 1px solid var(--gildas-medcare-border);
    border-radius: 12px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    overflow: hidden;
}

/* Header de la carte */
.mc-card-header {
    background: #fdfdfd; /* Très léger gris comme sur capture */
    padding: 12px 15px;
    border-bottom: 1px solid var(--gildas-medcare-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.mc-header-left { display: flex; align-items: center; gap: 10px; }
.mc-fake-cb { width: 18px; height: 18px; border-radius: 4px; border: 1px solid #ccc; }
.mc-card-title { margin: 0; font-size: 15px; font-weight: 700; color: var(--gildas-medcare-text); }
.mc-card-breadcrumb { font-size: 12px; color: var(--gildas-medcare-muted); margin-top: 2px; }

.mc-header-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Badges Header */
.mc-mini-badge {
    font-size: 11px;
    padding: 4px 8px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    color: #666;
}
.mc-status-badge {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 12px;
    font-weight: 600;
}
.mc-status-badge.warn { background: #fff8dc; color: #b45309; border: 1px solid #fde68a; }

/* Boutons Actions */
.mc-btn-action {
    background: #fff;
    border: 1px solid var(--gildas-medcare-border);
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 600;
    color: var(--gildas-medcare-text);
}
.mc-btn-action:hover { background: #f5f5f5; color: var(--gildas-medcare-primary); border-color: var(--gildas-medcare-primary); }
.mc-delete-btn { color: #d63638; border-color: #f0c1c2; }
.mc-delete-btn:hover { background: #fff0f0; }

/* Corps de la carte */
.mc-card-body { padding: 20px; }

/* Grille principale : Gauche (60%) | Droite (40%) */
.mc-layout-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr; /* Ajuste la proportion ici */
    gap: 30px;
}
@media (max-width: 768px) { .mc-layout-grid { grid-template-columns: 1fr; gap: 20px; } }

/* Inputs & Labels généraux */
.mc-label {
    display: block;
    font-size: 12px;
    color: var(--gildas-medcare-muted); /* Gris/Bleuté */
    margin-bottom: 6px;
    font-weight: 500;
}
.mc-label::before { margin-right: 4px; } /* Espace pour icône */

.mc-hint {
    font-size: 11px;
    color: #888;
    margin-top: 4px;
    font-style: italic;
}

/* Styles spécifiques champs */
.widefat {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 8px; /* Arrondi comme capture */
    font-size: 13px;
    background: #fff;
}
.widefat:focus { border-color: var(--gildas-medcare-primary); outline: none; box-shadow: 0 0 0 1px var(--gildas-medcare-primary); }

.mc-textarea-large { height: 120px; resize: vertical; }

/* Ligne split (Tarif / Durée) */
.mc-row-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 15px;
}

.mc-field-group { margin-bottom: 15px; }

/* Style du select pour qu'il ressemble à l'input */
select.widefat { height: 38px; }

/* --- STYLES ÉTAPE 4 (Récapitulatif) - Variables du Thème --- */

/* Conteneur principal de l'étape 4 */
.gildas-medcare-step-4 h3 {
    margin-top: 0;
    margin-bottom: 0.5em;
    font-size: 1.1em;
    color: var(--gildas-medcare-text);
}

/* Grille 2 colonnes */
.mc-grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    margin-bottom: 1em;
}
@media (max-width: 600px) { .mc-grid2 { grid-template-columns: 1fr; } }

/* Sections (Blocs grisés ou encadrés) */
.mc-section {
    border: 1px solid #e2e8f0;
    border-radius: var(--gildas-medcare-radius);
    background: #fbfcff; /* Fond gris léger du thème */
    padding: 1em;
    margin-bottom: 1em;
}

/* En-tête de section */
.mc-sec-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 0.75em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid var(--gildas-medcare-border);
}
.mc-sec-title {
    font-size: 1em !important;
    font-weight: 700;
    color: var(--gildas-medcare-text);
    margin: 0 !important;
}

/* Boutons "Modifier" (Lien texte) */
.mc-btn-link {
    background: none;
    border: none;
    padding: 0;
    color: var(--gildas-medcare-primary);
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}
.mc-btn-link:hover {
    color: var(--gildas-medcare-primary-hover);
}

/* Lignes de données (Clé / Valeur) */
.mc-rows {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5em;
}
@media (min-width: 500px) { .mc-rows { grid-template-columns: 1fr 1fr; } }

.mc-row {
    display: flex;
    flex-direction: column;
    padding: 0.5em;
    border: 1px dashed var(--gildas-medcare-border);
    border-radius: 8px;
    background: var(--gildas-medcare-bg); /* Fond blanc sur le fond gris */
}
.mc-k {
    font-size: 0.8em;
    color: var(--gildas-medcare-muted);
    text-transform: uppercase;
    margin-bottom: 2px;
}
.mc-v {
    font-size: 0.95em;
    font-weight: 600;
    color: var(--gildas-medcare-text);
    word-break: break-word;
}

/* --- SERVICES (Liste et Détails) --- */
.mc-svc-item {
    border: 1px solid var(--gildas-medcare-border);
    border-radius: var(--gildas-medcare-radius);
    background: var(--gildas-medcare-bg);
    margin-bottom: 0.75em;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.mc-svc-head {
    padding: 0.75em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.mc-svc-info { flex-grow: 1; }
.mc-svc-name {
    font-weight: 700;
    font-size: 0.95em;
    margin-bottom: 0.25em;
    color: var(--gildas-medcare-text);
}
.mc-svc-badges {
    display: flex;
    gap: 0.5em;
    flex-wrap: wrap;
}

/* Chips (Prix, Durée) */
.mc-chip {
    padding: 0.25em 0.6em;
    border-radius: 99px;
    background: var(--gildas-medcare-bg-input);
    border: 1px solid var(--gildas-medcare-border);
    color: var(--gildas-medcare-text);
    font-size: 0.8em;
    font-weight: 600;
}

/* Badges Statut (Complet / Incomplet) */
.mc-badge {
    font-size: 0.8em;
    padding: 0.25em 0.6em;
    border-radius: 4px;
    font-weight: 700;
    border: 1px solid transparent;
}
.mc-badge.ok {
    /* Utilisation de la variable success avec fond très clair hardcodé ou calculé */
    background: #f0fdf4; 
    color: var(--gildas-medcare-success);
    border-color: var(--gildas-medcare-success);
}
.mc-badge.warn {
    /* Pas de variable "warning" dans ton set, on utilise une couleur proche ou hardcodée */
    background: #fffbeb;
    color: #b45309; 
    border-color: #fde68a;
}

/* Bouton "Détails" spécifique */
.mc-btn-details {
    background: var(--gildas-medcare-bg);
    border: 1px solid var(--gildas-medcare-border);
    color: var(--gildas-medcare-primary);
    padding: 0.4em 0.8em;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.mc-btn-details:hover {
    background: var(--gildas-medcare-bg-input);
    border-color: var(--gildas-medcare-primary);
    color: var(--gildas-medcare-primary);
}

/* Zone masquée (Détails Service) */
.mc-svc-body {
    display: none;
    padding: 0.75em;
    background: var(--gildas-medcare-bg-input);
    border-top: 1px solid var(--gildas-medcare-border);
}
.mc-svc-body.open { display: block; }

.mc-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75em;
}
.mc-detail-row { display: flex; flex-direction: column; border: 1px dashed var(--gildas-medcare-border); border-radius: 8px; padding: 0.75em; background: var(--gildas-medcare-bg); }
.mc-label {
    font-size: 0.75em;
    color: var(--gildas-medcare-muted);
    text-transform: uppercase;
    margin-bottom: 2px;
}
.mc-val {
    font-size: 0.9em;
    font-weight: 600;
    color: var(--gildas-medcare-text);
}

/* --- CONSENTEMENTS (Style Exact) --- */

/* Carte case à cocher unique (Confirmation) */
.mc-single-check {
    border: 1px solid var(--gildas-medcare-border);
    border-radius: var(--gildas-medcare-radius);
    padding: 1em;
    background: var(--gildas-medcare-bg);
    display: flex;
    gap: 0.75em;
    align-items: flex-start;
    margin-top: 1.5em;
    /* Ombre légère pour le détacher */
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* Section "Confidentialité" groupée */
.mc-consent-section {
    border: 1px solid var(--gildas-medcare-border);
    border-radius: var(--gildas-medcare-radius);
    background: var(--gildas-medcare-bg);
    margin-top: 1.5em;
    overflow: hidden;
}

.mc-consent-header {
    background: var(--gildas-medcare-bg-input);
    padding: 0.75em 1em;
    border-bottom: 1px solid var(--gildas-medcare-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mc-consent-title {
    font-weight: 700;
    font-size: 0.95em;
    color: var(--gildas-medcare-text);
    display: flex; align-items: center; gap: 0.5em;
}
.mc-req-badge {
    font-size: 0.75em;
    color: var(--gildas-medcare-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mc-consent-list {
    padding: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.75em;
}

/* Carte interne pour chaque checkbox */
.mc-check-card {
    border: 1px dashed var(--gildas-medcare-border);
    border-radius: 8px;
    padding: 0.75em;
    display: flex;
    gap: 0.75em;
    background: var(--gildas-medcare-bg);
    transition: border-color 0.2s;
}
.mc-check-card:hover {
    border-color: var(--gildas-medcare-primary);
}

.mc-check-card input,
.mc-single-check input {
    margin-top: 0.3em;
    /* On s'assure que la checkbox ne soit pas trop petite */
    transform: scale(1.1);
    accent-color: var(--gildas-medcare-primary);
}

.mc-check-card strong,
.mc-single-check strong {
    display: block;
    font-size: 0.9em;
    color: var(--gildas-medcare-text);
    line-height: 1.4;
}
.mc-check-card p,
.mc-single-check p {
    margin: 0.25em 0 0 !important;
    font-size: 0.85em;
    color: var(--gildas-medcare-muted);
}

/* Footer note */
.mc-footer-note {
    font-size: 0.85em;
    color: var(--gildas-medcare-muted);
    margin: 1em 0;
    font-style: italic;
}

/* --- Paiement & Assurances (étape 1) --- */
.mc-assurances-wrap { margin-top: 0.5em; }
.mc-assurances-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
	gap: 0.5em 1em;
	margin-top: 0.5em;
}
.mc-check-inline { font-weight: normal; cursor: pointer; display: flex; align-items: center; gap: 0.35em; }

/* --- Étape 3 section light (repliable details/summary) --- */
.mc-service-details {
	border: 1px solid var(--gildas-medcare-border);
	border-radius: 12px;
	/* margin-bottom: 1em; */
	overflow: hidden;
}
.mc-service-details .mc-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 15px;
	cursor: pointer;
	list-style: none;
	background: #fdfdfd;
    flex-direction: row-reverse;
}
.mc-service-details .mc-card-header::-webkit-details-marker { display: none; }
.mc-service-details .mc-card-header::before {
	content: "▾ ";
	font-size: 0.9em;
	opacity: 0.7;
}
.mc-service-details[open] .mc-card-header::before { content: "▴ "; }
.mc-service-card-light .mc-card-body { padding: 1em; }
.mc-service-card-light .mc-card-body .mc-label { margin-bottom: 0.35em; }

/* --- Utilitaires Etape 1 --- */
.hidden { display: none !important; }

.mc-hint {
    font-size: 0.85em;
    color: var(--gildas-medcare-muted);
    margin-top: 4px;
    font-style: italic;
}

input::placeholder, textarea::placeholder {
    color: #000!important;
    opacity: 1!important;
}

/* --- EN-TÊTE MODERNE (Style Capture) --- */

.mc-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 25px 0;
    padding: 20px 0;
    /* border-bottom: 1px solid var(--gildas-medcare-border); */
}

.mc-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mc-logo {
    width: 48px;
    height: 48px;
    min-width: 48px;
    background: #eef2ff; /* Fond bleu très clair */
    color: var(--gildas-medcare-primary);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 18px;
    border: 1px solid var(--gildas-medcare-border);
}

.mc-main-title {
    margin: 0 !important;
    font-size: 1.1em !important;
    font-weight: 800;
    color: var(--gildas-medcare-text);
    line-height: 1.2;
}

.mc-step-subtitle {
    margin: 2px 0 0 0 !important;
    font-size: 0.85em;
    color: var(--gildas-medcare-muted);
}

.mc-step-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    min-width: 150px;
}

.mc-step-info small {
    font-size: 0.8em;
    color: var(--gildas-medcare-muted);
    font-weight: 600;
}

/* Barre de progression */
.mc-progress-track {
    width: 100%;
    max-width: 200px;
    height: 8px;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.mc-progress-fill {
    height: 100%;
    background: var(--gildas-medcare-primary);
    border-radius: 10px;
    transition: width 0.4s ease;
}

/* Responsive Mobile */
@media (max-width: 600px) {
    .mc-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .mc-step-info {
        width: 100%;
        align-items: flex-start;
    }
    .mc-progress-track {
        max-width: 100%;
    }
}