:root {
	--c-primary:        #26415E;
	--c-primary-dark:   #1B2E42;
	--c-primary-light:  #5C7A98;
	--c-accent:         #E0793F;
	--c-accent-dark:    #C15F2B;
	--c-accent-darker:  #9A4A20;
	--c-jaune:          #F4DFA0;
	--c-jaune-dark:     #E9C674;
	--c-surface:        #FFFFFF;
	--c-surface-alt:    #F7F9FB;
	--c-surface-muted:  #EAF0F6;
	--c-border:         #D8E1EA;
	--c-border-strong:  #B7C8D9;
	--c-text:           #26415E;
	--c-text-muted:     #5C7A98;

	--shadow-1: 0 1px 2px rgba(27,46,66,.07), 0 1px 3px rgba(27,46,66,.09);
	--shadow-2: 0 4px 10px rgba(27,46,66,.09), 0 2px 4px rgba(27,46,66,.07);
	--shadow-3: 0 12px 28px rgba(27,46,66,.16), 0 4px 10px rgba(27,46,66,.09);

	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 16px;

	--ease: cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0px;
	padding: 0px;
	font-family: "Museo Sans Rounded", -apple-system, "Segoe UI", sans-serif;
	color: var(--c-text);
	background: no-repeat rgb(229, 237, 226);
	background-attachment: fixed;
	background-size: cover;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	line-height: 1.5;
}

/* ── Liens ── */
li { color: var(--c-accent-dark); }
a { color: var(--c-accent-dark); text-decoration: none; transition: color .15s var(--ease); }
a:hover { color: var(--c-accent-darker); text-decoration: none; } /*tester une autre couleur plus tard*/

