/* Thème patrimoine : chaleureux, éditorial et moins "application web". */
.site-shell.site-theme--patrimoine {
    --theme-secondary: color-mix(in srgb, var(--theme-primary) 30%, #2f2a24);
    --site-font-body: "Segoe UI", Candara, Calibri, system-ui, sans-serif;
    --site-font-heading: Georgia, "Times New Roman", serif;
    --site-content-width: 1160px;
    --site-radius: 0.32rem;
    --site-page-background: #f6f1e7;
    --site-surface: #fffdf8;
    --site-surface-soft: #f2ecdf;
    --site-heading: #302b25;
    --site-text: #433d35;
    --site-muted: #756b5e;
    --site-border: #d9cebc;
    --site-border-soft: #e9e0d2;
    --site-border-strong: #c7baa5;
    --site-card-radius: 0.32rem;
    --site-control-radius: 0.25rem;
    --site-card-shadow: 0 0.35rem 1rem rgba(61, 50, 36, 0.045);
    --site-card-shadow-hover: 0 0.55rem 1.3rem rgba(61, 50, 36, 0.075);
    --site-card-hover-transform: none;
    --site-heading-weight: 700;
    --site-heading-letter-spacing: -0.012em;
    --site-module-icon-radius: 50%;
    --site-button-radius: 0.2rem;
    --site-hero-radius: 0.15rem;
    --site-content-leading: 1.76;
    background:
        linear-gradient(rgba(255, 253, 248, 0.72), rgba(255, 253, 248, 0.72)),
        var(--site-page-background);
}

.site-theme--patrimoine .site-header {
    border-top: 0.28rem solid var(--theme-primary);
    border-bottom: 1px solid var(--site-border);
    background: #fffdf8;
    color: var(--site-heading);
    box-shadow: 0 0.2rem 0.8rem rgba(61, 50, 36, 0.04);
}

.site-theme--patrimoine .site-header__inner {
    min-height: 6.35rem;
}

.site-theme--patrimoine .site-identity {
    gap: 1.05rem;
}

.site-theme--patrimoine .site-identity__mark {
    border-color: color-mix(in srgb, var(--theme-primary) 75%, #594d3f);
    border-radius: 50%;
    background: color-mix(in srgb, var(--theme-primary) 6%, #fffdf8);
    color: color-mix(in srgb, var(--theme-primary) 78%, #4c4237);
    font-family: var(--site-font-heading);
    font-weight: 700;
}

.site-theme--patrimoine .site-identity__text strong {
    color: var(--site-heading);
    font-family: var(--site-font-heading);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 700;
    letter-spacing: -0.015em;
}

.site-theme--patrimoine .site-identity__text span,
.site-theme--patrimoine .site-contact small {
    color: var(--site-muted);
    opacity: 1;
}

.site-theme--patrimoine .site-account__link {
    border-color: var(--site-border-strong);
    background: transparent;
    color: color-mix(in srgb, var(--theme-primary) 75%, var(--site-heading));
}

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

.site-theme--patrimoine .site-navigation {
    border-top: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--theme-primary) 55%, #3b342d);
    background: color-mix(in srgb, var(--theme-primary) 34%, #3a332b);
    box-shadow: none;
}

.site-theme--patrimoine .site-navigation__desktop {
    min-height: 3.5rem;
}

.site-theme--patrimoine .site-navigation__link {
    position: relative;
    font-family: var(--site-font-heading);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.site-theme--patrimoine .site-navigation__link:hover,
.site-theme--patrimoine .site-navigation__link:focus-visible,
.site-theme--patrimoine .site-navigation__link--active {
    background: color-mix(in srgb, var(--theme-primary-contrast) 8%, transparent);
}

.site-theme--patrimoine .site-navigation__link--active::after {
    right: 1rem;
    left: 1rem;
    height: 2px;
    border-radius: 0;
    background: color-mix(in srgb, var(--theme-primary-contrast) 82%, #f0dfbd);
}

.site-theme--patrimoine .site-global-search {
    border-color: color-mix(in srgb, var(--theme-primary-contrast) 32%, transparent);
    border-radius: 0.15rem;
    background: color-mix(in srgb, var(--theme-primary-contrast) 6%, transparent);
}

.site-theme--patrimoine .module-header {
    margin-bottom: clamp(1.9rem, 3vw, 2.5rem);
}

.site-theme--patrimoine .module-header__icon {
    border: 1px solid color-mix(in srgb, var(--theme-primary) 38%, var(--site-border));
    background: transparent;
    box-shadow: none;
}

.site-theme--patrimoine .module-header__copy h2 {
    color: var(--site-heading);
    font-size: clamp(1.65rem, 2.45vw, 2.05rem);
}

.site-theme--patrimoine .module-header__accent {
    background: linear-gradient(90deg, var(--site-border), transparent 78%);
}

.site-theme--patrimoine .module-header__accent::before {
    width: 3.8rem;
    height: 2px;
    border-radius: 0;
}

.site-theme--patrimoine :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: 2px solid color-mix(in srgb, var(--theme-primary) 55%, var(--site-border));
}

.site-theme--patrimoine .home-module-hero {
    border-top: 3px solid color-mix(in srgb, var(--theme-primary) 82%, #2f2a24);
    box-shadow: 0 0.7rem 2rem rgba(61, 50, 36, 0.08);
}

.site-theme--patrimoine .home-module-hero h1 {
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.02;
}

.site-theme--patrimoine .home-module-hero__eyebrow {
    border-radius: 0;
    font-family: var(--site-font-body);
    letter-spacing: 0.13em;
}

.site-theme--patrimoine .home-module-hero__button {
    border-radius: 0;
    background: color-mix(in srgb, #2f2a24 58%, transparent);
}

.site-theme--patrimoine .page-public__heading > span,
.site-theme--patrimoine .presentation-public__heading > span,
.site-theme--patrimoine .agenda-public__eyebrow,
.site-theme--patrimoine .publications-public__eyebrow {
    letter-spacing: 0.14em;
}

.site-theme--patrimoine .page-public__heading h1,
.site-theme--patrimoine .presentation-public__heading h1,
.site-theme--patrimoine .agenda-public__heading h1,
.site-theme--patrimoine .publications-public__heading h1 {
    font-size: clamp(2.15rem, 5vw, 3.85rem);
    font-weight: 700;
}

.site-theme--patrimoine .site-footer {
    border-top: 0.22rem solid color-mix(in srgb, var(--theme-primary) 65%, #2f2a24);
    background: var(--theme-secondary);
}
