/* Affichage public des types de contenu de l'ACER. Volontairement sobre : le thème garde la main. */
.acer-fiche { display: grid; gap: .25em 1em; margin: 0 0 1.5em; padding: 1em 1.25em; background: #f6f6f4; border-left: 4px solid #b00020; }
.acer-fiche__ligne { display: contents; }
.acer-fiche dt { grid-column: 1; font-weight: 700; }
.acer-fiche dd { grid-column: 2; margin: 0; }
.acer-intro { font-size: 1.1em; font-style: italic; }
.acer-affiche img, .acer-couverture { max-width: 100%; height: auto; }
.acer-publication { display: flex; gap: 1.5em; align-items: flex-start; flex-wrap: wrap; margin-bottom: 1.5em; }
.acer-publication .acer-couverture { width: 200px; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.acer-galerie-publique { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; list-style: none; margin: 1.5em 0 .5em; padding: 0; }
.acer-galerie-publique li { margin: 0; list-style: none; }
.acer-galerie-publique li::before, .acer-galerie-publique li::marker { content: none; }
.acer-galerie-publique img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.acer-legende { display: block; font-size: .85em; line-height: 1.3; margin-top: .3em; color: #444; }
.acer-credit { font-size: .9em; color: #555; }
.acer-bouton { display: inline-block; padding: .5em 1em; background: #b00020; color: #fff !important; text-decoration: none; border-radius: 3px; }
.acer-bouton:hover, .acer-bouton:focus { background: #800018; }
.acer-taille { color: #555; font-size: .9em; }
/* Listes automatiques (lot 2.4, code court [acer_liste]) */
.acer-listes { margin: 0 0 2em; }
.acer-liste__annee { margin: 1.5em 0 .5em; padding-bottom: .2em; border-bottom: 2px solid #b00020; font-size: 1.25em; scroll-margin-top: 1em; }
.acer-liste__sommaire { display: flex; flex-wrap: wrap; gap: .4em; margin: 0 0 1em; }
.acer-liste__sommaire a { padding: .25em .7em; border: 1px solid #b00020; border-radius: 1em; color: #b00020; text-decoration: none; font-weight: bold; }
.acer-liste__sommaire a:hover, .acer-liste__sommaire a:focus { background: #b00020; color: #fff; }
.acer-liste { list-style: none; margin: 0; padding: 0; }
.acer-liste__item { padding: .55em 0; border-bottom: 1px solid #e4e2dc; }
.acer-liste__date { display: inline-block; min-width: 11em; color: #b00020; font-weight: 700; font-size: .95em; }
.acer-liste__titre a { text-decoration: none; }
.acer-liste__titre a:hover, .acer-liste__titre a:focus { text-decoration: underline; }
.acer-liste__lieu { color: #555; }
.acer-liste__extrait { display: block; color: #555; font-size: .92em; margin-top: .2em; }
.acer-liste__vide { font-style: italic; color: #555; }
.acer-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1.25em; list-style: none; margin: 0; padding: 0; }
.acer-cartes--cartes { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.acer-listes ul li.acer-carte, .acer-listes ul li.acer-liste__item { list-style: none; margin-left: 0; }
.acer-listes ul li.acer-carte::before, .acer-listes ul li.acer-liste__item::before { content: none; }
.acer-carte { margin: 0; }
.acer-carte a { display: block; text-decoration: none; color: inherit; }
.acer-carte img, .acer-carte__vide { display: block; width: 100%; height: auto; background: #eee; }
.acer-cartes--couvertures .acer-carte img, .acer-cartes--couvertures .acer-carte__vide { aspect-ratio: 210 / 297; object-fit: cover; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.acer-cartes--cartes .acer-carte img, .acer-cartes--cartes .acer-carte__vide { aspect-ratio: 3 / 2; object-fit: cover; }
.acer-carte__titre { display: block; margin-top: .5em; font-weight: 700; line-height: 1.3; }
.acer-carte a:hover .acer-carte__titre, .acer-carte a:focus .acer-carte__titre { text-decoration: underline; }
.acer-carte__date { display: block; color: #555; font-size: .9em; }
@media (max-width: 600px) {
	.acer-fiche { grid-template-columns: 1fr; }
	.acer-fiche dt, .acer-fiche dd { grid-column: 1; }
	.acer-liste__date { display: block; min-width: 0; }
}
/* Pages de rubrique (lot 2.3, code court [acer_rubrique]) : les entrées du menu en tuiles */
.acer-rubrique { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1em; list-style: none; margin: 1.5em 0 2em; padding: 0; }
.entry-content ul.acer-rubrique li, ul.acer-rubrique li { list-style: none; margin: 0; }
ul.acer-rubrique li::before { content: none; }
.acer-rubrique a { display: block; height: 100%; box-sizing: border-box; padding: 1em 1.1em; border: 1px solid #e4e2dc; border-top: 4px solid #b00020; background: #fff; color: inherit; text-decoration: none; }
.acer-rubrique a:hover, .acer-rubrique a:focus { background: #f6f6f4; }
.acer-rubrique__titre { display: block; font-weight: 700; font-size: 1.1em; line-height: 1.3; }
.acer-rubrique a:hover .acer-rubrique__titre, .acer-rubrique a:focus .acer-rubrique__titre { text-decoration: underline; }
.acer-rubrique__texte { display: block; margin-top: .35em; color: #555; font-size: .92em; }
/* Page d'accueil (lot 2.6, code court [acer_accueil]) : des accroches, jamais le texte intégral */
.acer-mission { font-size: 1.15em; line-height: 1.55; max-width: 46em; }
.acer-mission__boutons { display: flex; flex-wrap: wrap; gap: .75em; margin: 1em 0 2em; }
.acer-bouton--clair { background: #fff; color: #b00020 !important; border: 2px solid #b00020; }
.acer-bouton--clair:hover, .acer-bouton--clair:focus { background: #f6f6f4; }
.acer-accueil h2 { margin: 0 0 .75em; padding-bottom: .2em; border-bottom: 2px solid #b00020; font-size: 1.3em; }
.acer-accueil ul, .acer-accueil ul li { list-style: none; margin: 0; padding: 0; }
.acer-accueil ul li::before { content: none; }
.acer-accueil__haut { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 2em; margin-bottom: 2.5em; }
.acer-accueil__bas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2em; margin-bottom: 2em; }
.acer-accueil__suite { margin: .75em 0 0; font-weight: 700; }
.acer-accueil__suite a { text-decoration: none; }
.acer-accueil__suite a:hover, .acer-accueil__suite a:focus { text-decoration: underline; }
.acer-rdv { background: #f6f6f4; border-left: 4px solid #b00020; padding: 1em 1.1em; }
.acer-rdv__image img { display: block; width: 100%; height: auto; max-height: 260px; object-fit: cover; margin-bottom: .75em; }
.acer-rdv__quand { margin: 0; color: #b00020; font-weight: 700; font-size: 1.1em; }
.acer-rdv__titre { margin: .3em 0; font-size: 1.15em; line-height: 1.3; }
.acer-rdv__titre a { text-decoration: none; }
.acer-rdv__titre a:hover, .acer-rdv__titre a:focus { text-decoration: underline; }
.acer-rdv__lieu { margin: 0 0 .4em; color: #555; }
.acer-rdv__accroche { margin: 0; font-size: .95em; }
.acer-accroches { display: grid; gap: 1.1em; }
.acer-accroche a { display: grid; grid-template-columns: 140px minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: 1em; color: inherit; text-decoration: none; }
.acer-accroche img, .acer-accroche .acer-carte__vide { grid-row: 1 / 4; width: 140px; height: 100px; object-fit: cover; background: #eee; }
.acer-accroche__date { color: #b00020; font-weight: 700; font-size: .9em; }
.acer-accroche__titre { font-weight: 700; line-height: 1.3; }
.acer-accroche a:hover .acer-accroche__titre, .acer-accroche a:focus .acer-accroche__titre { text-decoration: underline; }
.acer-accroche__texte { color: #555; font-size: .92em; margin-top: .2em; }
.acer-accueil__tuile .acer-listes { margin: 0; }
.acer-accueil__tuile .acer-cartes { grid-template-columns: 1fr; }
.acer-accueil__tuile .acer-cartes--couvertures { max-width: 200px; }
.acer-produits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75em; }
.acer-produits a { display: block; color: inherit; text-decoration: none; font-size: .88em; line-height: 1.3; }
.acer-produits img, .acer-produits .acer-carte__vide { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #eee; margin-bottom: .3em; }
.acer-produits a:hover .acer-produits__nom, .acer-produits a:focus .acer-produits__nom { text-decoration: underline; }
.acer-produits__nom { display: block; }
.acer-produits__prix { display: block; color: #b00020; font-weight: 700; }
@media (max-width: 900px) {
	.acer-accueil__haut { grid-template-columns: 1fr; }
	.acer-accueil__bas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.acer-accueil__bas { grid-template-columns: 1fr; }
	.acer-accroche a { grid-template-columns: 96px minmax(0, 1fr); }
	.acer-accroche img, .acer-accroche .acer-carte__vide { width: 96px; height: 72px; }
}

.acer-ariane { font-size: .9em; margin: 0 0 1em; color: #555; }
.acer-ariane a { color: #b00020; }
.acer-retour { margin: 2em 0 0; }
.acer-retour a { display: inline-block; padding: .4em .9em; border: 1px solid #b00020; border-radius: 1em; color: #b00020; text-decoration: none; font-weight: bold; }
.acer-retour a:hover, .acer-retour a:focus { background: #b00020; color: #fff; }
.acer-annonce { margin: 0 0 1.2em; padding: .7em 1em; border-left: 4px solid #b00020; background: #f6f5f2; font-weight: bold; }
/* Case de recherche de l'accueil ([acer_recherche]), au bout de la rangée de boutons, à droite */
.acer-mission__boutons { align-items: center; }
.acer-recherche { display: flex; margin: 0 0 0 auto; }
.acer-recherche__etiquette { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.acer-recherche input[type="search"] { width: 10em; margin: 0; padding: .45em .7em; border: 2px solid #b00020; border-right: 0; border-radius: 3px 0 0 3px; font-size: 1em; }
.acer-recherche button { margin: 0; padding-left: .8em; padding-right: .8em; border: 2px solid #b00020; border-radius: 0 3px 3px 0; font-size: 1em; cursor: pointer; }
@media (max-width: 700px) {
	.acer-recherche { margin-left: 0; width: 100%; }
	.acer-recherche input[type="search"] { flex: 1; width: auto; min-width: 0; }
}
.acer-recherche button { display: inline-flex; align-items: center; justify-content: center; }
.acer-recherche button svg { display: block; }
/* Page de résultats de recherche (gabarits/recherche.php) */
.acer-resultats .entry-content { max-width: 52em; margin: 0 auto; padding: 1.5em 0 2em; }
.acer-resultats__titre { margin: 0 0 .75em; font-size: 1.6em; }
.acer-resultats .acer-recherche { margin: 0 0 1.5em; }
.acer-resultats .acer-recherche input[type="search"] { width: 22em; max-width: 100%; }
.acer-resultats__nombre { color: #555; margin: 0 0 1em; }
.acer-resultats ul.acer-accroches, .acer-resultats ul.acer-accroches li { list-style: none; margin: 0; padding: 0; }
.acer-resultats ul.acer-accroches li::before { content: none; }
.acer-resultats .acer-accroches { gap: 1.4em; }
.acer-resultats .nav-links { display: flex; flex-wrap: wrap; gap: .5em; margin-top: 2em; }
.acer-resultats .nav-links .page-numbers { padding: .3em .7em; border: 1px solid #b00020; border-radius: 3px; color: #b00020; text-decoration: none; }
.acer-resultats .nav-links .current { background: #b00020; color: #fff; }
/* « Écrivez-nous » en bas des actualités (M45 : commentaires fermés, 12/10) */
.acer-publiee { margin: 1.5em 0 0; color: #50575e; font-size: .95em; }
.acer-ecrivez-nous { margin: 2em 0 0; padding: .8em 1em; background: #f6f6f4; border-left: 4px solid #b00020; }
.acer-ecrivez-nous a { color: #b00020; font-weight: 700; }

/* Portraits et témoignages (12/10/2026). */
.acer-portrait-titre { margin-top: 1.6em; }
.acer-documents-joints { margin: .4em 0 1.2em 1.2em; }
/* Retour sur un rendez-vous (21/10/2026) : la page de l'événement réunit actualités et reportages. */
.acer-retour-sur { margin-top: 1.6em; }
.acer-evenement-lie { margin: 1.5em 0 0; padding: .75em 1em; background: #f6f6f4; border-left: 4px solid #b00020; }
/* Haut de l'accueil (Claire, 25/10 ; Roland, 26/10) : boutons et vidéo | mosaïque | Prix, à la même hauteur */
.acer-bandeau { display: grid; grid-template-columns: 230px minmax(0, 1fr) var(--acer-prix, 160px); gap: 1.5em; align-items: stretch; margin: 0 0 2em; }
.acer-bandeau__boutons { display: flex; flex-direction: column; justify-content: space-between; gap: .5em; }
.acer-bandeau__boutons .acer-bouton { display: flex; align-items: center; justify-content: center; gap: .45em; text-align: center; line-height: 1.3; }
.acer-bouton--facebook { background: #1877f2; }
.acer-bouton--facebook:hover, .acer-bouton--facebook:focus { background: #0d5ccc; }
.acer-bandeau__boutons .acer-recherche { margin: 0; width: 100%; }
.acer-bandeau__boutons .acer-recherche input[type="search"] { flex: 1; width: auto; min-width: 0; }
.acer-bandeau__image { min-height: 0; }
.acer-bandeau__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.acer-bandeau__prix, .acer-bandeau__prix li { list-style: none; margin: 0; padding: 0; }
.acer-bandeau__prix li::before { content: none; }
.acer-bandeau__prix { display: flex; flex-direction: column; justify-content: space-between; gap: .5em; }
.acer-bandeau__prix a { display: block; color: inherit; text-decoration: none; font-size: .8em; font-weight: 700; line-height: 1.25; text-align: center; }
.acer-bandeau__prix img { display: block; width: 100%; height: auto; margin-bottom: .25em; box-shadow: 0 1px 4px rgba(0, 0, 0, .25); }
.acer-bandeau__prix a:hover span, .acer-bandeau__prix a:focus span { text-decoration: underline; }
/* La vidéo, sous les boutons et à leur largeur : aperçu compact (chargement au clic, lot 1.2). */
.acer-video { margin: 0; }
.acer-video .acer-tiers { margin: 0; }
.acer-video figcaption { margin-top: .3em; font-size: .8em; color: #555; text-align: center; }
.acer-bandeau .acer-tiers__bouton { gap: .35em; padding: .5em; }
.acer-bandeau .acer-tiers__icone { width: 40px; height: 40px; font-size: 18px; }
.acer-bandeau .acer-tiers__texte { font-size: 11px; line-height: 1.3; color: #ececec; }
@media (max-width: 960px) {
	.acer-bandeau { grid-template-columns: 220px minmax(0, 1fr); }
	.acer-bandeau__prix { grid-column: 1 / -1; flex-direction: row; justify-content: center; }
	.acer-bandeau__prix li { width: 150px; }
}
@media (max-width: 640px) {
	.acer-bandeau { grid-template-columns: 1fr; }
	.acer-bandeau__image { order: -1; }
	.acer-bandeau__image img { height: auto; }
	.acer-bandeau__prix li { width: 45%; }
}
/* La BD de l'ACER, sous les boutons du bandeau ([acer_bd], Claire, 27/10) */
.acer-bd { display: flex; flex-direction: column; gap: .35em; }
.acer-bd__carte { display: flex; align-items: stretch; gap: .7em; padding: .5em; border: 2px solid #b00020; border-radius: 3px; background: #fff; color: inherit; text-decoration: none; }
.acer-bd__carte:hover, .acer-bd__carte:focus { background: #f6f6f4; }
.acer-bd__couverture { flex: 0 0 auto; display: block; width: 84px; height: auto; box-shadow: 0 1px 4px rgba(0, 0, 0, .3); }
.acer-bd__texte { display: flex; flex-direction: column; justify-content: center; gap: .3em; min-width: 0; }
.acer-bd__titre { font-family: Georgia, "Times New Roman", serif; font-size: 1.15em; font-weight: 700; line-height: 1.15; text-transform: uppercase; color: #1f1f1f !important; }
.acer-bd__sous { font-size: .85em; color: #555; line-height: 1.3; }
.acer-bd__voir { display: inline-flex; align-items: center; gap: .35em; margin-top: .2em; padding: .25em .6em; align-self: flex-start; border-radius: 3px; background: #b00020; color: #fff !important; font-size: .85em; font-weight: 700; }
.acer-bd__carte:hover .acer-bd__voir, .acer-bd__carte:focus .acer-bd__voir { background: #800018; }
.acer-bd__commander { font-size: .85em; font-weight: 700; text-align: right; text-decoration: none; color: #b00020 !important; }
.acer-bd__commander:hover, .acer-bd__commander:focus { text-decoration: underline; }
.acer-bd__voir span, .acer-bd__commander span { color: inherit !important; }

/* « Nous contacter » : chaque choix mène à son formulaire (outils/conversion/pages-legales.php, 02/11/2026). */
.acer-choix { list-style: none; margin: 0 0 1.5em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16em, 1fr)); gap: .8em; }
.acer-choix li, .entry-content .acer-choix li { margin: 0; list-style: none; }
.acer-choix li::marker { content: ""; }
.acer-choix li::before { display: none; }
.acer-choix a { display: flex; flex-direction: column; gap: .3em; height: 100%; box-sizing: border-box; padding: .9em 1em; border: 1px solid #d0c4c6; border-left: 4px solid #b00020; border-radius: 3px; text-decoration: none; color: inherit; background: #fff; }
.acer-choix a:hover, .acer-choix a:focus { border-color: #b00020; background: #fbeaec; }
.acer-choix strong { color: #b00020; }
.acer-choix span { font-size: .9em; color: #555; }