/* ── Fonds utilitaires ── */
.vert-clair { background-color: var(--c-surface-muted); }
.vert-titre { background-color: #DCE6EF; }
.bg-vert       { background-color: #DCE6EF; }
.bg-vert-fonce { background-color: var(--c-primary); }
.bg-jaune      { background-color: var(--c-jaune); }

/* ── Cartes ── */
.card {
	overflow: hidden;
	border: 1px solid var(--c-border);
	background-color: var(--c-surface-alt);
	margin-top: 20px;
	margin-left: 20px;
	margin-right: 20px;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-2);
	transition: box-shadow .25s var(--ease), transform .25s var(--ease);
}
.card:hover {
	box-shadow: var(--shadow-3);
}
.card-header {
	border-bottom: 1px solid var(--c-border);
	background-color: var(--c-surface);
}
.card-body { color: var(--c-text); }

/* ── Titres ── */
.titre {
	font-family: "Chewy", cursive;
	font-weight: bold;
	font-size: 44px;
	color: var(--c-primary);
	padding: 8px 18px;
	margin: 20px;
	background-color: var(--c-surface);
	border-radius: var(--radius-md);
	letter-spacing: 2px;
	border: solid 1px rgba(27,46,66,.15);
	box-shadow: var(--shadow-2);
}
.titre-cartouche {
	background-color: var(--c-primary);
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	font-style: normal;
	margin-bottom: 10px;
	padding: 10px 14px;
	border-radius: var(--radius-sm) var(--radius-sm) 0 0;
	letter-spacing: .3px;
}
.titre-index2 {
	color: var(--c-primary);
	font-size: 36px;
	font-weight: 700;
	font-style: normal;
	margin-bottom: 10px;
}

/* ── Navigation ── */
.nav-link {
	text-transform: uppercase;
	color: var(--c-primary);
	font-size: 14px;
	letter-spacing: .04em;
	border-radius: var(--radius-sm);
	transition: background-color .15s var(--ease), color .15s var(--ease);
}
.nav-link:hover { background-color: var(--c-surface-muted); color: var(--c-primary-dark); }
.nav-link2 { text-decoration: none; color: #495057; font-size: 13px; transition: background-color .15s var(--ease), color .15s var(--ease); }
.nav-link2:hover { background-color: #ECEFEB; color: var(--c-accent-dark); }
.nav-link3 { text-decoration: none; text-transform: uppercase; color: var(--c-primary); font-size: 14px; letter-spacing: .04em; }
.nav-link3:hover { color: var(--c-accent-dark); }
.item_actif { color: var(--c-accent-dark); font-weight: 800; position: relative; }
.nav-item { font-size: 12px; }

.carousel-caption { color: white; font-weight: bold; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.curseur { cursor: pointer; }
.liennu { text-decoration: none; }

/* ── Tableaux ── */
.table {
	--bs-table-striped-bg: #F0F4F8;
	table-layout: fixed;
	color: var(--c-text) !important;
	background-color: #FBFCFE;
	border-color: var(--c-border) !important;
}
.table thead th {
	color: var(--c-primary-dark);
	border-bottom: 2px solid var(--c-border-strong) !important;
	font-weight: 700;
}
.table-hover tbody tr:hover { background-color: #E9EFF5; }

/* ── Accordéons ── */
.accordion-button { color: var(--c-primary) !important; font-weight: 600; }
.accordion-button:not(.collapsed) {
	background-color: var(--c-surface-muted);
	box-shadow: inset 0 -1px 0 var(--c-border);
}
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(224,121,63,.2); }
.accordion-item { border-color: var(--c-border) !important; }

.arrondi:hover { border-radius: 20% !important; transition: all .5s ease-in; }

/* ── Colonne latérale ── */
.sidebar {
	margin-top: 20px;
	margin-left: 20px;
	margin-bottom: 20px;
	background-color: #fff;
	background: no-repeat #fff url(../images/fond3.png);
	background-size: cover;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-2);
	border: 1px solid var(--c-border);
}
.colonne-droite { margin-left: 20px; }
.footer { margin-bottom: 20px; color: var(--c-text-muted); font-size: .85rem; }

/* ── Polices ── */
@font-face { font-family: "Chewy"; src: url(../fonts/Chewy.ttf) format("truetype"); font-display: swap; }
@font-face { font-family: "Museo Sans Rounded"; font-style: normal; font-weight: 300;  src: url(../fonts/MuseoSansRounded300.woff) format("woff"),  url(../fonts/MuseoSansRounded300.ttf) format("truetype");  font-display: swap; }
@font-face { font-family: "Museo Sans Rounded"; font-style: normal; font-weight: 500;  src: url(../fonts/MuseoSansRounded500.woff) format("woff"),  url(../fonts/MuseoSansRounded500.ttf) format("truetype");  font-display: swap; }
@font-face { font-family: "Museo Sans Rounded"; font-style: normal; font-weight: 700;  src: url(../fonts/MuseoSansRounded700.woff) format("woff"),  url(../fonts/MuseoSansRounded700.ttf) format("truetype");  font-display: swap; }
@font-face { font-family: "Museo Sans Rounded"; font-style: normal; font-weight: 900;  src: url(../fonts/MuseoSansRounded900.woff) format("woff"),  url(../fonts/MuseoSansRounded900.ttf) format("truetype");  font-display: swap; }
@font-face { font-family: "Museo Sans Rounded"; font-style: normal; font-weight: 1000; src: url(../fonts/MuseoSansRounded1000.woff) format("woff"), url(../fonts/MuseoSansRounded1000.ttf) format("truetype"); font-display: swap; }

@media (min-width: 576px) { /* nécessaire pour le scroll sur grands écrans */
	.h-sm-100 { height: 100%; }
}

/* ── Boutons ── */
.btn {
	border-radius: var(--radius-sm);
	font-weight: 600;
	letter-spacing: .02em;
	transition: background-color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .05s var(--ease);
}
.btn:active { transform: translateY(1px); }
.btn:focus-visible { box-shadow: 0 0 0 .2rem rgba(224,121,63,.35); }

.btn-success {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--c-accent);
	--bs-btn-border-color: var(--c-accent);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--c-accent-dark);
	--bs-btn-hover-border-color: var(--c-accent-dark);
	--bs-btn-focus-shadow-rgb: 224, 121, 63;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--c-accent-darker);
	--bs-btn-active-border-color: var(--c-accent-darker);
	--bs-btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #E9B594;
	--bs-btn-disabled-border-color: #E9B594;
	box-shadow: var(--shadow-1);
}
.btn-success:hover { box-shadow: var(--shadow-2); }

.btn-jaune {
	--bs-btn-color: var(--c-primary-dark);
	--bs-btn-bg: var(--c-jaune);
	--bs-btn-border-color: var(--c-jaune);
	--bs-btn-hover-color: var(--c-primary-dark);
	--bs-btn-hover-bg: var(--c-jaune-dark);
	--bs-btn-hover-border-color: var(--c-jaune-dark);
	--bs-btn-focus-shadow-rgb: 233, 198, 116;
	--bs-btn-active-color: var(--c-primary-dark);
	--bs-btn-active-bg: var(--c-jaune-dark);
	--bs-btn-active-border-color: var(--c-jaune-dark);
	--bs-btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .1);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--c-jaune);
	--bs-btn-disabled-border-color: var(--c-jaune);
	box-shadow: var(--shadow-1);
}
.btn-jaune:hover { box-shadow: var(--shadow-2); }


.form-control, .form-select {
	border-radius: var(--radius-sm);
	border-color: var(--c-border-strong);
	transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.form-control:focus, .form-select:focus {
	border-color: var(--c-accent);
	box-shadow: 0 0 0 .2rem rgba(224,121,63,.15);
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--c-border-strong); border-radius: 20px; }
::-webkit-scrollbar-thumb:hover { background: var(--c-primary-light); }
