/* OCOD Événements — styles aux couleurs de la charte OCOD-BF */
:root {
	--ocod-ev-vert: #00AB4E;
	--ocod-ev-jaune: #FFCB05;
	--ocod-ev-rouge: #EE3129;
	--ocod-ev-gris: #58595B;
	--ocod-ev-gris-10: #EEEEEF;
	--ocod-ev-gris-25: #D5D6D6;
	--ocod-ev-vert-10: #E6F7ED;
	--ocod-ev-titre: "Jost", "Futura", sans-serif;
	--ocod-ev-texte: "Albert Sans", "Helvetica Neue", Arial, sans-serif;
}

.ocod-ev-principal { margin: 0; padding: 0; max-width: none; }
.ocod-ev-fiche, .ocod-ev-grille, .ocod-ev-infos, .ocod-ev-rapport, .ocod-ev-galerie { font-family: var(--ocod-ev-texte); color: var(--ocod-ev-gris); }
.ocod-ev-fiche *, .ocod-ev-grille *, .ocod-ev-galerie * { box-sizing: border-box; }
.ocod-ev-conteneur { width: 100%; max-width: 1248px; margin: 0 auto; padding: 0 24px; }
.ocod-ev-icone { flex: none; vertical-align: -3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Graduations du logo */
.ocod-ev-graduations { display: flex; gap: 5px; align-items: center; margin: 14px 0 0; }
.ocod-ev-graduations i { display: block; height: 4px; border-radius: 2px; }
.ocod-ev-graduations i:nth-child(1) { width: 34px; background: var(--ocod-ev-vert); }
.ocod-ev-graduations i:nth-child(2) { width: 12px; background: var(--ocod-ev-jaune); }
.ocod-ev-graduations i:nth-child(3) { width: 7px; background: var(--ocod-ev-rouge); }

/* Étiquette, lien, bouton */
.ocod-ev-tag { display: inline-block; align-self: flex-start; padding: 4px 10px; border-radius: 20px; background: var(--ocod-ev-vert-10); color: var(--ocod-ev-gris); font: 700 11px/1.3 var(--ocod-ev-texte); letter-spacing: .8px; text-transform: uppercase; }
.ocod-ev-tag--clair { background: var(--ocod-ev-jaune); }
.ocod-ev-lien { display: inline-flex; align-items: center; gap: 6px; color: var(--ocod-ev-gris); font: 700 14px/1.4 var(--ocod-ev-texte); text-decoration: none; }
.ocod-ev-lien .ocod-ev-icone { color: var(--ocod-ev-vert); transition: transform .3s; }
.ocod-ev-lien:hover, .ocod-ev-lien:focus { color: var(--ocod-ev-gris); text-decoration: underline; }
.ocod-ev-lien:hover .ocod-ev-icone { transform: translateX(4px); }
.ocod-ev-bouton { display: inline-block; padding: 15px 24px; background: var(--ocod-ev-vert); color: #fff; font: 700 19px/1.25 var(--ocod-ev-texte); text-decoration: none; transition: background .3s, transform .3s; }
.ocod-ev-bouton span { font-weight: 600; font-size: 15px; }
.ocod-ev-bouton:hover, .ocod-ev-bouton:focus { background: var(--ocod-ev-gris); color: #fff; transform: scale(1.03); }
.ocod-ev-fiche a:focus-visible, .ocod-ev-grille a:focus-visible, .ocod-ev-galerie a:focus-visible { outline: 3px solid var(--ocod-ev-jaune); outline-offset: 2px; }

/* Grille de cartes */
.ocod-ev-grille { display: grid; grid-template-columns: repeat(var(--ocod-ev-colonnes, 3), minmax(0, 1fr)); gap: 28px; }
.ocod-ev-carte { display: flex; flex-direction: column; background: #fff; box-shadow: 0 10px 30px -10px rgba(88, 89, 91, .22); transition: transform .3s, box-shadow .3s; }
.ocod-ev-carte:hover { transform: translateY(-8px); box-shadow: 0 18px 36px -12px rgba(88, 89, 91, .35); }
.ocod-ev-carte__visuel { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ocod-ev-gris-10); }
.ocod-ev-carte__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s; }
.ocod-ev-carte:hover .ocod-ev-carte__visuel img { transform: scale(1.05); }
.ocod-ev-pastille-date { position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; min-width: 74px; padding: 10px 12px; background: var(--ocod-ev-vert); color: #fff; text-transform: uppercase; }
.ocod-ev-pastille-date b { font: 800 30px/1 var(--ocod-ev-titre); }
.ocod-ev-pastille-date span { font: 700 12px/1.3 var(--ocod-ev-texte); letter-spacing: .5px; }
.ocod-ev-carte__corps { display: flex; flex-direction: column; gap: 10px; padding: 24px 26px 28px; flex: 1; }
.ocod-ev-carte__titre { margin: 2px 0 0; font: 600 20px/1.3 var(--ocod-ev-titre); color: var(--ocod-ev-gris); }
.ocod-ev-carte__titre a { color: inherit; text-decoration: none; }
.ocod-ev-carte__titre a:hover { text-decoration: underline; }
.ocod-ev-carte__meta { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.ocod-ev-carte__meta li { display: flex; gap: 8px; align-items: flex-start; }
.ocod-ev-carte__meta .ocod-ev-icone { color: var(--ocod-ev-vert); }
.ocod-ev-carte__resume { margin: 4px 0 0; font-size: 15px; line-height: 1.6; flex: 1; }
.ocod-ev-aucun { font-family: var(--ocod-ev-texte); color: var(--ocod-ev-gris); }

/* Fiche : bandeau */
.ocod-ev-bandeau { position: relative; padding: 104px 0 88px; background: var(--ocod-ev-gris) var(--ocod-ev-fond, none) center / cover no-repeat; color: #fff; }
.ocod-ev-bandeau::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(88, 89, 91, .96) 35%, rgba(88, 89, 91, .6) 100%); }
.ocod-ev-bandeau .ocod-ev-conteneur { position: relative; display: flex; flex-direction: column; gap: 16px; }
.ocod-ev-bandeau__titre { max-width: 860px; margin: 0; font: 800 50px/1.08 var(--ocod-ev-titre); letter-spacing: -.4px; color: #fff; }
.ocod-ev-bandeau .ocod-ev-graduations { margin: 0; }
.ocod-ev-bandeau__meta { margin: 0; font-size: 18px; color: rgba(255, 255, 255, .9); }

/* Fiche : sections */
.ocod-ev-section { padding: 88px 0; background: #fff; }
.ocod-ev-section--grise { background: var(--ocod-ev-gris-10); }
.ocod-ev-colonnes { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; }
.ocod-ev-texte { font-size: 17px; line-height: 1.75; }
.ocod-ev-texte > :first-child { margin-top: 0; }
.ocod-ev-texte h2, .ocod-ev-texte h3 { font-family: var(--ocod-ev-titre); color: var(--ocod-ev-gris); }
.ocod-ev-cote { display: flex; flex-direction: column; gap: 22px; }
.ocod-ev-titre-section { margin: 0; font: 700 34px/1.2 var(--ocod-ev-titre); color: var(--ocod-ev-gris); }
.ocod-ev-section .ocod-ev-graduations { margin-bottom: 36px; }
.ocod-ev-entete-ligne { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }

/* Informations */
.ocod-ev-infos { padding: 30px 28px; background: #fff; box-shadow: 0 10px 30px -10px rgba(88, 89, 91, .25); border-top: 4px solid var(--ocod-ev-vert); }
.ocod-ev-infos__titre { margin: 0; font: 700 22px/1.2 var(--ocod-ev-titre); color: var(--ocod-ev-gris); }
.ocod-ev-infos .ocod-ev-graduations { margin-bottom: 18px; }
.ocod-ev-infos dl { margin: 0; display: flex; flex-direction: column; }
.ocod-ev-infos__ligne { display: grid; grid-template-columns: 24px 1fr; column-gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--ocod-ev-gris-25); }
.ocod-ev-infos__ligne:last-child { border-bottom: 0; }
.ocod-ev-infos__ligne .ocod-ev-icone { grid-row: span 2; color: var(--ocod-ev-vert); margin-top: 2px; }
.ocod-ev-infos dt { font: 700 12px/1.4 var(--ocod-ev-texte); letter-spacing: 1px; text-transform: uppercase; }
.ocod-ev-infos dd { margin: 2px 0 0; font-size: 16px; line-height: 1.5; }

/* Rapport */
.ocod-ev-rapport { display: flex; gap: 16px; align-items: flex-start; padding: 28px; background: var(--ocod-ev-gris); color: #fff; }
.ocod-ev-rapport > .ocod-ev-icone { width: 38px; height: 38px; color: var(--ocod-ev-jaune); }
.ocod-ev-rapport__titre { margin: 0 0 12px; font: 700 20px/1.25 var(--ocod-ev-titre); color: #fff; }

/* Galerie */
.ocod-ev-galerie { display: grid; grid-template-columns: repeat(var(--ocod-ev-colonnes, 3), minmax(0, 1fr)); gap: 16px; }
.ocod-ev-galerie__item { margin: 0; }
.ocod-ev-galerie__item a { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ocod-ev-gris-25); }
.ocod-ev-galerie__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.ocod-ev-galerie__item a:hover img { transform: scale(1.06); }
.ocod-ev-galerie__item figcaption { margin-top: 8px; font-size: 14px; }

/* Visionneuse */
.ocod-ev-visionneuse { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 56px 72px; background: rgba(40, 41, 43, .94); }
.ocod-ev-visionneuse[hidden] { display: none; }
.ocod-ev-visionneuse figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ocod-ev-visionneuse img { max-width: 100%; max-height: calc(100vh - 160px); object-fit: contain; }
.ocod-ev-visionneuse figcaption { color: #fff; font: 15px/1.5 var(--ocod-ev-texte); text-align: center; }
.ocod-ev-visionneuse button { position: absolute; width: 52px; height: 52px; border: 0; border-radius: 50%; background: var(--ocod-ev-vert); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.ocod-ev-visionneuse button:hover, .ocod-ev-visionneuse button:focus-visible { background: var(--ocod-ev-jaune); color: var(--ocod-ev-gris); outline: none; }
.ocod-ev-visionneuse .ocod-ev-fermer { top: 18px; right: 18px; }
.ocod-ev-visionneuse .ocod-ev-prec { left: 12px; top: 50%; transform: translateY(-50%); }
.ocod-ev-visionneuse .ocod-ev-suiv { right: 12px; top: 50%; transform: translateY(-50%); }

/* Grille « vitrine » (style par défaut) : cartes arrondies, étiquette en pastille, flèche dans un rond.
   Une carte sur trois (au centre d'une rangée de 3) est mise en avant : fond jaune, photo découpée en fleur. */
.ocod-ev-grille--vitrine { gap: 24px; align-items: stretch; }
.ocod-ev-tuile { --ocod-ev-tuile-fond: var(--ocod-ev-gris-10); --ocod-ev-tuile-rond: #fff; position: relative; display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: 22px; border-radius: 24px; background: var(--ocod-ev-tuile-fond); color: var(--ocod-ev-gris); transition: transform .35s ease, box-shadow .35s ease; }
.ocod-ev-grille--fond-blanc .ocod-ev-tuile { --ocod-ev-tuile-fond: #fff; --ocod-ev-tuile-rond: var(--ocod-ev-gris-10); }
.ocod-ev-tuile--vedette, .ocod-ev-grille--fond-blanc .ocod-ev-tuile--vedette { --ocod-ev-tuile-fond: var(--ocod-ev-jaune); --ocod-ev-tuile-rond: #fff; }
.ocod-ev-tuile:hover { transform: translateY(-6px); box-shadow: 0 24px 40px -24px rgba(88, 89, 91, .5); }
.ocod-ev-tuile__haut { display: flex; align-items: center; min-height: 46px; padding-right: 60px; }
.ocod-ev-tuile__tag { display: inline-block; padding: 6px 12px; border: 1px solid rgba(88, 89, 91, .55); border-radius: 999px; font: 700 11px/1.2 var(--ocod-ev-texte); letter-spacing: .9px; text-transform: uppercase; }
.ocod-ev-tuile__titre { margin: 0; font: 600 22px/1.25 var(--ocod-ev-titre); color: var(--ocod-ev-gris); }
.ocod-ev-tuile__titre a { color: inherit; text-decoration: none; }
.ocod-ev-tuile__titre a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: 24px; }
.ocod-ev-tuile__titre a:focus-visible { outline: none; }
.ocod-ev-tuile__titre a:focus-visible::after { outline: 3px solid var(--ocod-ev-vert); outline-offset: 3px; }
.ocod-ev-tuile__meta { display: flex; gap: 8px; align-items: flex-start; margin: 0; font: 600 14px/1.45 var(--ocod-ev-texte); }
.ocod-ev-tuile__meta .ocod-ev-icone { flex: none; margin-top: 1px; color: var(--ocod-ev-vert); }
.ocod-ev-tuile__fleche { position: absolute; top: 22px; right: 22px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--ocod-ev-tuile-rond); color: var(--ocod-ev-gris); transition: background .3s, color .3s, transform .3s; }
.ocod-ev-tuile:hover .ocod-ev-tuile__fleche { background: var(--ocod-ev-vert); color: #fff; transform: translate(2px, -2px); }
.ocod-ev-tuile__visuel { position: relative; margin-top: auto; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: var(--ocod-ev-gris-25); }
.ocod-ev-tuile__visuel img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ocod-ev-tuile:hover .ocod-ev-tuile__visuel img { transform: scale(1.05); }
/* Carte mise en avant : image en haut (découpe en fleur), textes en bas, flèche en bas à droite */
.ocod-ev-tuile--vedette .ocod-ev-tuile__visuel { order: -1; flex: 1 1 auto; min-height: 250px; margin: -10px -10px 0; aspect-ratio: auto; border-radius: 0; background: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='28'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%2818.0 50 50%29'/%3E%3Crect x='31.0' y='-6' width='38' height='56' rx='19.0' transform='rotate%2890.0 50 50%29'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%28162.0 50 50%29'/%3E%3Crect x='31.0' y='-6' width='38' height='56' rx='19.0' transform='rotate%28234.0 50 50%29'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%28306.0 50 50%29'/%3E%3C/svg%3E") center / 125% 125% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='28'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%2818.0 50 50%29'/%3E%3Crect x='31.0' y='-6' width='38' height='56' rx='19.0' transform='rotate%2890.0 50 50%29'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%28162.0 50 50%29'/%3E%3Crect x='31.0' y='-6' width='38' height='56' rx='19.0' transform='rotate%28234.0 50 50%29'/%3E%3Crect x='31.0' y='-14' width='38' height='64' rx='19.0' transform='rotate%28306.0 50 50%29'/%3E%3C/svg%3E") center / 125% 125% no-repeat; }
.ocod-ev-tuile--vedette .ocod-ev-tuile__visuel img { position: absolute; inset: 0; }
.ocod-ev-tuile--vedette .ocod-ev-tuile__haut { padding-right: 0; }
.ocod-ev-tuile--vedette .ocod-ev-tuile__tag { border-color: #fff; background: #fff; }
.ocod-ev-tuile--vedette .ocod-ev-tuile__titre, .ocod-ev-tuile--vedette .ocod-ev-tuile__meta { padding-right: 58px; }
.ocod-ev-tuile--vedette .ocod-ev-tuile__meta .ocod-ev-icone { color: var(--ocod-ev-gris); }
.ocod-ev-tuile--vedette .ocod-ev-tuile__fleche { top: auto; bottom: 22px; }

/* Tablette et mobile */
@media (max-width: 1024px) {
	.ocod-ev-grille { grid-template-columns: repeat(min(var(--ocod-ev-colonnes, 3), 2), minmax(0, 1fr)); }
	.ocod-ev-colonnes { grid-template-columns: 1fr; gap: 40px; }
	.ocod-ev-bandeau__titre { font-size: 42px; }
	.ocod-ev-section { padding: 72px 0; }
}
@media (max-width: 767px) {
	.ocod-ev-conteneur { padding: 0 16px; }
	.ocod-ev-grille { grid-template-columns: 1fr; }
	.ocod-ev-galerie { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.ocod-ev-bandeau { padding: 64px 0 56px; }
	.ocod-ev-bandeau::before { background: linear-gradient(180deg, rgba(88, 89, 91, .96) 35%, rgba(88, 89, 91, .7) 100%); }
	.ocod-ev-bandeau__titre { font-size: 32px; }
	.ocod-ev-section { padding: 56px 0; }
	.ocod-ev-titre-section { font-size: 28px; }
	.ocod-ev-visionneuse { padding: 64px 12px; }
	.ocod-ev-visionneuse .ocod-ev-prec, .ocod-ev-visionneuse .ocod-ev-suiv { top: auto; bottom: 12px; transform: none; }
}
@media (max-width: 767px) {
	.ocod-ev-tuile { padding: 18px; border-radius: 20px; }
	.ocod-ev-tuile__fleche { top: 18px; right: 18px; }
	.ocod-ev-tuile--vedette .ocod-ev-tuile__fleche { bottom: 18px; }
	.ocod-ev-tuile__titre { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	.ocod-ev-carte, .ocod-ev-carte__visuel img, .ocod-ev-galerie__item img, .ocod-ev-bouton, .ocod-ev-lien .ocod-ev-icone, .ocod-ev-tuile, .ocod-ev-tuile__visuel img, .ocod-ev-tuile__fleche { transition: none; }
	.ocod-ev-carte:hover, .ocod-ev-carte:hover .ocod-ev-carte__visuel img, .ocod-ev-galerie__item a:hover img, .ocod-ev-tuile:hover, .ocod-ev-tuile:hover .ocod-ev-tuile__visuel img, .ocod-ev-tuile:hover .ocod-ev-tuile__fleche { transform: none; }
}

/* Style « éditorial » (charte v3) : image en haut, angles droits, filet vert au survol */
.ocod-ev-grille--editorial { --ocod-ev-texte: "Figtree", "Helvetica Neue", Arial, sans-serif; display: grid; grid-template-columns: repeat(var(--ocod-ev-colonnes, 3), minmax(0, 1fr)); gap: 40px; font-family: "Figtree", var(--ocod-ev-texte); }
.ocod-ev-edi { position: relative; display: flex; flex-direction: column; gap: 28px; }
.ocod-ev-edi::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ocod-ev-vert); transform: scaleX(0); transform-origin: left; transition: transform .6s cubic-bezier(.16, 1, .3, 1); z-index: 2; }
.ocod-ev-edi:hover::before, .ocod-ev-edi:focus-within::before { transform: scaleX(1); }
.ocod-ev-edi__visuel { aspect-ratio: 3 / 2; overflow: hidden; background: var(--ocod-ev-vert); }
.ocod-ev-edi__visuel img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16, 1, .3, 1); }
.ocod-ev-edi:hover .ocod-ev-edi__visuel img { transform: scale(1.04); }
.ocod-ev-edi__corps { display: flex; flex-direction: column; gap: 16px; }
.ocod-ev-edi__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; font-size: 14px; line-height: 1.4; color: var(--ocod-ev-gris); }
.ocod-ev-edi__tag { padding: 4px 12px; border: 1px solid #231F20; border-radius: 999px; font: 700 11px/1.4 "Figtree", var(--ocod-ev-texte); letter-spacing: .08em; text-transform: uppercase; color: #231F20; }
.ocod-ev-edi__titre { margin: 0; font: 700 24px/1.3 "Figtree", var(--ocod-ev-texte); color: #231F20; text-wrap: pretty; }
.ocod-ev-edi__titre a { color: inherit; text-decoration: none; }
.ocod-ev-edi__titre a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ocod-ev-edi__titre a:focus-visible { outline: 2px solid #231F20; outline-offset: 4px; }
@media (max-width: 1024px) { .ocod-ev-grille--editorial { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ocod-ev-grille--editorial { grid-template-columns: minmax(0, 1fr); } }

/* ===== Fiche d'un événement — charte v3 (écrase les règles précédentes de la fiche) ===== */
:root { --ocod-ev-texte: "Figtree", "Helvetica Neue", Arial, sans-serif; }
.ocod-ev-fiche, .ocod-ev-infos, .ocod-ev-rapport, .ocod-ev-galerie { font-family: var(--ocod-ev-texte); }
.ocod-ev-repere { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: 28px; background: var(--ocod-ev-vert); color: var(--ocod-ev-jaune); font: 800 22px/1 var(--ocod-ev-titre); }
.ocod-ev-trait { display: flex; width: 120px; height: 4px; }
.ocod-ev-trait i { display: block; flex: 1; }
.ocod-ev-trait i:nth-child(1) { background: var(--ocod-ev-rouge); }
.ocod-ev-trait i:nth-child(2) { background: var(--ocod-ev-jaune); }
.ocod-ev-trait i:nth-child(3) { background: var(--ocod-ev-vert); }

.ocod-ev-bandeau { position: relative; padding: 128px 0 136px; background: #fff var(--ocod-ev-fond, none) center right / cover no-repeat; color: #231F20; }
.ocod-ev-bandeau::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #fff 34%, rgba(255, 255, 255, 0) 84%); }
.ocod-ev-bandeau .ocod-ev-conteneur { position: relative; max-width: 1360px; padding: 0 40px; display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.ocod-ev-bandeau > .ocod-ev-conteneur > * { max-width: 640px; }
.ocod-ev-bandeau__sur { margin: 0; font: 700 12px/1.3 var(--ocod-ev-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--ocod-ev-gris); }
.ocod-ev-bandeau__titre { margin: 0; font: 500 60px/1.04 var(--ocod-ev-titre); letter-spacing: -1px; text-transform: uppercase; color: #231F20; text-wrap: balance; }
.ocod-ev-bandeau__titre b { font-weight: 800; color: var(--ocod-ev-vert); }
.ocod-ev-bandeau__meta { margin: 0; font: 400 19px/1.7 var(--ocod-ev-texte); color: var(--ocod-ev-gris); }

.ocod-ev-section { padding: 160px 0; background: #fff; }
.ocod-ev-section--grise { background: #FFF7E6; }
.ocod-ev-section .ocod-ev-conteneur { max-width: 1360px; padding: 0 40px; }
.ocod-ev-colonnes { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 96px; align-items: start; }
.ocod-ev-titre-section { margin: 0 0 40px; font: 500 52px/1.08 var(--ocod-ev-titre); letter-spacing: -.5px; text-transform: uppercase; color: #231F20; text-wrap: balance; }
.ocod-ev-titre-section b { font-weight: 800; color: var(--ocod-ev-vert); }
.ocod-ev-texte { font-size: 18px; line-height: 1.8; color: var(--ocod-ev-gris); }
.ocod-ev-texte h2, .ocod-ev-texte h3 { font-family: var(--ocod-ev-texte); font-weight: 700; color: #231F20; }
.ocod-ev-entete-ligne { align-items: flex-end; margin-bottom: 72px; }
.ocod-ev-entete-ligne .ocod-ev-titre-section { margin-bottom: 0; }
.ocod-ev-lien { color: #231F20; font: 600 16px/1.4 var(--ocod-ev-texte); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }

.ocod-ev-infos { padding: 0; background: transparent; box-shadow: none; border-top: 1px solid #231F20; }
.ocod-ev-infos__titre { margin: 0; padding: 28px 0 8px; font: 800 28px/1.2 var(--ocod-ev-titre); text-transform: uppercase; color: #231F20; }
.ocod-ev-infos__ligne { padding: 18px 0; border-bottom: 1px solid var(--ocod-ev-gris-25); }
.ocod-ev-infos dt { color: var(--ocod-ev-gris); }
.ocod-ev-infos dd { color: #231F20; font-weight: 600; }

.ocod-ev-rapport { gap: 20px; padding: 40px 36px; background: #E6F7ED; color: #231F20; }
.ocod-ev-rapport > .ocod-ev-icone { color: var(--ocod-ev-vert); }
.ocod-ev-rapport__titre { color: #231F20; }
.ocod-ev-rapport__titre { font: 800 24px/1.2 var(--ocod-ev-titre); text-transform: uppercase; }
.ocod-ev-bouton { padding: 16px 24px; background: var(--ocod-ev-jaune); color: #231F20; font: 600 16px/1.3 var(--ocod-ev-texte); transition: background-color .35s cubic-bezier(.16, 1, .3, 1); }
.ocod-ev-bouton:hover, .ocod-ev-bouton:focus { background: var(--ocod-ev-vert); color: #231F20; transform: none; }
.ocod-ev-galerie__item a { background: var(--ocod-ev-gris-25); }

@media (max-width: 1024px) {
	.ocod-ev-bandeau { padding: 88px 0 80px; }
	.ocod-ev-bandeau::before { background: rgba(255, 255, 255, .92); }
	.ocod-ev-bandeau .ocod-ev-conteneur, .ocod-ev-section .ocod-ev-conteneur { padding: 0 24px; }
	.ocod-ev-bandeau__titre { font-size: 45px; }
	.ocod-ev-section { padding: 104px 0; }
	.ocod-ev-colonnes { grid-template-columns: 1fr; gap: 56px; }
	.ocod-ev-titre-section { font-size: 40px; }
}
@media (max-width: 767px) {
	.ocod-ev-bandeau { padding: 64px 0 56px; }
	.ocod-ev-bandeau .ocod-ev-conteneur, .ocod-ev-section .ocod-ev-conteneur { padding: 0 16px; }
	.ocod-ev-bandeau__titre { font-size: 32px; }
	.ocod-ev-section { padding: 72px 0; }
	.ocod-ev-titre-section { font-size: 30px; }
	.ocod-ev-entete-ligne { margin-bottom: 40px; }
}

/* Mobile : cibles tactiles et petites pastilles plus lisibles */
@media (max-width: 767px) {
	.ocod-ev-lien { display: inline-flex; align-items: center; min-height: 44px; }
	.ocod-ev-edi__tag, .ocod-bib-tag { font-size: 12px; }
}

/* 1.5.1 · audit mobile : bandeau de fiche plus opaque (le texte de la photo ne transparaît plus), poids du fichier sous le libellé du bouton */
.ocod-ev-bouton span { display: block; margin-top: 2px; font-size: 14px; font-weight: 500; }
@media (max-width: 767px) {
	.ocod-ev-bandeau::before { background: rgba(255, 255, 255, .97); }
	.ocod-ev-bouton { display: block; }
}
