/* Calendriers Habitat : styles limites aux nouvelles sections. */
.msm-permanences { clear: both; margin: 30px 0; color: #263c46; }
.msm-permanences > h3 { color: #005d78; margin: 0 0 16px; }
.msm-permanences p { line-height: 1.65; }
.msm-permanences a { overflow-wrap: anywhere; }
.msm-permanences a:focus-visible { outline: 3px solid #005d78; outline-offset: 3px; }
.msm-permanences-cartes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 20px; }
.msm-permanence-adil { min-width: 0; padding: 20px; border: 1px solid #cfdee4; border-top: 4px solid #005d78; border-radius: 4px; background: #f6fafb; }
.msm-permanence-adil h4 { margin: 0 0 12px; color: #005d78; font-size: 20px; line-height: 1.35; }
.msm-permanence-adil p { margin: 10px 0; }
.msm-permanence-adil ul { margin: 12px 0 16px 20px; padding: 0; }
.msm-permanence-adil li { padding: 3px 0; }
.msm-permanence-adil address { display: block; margin: 12px 0 0; font-style: normal; line-height: 1.65; }
.msm-permanence-adil address span, .msm-permanence-adil address a { display: block; }
.msm-calendrier-mois { margin: 24px 0; overflow-x: auto; }
.msm-calendrier-mois table { width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; background: #fff; }
.msm-calendrier-mois caption { padding: 12px 14px; color: #fff; background: #005d78; font-size: 20px; font-weight: bold; text-align: left; caption-side: top; }
.msm-calendrier-mois th, .msm-calendrier-mois td { padding: 12px 10px; border: 1px solid #cfdee4; vertical-align: top; text-align: left; line-height: 1.55; overflow-wrap: anywhere; }
.msm-calendrier-mois thead th { background: #e8f2f5; color: #00495f; font-weight: bold; }
.msm-calendrier-mois thead th:nth-child(1) { width: 20%; }
.msm-calendrier-mois thead th:nth-child(2) { width: 19%; }
.msm-calendrier-mois thead th:nth-child(3) { width: 12%; }
.msm-calendrier-mois thead th:nth-child(4) { width: 19%; }
.msm-calendrier-mois thead th:nth-child(5) { width: 30%; }
.msm-calendrier-mois tbody th { font-weight: normal; }
.msm-calendrier-mois tbody tr:nth-child(even) { background: #f6fafb; }
.msm-calendrier-mois .msm-permanence-annulee { background: #f7f3ed; }
.msm-calendrier-mois .msm-permanence-annulee strong { color: #684713; }
.msm-permanences .msm-horaire { display: block; white-space: nowrap; }
@media (max-width: 740px) {
 .msm-permanences-cartes { grid-template-columns: 1fr; }
 .msm-calendrier-mois table, .msm-calendrier-mois tbody { display: block; }
 .msm-calendrier-mois caption { display: block; }
 .msm-calendrier-mois thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .msm-calendrier-mois tbody tr { display: block; padding: 14px; border: 1px solid #cfdee4; border-top: 0; }
 .msm-calendrier-mois tbody th { display: block; padding: 0 0 8px; border: 0; color: #005d78; font-size: 17px; font-weight: bold; }
 .msm-calendrier-mois tbody td { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 8px; padding: 5px 0; border: 0; }
 .msm-calendrier-mois tbody td::before { content: attr(data-label); font-weight: bold; }
 .msm-calendrier-mois tbody td:empty { display: none; }
 .msm-calendrier-mois tbody td .msm-cellule-contenu { min-width: 0; }
}
