/* -------------------------------
Fichier : Styles généraux du thème light_Bordeaux
Version : 2.4.0
Mise à jour : 06/09/2026
Description : Définit les variables visuelles communes du thème.
Créé par : Jijo64, documentation par Codex

Historique :
- 2.2.0 : habille les contenus Markdown et le plan du site humain responsive.
- 2.3.0 : transforme le logo opaque en signature visuelle responsive du header.
- 2.4.0 : adapte les espacements et composants directionnels aux interfaces RTL.
-------------------------------- */

/* Variables de thème (messagerie) */
:root {
	--messagerie-active-bg: #8b1538;
	--messagerie-active-color: #fff;
	--messagerie-active-muted: rgba(255, 255, 255, 0.85);
	--racinged-bordeaux: #842029;
	--racinged-bordeaux-fonce: #58151c;
	--racinged-fond-doux: #f8f5f5;
}

body { background: var(--bs-body-bg); }
.site-header { background: color-mix(in srgb, var(--bs-body-bg) 94%, var(--racinged-bordeaux) 6%); box-shadow: 0 .25rem 1.25rem rgb(0 0 0 / 5%); }
.site-identite { margin-right: clamp(.75rem, 2vw, 2rem); padding: 0; border-radius: 1rem; }
.site-logo-cadre { display: block; box-sizing: border-box; width: clamp(12rem, 17vw, 15.5rem); overflow: hidden; padding: .35rem .6rem; background: #fff; border: 1px solid rgb(132 32 41 / 18%); border-radius: 1rem; box-shadow: 0 .35rem 1rem rgb(88 21 28 / 12%); transition: transform .18s ease, box-shadow .18s ease; }
.site-identite:hover .site-logo-cadre, .site-identite:focus-visible .site-logo-cadre { transform: translateY(-1px); box-shadow: 0 .55rem 1.25rem rgb(88 21 28 / 20%); }
.site-identite:focus-visible { outline: .2rem solid color-mix(in srgb, var(--racinged-bordeaux) 50%, transparent); outline-offset: .2rem; }
.site-logo { display: block; width: 100%; height: auto; aspect-ratio: 980 / 296; object-fit: contain; }
.site-header .nav-link { position: relative; color: var(--bs-body-color); font-weight: 650; border-radius: .55rem; padding-inline: .85rem !important; }
.site-header .nav-link:hover, .site-header .nav-link:focus-visible, .site-header .nav-link.active { color: var(--racinged-bordeaux); background: rgb(132 32 41 / 9%); }
.accueil-public { background: radial-gradient(circle at 90% 10%, rgb(132 32 41 / 13%), transparent 35%), var(--racinged-fond-doux); }
.accueil-hero { color: #fff; background: linear-gradient(135deg, var(--racinged-bordeaux), var(--racinged-bordeaux-fonce)); }
.accueil-espace { transition: transform .18s ease, box-shadow .18s ease; }
.accueil-espace:hover, .accueil-espace:focus-visible { transform: translateY(-3px); box-shadow: 0 .8rem 1.8rem rgb(0 0 0 / 14%) !important; }
.site-footer { background: color-mix(in srgb, var(--bs-body-bg) 96%, var(--racinged-bordeaux) 4%); }
.reseaux-sociaux__lien { display: inline-grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: 50%; font-size: 1.15rem; }
.reseaux-sociaux__lien:hover, .reseaux-sociaux__lien:focus-visible { color: #fff; background: var(--racinged-bordeaux); border-color: var(--racinged-bordeaux); }
.page-institutionnelle-hero { color: #fff; background: linear-gradient(135deg, var(--racinged-bordeaux), var(--racinged-bordeaux-fonce)); }
.contenu-markdown { line-height: 1.75; overflow-wrap: anywhere; }
.contenu-markdown > :first-child { margin-top: 0; }
.contenu-markdown > :last-child { margin-bottom: 0; }
.contenu-markdown h2, .contenu-markdown h3, .contenu-markdown h4, .contenu-markdown h5 { color: var(--racinged-bordeaux); margin-block: 1.6em .65em; }
.contenu-markdown blockquote { margin: 1.25rem 0; padding: .9rem 1.15rem; border-inline-start: .3rem solid var(--racinged-bordeaux); background: color-mix(in srgb, var(--bs-body-bg) 91%, var(--racinged-bordeaux) 9%); border-radius: 0 .6rem .6rem 0; }
.contenu-markdown code { color: var(--racinged-bordeaux); background: color-mix(in srgb, var(--bs-body-bg) 88%, var(--racinged-bordeaux) 12%); padding: .1rem .3rem; border-radius: .25rem; }
.plan-site-carte { transition: transform .18s ease, box-shadow .18s ease; }
.plan-site-carte:hover, .plan-site-carte:focus-visible { transform: translateY(-3px); box-shadow: 0 .8rem 1.8rem rgb(0 0 0 / 14%) !important; }
.plan-site-icone { display: inline-grid; min-width: 2.8rem; height: 2.8rem; place-items: center; color: #fff; background: var(--racinged-bordeaux); border-radius: .8rem; font-size: 1.2rem; }
.administration-apercu-markdown { min-height: 28rem; max-height: 42rem; overflow: auto; }
[dir="rtl"] .site-identite { margin-right: 0; margin-left: clamp(.75rem, 2vw, 2rem); }
[dir="rtl"] .dropdown-menu { text-align: right; }
[dir="rtl"] .contenu-markdown blockquote { border-inline-start: .3rem solid var(--racinged-bordeaux); border-radius: .6rem 0 0 .6rem; }

@media (prefers-reduced-motion: reduce) {
	.site-logo-cadre { transition: none; }
	.site-identite:hover .site-logo-cadre { transform: none; }
	.accueil-espace { transition: none; }
	.accueil-espace:hover { transform: none; }
	.plan-site-carte { transition: none; }
	.plan-site-carte:hover { transform: none; }
}

@media (max-width: 575.98px) {
	.site-logo-cadre { width: min(12rem, calc(100vw - 6.5rem)); border-radius: .8rem; }
	.site-identite { margin-right: .5rem; }
	[dir="rtl"] .site-identite { margin-right: 0; margin-left: .5rem; }
}
