/* Thème institutionnel : net, structuré et volontairement peu décoratif. */
.site-shell.site-theme--institutionnel {
    --theme-secondary: color-mix(in srgb, var(--theme-primary) 18%, #252d36);
    --site-font-body: Arial, "Segoe UI", sans-serif;
    --site-font-heading: Arial, "Segoe UI", sans-serif;
    --site-radius: 0.2rem;
    --site-page-background: #f5f4f0;
    --site-surface: #ffffff;
    --site-surface-soft: #f2f1ec;
    --site-heading: #202a36;
    --site-text: #33404e;
    --site-muted: #667281;
    --site-border: #d7dce1;
    --site-border-soft: #e5e8eb;
    --site-border-strong: #bcc4cc;
    --site-card-radius: 0.12rem;
    --site-control-radius: 0.15rem;
    --site-card-shadow: none;
    --site-card-shadow-hover: 0 0.35rem 0.9rem rgba(15, 23, 42, 0.055);
    --site-card-hover-transform: none;
    --site-heading-weight: 760;
    --site-heading-letter-spacing: -0.01em;
    --site-module-icon-radius: 0.08rem;
    --site-button-radius: 0.15rem;
    --site-hero-radius: 0;
}

.site-theme--institutionnel .site-header {
    border-top: 0.42rem solid var(--theme-primary);
    border-bottom: 1px solid var(--site-border);
    background: #ffffff;
    color: var(--site-heading);
    box-shadow: none;
}

.site-theme--institutionnel .site-identity__mark {
    border-color: var(--theme-primary);
    border-radius: 0.1rem;
    color: var(--theme-primary);
}

.site-theme--institutionnel .site-identity__text strong {
    color: color-mix(in srgb, var(--theme-primary) 62%, var(--site-heading));
    font-family: var(--site-font-heading);
}

.site-theme--institutionnel .site-contact small {
    color: var(--site-muted);
    opacity: 1;
}

.site-theme--institutionnel .site-account__link {
    border-color: var(--theme-primary);
    border-radius: var(--site-button-radius);
    color: var(--theme-primary);
}

.site-theme--institutionnel .site-account__link:hover {
    background: color-mix(in srgb, var(--theme-primary) 7%, #ffffff);
    color: var(--theme-primary);
}

.site-theme--institutionnel .site-navigation {
    border-top: 0;
    background: var(--theme-primary);
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--theme-primary-contrast) 15%, transparent);
}

.site-theme--institutionnel .site-navigation__link {
    font-weight: 720;
    letter-spacing: 0.01em;
}

.site-theme--institutionnel .site-navigation__link--active {
    background: color-mix(in srgb, var(--theme-primary-contrast) 14%, transparent);
}

.site-theme--institutionnel .site-navigation__link--active::after {
    right: 1rem;
    left: 1rem;
    height: 4px;
    border-radius: 0;
}

.site-theme--institutionnel .site-global-search {
    border-radius: var(--site-control-radius);
}

.site-theme--institutionnel .module-header__leading {
    gap: 0.85rem;
}

.site-theme--institutionnel .module-header__icon {
    width: 2.8rem;
    height: 2.8rem;
    flex-basis: 2.8rem;
    border: 0;
    background: var(--theme-primary);
    color: var(--theme-primary-contrast);
    box-shadow: none;
}

.site-theme--institutionnel .module-header__accent::before {
    width: 4rem;
    height: 4px;
    border-radius: 0;
}

.site-theme--institutionnel :where(
    .home-article-card,
    .home-agenda-datecard,
    .home-agenda-poster,
    .agenda-card,
    .numero-utile-card,
    .association-card,
    .conseil-seance-card,
    .document-public-card,
    .publication-public-card,
    .site-search-result,
    .contact-public__coordinates,
    .contact-public__form-card,
    .public-article
) {
    border-top: 3px solid color-mix(in srgb, var(--theme-primary) 80%, #ffffff);
}

.site-theme--institutionnel .home-module-hero h1 {
    letter-spacing: -0.015em;
}

.site-theme--institutionnel .site-footer {
    border-top: 0.35rem solid var(--theme-primary);
    background: var(--theme-secondary);
}
