/* MAEBA – Formulaire de demande de rendez-vous [maeba_rdv]. Couleurs : palette Kadence. */
.md-rdv { display: grid; gap: 18px; padding: 28px; border: 1px solid var(--global-palette7); border-radius: 16px; background: var(--global-palette9); box-shadow: 0 20px 40px -32px rgba(26, 32, 44, .5); }
.md-rdv p { margin: 0; }
.md-rdv-champ { display: grid; gap: 6px; min-width: 0; }
.md-rdv label, .md-rdv legend { font-weight: 600; color: var(--global-palette3); }
.md-rdv :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], select, textarea) { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--global-palette7); border-radius: 10px; background: var(--global-palette8); font: inherit; color: var(--global-palette3); }
.md-rdv textarea { min-height: 110px; }
.md-rdv :is(input, select, textarea):focus { outline: 2px solid var(--global-palette1); outline-offset: 1px; border-color: var(--global-palette1); }
.md-rdv-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 18px; }
.md-rdv-modes { margin: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 12px; }
.md-rdv-modes legend { margin-bottom: 8px; padding: 0; }
.md-rdv-mode { position: relative; cursor: pointer; }
.md-rdv-mode input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.md-rdv-mode span { display: grid; gap: 4px; justify-items: start; height: 100%; padding: 16px; border: 2px solid var(--global-palette7); border-radius: 12px; background: var(--global-palette8); transition: border-color .2s, background .2s, transform .2s; }
.md-rdv-mode svg { width: 28px; height: 28px; color: var(--global-palette1); margin-bottom: 4px; }
.md-rdv-mode strong { color: var(--global-palette3); }
.md-rdv-mode small { font-weight: 400; color: var(--global-palette5); font-size: 13px; line-height: 1.35; }
.md-rdv-mode:hover span { transform: translateY(-2px); }
.md-rdv-mode input:checked + span { border-color: var(--global-palette1); background: color-mix(in srgb, var(--global-palette1) 8%, var(--global-palette9)); }
.md-rdv-mode input:focus-visible + span { outline: 2px solid var(--global-palette1); outline-offset: 2px; }
.md-rdv-accord label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; }
.md-rdv-accord input { margin-top: 4px; flex: none; }
.md-rdv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.md-rdv-actions .button { padding: 14px 26px; border-radius: 10px; }
.md-rdv-wa { color: #1f9e55; font-weight: 600; }
.md-rdv-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.md-rdv-faux :is(input, select, textarea), .md-rdv-faux.md-rdv-modes .md-rdv-mode span { border-color: #c62828; }
.md-rdv-faux > label, .md-rdv-faux legend, .md-rdv-faux label { color: #c62828; }
.md-rdv-message { padding: 16px 18px; border-radius: 12px; line-height: 1.5; }
.md-rdv-ok { border: 1px solid #2e7d32; background: #edf7ee; color: #1b5e20; }
.md-rdv-alerte { border: 1px solid #c62828; background: #fdecea; color: #8e1b1b; }
@media (max-width: 600px) { .md-rdv { padding: 20px 16px; } }
