/*
Theme Name: APE Solrézis
Theme URI: https://ape-solrezis.fr
Author: APE Génération collège du Solrézis
Description: Thème sur mesure de l'APE Génération collège du Solrézis : palette Blushing English Rose, police Poppins, modules prêts à l'emploi (bandeaux, cartes, jauge, appels à adhérer, newsletter…) et animations légères.
Version: 1.6.6
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ape-solrezis
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
:where(body) { -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3) { text-wrap: balance; }
:focus-visible { outline: 2px solid #B04A5A; outline-offset: 3px; border-radius: 6px; }
img { max-width: 100%; height: auto; }

/* ---------- En-tête ---------- */
.ape-entete { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); border-bottom: 1px solid #E9E1D7; }
.admin-bar .ape-entete { top: 32px; }
@media (max-width: 782px) { .admin-bar .ape-entete { top: 46px; } }
.ape-entete .wp-block-site-logo img { height: 44px; width: auto; }
.ape-entete .wp-block-site-title a { color: #4E6548; text-decoration: none; }
.ape-entete .ape-sous-titre { font-size: .7rem; color: #5D6A57; margin: 0; line-height: 1.2; }
.ape-entete .wp-block-navigation a { text-decoration: none; }
.ape-entete .wp-block-navigation .wp-block-navigation-item__content { padding: .45rem .7rem; border-radius: 999px; transition: background .2s; }
.ape-entete .wp-block-navigation .wp-block-navigation-item__content:hover { background: #F8F3EE; }
.ape-entete .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content { background: #4E6548; color: #fff; }

/* ---------- Pied de page ---------- */
.ape-pied { background: #4E6548; color: rgba(255, 255, 255, .88); font-size: .9rem; }
.ape-pied :where(h2, h3, h4) { color: #fff; }
.ape-pied a { color: rgba(255, 255, 255, .88); text-decoration: none; }
.ape-pied a:hover { color: #F2DCE3; }
.ape-pied .ape-logo-pied img { height: 56px; width: auto; }
.ape-pied .ape-bas { border-top: 1px solid rgba(255, 255, 255, .15); font-size: .8rem; }

/* ---------- Petits titres et badges ---------- */
.is-style-ape-chapeau { font-size: .75rem !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #B04A5A; margin-bottom: .25rem !important; }
.is-style-ape-badge { display: inline-block; font-size: .75rem !important; font-weight: 600; padding: .25rem .8rem; border-radius: 999px; background: #F2DCE3; color: #33422F; }
.ape-intro { color: #5D6A57; font-size: 1.0625rem; max-width: 40em; }

/* ---------- Bandeau en dégradé ---------- */
.is-style-ape-bandeau { background: linear-gradient(120deg, #4E6548 0%, #5F7650 30%, #94586A 72%, #B04A5A 100%); color: #fff; position: relative; overflow: hidden; padding-top: clamp(3rem, 7vw, 4.5rem) !important; padding-bottom: clamp(3rem, 7vw, 4.5rem) !important; }
.is-style-ape-bandeau > * { position: relative; z-index: 1; }
.is-style-ape-bandeau :where(h1, h2, h3, p, a:not(.wp-element-button)) { color: #fff; }
.is-style-ape-bandeau .is-style-ape-chapeau { color: #F2DCE3; }
.is-style-ape-bandeau .ape-intro { color: rgba(255, 255, 255, .9); }
.is-style-ape-bandeau::before { content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(207, 135, 157, .38), transparent 65%); }
.is-style-ape-bandeau::after { content: ""; position: absolute; width: 34px; height: 34px; right: 7%; top: 36px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c1 6 4 9 10 10c-6 1-9 4-10 10c-1-6-4-9-10-10c6-1 9-4 10-10z' fill='%23F2DCE3'/%3E%3C/svg%3E") center/contain no-repeat; animation: ape-flotte 5s ease-in-out infinite; }

/* ---------- Cartes et encadrés ---------- */
.is-style-ape-carte { background: #fff; border: 1px solid #E9E1D7; border-radius: 24px; padding: 1.75rem !important; transition: transform .25s, box-shadow .25s; }
.is-style-ape-carte:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(78, 101, 72, .4); }
.is-style-ape-carte > :first-child { margin-top: 0; }
.is-style-ape-carte-degrade { background: linear-gradient(120deg, #4E6548 0%, #5F7650 30%, #94586A 72%, #B04A5A 100%); color: #fff; border-radius: 28px; padding: clamp(1.75rem, 4vw, 2.5rem) !important; position: relative; overflow: hidden; }
.is-style-ape-carte-degrade :where(h1, h2, h3, h4, p, li, a:not(.wp-element-button)) { color: #fff; }
.is-style-ape-carte-degrade .is-style-ape-chapeau { color: #F2DCE3; }
.is-style-ape-encadre { background: #F8F3EE; border-radius: 28px; padding: clamp(1.5rem, 4vw, 2.25rem) !important; }
.ape-fond-creme { background: #F8F3EE; }

/* ---------- Boutons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .2s, box-shadow .2s; box-shadow: 0 8px 22px -12px rgba(176, 74, 90, .6); }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -12px rgba(176, 74, 90, .75); }
.wp-block-button.is-style-ape-blanc .wp-block-button__link { background: #fff !important; color: #4E6548 !important; box-shadow: none; }
.wp-block-button.is-style-ape-contour .wp-block-button__link { background: transparent !important; color: currentColor !important; border: 2px solid currentColor; box-shadow: none; padding: calc(.85rem - 2px) calc(1.75rem - 2px); }
.wp-block-button__link::after { content: "→"; display: inline-block; margin-left: .55em; transition: transform .2s; }
.wp-block-button__link:hover::after { transform: translateX(4px); }

/* ---------- Images ---------- */
.is-style-ape-arrondie img { border-radius: 28px; }
.is-style-ape-forme img { aspect-ratio: 1; object-fit: cover; border-radius: 62% 38% 46% 54% / 48% 56% 44% 52%; border: 6px solid rgba(255, 255, 255, .25); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); animation: ape-forme 12s ease-in-out infinite; }
.ape-icone img { width: 64px; height: 64px; }
.ape-raccourcis .wp-block-column { text-align: center; padding: 1.25rem .5rem; border-radius: 22px; transition: background .2s, transform .2s; }
.ape-raccourcis .wp-block-column:hover { background: #F8F3EE; transform: translateY(-4px); }
.ape-raccourcis .ape-icone { margin: 0 auto .5rem; }
.ape-raccourcis a { color: #4E6548; text-decoration: none; font-weight: 600; }

/* ---------- Jauge ---------- */
.ape-jauge { background: #fff; border: 1px solid #E9E1D7; border-radius: 28px; padding: clamp(1.5rem, 4vw, 2rem) !important; }
.ape-jauge .ape-jauge-montants { font-size: 1rem; color: #5D6A57; }
.ape-jauge .ape-jauge-montants strong { font-size: clamp(2rem, 6vw, 3rem); line-height: 1; font-weight: 700; color: #B04A5A; display: inline-block; margin-right: .3em; font-variant-numeric: tabular-nums; }
.ape-jauge-piste { height: 22px; border-radius: 999px; background: #F8F3EE; overflow: hidden; margin: 1rem 0 .75rem; }
.ape-jauge-barre { height: 100%; border-radius: 999px; background: linear-gradient(90deg, #4E6548, #B04A5A); width: var(--ape-pct, 0%); transition: width 1.4s cubic-bezier(.2, .8, .2, 1); }
.ape-jauge-pct { font-weight: 700; color: #B04A5A; }

/* ---------- Mot du directeur ---------- */
.ape-mot .wp-block-quote { margin: 0; padding: 0; border: 0; }
.ape-mot .wp-block-quote p { font-size: 1.125rem; line-height: 1.7; }
.ape-mot .wp-block-quote cite { font-style: normal; font-weight: 600; font-size: .95rem; color: #4E6548; }
.ape-mot .ape-photo img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; }

/* ---------- Étapes numérotées ---------- */
.ape-etapes { counter-reset: ape-etape; }
.ape-etapes .is-style-ape-encadre::before { counter-increment: ape-etape; content: counter(ape-etape); width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(90deg, #4E6548, #B04A5A); color: #fff; display: grid; place-items: center; font-weight: 700; margin-bottom: .75rem; }

/* ---------- Listes à coches ---------- */
.ape-coches { list-style: none; padding-left: 0; }
.ape-coches li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.ape-coches li::before { content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E6548' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat; }
.ape-coches.ape-coches-claires li::before { background-color: #DFE7D3; }

/* ---------- Logos des soutiens ---------- */
.ape-soutien { aspect-ratio: 3 / 2; border: 2px dashed #E9E1D7; border-radius: 20px; display: grid !important; place-items: center; text-align: center; color: #5D6A57; font-weight: 600; font-size: .875rem; }

/* ---------- FAQ ---------- */
.wp-block-details { border: 1px solid #E9E1D7; border-radius: 16px; padding: 0 1.25rem; background: #fff; }
.wp-block-details summary { cursor: pointer; font-weight: 600; padding: 1rem 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: #B04A5A; font-size: 1.4rem; line-height: 1; transition: transform .2s; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :last-child { padding-bottom: 1rem; color: #5D6A57; }

/* ---------- Blog ---------- */
.ape-blog .wp-block-post { background: #fff; border: 1px solid #E9E1D7; border-radius: 24px; overflow: hidden; transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.ape-blog .wp-block-post:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(78, 101, 72, .4); }
.ape-blog .wp-block-post-featured-image { margin: 0; }
.ape-blog .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.ape-blog .ape-carte-texte { padding: 1.25rem 1.5rem 1.5rem !important; }
.ape-blog .wp-block-post-title a { color: #4E6548; text-decoration: none; }
.ape-blog .wp-block-post-terms a { color: #B04A5A; text-decoration: none; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ape-article .wp-block-post-featured-image img { border-radius: 24px; aspect-ratio: 16 / 8; object-fit: cover; }

/* ---------- Formulaires des extensions ---------- */
:where(.wpforms-container, .wpcf7, .ape-formulaire) input:not([type=checkbox]):not([type=radio]):not([type=submit]),
:where(.wpforms-container, .wpcf7, .ape-formulaire) select,
:where(.wpforms-container, .wpcf7, .ape-formulaire) textarea { font-family: inherit; font-size: 1rem; color: #4E6548; border: 1px solid #E9E1D7 !important; border-radius: 14px !important; padding: .75rem .9rem !important; background: #fff; }
:where(.wpforms-container, .wpcf7, .ape-formulaire) :is(input, select, textarea):focus { outline: 2px solid #B04A5A; outline-offset: 1px; }
:where(.wpforms-container, .wpcf7, .ape-formulaire) :is(button[type=submit], input[type=submit]) { background: linear-gradient(90deg, #4E6548, #B04A5A) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: .85rem 1.75rem !important; font-weight: 600; font-family: inherit; cursor: pointer; }
.ape-a-remplacer { border: 2px dashed #CF879D; border-radius: 18px; padding: 1.25rem !important; color: #94586A; background: #fff; font-size: .9rem; }

/* ---------- Animations ---------- */
@keyframes ape-flotte { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-12px) rotate(10deg); } }
@keyframes ape-forme { 0%, 100% { border-radius: 62% 38% 46% 54% / 48% 56% 44% 52%; } 50% { border-radius: 44% 56% 58% 42% / 56% 42% 58% 44%; } }
.ape-js .ape-apparait { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .8, .2, 1); }
.ape-js .ape-apparait.est-visible { opacity: 1; transform: none; }
.editor-styles-wrapper .ape-apparait { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.ape-js .ape-apparait { opacity: 1; transform: none; }
}

/* ---------- Téléphone ---------- */
@media (max-width: 781px) {
	.ape-mot { text-align: center; }
	.ape-mot .ape-photo img { margin: 0 auto; }
}

/* ---------- Espacements des sections ---------- */
.ape-section { padding-top: clamp(3rem, 7vw, 4.5rem); padding-bottom: clamp(3rem, 7vw, 4.5rem); }
.ape-section:not([class*="is-style"]):not(.ape-fond-creme) + .ape-section:not([class*="is-style"]):not(.ape-fond-creme):not(.ape-pied) { padding-top: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
main.wp-block-group { margin-top: 0; }
.ape-entete { padding: .7rem max(16px, 4vw) !important; gap: 1rem; }
.ape-marque { gap: .65rem !important; }
.ape-titres { gap: 0 !important; }
.ape-titres .wp-block-site-title { margin: 0; }
.ape-pied { padding-top: 3rem; padding-bottom: 1.5rem; }
.ape-pied .wp-block-columns { margin-bottom: 1.5rem; }
.ape-pied .ape-bas { padding-top: 1rem; }
.ape-logo-pied { margin-bottom: .75rem; }
.ape-logo-pied img { height: 56px; width: auto; }

/* ---------- Blog : à la une et thèmes ---------- */
.ape-une .wp-block-post { border: 1px solid #E9E1D7; border-radius: 28px; overflow: hidden; margin-bottom: 2rem; }
.ape-une-colonnes { gap: 0 !important; margin: 0; }
.ape-une .wp-block-post-featured-image, .ape-une .wp-block-post-featured-image a, .ape-une .wp-block-post-featured-image img { height: 100%; }
.ape-une .ape-carte-texte { padding: 2rem !important; }
.ape-themes { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.ape-themes li a { display: inline-block; padding: .4rem 1rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .6); color: #fff; text-decoration: none; font-size: .875rem; font-weight: 500; }
.ape-themes li a:hover { background: #fff; color: #4E6548; }
.is-style-ape-bandeau .wp-block-post-terms a, .is-style-ape-bandeau .wp-block-post-date { color: #F2DCE3; }
.is-style-ape-bandeau .is-style-ape-chapeau a { color: #F2DCE3; text-decoration: none; }
.ape-intro:not(.has-text-align-center) { margin-left: 0 !important; }
.ape-section > .ape-intro.has-text-align-center { margin-left: auto !important; margin-right: auto !important; }

/* ---------- v1.1 : nom en deux couleurs ---------- */
.ape-nom { margin: 0; font-weight: 700; font-size: 1rem; line-height: 1.15; letter-spacing: -.01em; }
.ape-nom a { color: #4E6548; text-decoration: none; }
.ape-nom-accent { color: #B04A5A; }

/* ---------- v1.1 : texte en dégradé ---------- */
.is-style-ape-chapeau,
.is-style-ape-degrade,
.ape-jauge .ape-jauge-montants strong,
.ape-jauge-pct,
.ape-blog .wp-block-post-terms a,
.is-style-ape-carte .is-style-ape-chapeau {
	background: linear-gradient(90deg, #4E6548 0%, #94586A 55%, #B04A5A 100%);
	-webkit-background-clip: text; background-clip: text;
	color: transparent !important; -webkit-text-fill-color: transparent;
}
.is-style-ape-chapeau, .is-style-ape-degrade { width: fit-content; max-width: 100%; }
.has-text-align-center.is-style-ape-chapeau, .has-text-align-center.is-style-ape-degrade { margin-left: auto !important; margin-right: auto !important; }
.is-style-ape-chapeau:not(.has-text-align-center) { margin-left: 0 !important; }
.is-style-ape-bandeau .is-style-ape-chapeau, .is-style-ape-carte-degrade .is-style-ape-chapeau, .ape-pied .is-style-ape-chapeau,
.is-style-ape-bandeau .is-style-ape-degrade, .is-style-ape-carte-degrade .is-style-ape-degrade {
	background: none; color: #F2DCE3 !important; -webkit-text-fill-color: #F2DCE3;
}
.ape-section > h2.wp-block-heading { background: linear-gradient(90deg, #4E6548 0%, #6F6A52 45%, #94586A 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; width: fit-content; max-width: 100%; }
.ape-section > h2.has-text-align-center { margin-left: auto !important; margin-right: auto !important; }
.ape-section > h2:not(.has-text-align-center) { margin-left: 0 !important; }
.is-style-ape-bandeau h2, .is-style-ape-carte-degrade h2, .ape-pied h2 { -webkit-text-fill-color: #fff; background: none; color: #fff; }

/* ---------- v1.1 : animations plus visibles ---------- */
@keyframes ape-monte { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes ape-glisse { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes ape-pop { 0% { transform: scale(.6) rotate(-12deg); opacity: 0; } 70% { transform: scale(1.1) rotate(4deg); opacity: 1; } 100% { transform: none; } }
.is-style-ape-bandeau, .is-style-ape-carte-degrade { background-size: 200% 200% !important; animation: ape-glisse 16s ease-in-out infinite; }
.is-style-ape-bandeau > *, .is-style-ape-bandeau .wp-block-column > * { animation: ape-monte .8s cubic-bezier(.2, .8, .2, 1) both; }
.is-style-ape-bandeau > :nth-child(2), .is-style-ape-bandeau .wp-block-column > :nth-child(2) { animation-delay: .1s; }
.is-style-ape-bandeau > :nth-child(3), .is-style-ape-bandeau .wp-block-column > :nth-child(3) { animation-delay: .2s; }
.is-style-ape-bandeau > :nth-child(4), .is-style-ape-bandeau .wp-block-column > :nth-child(4) { animation-delay: .3s; }
.is-style-ape-bandeau .wp-block-column:last-child > * { animation-delay: .35s; }
.ape-raccourcis .ape-icone img { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.ape-raccourcis .wp-block-column:hover .ape-icone img { transform: translateY(-6px) rotate(-6deg) scale(1.08); }
.ape-js .ape-apparait.est-visible .ape-icone img { animation: ape-pop .7s cubic-bezier(.3, 1.6, .5, 1) both; }
.ape-js .ape-apparait { transform: translateY(36px) scale(.98); }
.is-style-ape-carte-degrade .wp-block-button__link:hover, .is-style-ape-bandeau .wp-block-button__link:hover { transform: translateY(-3px) scale(1.03); }
.editor-styles-wrapper .is-style-ape-bandeau > *, .editor-styles-wrapper .is-style-ape-bandeau .wp-block-column > * { animation: none; }
@media (min-width: 900px) { .ape-nom, .ape-sous-titre { white-space: nowrap; } }

/* ---------- v1.1.1 : alignement des titres sur grand écran ---------- */
.ape-section > .is-style-ape-chapeau:not(.has-text-align-center),
.ape-section > .is-style-ape-degrade:not(.has-text-align-center),
.ape-section > h2.wp-block-heading:not(.has-text-align-center),
.ape-section > .ape-intro:not(.has-text-align-center),
.is-style-ape-bandeau > .is-style-ape-chapeau:not(.has-text-align-center),
.is-style-ape-bandeau > .is-style-ape-degrade:not(.has-text-align-center),
.is-style-ape-bandeau > .ape-intro:not(.has-text-align-center) {
	margin-left: max(0px, calc((100% - 1120px) / 2)) !important;
	margin-right: auto !important;
}

/* ---------- v1.1.3 : pied de page centré et respirations ---------- */
.ape-pied .ape-bas, .ape-pied .ape-bas p { text-align: center; }
.ape-section > .wp-block-columns + h2.wp-block-heading { margin-top: clamp(2rem, 5vw, 3rem); }
@media (max-width: 781px) { .ape-pied .wp-block-column { text-align: center; } .ape-pied .ape-logo-pied img { margin: 0 auto; } }

/* ---------- v1.2 : formulaire MailPoet aux couleurs de l'APE ---------- */
.mailpoet_form { padding: 0 !important; background: transparent !important; font-family: inherit !important; }
.mailpoet_form .mailpoet_paragraph { margin-bottom: .9rem !important; }
.mailpoet_form :is(input[type=email], input[type=text]) { width: 100% !important; font-family: inherit !important; font-size: 1rem !important; color: #4E6548 !important; border: 1px solid #E9E1D7 !important; border-radius: 999px !important; padding: .85rem 1.25rem !important; background: #fff !important; }
.mailpoet_form :is(input[type=email], input[type=text]):focus { outline: 2px solid #B04A5A !important; outline-offset: 1px; }
.mailpoet_form .mailpoet_submit { width: auto !important; background: linear-gradient(90deg, #4E6548, #B04A5A) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: .85rem 1.75rem !important; font-family: inherit !important; font-weight: 600 !important; font-size: .95rem !important; cursor: pointer; transition: transform .2s; }
.mailpoet_form .mailpoet_submit:hover { transform: translateY(-2px); }
.mailpoet_form .mailpoet_checkbox_label, .mailpoet_form label { font-size: .85rem !important; color: #5D6A57 !important; }
.mailpoet_form .mailpoet_validate_success { color: #4E6548 !important; font-weight: 600; }
.mailpoet_form .mailpoet_validate_error, .mailpoet_form .parsley-errors-list { color: #9A3445 !important; font-size: .85rem; }

/* ---------- v1.3 : événements aux couleurs de l'APE ---------- */
.ape-evts { display: grid; gap: 12px; }
.ape-evt { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 18px 22px; background: #fff; border: 1px solid #E9E1D7; border-radius: 22px; transition: transform .2s, box-shadow .2s; }
.ape-evt:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -20px rgba(78, 101, 72, .4); }
.ape-evt-date { width: 72px; height: 76px; border-radius: 18px; background: linear-gradient(120deg, #4E6548 0%, #5F7650 30%, #94586A 72%, #B04A5A 100%); color: #fff; display: grid; place-content: center; text-align: center; line-height: 1; }
.ape-evt-date b { font-size: 1.75rem; font-weight: 700; }
.ape-evt-date span { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-top: 4px; }
.ape-evt-titre { font-size: 1.125rem !important; margin: 0 0 .2rem !important; }
.ape-evt-titre a { color: #4E6548; text-decoration: none; }
.ape-evt-titre a:hover { color: #B04A5A; }
.ape-evt-meta { margin: 0; font-size: .875rem; color: #5D6A57; }
.ape-evt-cat { font-size: .75rem; font-weight: 600; padding: .25rem .8rem; border-radius: 999px; background: #F2DCE3; color: #33422F; white-space: nowrap; }
.ape-evt-mois { font-size: .875rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #5D6A57; margin: 1.75rem 0 .6rem !important; }
.ape-agenda > .ape-evt-mois:first-child { margin-top: 0 !important; }
.ape-evt-vide { padding: 1.75rem; text-align: center; color: #5D6A57; border: 1px dashed #E9E1D7; border-radius: 20px; background: #fff; }
.ape-evt-lien { margin-top: 1.5rem; font-weight: 600; }
@media (max-width: 600px) { .ape-evt { grid-template-columns: auto minmax(0, 1fr); } .ape-evt-cat { grid-column: 2; justify-self: start; } }

/* ---------- v1.3 : bureau avec photos et avantages avec icônes ---------- */
.ape-membre { text-align: center; }
.ape-membre .ape-portrait { margin: 0 auto 1rem; }
.ape-membre .ape-portrait img { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; border: 4px solid #F2DCE3; transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.ape-membre:hover .ape-portrait img { transform: scale(1.06) rotate(-3deg); }
.ape-membre h3 { margin-bottom: .4rem; }
.ape-membre .is-style-ape-badge { margin: 0 auto .8rem !important; }
.ape-membre-texte { font-size: .9rem; color: #5D6A57; }
.ape-avantages { margin-top: 2.5rem !important; gap: 14px !important; }
.ape-avantage { background: #F8F3EE; border-radius: 22px; padding: 1.5rem 1rem !important; height: 100%; transition: transform .25s, background .25s; }
.ape-avantage:hover { transform: translateY(-4px); background: #F2DCE3; }
.ape-avantage .ape-icone { margin: 0 auto .75rem; }
.ape-avantage .ape-icone img { width: 48px; height: 48px; }
.ape-avantage h3 { font-size: 1rem !important; margin-bottom: .35rem; }
.ape-avantage p { font-size: .85rem; color: #5D6A57; margin: 0; }
.ape-avantages > .wp-block-column { display: flex; }
.ape-avantages > .wp-block-column > .ape-avantage { width: 100%; }
.ape-tarif .ape-prix { margin: .25rem 0 .5rem; color: #5D6A57; }
.ape-tarif .ape-prix strong { font-size: 3rem; line-height: 1; color: #B04A5A; margin-right: .2em; }
@media (min-width: 782px) and (max-width: 1080px) { .ape-avantages { flex-wrap: wrap !important; } .ape-avantages > .wp-block-column { flex-basis: calc(33.33% - 10px) !important; flex-grow: 0; } }

/* ---------- v1.3 : formulaires Fluent Forms aux couleurs de l'APE ---------- */
.fluentform { font-family: inherit !important; }
.fluentform .ff-el-input--label label { font-weight: 600; color: #4E6548; font-size: .9rem; }
.fluentform .ff-el-form-control { font-family: inherit !important; font-size: 1rem !important; color: #4E6548 !important; border: 1px solid #E9E1D7 !important; border-radius: 14px !important; padding: .75rem .9rem !important; background: #fff !important; box-shadow: none !important; }
.fluentform .ff-el-form-control:focus { outline: 2px solid #B04A5A !important; outline-offset: 1px; border-color: #E9E1D7 !important; }
.fluentform .ff-btn-submit { background: linear-gradient(90deg, #4E6548, #B04A5A) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: .85rem 1.75rem !important; font-family: inherit !important; font-weight: 600 !important; font-size: .95rem !important; box-shadow: 0 8px 22px -12px rgba(176, 74, 90, .6); transition: transform .2s; }
.fluentform .ff-btn-submit:hover { transform: translateY(-2px); opacity: 1 !important; }
.fluentform .ff-el-form-check-label, .fluentform .ff_t_c { color: #5D6A57; font-size: .9rem; }
.fluentform input[type=checkbox], .fluentform input[type=radio] { accent-color: #4E6548; }
.fluentform .text-danger, .fluentform .error { color: #9A3445 !important; font-size: .85rem; }
.ff-message-success { border: 0 !important; background: #DFE7D3 !important; color: #33422F !important; border-radius: 16px !important; box-shadow: none !important; font-weight: 500; }

/* ---------- v1.3 : badges lisibles sur fond foncé ---------- */
.is-style-ape-carte-degrade .is-style-ape-badge, .is-style-ape-bandeau .is-style-ape-badge { background: #fff; color: #33422F !important; }
.is-style-ape-carte-degrade .is-style-ape-badge strong, .is-style-ape-bandeau .is-style-ape-badge strong { color: #B04A5A; }
.is-style-ape-carte-degrade .ape-coches li::before { background-color: #fff; }

/* ---------- v1.3.1 : étapes plus légères ---------- */
.ape-etapes { background: #F8F3EE; border-radius: 24px; padding: 1.1rem 1.5rem !important; gap: 1rem !important; align-items: center !important; }
.ape-etapes > .wp-block-column { display: flex; align-items: center; gap: 1rem; }
.ape-etapes > .wp-block-column:not(:last-child)::after { content: ""; flex: 1; min-width: 24px; height: 2px; background: repeating-linear-gradient(90deg, #CF879D 0 6px, transparent 6px 12px); border-radius: 2px; }
.ape-etapes .is-style-ape-encadre { background: transparent; padding: 0 !important; border-radius: 0; display: flex; align-items: center; gap: .75rem; }
.ape-etapes .is-style-ape-encadre::before { width: 34px; height: 34px; flex: none; margin: 0; font-size: .85rem; box-shadow: 0 6px 14px -8px rgba(176, 74, 90, .7); }
.ape-etapes .is-style-ape-encadre h3 { font-size: .98rem !important; font-weight: 600 !important; letter-spacing: 0; line-height: 1.3; margin: 0 !important; white-space: nowrap; }
@media (max-width: 781px) {
	.ape-etapes > .wp-block-column:not(:last-child)::after { display: none; }
	.ape-etapes .is-style-ape-encadre h3 { white-space: normal; }
}

/* ---------- v1.3.1 : articles ---------- */
.ape-citations { list-style: none; padding-left: 0 !important; display: grid; gap: 10px; }
.ape-citations li { background: #fff; border: 1px solid #E9E1D7; border-radius: 16px 16px 16px 4px; padding: .85rem 1.1rem; font-weight: 500; }
.ape-article .wp-block-table { overflow-x: auto; border: 1px solid #E9E1D7; border-radius: 18px; }
.ape-article .wp-block-table table { border-collapse: collapse; min-width: 560px; font-size: .95rem; }
.ape-article .wp-block-table :is(th, td) { border: 0; border-top: 1px solid #E9E1D7; padding: .8rem 1rem; text-align: left; vertical-align: top; }
.ape-article .wp-block-table thead th { background: linear-gradient(120deg, #4E6548, #94586A 72%, #B04A5A); color: #fff; border-top: 0; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.ape-article .wp-block-table tbody tr:nth-child(even) td { background: #F8F3EE; }
.ape-article .wp-block-table td:first-child { font-weight: 600; }
.ape-article .wp-block-post-content > h2 { margin-top: 2.5rem; }

/* ---------- v1.4 : pied de page centré, bouton Facebook ---------- */
.ape-pied .wp-block-column { text-align: center; }
.ape-pied .ape-logo-pied { margin-left: auto !important; margin-right: auto !important; display: flex; justify-content: center; }
.ape-pied .wp-block-columns { align-items: flex-start; }
.ape-facebook::before, .wp-block-button__link[href*="facebook.com"]::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: .55em; vertical-align: -3px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-7.5h2.5l.4-3h-2.9V8.6c0-.9.3-1.5 1.5-1.5H16.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.8 1.4-3.8 3.9v2.3H8v3h2.5V21z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-7.5h2.5l.4-3h-2.9V8.6c0-.9.3-1.5 1.5-1.5H16.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.8 1.4-3.8 3.9v2.3H8v3h2.5V21z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ape-facebook::after, .wp-block-button__link[href*="facebook.com"]::after { display: none; }

/* ---------- v1.4.1 : photos toujours rondes ---------- */
.ape-mot .ape-photo img, .ape-membre .ape-portrait img {
	aspect-ratio: 1 / 1 !important; width: 140px !important; height: 140px !important; max-width: none !important;
	border-radius: 50% !important; object-fit: cover !important; object-position: center 30%;
}
.ape-membre .ape-portrait img { width: 112px !important; height: 112px !important; }
.ape-mot .ape-photo { display: flex; justify-content: center; }

/* ---------- v1.5 : bureau en cartes horizontales ---------- */
.ape-membre { display: grid !important; grid-template-columns: auto 1fr; column-gap: 1.1rem; align-items: center; text-align: left !important; }
.ape-membre .ape-portrait { grid-row: span 3; margin: 0 !important; }
.ape-membre .ape-portrait img { width: 96px !important; height: 96px !important; cursor: zoom-in; }
.ape-membre h3, .ape-membre p { text-align: left !important; margin: 0 0 .3rem 0 !important; }
.ape-membre .is-style-ape-badge { justify-self: start; margin: 0 0 .35rem 0 !important; }
.ape-membre-texte { color: #5D6A57 !important; font-size: .875rem !important; line-height: 1.45; }
.wp-lightbox-overlay .scrim { background-color: rgba(51, 66, 47, .92) !important; }
.wp-block-column > .ape-membre { height: 100%; }
.ape-membre h3 { font-size: 1.2rem !important; }

/* ---------- v1.6 : logos des soutiens en carré ---------- */
.ape-soutiens { gap: 16px !important; }
.ape-logo-soutien { margin: 0 !important; }
.ape-logo-soutien img { width: 100%; aspect-ratio: 1 / 1 !important; height: auto !important; object-fit: contain !important; background: #fff; border: 1px solid #E9E1D7; border-radius: 22px; padding: 14px; transition: transform .25s, box-shadow .25s; }
.ape-logo-soutien img:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(78, 101, 72, .4); }

/* 1.6.1 : photo des sponsors, barre des étapes, formulaires encadrés */
.ape-sponsor-photo { margin: 0 0 1rem !important; }
.ape-sponsor-photo img { width: 100%; aspect-ratio: 4 / 3 !important; height: auto !important; object-fit: contain !important; border-radius: 18px; background: #F8F3EE; }
.ape-etapes { width: fit-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important; padding: 1rem 1.75rem !important; }
.ape-etapes > .wp-block-column { flex: 0 1 auto !important; }
.ape-etapes > .wp-block-column:not(:last-child)::after { min-width: 48px; max-width: 90px; }
.fluentform { background: #fff; border: 1px solid #E9E1D7; border-radius: 24px; padding: clamp(1.25rem, 3vw, 2.25rem); box-shadow: 0 22px 45px -28px rgba(78, 101, 72, .45); max-width: 760px; margin-left: auto; margin-right: auto; }
.ape-section.ape-sans-doublon > h2.wp-block-heading:not(.x) { text-align: center; width: fit-content; margin-left: auto !important; margin-right: auto !important; }

/* ===== Cadres harmonisés : cartes et formulaires ===== */
.wp-block-column > .is-style-ape-carte:only-child { height: 100%; }
.is-style-ape-carte { box-shadow: 0 18px 40px -32px rgba(78, 101, 72, .45); }
.fluentform { max-width: none !important; margin: 0 !important; background: #fff !important; border: 1px solid #E9E1D7 !important; border-radius: 22px !important; box-shadow: 0 18px 40px -32px rgba(78, 101, 72, .45) !important; padding: clamp(1.5rem, 4vw, 2.5rem) !important; }
.is-style-ape-carte .fluentform { border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; }
.ape-sans-doublon .fluentform { max-width: 760px !important; margin: 0 auto !important; }
.fluentform .ff-el-group { margin-bottom: 1.4rem !important; }

/* ===== Parole d'ados : les 3 étapes ===== */
.ape-etapes { background: transparent !important; width: 100% !important; max-width: 820px; padding: 0 !important; gap: 0 !important; align-items: flex-start !important; }
.ape-etapes > .wp-block-column { flex: 1 1 0 !important; position: relative; display: block !important; text-align: center; }
.ape-etapes > .wp-block-column:not(:last-child)::after { content: "" !important; display: block !important; position: absolute; top: 22px; left: calc(50% + 34px); right: calc(-50% + 34px); width: auto; min-width: 0; max-width: none; height: 2px; background: linear-gradient(90deg, #DFE7D3, #F2DCE3) !important; }
.ape-etapes .is-style-ape-encadre { display: flex !important; flex-direction: column; align-items: center; gap: .7rem !important; }
.ape-etapes .is-style-ape-encadre::before { width: 46px !important; height: 46px !important; font-size: 1rem !important; }
.ape-etapes .is-style-ape-encadre h3 { white-space: normal !important; font-size: .95rem !important; max-width: 15ch; margin: 0 auto !important; }
@media (max-width: 781px) { .ape-etapes > .wp-block-column:not(:last-child)::after { display: none !important; } .ape-etapes { gap: 1.25rem !important; } }

/* ===== Choix en pastilles cliquables (boutons radio) ===== */
.fluentform .ff-el-input--content:has(input[type=radio]) { display: flex; flex-wrap: wrap; gap: .6rem; }
.fluentform .ff-el-input--content:has(input[type=radio]) .ff-el-form-check { margin: 0 !important; }
.fluentform .ff-el-form-check-label:has(input[type=radio]) { display: inline-flex !important; cursor: pointer; margin: 0 !important; padding: 0 !important; }
.fluentform .ff-el-form-check-label input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.fluentform .ff-el-form-check-label input[type=radio] + span { display: inline-block; padding: .6rem 1.15rem; border: 1.5px solid #E9E1D7; border-radius: 999px; background: #F8F3EE; color: #4E6548; font-weight: 500; font-size: .95rem; transition: all .2s; }
.fluentform .ff-el-form-check-label:hover input[type=radio] + span { border-color: #CF879D; background: #fff; }
.fluentform .ff-el-form-check-label input[type=radio]:checked + span { background: linear-gradient(90deg, #4E6548, #B04A5A); border-color: transparent; color: #fff; }
.fluentform .ff-el-form-check-label input[type=radio]:focus-visible + span { outline: 2px solid #B04A5A; outline-offset: 2px; }
.fluentform .ff-el-form-control { width: 100% !important; box-sizing: border-box; }

/* ===== Fiche d'un événement (The Events Calendar) aux couleurs de l'APE ===== */
:root {
	--tec-font-family-sans-serif: "Poppins", sans-serif;
	--tec-color-text-primary: #4E6548;
	--tec-color-text-secondary: #5D6A57;
	--tec-color-accent-primary: #B04A5A;
	--tec-color-accent-primary-hover: #9A3445;
	--tec-color-link-accent: #B04A5A;
	--tec-color-button-primary: #B04A5A;
	--tec-color-border-default: #E9E1D7;
	--tec-color-background-events: #F8F3EE;
}
.tribe-events-single, #tribe-events-pg-template, .tribe-events-pg-template { max-width: 860px !important; margin: 0 auto !important; padding: clamp(2rem, 6vw, 4rem) 1.25rem !important; font-family: "Poppins", sans-serif; color: #4E6548; }
.tribe-events-single * { font-family: inherit; }
.tribe-events-back a { color: #B04A5A !important; font-weight: 600; font-size: .9rem; text-decoration: none; }
.tribe-events-single-event-title { font-size: clamp(2rem, 5vw, 3rem) !important; font-weight: 700 !important; line-height: 1.15 !important; margin: .75rem 0 !important; background: linear-gradient(90deg, #4E6548, #B04A5A); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.tribe-events-schedule { margin: 0 0 2rem !important; }
.tribe-events-schedule h2, .tribe-events-schedule .tribe-events-cost { display: inline-block; font-size: 1rem !important; font-weight: 600 !important; color: #fff !important; background: linear-gradient(90deg, #4E6548, #B04A5A); border-radius: 999px; padding: .45rem 1.1rem; margin: 0 .5rem .5rem 0 !important; }
.tribe-events-single-event-description { font-size: 1.05rem; line-height: 1.75; color: #5D6A57; }
.tribe-events-single-section, .tribe-events-event-meta { background: #F8F3EE !important; border: 0 !important; border-radius: 22px !important; padding: 1.5rem !important; margin-top: 2rem !important; }
.tribe-events-single-section-title, .tribe-events-event-meta h2 { font-size: .75rem !important; letter-spacing: .14em; text-transform: uppercase; color: #B04A5A !important; font-weight: 700 !important; }
.tribe-events-event-meta dt, .tribe-events-event-meta dd { color: #4E6548; }
.tribe-events-c-subscribe-dropdown__button, .tribe-events-button, .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border { border-radius: 999px !important; border: 1.5px solid #4E6548 !important; color: #4E6548 !important; background: #fff !important; font-weight: 600 !important; }
.tribe-events-single ul.tribe-events-sub-nav a { color: #B04A5A !important; font-weight: 600; }
.tribe-events-single .tribe-events-event-image img { border-radius: 22px; }

/* Adhérer : icônes des avantages centrées comme le texte */
.ape-avantage { text-align: center; }
.ape-avantage figure, .ape-avantage .wp-block-image { margin-left: auto !important; margin-right: auto !important; display: flex !important; justify-content: center; width: 100%; }
.ape-avantage img { margin: 0 auto !important; display: block; }

/* Section bénévoles : illustration sous le texte, colonnes de même hauteur */
#benevoles .wp-block-columns { align-items: stretch !important; }
#benevoles .wp-block-column:first-child { display: flex; flex-direction: column; justify-content: flex-start !important; align-self: stretch !important; }
#benevoles .wp-block-column:first-child::after { content: ""; display: block; flex: 1; min-height: 280px; margin-top: 1.5rem; border-radius: 22px; background: #F2DCE3 url(assets/img/benevoles.jpg) center bottom / cover no-repeat; box-shadow: 0 18px 40px -32px rgba(78, 101, 72, .45); }

/* ===== Fiche d'un événement : mise en page APE ===== */
.tec-block__single-event, .tribe-events-pg-template { max-width: none !important; padding: 0 !important; margin: 0 !important; }
#tribe-events-content.tribe-events-single { max-width: 1120px !important; margin: 0 auto !important; padding: clamp(1.5rem, 4vw, 3rem) 20px clamp(3rem, 6vw, 5rem) !important; display: grid; grid-template-columns: minmax(0, 1fr) 320px; column-gap: 48px; align-items: start; font-family: "Poppins", sans-serif; color: #4E6548; position: relative; }
#tribe-events-content.tribe-events-single > * { grid-column: 1 / -1; }
#tribe-events-content.tribe-events-single::before { content: ""; grid-column: 1 / -1; grid-row: 1 / 4; align-self: stretch; margin: 0 0 2.5rem; border-radius: 28px; background: linear-gradient(120deg, #4E6548 0%, #5F7650 30%, #94586A 72%, #B04A5A 100%); box-shadow: 0 30px 60px -40px rgba(78, 101, 72, .7); }
.tribe-events-single .tribe-events-back, .tribe-events-single .tribe-events-single-event-title, .tribe-events-single .tribe-events-schedule { grid-row: auto; position: relative; z-index: 1; padding-left: clamp(1.5rem, 4vw, 3rem) !important; padding-right: clamp(1.5rem, 4vw, 3rem) !important; }
.tribe-events-single .tribe-events-back { grid-row: 1; margin: 0 !important; padding-top: clamp(1.5rem, 3vw, 2.25rem) !important; }
.tribe-events-single .tribe-events-back a { color: #fff !important; opacity: .85; font-weight: 600; font-size: .85rem; text-decoration: none; letter-spacing: .02em; }
.tribe-events-single .tribe-events-back a:hover { opacity: 1; }
.tribe-events-single .tribe-events-single-event-title { grid-row: 2; color: #fff !important; background: none !important; -webkit-text-fill-color: #fff; font-size: clamp(2.2rem, 5vw, 3.4rem) !important; font-weight: 700 !important; line-height: 1.1 !important; margin: .6rem 0 .9rem !important; }
.tribe-events-single .tribe-events-schedule { grid-row: 3; margin: 0 0 2.5rem !important; padding-bottom: clamp(1.5rem, 3vw, 2.5rem) !important; background: none !important; border: 0 !important; }
.tribe-events-single .tribe-events-schedule > div { display: inline-flex; flex-wrap: wrap; gap: .4rem; align-items: center; background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .35); color: #fff; border-radius: 999px; padding: .5rem 1.1rem; font-weight: 600; font-size: 1rem; }
.tribe-events-single .tribe-events-schedule span { color: #fff !important; font-size: 1rem !important; }
.tribe-events-single #tribe-events-header, .tribe-events-single #tribe-events-footer { display: none !important; }
.tribe-events-single .tribe_events.type-tribe_events { display: contents; }
.tribe-events-single .tribe-events-single-event-description { grid-column: 1; grid-row: 4; font-size: 1.08rem !important; line-height: 1.8 !important; color: #5D6A57; margin: 0 !important; }
.tribe-events-single .tribe-events-single-event-description p { margin: 0 0 1.1rem; }
.tribe-events-single .tribe-events-single-event-description strong { color: #4E6548; }
.tribe-events-single .tribe-events.tribe-common { grid-column: 1; grid-row: 5; margin-top: 1rem; }
.tribe-events-single .tribe-events-c-subscribe-dropdown__button { border: 0 !important; border-radius: 999px !important; background: linear-gradient(90deg, #4E6548, #B04A5A) !important; box-shadow: 0 10px 24px -14px rgba(176, 74, 90, .8); }
.tribe-events-single .tribe-events-c-subscribe-dropdown__button button, .tribe-events-single .tribe-events-c-subscribe-dropdown__button svg { color: #fff !important; fill: #fff !important; font-family: "Poppins", sans-serif !important; font-weight: 600 !important; }
.tribe-events-single .tribe-events-c-subscribe-dropdown__button svg path { fill: #fff !important; stroke: #fff !important; }
.tribe-events-single .tribe-events-event-meta { grid-column: 2; grid-row: 4 / span 3; margin: 0 !important; padding: 1.75rem !important; background: #F8F3EE !important; border: 0 !important; border-radius: 24px !important; font-family: "Poppins", sans-serif; }
.tribe-events-single .tribe-events-meta-group { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 0 1.5rem !important; }
.tribe-events-single .tribe-events-meta-group:last-child { margin-bottom: 0 !important; }
.tribe-events-single .tribe-events-single-section-title { font-size: .72rem !important; letter-spacing: .16em; text-transform: uppercase; color: #B04A5A !important; font-weight: 700 !important; margin: 0 0 .75rem !important; }
.tribe-events-single .tribe-events-meta-list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.tribe-events-single .tribe-events-meta-item { margin: 0 0 .6rem !important; color: #4E6548; font-size: .98rem; }
.tribe-events-single .tribe-events-meta-label { display: block; font-size: .78rem; color: #5D6A57; font-weight: 500; }
.tribe-events-single .tribe-events-meta-value, .tribe-events-single .tribe-events-meta-value * { font-weight: 600; color: #4E6548; text-decoration: none; border: 0; }
.tribe-events-single .tribe-organizer { font-weight: 600; }
@media (max-width: 860px) {
	#tribe-events-content.tribe-events-single { grid-template-columns: minmax(0, 1fr); }
	.tribe-events-single .tribe-events-event-meta { grid-column: 1; grid-row: auto; margin-top: 2rem !important; }
	.tribe-events-single .tribe-events.tribe-common { grid-row: auto; }
}

/* Nos sponsors : boutons de tri par catégorie */
.ape-filtres { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem auto 2rem !important; max-width: 1120px; }
.ape-filtres button { font-family: inherit; font-size: .92rem; font-weight: 500; color: #4E6548; background: #F8F3EE; border: 1.5px solid #E9E1D7; border-radius: 999px; padding: .55rem 1.15rem; cursor: pointer; transition: all .2s; }
.ape-filtres button:hover { border-color: #CF879D; background: #fff; }
.ape-filtres button[aria-pressed="true"] { background: linear-gradient(90deg, #4E6548, #B04A5A); border-color: transparent; color: #fff; box-shadow: 0 8px 18px -10px rgba(176, 74, 90, .8); }
.ape-filtres button:focus-visible { outline: 2px solid #B04A5A; outline-offset: 2px; }
.wp-block-column[hidden] { display: none !important; }
@media (min-width: 782px) { .ape-filtres + .wp-block-columns { justify-content: flex-start; flex-wrap: wrap !important; } .ape-filtres + .wp-block-columns > .wp-block-column { flex: 0 1 calc((100% - 2 * var(--wp--style--block-gap, 2em)) / 3) !important; max-width: calc((100% - 2 * var(--wp--style--block-gap, 2em)) / 3); } }
