/* Identité commune Espace clinique */
.icone-fonction {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border: 1px solid #cce4d9;
    border-radius: 17px;
    background: #e8f5ef;
    vertical-align: middle;
}
.icone-fonction img {
    display: block;
    width: 29px;
    height: 29px;
    margin: 0;
}
.icone-rendez-vous { background: #eaf2fc; border-color: #d0e1f4; }
.icone-planning { background: #fff4df; border-color: #eddfbf; }
.icone-equipe { background: #f0ecfa; border-color: #ded5ee; }
.icone-site { background: #e6f4f6; border-color: #cce5e8; }
.icone-secretariat { background: #fff0e8; border-color: #eed8ca; }

.navigation a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    font-size: 14px;
    line-height: 1.5;
}
.navigation a .icone-fonction {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 8px;
    background: #e4f3ed;
}
.navigation a .icone-fonction img {
    width: 19px;
    height: 19px;
}
.libelle-fonction { min-width: 0; }
.sidebar .marque strong { font-size: 20px; letter-spacing: -.5px; }
.sidebar .marque small { font-size: 12px; line-height: 1.6; }
.sidebar-bas p, .sidebar-bas a { font-size: 12px; line-height: 1.8; }

.contenu .introduction { font-size: 16px; line-height: 1.9; }
.module { padding: 27px; }
.module h3 { margin-top: 22px; font-size: 21px; line-height: 1.35; }
.module p { font-size: 15px; line-height: 1.85; color: #526e60; }
.module .etat { font-size: 12px; }
.liens-module a {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 45px;
    font-size: 14px;
    line-height: 1.65;
}
.liens-module a .icone-fonction {
    flex-basis: 29px;
    width: 29px;
    height: 29px;
    border-radius: 8px;
}
.liens-module a .icone-fonction img { width: 18px; height: 18px; }
.actions-rapides .bouton { display: inline-flex; align-items: center; gap: 12px; }
.actions-rapides .icone-fonction {
    flex-basis: 29px;
    width: 29px;
    height: 29px;
    border-radius: 8px;
}
.actions-rapides .icone-fonction img { width: 19px; height: 19px; }
.indicateur h2 { font-size: 14px; line-height: 1.6; }
.indicateur p { font-size: 12px; line-height: 1.8; }
.titre-section p { font-size: 14px; line-height: 1.8; }
.texte-discret { font-size: 15px; line-height: 1.9; }

.modules > .carte {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 31px;
    border-radius: 21px;
    box-shadow: 0 8px 26px #123e2c06;
}
.modules > .carte > h2 {
    margin-top: 24px;
    font-size: 25px;
    line-height: 1.3;
}
.modules > .carte > .muted {
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1.9;
}
.modules > .carte > .bouton {
    margin-top: auto;
    min-height: 49px;
    padding-inline: 21px;
    font-size: 15px;
}
.hero h1 { max-width: 850px; }
.hero p:not(.surtitre) { max-width: 820px; font-size: 17px; line-height: 1.9; }
.barre .marque { font-size: 23px; }
.barre .ligne > span { font-size: 15px; font-weight: 600; }
.contenu > .section > .muted,
.carte > .muted { font-size: 15px; line-height: 1.9; }

.zone-formulaire .formulaire { max-width: 570px; }
.formulaire > h2 { line-height: 1.2; }
.liste-etablissements { gap: 16px; }
.liste-etablissements .choix {
    position: relative;
    padding: 25px;
    border: 1px solid #c6ddd0;
    border-radius: 18px;
    box-shadow: 0 6px 21px #143e2c05;
}
.choix > .icone-fonction { margin-bottom: 18px; }
.choix > strong { font-size: 21px; line-height: 1.45; }
.choix > span:not(.icone-fonction) {
    margin-top: 8px;
    color: #567463;
    font-size: 14px;
    line-height: 1.7;
}
.choix > small {
    margin-top: 19px;
    padding-top: 14px;
    border-top: 1px solid #e0ebe4;
    color: #086b59;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.8;
}
.choix:hover { border-color: #13836e; background: #f1f9f4; }
.formulaire .assistance { font-size: 13px; line-height: 1.9; }
.formulaire footer { font-size: 12px; }
.presentation .message p:not(.etiquette) { font-size: 17px; line-height: 1.9; }
.presentation .benefices p { font-size: 15px; line-height: 1.9; }

@media (max-width: 760px) {
    .modules > .carte { padding: 25px; }
    .hero p:not(.surtitre) { font-size: 16px; }
    .liste-etablissements .choix { padding: 22px; }
    .choix > strong { font-size: 19px; }
    .barre .marque { font-size: 21px; }
}