/* ================================================================
   Theme Name:    Anna Evans
   Theme URI:     https://annaevans.org/
   Description:   Thème enfant Anna Evans basé sur Ollie
   Template:      ollie
   Version:       1.41 (2026-08)
   Author:        Thibaut Parent
   Author URI:    https://www.thibautparent.com
   ----------------------------------------------------------------
   Plan de la feuille :
   1. Socle de variables, base & layout
   2. Header & navigation
   3. Liens
   4. Contenu & composants
   5. Pages & gabarits (front-page, single, 404)
   6. Verticales CI / SHA
   7. WooCommerce (boutique & tunnel, tout est ici)
   8. Footer & utilitaires
   9. Responsive (toutes les media queries)
================================================================ */

/* ================================================================
   Socle, base & layout
   ----------------------------------------------------------------
   Sommaire :
   - Socle de variables, encarts & cartes
   - Reset & base
   - Layout : sections des templates
   - Ancres & défilement
   - Typographie
   - Signature manuscrite
================================================================ */

/* Socle : valeurs partagées par l'ensemble de la feuille.
   Toute valeur répétée plus de deux fois a vocation à entrer ici.
   Les couleurs, espacements, tailles et polices restent dans theme.json. */
:root {--ae-ombre: 0 1px 4px rgba(0,0,0,.06); --ae-ombre-hover: 0 6px 16px rgba(0,0,0,.12); --ae-transition: .3s ease; --ae-radius: 6px; --ae-radius-md: 8px; --ae-radius-lg: 12px; --ae-pilule: 999px; --ae-encart-bord: var(--wp--preset--color--base); --ae-bord: 1px solid var(--wp--preset--color--base-light)}

/* Socle encart : fond blanc, filet coloré à gauche, ombre légère.
   Base commune aux accordéons, aux blocs Détails et aux lignes de session.
   Le filet suit la verticale de la page via --ae-encart-bord. */
.wp-block-accordion, .entry-content .wp-block-details, .ae-stage-item, .ae-calendrier-item, .ae-catalogue-item, .ae-formateur-item {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-md); border-left: 3px solid var(--ae-encart-bord); box-shadow: var(--ae-ombre)}

/* Socle carte : bloc blanc arrondi qui se soulève au survol.
   Base commune aux cartes d'article, de formation, de produit et de vente croisée.
   Le fond blanc cède devant une couleur posée dans l'éditeur, celle-ci étant en !important. */
.wp-block-query .wp-block-post, .ae-card, .ae-blog-card, .ae-product-card, .cross-sells-product {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); overflow: hidden; box-shadow: var(--ae-ombre); transition: transform var(--ae-transition), box-shadow var(--ae-transition)}
.wp-block-query .wp-block-post:hover, .ae-card:hover, .ae-blog-card:hover, .ae-product-card:hover, .cross-sells-product:hover {transform: translateY(-3px); box-shadow: var(--ae-ombre-hover)}

/* Reset & Base */
*, *::before, *::after {box-sizing: border-box}
body {background-color: var(--wp--preset--color--neutral); color: var(--wp--preset--color--text-dark); margin: 0}
main.wp-block-group {background: var(--wp--preset--color--neutral); position: relative; animation: page-fadein .6s ease forwards; margin-top: 0; margin-bottom: 0}
@keyframes page-fadein {from {opacity: 0} to {opacity: 1}}
img:not([hidden]) {max-width: 100%; height: auto; display: block}
a {transition: color var(--ae-transition), background var(--ae-transition), opacity var(--ae-transition); text-decoration: none}
a:hover {text-decoration: none}
ul, ol {padding-left: 1.5em}
li {list-style: disc}

/* Layout : sections templates */
.ae-hero {padding-top: var(--wp--preset--spacing--md); padding-bottom: var(--wp--preset--spacing--md)}
.ae-title {padding-top: var(--wp--preset--spacing--md); padding-bottom: var(--wp--preset--spacing--md)}
.ae-content {padding-bottom: var(--wp--preset--spacing--xl)}
.ae-content:has(> .ae-section.alignfull:last-child),
.ae-content:has(> [class*="is-style-ae-"].alignfull:last-child) {padding-bottom: 0}
.ae-content > .ae-section.alignfull + .ae-section.alignfull,
.ae-content > .ae-section.alignfull + [class*="is-style-ae-"].alignfull,
.ae-content > [class*="is-style-ae-"].alignfull + .ae-section.alignfull,
.ae-content > [class*="is-style-ae-"].alignfull + [class*="is-style-ae-"].alignfull {margin-block-start: 0}
.ae-content.has-padding-top {padding-top: var(--wp--preset--spacing--lg)}
.ae-post-row {border-bottom: var(--ae-bord); padding-top: var(--wp--preset--spacing--sm); padding-bottom: var(--wp--preset--spacing--sm)}
.ae-post-row-sm {border-bottom: var(--ae-bord); padding-top: var(--wp--preset--spacing--xs); padding-bottom: var(--wp--preset--spacing--xs)}
.ae-title h1 + p, .ae-title h1 + .wp-block-buttons {margin-top: var(--wp--preset--spacing--sm)}

/* Ancres & défilement (compense la hauteur du header sticky) */
html {scroll-behavior: smooth}
.page .entry-content h2[id], .page .entry-content h3[id], .single .entry-content h2[id], .single .entry-content h3[id], .wp-block-details, .single #stage, .ae-formateur-item[id] {scroll-margin-top: 200px}

/* Typographie */
html {font-size: 106%}
h1, h2, h3, h4, h5, h6 {font-family: var(--wp--preset--font-family--source-sans); color: var(--wp--preset--color--text-dark); line-height: 1.2}
h1::after {content: ""; display: block; width: 50px; height: 3px; background: var(--wp--preset--color--base); margin-top: .4em}
.wp-block-query-title {letter-spacing: .02em}
.wp-block-heading.has-sm-font-size {font-size: .875rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: var(--wp--preset--spacing--sm)}
.entry-content p:not(:last-child) {margin-bottom: 1em}
.entry-content .wp-block-group p:last-child {margin-bottom: 1em}
.entry-content p + h2, .entry-content p + h3, .entry-content p + h4, .entry-content p + h5, .entry-content p + h6 {margin-top: .6em}
.entry-content h2:not(.wp-block-post-title)::after {display: block; content: ""; width: 50px; height: 3px; background: var(--wp--preset--color--base); margin: .6em 0}
.entry-content h3:not(.wp-block-post-title, .wp-block-accordion-heading)::after {display: block; content: ""; width: 20px; height: 3px; background: var(--wp--preset--color--base); margin: .6em 0}
.entry-content ul, .entry-content ol {padding-left: 2em; margin-bottom: 1em}
.entry-content li {margin-bottom: .3em}

/* Signature (classe utilitaire pour les citations/signatures manuscrites) */
.ae-signature {font-family: 'Caveat', cursive; font-size: var(--wp--preset--font-size--xl)}

/* ================================================================
   Header & navigation
   ----------------------------------------------------------------
   Sommaire :
   - Header sticky (réduction au scroll)
   - Navigation & sous-menus
   - Menu mobile
================================================================ */

/* Header */
.wp-block-template-part[data-slug="header"], header.wp-block-template-part {background: var(--wp--preset--color--white); border-bottom: var(--ae-bord); position: sticky; top: 0; z-index: 100; box-shadow: var(--ae-ombre)}
.admin-bar .wp-block-template-part[data-slug="header"], .admin-bar header.wp-block-template-part {top: 32px}
.wp-block-template-part[data-slug="header"] > .wp-block-group > .alignwide, header.wp-block-template-part > .wp-block-group > .alignwide {padding: var(--wp--preset--spacing--sm) 0; transition: padding var(--ae-transition)}
.wp-block-template-part[data-slug="header"].scrolled > .wp-block-group > .alignwide, header.wp-block-template-part.scrolled > .wp-block-group > .alignwide {padding: calc(var(--wp--preset--spacing--sm) / 2) 0}
.wp-block-template-part[data-slug="header"] .wp-block-site-logo img, header.wp-block-template-part .wp-block-site-logo img {width: 135px; max-width: 100%; height: auto; transition: width var(--ae-transition)}
.wp-block-template-part[data-slug="header"].scrolled .wp-block-site-logo img, header.wp-block-template-part.scrolled .wp-block-site-logo img {width: 100px}

/* Navigation */
.wp-block-navigation a {font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--base); letter-spacing: .03em; color: var(--wp--preset--color--text-dark); text-decoration: none; border-bottom: 2px solid transparent; padding-bottom: 2px; transition: color var(--ae-transition), border-color var(--ae-transition)}
.wp-block-navigation a:hover {color: var(--wp--preset--color--base-dark) !important; border-bottom-color: var(--wp--preset--color--base)}
.wp-block-navigation .current-menu-item > a {text-decoration: none !important; border-bottom-color: var(--wp--preset--color--base)}
.wp-block-navigation .current-menu-item > a:hover {border-bottom-color: var(--wp--preset--color--base)}
.wp-block-navigation .wp-block-navigation__container {gap: var(--wp--preset--spacing--md)}
.wp-block-navigation .wp-block-navigation__submenu-container {background: var(--wp--preset--color--white); border: var(--ae-bord); box-shadow: var(--ae-ombre-hover); border-radius: var(--ae-radius); padding: .6em 0; min-width: 220px; z-index: 10; position: absolute; left: 0; top: 100%}
.wp-block-navigation-item.has-child {position: relative}
.wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {display: none !important; opacity: 0; visibility: hidden}
.wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container, .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {display: block !important; opacity: 1; visibility: visible}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a {color: var(--wp--preset--color--text-medium); padding: .7em 1.4em !important; border-bottom: 2px solid transparent; font-size: var(--wp--preset--font-size--sm); font-family: var(--wp--preset--font-family--source-sans); letter-spacing: .02em; display: block; transition: color var(--ae-transition), border-color var(--ae-transition)}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {color: var(--wp--preset--color--base-dark); border-bottom-color: var(--wp--preset--color--base); background: none !important}
.ae-account-link {display: flex; align-items: center; color: var(--wp--preset--color--base-dark); transition: color var(--ae-transition)}
.ae-account-link:hover {color: var(--wp--preset--color--base-hover)}

/* Menu mobile */
.wp-block-navigation__responsive-container.is-menu-open {background: var(--wp--preset--color--white) !important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {background: var(--wp--preset--color--white) !important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {color: var(--wp--preset--color--text-dark)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {background: var(--wp--preset--color--white) !important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {color: var(--wp--preset--color--text-dark); margin-top: var(--wp--preset--spacing--sm); margin-right: var(--wp--preset--spacing--sm)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {fill: var(--wp--preset--color--text-dark)}

/* ================================================================
   Liens
   ----------------------------------------------------------------
   Sommaire :
   - Socle lien souligné (contenu, hero, cartes, tunnel, Mon compte)
================================================================ */

/* Socle lien souligné : soulignement violet décollé du texte, survol en violet foncé.
   Couvre le contenu, le hero, les cartes et sections, et les liens utilitaires du tunnel
   et de Mon compte. Le footer et les liens de stage gardent leurs propres règles. */
.entry-content p a, .wp-block-post-content p a, .entry-content ul li a, .wp-block-post-content ul li a, .entry-content ol li a, .wp-block-post-content ol li a, .ae-hero-title a, .ae-hero-desc a, .ae-card p a, .ae-card li a, .ae-section p a, .ae-section li a, .ae-checkout-legal a, .woocommerce-form-login .lost_password a, .ae-checkout .wc-block-components-address-card__edit, .woocommerce-MyAccount-content .woocommerce-Addresses a.edit {text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: color var(--ae-transition), text-decoration-color var(--ae-transition)}
.entry-content p a, .wp-block-post-content p a, .entry-content ul li a, .wp-block-post-content ul li a, .entry-content ol li a, .wp-block-post-content ol li a, .ae-hero-title a, .ae-hero-desc a, .ae-card p a, .ae-card li a, .ae-section p a, .ae-section li a, .ae-checkout-legal a {color: var(--wp--preset--color--text-dark)}
.woocommerce-form-login .lost_password a, .ae-checkout .wc-block-components-address-card__edit, .woocommerce-MyAccount-content .woocommerce-Addresses a.edit {color: var(--wp--preset--color--text-medium)}
.entry-content p a:hover, .wp-block-post-content p a:hover, .entry-content ul li a:hover, .wp-block-post-content ul li a:hover, .entry-content ol li a:hover, .wp-block-post-content ol li a:hover, .ae-hero-title a:hover, .ae-hero-desc a:hover, .ae-card p a:hover, .ae-card li a:hover, .ae-section p a:hover, .ae-section li a:hover, .ae-checkout-legal a:hover, .woocommerce-form-login .lost_password a:hover, .ae-checkout .wc-block-components-address-card__edit:hover, .woocommerce-MyAccount-content .woocommerce-Addresses a.edit:hover {color: var(--wp--preset--color--base-dark); text-decoration-color: var(--wp--preset--color--base-dark)}

/* ================================================================
   Contenu & composants
   ----------------------------------------------------------------
   Sommaire :
   - Query Loop : grilles d'articles & cartes
   - Images
   - Blockquote
   - Boutons & variantes (outline, CI, SHA)
   - Rangées colorées (styles de bloc Groupe)
   - Accordéons (plugin + wp:details)
   - Accent CI / SHA
   - Badges catégorie / tag
   - Titres & séparateur
   - Compteur de recherche
   - Page auteur
   - Tableau influences
   - Sidebar
   - Formulaires Forminator
================================================================ */

/* Query Loop : grille d'articles (blog home, archives) */
.entry-content .wp-block-query .wp-block-post-template {display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--md); padding: 0; margin: 0; list-style: none}
.entry-content .wp-block-query .wp-block-post {display: flex; flex-direction: column}
.entry-content .wp-block-query .wp-block-post-featured-image {margin: 0}
.entry-content .wp-block-query .wp-block-post-featured-image img {border-radius: 0; width: 100%; aspect-ratio: 3/2; object-fit: cover; margin: 0}
   /* Corps de carte */
.entry-content .wp-block-query .wp-block-post > :not(.wp-block-post-featured-image) {padding-left: var(--wp--preset--spacing--sm); padding-right: var(--wp--preset--spacing--sm)}
.entry-content .wp-block-query .wp-block-post > .wp-block-post-title {padding-top: var(--wp--preset--spacing--sm); margin: 0}
.entry-content .wp-block-query .wp-block-post-title {font-size: var(--wp--preset--font-size--base); line-height: 1.3}
.entry-content .wp-block-query .wp-block-post-title a {color: var(--wp--preset--color--text-dark); text-decoration: none; border: none}
.entry-content .wp-block-query .wp-block-post-title a:hover {color: var(--wp--preset--color--base-dark)}
.entry-content .wp-block-query .wp-block-post-excerpt {font-size: .9rem; color: var(--wp--preset--color--text-medium); margin-top: .6em}
.entry-content .wp-block-query .wp-block-post-excerpt__excerpt {margin: 0; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden}
.entry-content .wp-block-query .wp-block-post-excerpt__more-text, .entry-content .wp-block-query .wp-block-read-more {display: inline-block; margin-top: .6em; font-size: .85rem; color: var(--wp--preset--color--base-dark); font-weight: 700}
.entry-content .wp-block-query .wp-block-post-date {padding-bottom: var(--wp--preset--spacing--sm); margin-top: auto; padding-top: .8em; margin-bottom: 0; font-size: .8rem; color: var(--wp--preset--color--text-light)}

/* Query Loop : cartes hors entry-content (hero, sections) */
.wp-block-query .wp-block-post-featured-image img {border-radius: 0; width: 100%; height: auto; margin-bottom: 0}
.wp-block-query .wp-block-post-title, .wp-block-query h3.wp-block-post-title {font-size: var(--wp--preset--font-size--base)}
.ae-hero .wp-block-column:first-child .wp-block-post-title, .ae-hero .wp-block-column:first-child h3.wp-block-post-title {font-size: var(--wp--preset--font-size--xl)}
.ae-hero .wp-block-column:last-child .wp-block-post-title, .ae-hero .wp-block-column:last-child h3.wp-block-post-title {font-size: var(--wp--preset--font-size--lg)}
.ae-content .wp-block-post-title, .ae-content h2.wp-block-post-title, .ae-content h3.wp-block-post-title {font-size: var(--wp--preset--font-size--lg)}
.wp-block-query .wp-block-post-title a {color: var(--wp--preset--color--text-dark); font-family: var(--wp--preset--font-family--source-sans); transition: color var(--ae-transition)}
.wp-block-query .wp-block-post-title a:hover {color: var(--wp--preset--color--base-dark)}
.wp-block-query .wp-block-post:hover .wp-block-post-title a {color: var(--wp--preset--color--base-dark)}
.wp-block-query .wp-block-post-date {color: var(--wp--preset--color--text-light); font-size: .875rem}
.wp-block-query .wp-block-post-excerpt {color: var(--wp--preset--color--text-medium); font-size: .9rem}

/* Images */
.entry-content img, .wp-block-post-content img, .wp-block-image img, .wp-block-post-featured-image img {border-radius: var(--ae-radius-md); margin-bottom: 1.3em; margin-left: auto; margin-right: auto}
.entry-content figure.wp-block-image, .wp-block-post-content figure.wp-block-image {margin-left: auto; margin-right: auto; text-align: center}

/* Blockquote */
blockquote, .wp-block-quote {border: none; background: none; padding: 1em 1em 1em 3em; margin-left: 0; margin-right: 0; color: var(--wp--preset--color--text-medium); font-style: italic; position: relative}
blockquote::before, .wp-block-quote::before {content: "\201C"; font-family: var(--wp--preset--font-family--source-sans); font-size: 4rem; color: var(--wp--preset--color--base); position: absolute; top: .1em; left: 0; line-height: 1}

/* Boutons */
.wp-block-buttons {gap: .6em; margin-bottom: 1.3em; justify-content: center}
.wp-block-button__link, .wp-element-button, input[type="submit"], button {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); border: none; border-radius: var(--ae-radius); padding: .7em 1.8em; font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; font-size: .875rem; letter-spacing: .03em; cursor: pointer; transition: background var(--ae-transition)}
.wp-block-button__link:hover, .wp-element-button:hover, input[type="submit"]:hover, button:hover {background: var(--wp--preset--color--base-hover); color: var(--wp--preset--color--white)}
   /* Variante bouton outline (défaut) */
.wp-block-button.is-style-outline .wp-block-button__link {background: transparent; border: 2px solid var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base-dark)}
.wp-block-button.is-style-outline .wp-block-button__link:hover {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
   /* Variante CTA : Communication Intuitive */
.is-style-ci .wp-block-button__link {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--text-dark)}
.is-style-ci .wp-block-button__link:hover {background: var(--wp--preset--color--ci-dark); color: var(--wp--preset--color--text-dark)}
.is-style-ci.is-style-outline .wp-block-button__link {background: transparent; border-color: var(--wp--preset--color--ci); color: var(--wp--preset--color--ci)}
.is-style-ci.is-style-outline .wp-block-button__link:hover {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--text-dark)}
   /* Variante CTA : Santé Holistique Animale */
.is-style-sha .wp-block-button__link {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}
.is-style-sha .wp-block-button__link:hover {background: var(--wp--preset--color--sha-dark); color: var(--wp--preset--color--text-dark)}
.is-style-sha.is-style-outline .wp-block-button__link {background: transparent; border-color: var(--wp--preset--color--sha); color: var(--wp--preset--color--sha)}
.is-style-sha.is-style-outline .wp-block-button__link:hover {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}

/* Rangées colorées (styles de bloc Groupe) */
.wp-block-group.is-style-ae-cream {background-color: var(--wp--preset--color--neutral-light)}
.wp-block-group.is-style-ae-ci {background-color: var(--wp--preset--color--ci)}
.wp-block-group.is-style-ae-sha {background-color: var(--wp--preset--color--sha)}
.wp-block-group.is-style-ae-cream,
.wp-block-group.is-style-ae-ci,
.wp-block-group.is-style-ae-sha {padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl)}

/* Accordéon */
.wp-block-accordion {overflow: hidden; margin-bottom: 1.3em}
.wp-block-accordion-item {border-bottom: var(--ae-bord)}
.wp-block-accordion-item:last-child {border-bottom: none}
.wp-block-accordion-heading {margin: 0}
.wp-block-accordion-heading h3 {margin: 0}
.wp-block-accordion-heading h3::after {display: none}
.wp-block-accordion-heading button {background: none; border: none; width: 100%; text-align: left; padding: 1em 1.5em; cursor: pointer; display: flex; align-items: center; justify-content: space-between; transition: background var(--ae-transition)}
.wp-block-accordion-heading button:hover {background: var(--wp--preset--color--ci)}
.wp-block-accordion-heading__toggle-title {font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .03em; color: var(--wp--preset--color--text-dark); text-decoration: none}
.wp-block-accordion-heading__toggle-title:hover {text-decoration: none}
.wp-block-accordion-heading button:hover .wp-block-accordion-heading__toggle-title {color: var(--wp--preset--color--base-dark); text-decoration: none}
.wp-block-accordion-panel {padding: 1em 1.5em; color: var(--wp--preset--color--text-medium)}

/* Détails / accordéons natifs (wp:details) */
.entry-content .wp-block-details {margin-bottom: .6em; overflow: hidden}
.entry-content .wp-block-details summary {list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1em; padding: 1em 1.5em; font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .03em; color: var(--wp--preset--color--text-dark); transition: background var(--ae-transition), color var(--ae-transition)}
.entry-content .wp-block-details summary::-webkit-details-marker {display: none}
.entry-content .wp-block-details summary::after {content: "+"; flex-shrink: 0; font-size: 1.4em; line-height: 1; color: var(--wp--preset--color--base)}
.entry-content .wp-block-details[open] summary::after {content: "\2212"}
.entry-content .wp-block-details summary:hover {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--base-dark)}
.entry-content .wp-block-details[open] summary {border-bottom: var(--ae-bord)}
.entry-content .wp-block-details > *:not(summary) {margin: 0; padding-left: 1.5em; padding-right: 1.5em; color: var(--wp--preset--color--text-medium)}
.entry-content .wp-block-details > *:not(summary) + *:not(summary) {margin-top: .8em}
.entry-content .wp-block-details > summary + * {padding-top: 1em}
.entry-content .wp-block-details > *:last-child {padding-bottom: 1.2em}
   /* Titre sémantique dans le résumé d'accordéon (SEO) sans casser l'allure */
.entry-content .wp-block-details summary h3, .entry-content .wp-block-details summary h4 {margin: 0; font: inherit; color: inherit; display: inline}
.entry-content .wp-block-details summary h3::after, .entry-content .wp-block-details summary h4::after {content: none}

/* Accent CI / SHA : la couleur du filet est portée par le socle, voir --ae-encart-bord */
.ae-section-sha .wp-block-details summary:hover {background: var(--wp--preset--color--sha)}

/* Catégorie / Tag badge */
.taxonomy-category a {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); padding: .2em .6em; border-radius: var(--ae-radius); font-family: var(--wp--preset--font-family--source-sans); font-size: .75rem; font-weight: 700; letter-spacing: .03em; transition: background var(--ae-transition)}
.taxonomy-category a:hover {background: var(--wp--preset--color--base-hover); color: var(--wp--preset--color--white)}
.taxonomy-post_tag {display: inline-flex; flex-wrap: wrap; gap: .4em}
.taxonomy-post_tag a {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--base-dark); padding: .2em .6em; border-radius: var(--ae-radius); font-family: var(--wp--preset--font-family--source-sans); font-size: .75rem; font-weight: 700; letter-spacing: .03em; transition: background var(--ae-transition), color var(--ae-transition)}
.taxonomy-post_tag a:hover {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
.wp-block-post-terms a, .post-category a {padding: .2em .6em; border-radius: var(--ae-radius); font-family: var(--wp--preset--font-family--source-sans); font-size: .75rem; font-weight: 700; letter-spacing: .03em; transition: background var(--ae-transition)}

/* Titres section */
.ae-hero h2.wp-block-heading, .ae-content h2.wp-block-heading {letter-spacing: .04em; margin-bottom: var(--wp--preset--spacing--sm)}
.ae-sidebar h2.wp-block-heading {font-size: 1rem; letter-spacing: .04em; margin-bottom: var(--wp--preset--spacing--sm)}

/* Séparateur */
.wp-block-separator {border-color: var(--wp--preset--color--base-light); border-width: 1px; margin: 2em 0}

/* Compteur de recherche */
.ae-search-count {color: var(--wp--preset--color--text-medium); font-size: var(--wp--preset--font-size--sm)}

/* Page auteur */
.ae-author-box {display: flex; gap: var(--wp--preset--spacing--md); align-items: flex-start; padding: var(--wp--preset--spacing--md) 0}
.ae-author-avatar img {border-radius: 50%; width: 120px; height: 120px}
.ae-author-info {flex: 1}
.ae-author-name {margin: 0 0 .4em}
.ae-meta-avatar {margin: 0}
.ae-meta-avatar img {margin-bottom: 0; border-radius: 50%}
.ae-author-realname {font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--text-light); font-weight: 400}
.ae-author-links {display: flex; gap: var(--wp--preset--spacing--sm); margin-bottom: var(--wp--preset--spacing--sm)}
.ae-author-links a {color: var(--wp--preset--color--text-light); transition: color var(--ae-transition)}
.ae-author-links a:hover {color: var(--wp--preset--color--base-dark)}

/* Tableau influences */
.ae-table table {border-collapse: collapse; width: 100%; font-size: var(--wp--preset--font-size--sm)}
.ae-table thead {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
.ae-table thead th {padding: .8em 1em; font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; text-align: left}
.ae-table tbody td {padding: .6em 1em; border-bottom: var(--ae-bord)}
.ae-table tbody tr:hover {background: var(--wp--preset--color--ci)}

/* Tableau natif (bloc Table) */
.wp-block-table table {background: var(--wp--preset--color--base-light)}

/* Sidebar */
.ae-sidebar {padding-top: var(--wp--preset--spacing--sm)}
.ae-sidebar .wp-block-group {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-md); padding: var(--wp--preset--spacing--sm); margin-bottom: var(--wp--preset--spacing--sm); box-shadow: var(--ae-ombre)}
.wp-block-search__inside-wrapper {display: flex}
.wp-block-search__input {flex: 1; padding: .5em .9em; background: var(--wp--preset--color--neutral-light); border: var(--ae-bord); color: var(--wp--preset--color--text-dark); border-radius: var(--ae-radius) 0 0 var(--ae-radius); font-size: 1rem; transition: border-color var(--ae-transition)}
.wp-block-search__input:focus {border-color: var(--wp--preset--color--base); outline: none}
.wp-block-search__input::placeholder {color: var(--wp--preset--color--text-light)}
.wp-block-search__button {background: var(--wp--preset--color--base); color: var(--wp--preset--color--white); border: none; border-radius: 0 var(--ae-radius) var(--ae-radius) 0; padding: .5em 1em; cursor: pointer; transition: background var(--ae-transition)}
.wp-block-search__button:hover {background: var(--wp--preset--color--base-dark)}
.ae-sidebar .wp-block-post-featured-image {flex-shrink: 0}
.ae-sidebar .wp-block-post-featured-image img {width: 54px; height: 30px; object-fit: cover}
.ae-post-row .wp-block-post-featured-image {flex-shrink: 0}
.ae-post-row .wp-block-post-featured-image img {width: 110px; height: 62px; object-fit: cover}
.wp-block-latest-posts li {border-bottom: var(--ae-bord); padding: .6em 0; list-style: none}
.wp-block-latest-posts li:last-child {border-bottom: none}
.wp-block-latest-posts a {color: var(--wp--preset--color--text-medium); font-size: .9rem; transition: color var(--ae-transition)}
.wp-block-latest-posts a:hover {color: var(--wp--preset--color--base-dark)}

/* Forminator */
.forminator-custom-form .forminator-select--field, .forminator-custom-form select.forminator-select--field, .forminator-custom-form .forminator-select2 + .select2 .select2-selection {background: var(--wp--preset--color--white); border: var(--ae-bord); color: var(--wp--preset--color--text-dark); font-family: var(--wp--preset--font-family--source-sans); height: auto; padding: .5em .9em}
.forminator-custom-form .forminator-field-consent .forminator-field {display: flex; align-items: flex-start; gap: .5em}
.forminator-custom-form .forminator-field-consent .forminator-checkbox__wrapper {order: -1; flex-shrink: 0}
.forminator-custom-form .forminator-field-consent .forminator-label {margin: 0}
.forminator-custom-form .forminator-field-checkbox .forminator-checkbox {display: flex; align-items: flex-start; gap: .5em}
.forminator-custom-form .forminator-field-checkbox .forminator-checkbox-box {flex-shrink: 0; margin: 0}
.forminator-custom-form .forminator-field-checkbox .forminator-checkbox-box ~ span {margin-left: 0}
.forminator-custom-form .forminator-field-checkbox .forminator-checkbox-label {margin: 0; font-size: 14px; font-weight: 700; line-height: 1.7em}
.forminator-custom-form .forminator-label {font-size: 14px !important}
.forminator-custom-form .ae-required {color: #E51919; display: inline-block !important}
   /* Titre de groupe */
.forminator-custom-form .forminator-repeater-label {font-size: 18px !important; font-weight: 700; color: var(--wp--preset--color--text-dark); margin-bottom: var(--wp--preset--spacing--sm) !important}
   /* Boutons ajouter et retirer */
.forminator-custom-form .forminator-repeater-action-button {background: transparent !important; color: var(--wp--preset--color--base-dark) !important; border: 1px solid var(--wp--preset--color--base-dark) !important; border-radius: var(--ae-pilule) !important; padding: .35em 1.1em !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer; transition: background var(--ae-transition), color var(--ae-transition)}
.forminator-custom-form .forminator-repeater-action-button:hover {background: var(--wp--preset--color--base-dark) !important; color: var(--wp--preset--color--white) !important}
   /* Boutons radio horizontaux */
.forminator-custom-form .forminator-radio, .forminator-custom-form .forminator-checkbox {width: auto}
   /* Bouton d'envoi */
.forminator-custom-form .forminator-button-submit {background: var(--wp--preset--color--base-dark) !important; color: var(--wp--preset--color--white) !important; border: none !important; border-radius: var(--ae-radius) !important; padding: .7em 1.8em !important; font-family: var(--wp--preset--font-family--source-sans) !important; font-size: .875rem !important; font-weight: 700 !important; letter-spacing: .03em !important; height: auto !important; min-width: 0 !important; cursor: pointer; transition: background var(--ae-transition)}
.forminator-custom-form .forminator-button-submit:hover {background: var(--wp--preset--color--base-hover) !important; color: var(--wp--preset--color--white) !important}
   /* Placeholders */
.forminator-custom-form .forminator-input::placeholder, .forminator-custom-form .forminator-textarea::placeholder {color: var(--wp--preset--color--text-light) !important; opacity: 1}

/* ================================================================
   Pages & gabarits
   ----------------------------------------------------------------
   Sommaire :
   - Front-page : hero, slogan, sections, stats, audience
   - Cartes (formations, égalisation, blog, formateurs)
   - Formateurs : archive & fiche
   - Single : post meta, hero article, colonnes contenu/sidebar
   - 404
================================================================ */

/* Front-page */
   /* Hero */
.ae-home-hero {padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--lg)}
.ae-hero-title {color: var(--wp--preset--color--text-dark)}
.ae-hero-title::after {margin-left: auto; margin-right: auto}
.ae-hero-desc {color: var(--wp--preset--color--text-medium)}
.ae-frise {margin-top: var(--wp--preset--spacing--lg); margin-bottom: 0}
.ae-frise img {max-width: 1343px; border-radius: 0; margin-bottom: 0}
.ae-btn-white .wp-block-button__link {color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--white); border-width: 2px}
.ae-btn-white .wp-block-button__link:hover {background: var(--wp--preset--color--white); color: var(--wp--preset--color--base-dark)}
   /* Slogan */
.ae-slogan {padding-top: var(--wp--preset--spacing--lg); padding-bottom: var(--wp--preset--spacing--lg)}
.ae-slogan-text {font-family: 'Caveat', cursive; font-size: 1.8rem; color: var(--wp--preset--color--base-dark)}
   /* Sections */
.ae-section {padding-top: var(--wp--preset--spacing--xl); padding-bottom: var(--wp--preset--spacing--xl)}
.ae-section-subtitle {color: var(--wp--preset--color--text-medium)}
.ae-section-cta {margin-top: var(--wp--preset--spacing--lg)}
.ae-highlight-primary {display: inline-block; background: var(--wp--preset--color--ci); color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .04em; padding: .3em .9em; border-radius: var(--ae-pilule); margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important}

   /* Centrage du badge dans le hero : display et marges scopés au parent pour l'emporter sur le margin-left !important de la règle générale */
.ae-home-hero .ae-highlight-primary {display: table; margin-left: auto !important; margin-right: auto !important}
.ae-rounded-img img {border-radius: var(--ae-radius-lg)}
   /* Stats */
.ae-stats {gap: var(--wp--preset--spacing--md)}
.ae-stat-number {font-size: var(--wp--preset--font-size--xxl); font-weight: 700; line-height: 1.2; margin-bottom: 0}
.ae-stat-primary {color: var(--wp--preset--color--base-dark)}
.ae-stat-secondary {color: var(--wp--preset--color--sha-dark)}
.ae-stat-label {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
   /* Audience */
.ae-audience-list {display: flex; flex-direction: column; gap: var(--wp--preset--spacing--xs)}
.ae-audience-pro {color: var(--wp--preset--color--base-dark); font-size: var(--wp--preset--font-size--md); font-weight: 700; margin-bottom: 0}
.ae-audience-public {color: var(--wp--preset--color--sha-dark); font-size: var(--wp--preset--font-size--md); font-weight: 700; margin-bottom: 0}
.ae-audience-detail {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium); margin-bottom: var(--wp--preset--spacing--sm)}

/* Cards formations */
.ae-card {padding: var(--wp--preset--spacing--md); flex: 1; display: flex; flex-direction: column; justify-content: center}
.ae-card-icon {font-size: var(--wp--preset--font-size--display); line-height: 1; margin-bottom: 0}
.ae-card-bandeau {margin-top: var(--wp--preset--spacing--sm); margin-bottom: 0}
.ae-card-bandeau img {width: 100%; aspect-ratio: 3/1; object-fit: cover; margin-bottom: 0}
   /* Pas de barre sous le titre dans une carte : le socle Titres & séparateur (section 4)
      ne distingue pas ce contexte, la spécificité est remontée ici pour l'exclure */
.entry-content .ae-card h3.wp-block-heading::after {display: none}
   /* Égalisation des hauteurs */
.wp-block-columns:has(.ae-card) {align-items: stretch}
.wp-block-columns:has(.ae-card) > .wp-block-column {display: flex; flex-direction: column}

/* Blog cards */
.ae-blog-card-img img {border-radius: 0; margin-bottom: 0}
.ae-blog-card-body, .ae-formateur-card-body {padding: var(--wp--preset--spacing--sm)}
.ae-blog-card-body .wp-block-post-title {font-size: var(--wp--preset--font-size--base)}
.ae-blog-card-body .wp-block-post-title a {color: var(--wp--preset--color--text-dark); transition: color var(--ae-transition)}
.ae-blog-card-body .wp-block-post-title a:hover {color: var(--wp--preset--color--base-dark)}
.ae-blog-card-body .wp-block-post-date {color: var(--wp--preset--color--text-light); font-size: var(--wp--preset--font-size--sm)}

/* Formateurs
   Image, titre, liens et extrait des cartes sont déjà portés par le socle Query Loop,
   voir « Query Loop » en section 4. */
   /* Archive : le corps de carte est calé avec les cartes blog, reste à décoller du footer */
.post-type-archive-ae_formateur .wp-block-post-template {margin-bottom: var(--wp--preset--spacing--md)}
   /* Fiche : entête photo + nom, le rayon et la largeur viennent de .single .ae-title */
.ae-formateur-entete .wp-block-post-featured-image {margin-top: 0}
.ae-formateur-entete .wp-block-post-excerpt {color: var(--wp--preset--color--text-medium)}
   /* Fiche : liste des formations, rendue avec les classes du bloc stage */
.ae-formateur-formations {margin-top: var(--wp--preset--spacing--lg)}

/* Single */
   /* Post meta */
.ae-post-meta {gap: var(--wp--preset--spacing--xs)}
.ae-meta-sep {color: var(--wp--preset--color--text-light)}
.ae-post-meta .wp-block-post-date {color: var(--wp--preset--color--text-light)}
.ae-post-meta > .ae-meta-sep {margin-right: -5px}
.single .ae-post-meta .wp-block-post-author {display: flex; align-items: center; gap: .5em}
.single .ae-post-meta .wp-block-post-author__avatar img {border-radius: 50%}
.single .ae-post-meta .wp-block-post-author__name {font-weight: 700}
   /* Hero : rythme vertical */
.single .ae-title {padding-bottom: var(--wp--preset--spacing--sm)}
.single .ae-title > * + * {margin-top: var(--wp--preset--spacing--sm)}
   /* Ligne catégorie / tags */
.single .ae-title > .wp-block-group:first-child {gap: .4em; align-items: center}
.single .ae-title .wp-block-post-terms {margin: 0}
   /* Titre */
.single .ae-title .wp-block-post-title {margin: 0}
.single .ae-title .wp-block-post-title::after {margin-top: .3em}
   /* Image à la une */
.single .ae-title .wp-block-post-featured-image {margin-top: var(--wp--preset--spacing--md); margin-bottom: 0}
.single .ae-title .wp-block-post-featured-image img {width: 100%; border-radius: var(--ae-radius-lg)}
   /* Méta */
.single .ae-post-meta {margin-top: var(--wp--preset--spacing--sm); align-items: center}
.single .ae-post-meta .wp-block-post-author {display: flex; align-items: center; gap: .5em}
.single .ae-post-meta .wp-block-post-author__avatar img {border-radius: 50%}
.single .ae-post-meta .wp-block-post-author__name {font-weight: 700}
   /* Colonnes contenu / sidebar */
.single .ae-content {align-items: flex-start}
.single .ae-content > .wp-block-column:last-child {position: sticky; top: 200px}

/* 404 */
.ae-404 {min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--wp--preset--color--ci) 0%, var(--wp--preset--color--neutral) 50%, var(--wp--preset--color--sha) 100%); padding: var(--wp--preset--spacing--lg)}
.ae-404-content {text-align: center; max-width: 500px}
.ae-404-code {font-size: clamp(48px, 10vw, 80px); font-weight: 700; color: var(--wp--preset--color--base); font-family: var(--wp--preset--font-family--source-sans); line-height: 1; margin-bottom: var(--wp--preset--spacing--sm)}
.ae-404-title {font-size: var(--wp--preset--font-size--xl); font-family: var(--wp--preset--font-family--source-sans); color: var(--wp--preset--color--text-dark)}
.ae-404-desc {color: var(--wp--preset--color--text-medium); line-height: 1.8}
.ae-404-signature {font-family: 'Caveat', cursive; font-size: 1.3rem; color: var(--wp--preset--color--base); margin-top: var(--wp--preset--spacing--lg)}

/* ================================================================
   Verticales CI / SHA
   ----------------------------------------------------------------
   Sommaire :
   - CI : barres décoratives, liens, boutons
   - SHA : barres décoratives, liens, boutons
================================================================ */

/* Communication Intuitive : filet des encarts + barres décoratives */
.ae-section-ci {--ae-encart-bord: var(--wp--preset--color--ci)}
.ae-section-ci h1::after,
.ae-section-ci .entry-content h2:not(.wp-block-post-title)::after,
.ae-section-ci .entry-content h3:not(.wp-block-post-title, .wp-block-accordion-heading)::after {background: var(--wp--preset--color--ci)}
.ae-section-ci blockquote::before, .ae-section-ci .wp-block-quote::before {color: var(--wp--preset--color--ci)}
.ae-section-ci :focus-visible {outline-color: var(--wp--preset--color--ci)}
   /* CI : liens contenu */
.ae-section-ci .entry-content p a, .ae-section-ci .wp-block-post-content p a,
.ae-section-ci .entry-content ul li a, .ae-section-ci .entry-content ol li a {text-decoration-color: var(--wp--preset--color--ci)}
.ae-section-ci .entry-content p a:hover, .ae-section-ci .wp-block-post-content p a:hover,
.ae-section-ci .entry-content ul li a:hover, .ae-section-ci .entry-content ol li a:hover {color: var(--wp--preset--color--ci-dark); text-decoration-color: var(--wp--preset--color--ci-dark)}
   /* CI : premier bouton d'une paire seulement, sinon bouton par défaut
      La paire doit tenir dans un même bloc Boutons, sinon la règle ne s'applique pas */
.ae-section-ci .wp-block-buttons:has(.wp-block-button + .wp-block-button) > .wp-block-button:first-child:not(.is-style-outline):not(.is-style-sha) .wp-block-button__link {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--text-dark)}
.ae-section-ci .wp-block-buttons:has(.wp-block-button + .wp-block-button) > .wp-block-button:first-child:not(.is-style-outline):not(.is-style-sha) .wp-block-button__link:hover {background: var(--wp--preset--color--ci-dark); color: var(--wp--preset--color--text-dark)}

/* Santé Holistique Animale : filet des encarts + barres décoratives */
.ae-section-sha {--ae-encart-bord: var(--wp--preset--color--sha)}
.ae-section-sha h1::after,
.ae-section-sha .entry-content h2:not(.wp-block-post-title)::after,
.ae-section-sha .entry-content h3:not(.wp-block-post-title, .wp-block-accordion-heading)::after {background: var(--wp--preset--color--sha)}
.ae-section-sha blockquote::before, .ae-section-sha .wp-block-quote::before {color: var(--wp--preset--color--sha)}
.ae-section-sha :focus-visible {outline-color: var(--wp--preset--color--sha)}
   /* SHA : liens contenu */
.ae-section-sha .entry-content p a, .ae-section-sha .wp-block-post-content p a,
.ae-section-sha .entry-content ul li a, .ae-section-sha .entry-content ol li a {text-decoration-color: var(--wp--preset--color--sha)}
.ae-section-sha .entry-content p a:hover, .ae-section-sha .wp-block-post-content p a:hover,
.ae-section-sha .entry-content ul li a:hover, .ae-section-sha .entry-content ol li a:hover {color: var(--wp--preset--color--sha-dark); text-decoration-color: var(--wp--preset--color--sha-dark)}
   /* SHA : premier bouton d'une paire seulement, sinon bouton par défaut
      La paire doit tenir dans un même bloc Boutons, sinon la règle ne s'applique pas */
.ae-section-sha .wp-block-buttons:has(.wp-block-button + .wp-block-button) > .wp-block-button:first-child:not(.is-style-outline):not(.is-style-ci) .wp-block-button__link {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}
.ae-section-sha .wp-block-buttons:has(.wp-block-button + .wp-block-button) > .wp-block-button:first-child:not(.is-style-outline):not(.is-style-ci) .wp-block-button__link:hover {background: var(--wp--preset--color--sha-dark); color: var(--wp--preset--color--text-dark)}
   /* Fiche produit : pastille « Prochaine session » et bouton d'achat, classe posée
      par body_class sur la catégorie pa_categorie du produit (voir functions.php).
      CI reprend les couleurs par défaut de .ae-session-date, seul SHA a besoin d'une
      surcharge pour la pastille. Le bouton d'achat a sa propre surcharge pour chaque
      verticale : fond soutenu et texte blanc au repos, fond clair et texte foncé
      au survol. */
.ae-section-sha .ae-session-date {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}
.ae-section-sha .ae-session-date .ae-session-countdown {background: var(--wp--preset--color--sha-dark)}
.ae-section-ci .ae-product .wp-element-button {background: var(--wp--preset--color--ci-dark); color: var(--wp--preset--color--white)}
.ae-section-ci .ae-product .wp-element-button:hover, .ae-section-ci .ae-product .wp-element-button:focus {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--text-dark)}
.ae-section-sha .ae-product .wp-element-button {background: var(--wp--preset--color--sha-dark); color: var(--wp--preset--color--white)}
.ae-section-sha .ae-product .wp-element-button:hover, .ae-section-sha .ae-product .wp-element-button:focus {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}

/* ================================================================
   WooCommerce : boutique & tunnel
   ----------------------------------------------------------------
   Sommaire :
   - Boutons & prix génériques
   - Réassort & sessions indisponibles
   - Fiche produit (infos pratiques, variations)
   - Date de session & calendrier
   - Catalogue des formations
   - Catalogue boutique & badge promo
   - Sélecteur de devise (FOX)
   - Panier & ventes croisées
   - Mini-panier (icône + anti-flash tiroir)
   - Connexion
   - Checkout (footer light + espacements)
   - Confirmation de commande
   - Mon compte (navigation, boutons, moyens de paiement)
   - Accompagnement individuel
================================================================ */

/* Boutons & prix génériques */
.woocommerce .price {color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-weight: 700}
.woocommerce .button, .woocommerce a.button {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); border-radius: var(--ae-radius); transition: background var(--ae-transition)}
.woocommerce .button:hover, .woocommerce a.button:hover {background: var(--wp--preset--color--base-hover); color: var(--wp--preset--color--white)}

/* Réassort & sessions indisponibles */
.ae-reassort-link {background: transparent; color: var(--wp--preset--color--base-dark); box-shadow: inset 0 0 0 2px var(--wp--preset--color--base-dark)}
.ae-reassort-link:hover, .ae-reassort-link:focus {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}

/* Fiche produit */
.ae-product-buy-row {gap: var(--wp--preset--spacing--sm); margin-top: var(--wp--preset--spacing--xs)}
.ae-product-buy-row .wp-block-woocommerce-product-price {margin: 0}
.ae-print-button {background: none; border: 1px solid var(--wp--preset--color--base-light); border-radius: var(--ae-radius); color: var(--wp--preset--color--text-medium); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); padding: .35em 1em; cursor: pointer; transition: background var(--ae-transition), border-color var(--ae-transition), color var(--ae-transition)}
.ae-print-button:hover, .ae-print-button:focus {background: var(--wp--preset--color--base-hover); border-color: var(--wp--preset--color--base-hover); color: var(--wp--preset--color--white)}
.ae-product-terms {color: var(--wp--preset--color--text-light)}
.ae-product-terms a {padding: 0; border-radius: 0; background: none; font: inherit; color: var(--wp--preset--color--text-medium); text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: color var(--ae-transition), text-decoration-color var(--ae-transition)}
.ae-product-terms a:hover {color: var(--wp--preset--color--base-dark); text-decoration-color: var(--wp--preset--color--base-dark)}
.ae-product .wp-block-post-excerpt {color: var(--wp--preset--color--text-medium); margin-top: var(--wp--preset--spacing--sm)}
.woocommerce div.product .woocommerce-tabs ul.tabs li {border-radius: 0 !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after {display: none !important}
.ae-cat-sep {color: var(--wp--preset--color--text-light); margin: 0 .2em}
   /* Ligne d'infos pratiques (description produit) */
.ae-product-infos {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium); border-top: 1px solid var(--wp--preset--color--neutral-light); padding-top: var(--wp--preset--spacing--sm); margin-top: var(--wp--preset--spacing--sm)}
   /* Description de variation (fiche produit variable) */
.woocommerce-variation-description p {color: var(--wp--preset--color--text-medium); font-size: var(--wp--preset--font-size--sm); margin: 0}
.woocommerce-variation-price .price {color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-weight: 700}

/* Date de session (fiche produit) */
.ae-session-date {display: inline-flex; align-items: center; gap: .5em; background: var(--wp--preset--color--ci); color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .03em; padding: .3em .9em; border-radius: var(--ae-pilule)}
.ae-session-countdown, .ae-session-complet {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--xs); padding: .2em .6em; border-radius: var(--ae-pilule); margin-left: .6em}

/* Stage : autres journées (fiche produit) */
.ae-stage {margin: var(--wp--preset--spacing--sm) auto 0; padding-bottom: var(--wp--preset--spacing--md)}
.ae-stage-intro {color: var(--wp--preset--color--text-medium); font-size: var(--wp--preset--font-size--sm); margin-top: 0}
.ae-stage-sous-titre, .ae-calendrier-sous-titre {font-size: var(--wp--preset--font-size--md); margin: var(--wp--preset--spacing--md) 0 var(--wp--preset--spacing--sm)}
.ae-stage-liste, .entry-content ul.ae-stage-liste {list-style: none; padding: 0; margin: 0}
.ae-stage-item, .ae-formateur-item, .entry-content .ae-stage .ae-stage-liste > li.ae-stage-item {list-style: none; display: flex; align-items: center; gap: var(--wp--preset--spacing--md); padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md); margin-bottom: var(--wp--preset--spacing--sm)}
.ae-stage-date {flex: 0 0 auto; min-width: 13em; font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; color: var(--wp--preset--color--base-dark)}
.ae-stage-info, .ae-formateur-texte {display: flex; flex-direction: column; gap: .1em; flex: 1 1 auto}
.ae-stage-info a, .ae-formateur-nom {font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; color: var(--wp--preset--color--text-dark)}
.ae-stage-info a:hover, .ae-formateur-nom:hover {color: var(--wp--preset--color--base-dark)}
.ae-stage-prix {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
.ae-stage-prix .price {font-size: inherit}
.ae-stage-action {flex: 0 0 auto; white-space: nowrap}
.ae-stage-encart {flex: 0 0 auto; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-light); font-style: italic; white-space: nowrap}
.ae-stage-pratique {margin: 0; color: var(--wp--preset--color--text-medium); font-size: var(--wp--preset--font-size--sm)}
.ae-stage-pratique a {font-weight: 700; color: var(--wp--preset--color--text-medium); text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: text-decoration-color var(--ae-transition)}
.ae-stage-pratique a:hover, .ae-stage-pratique a:focus {color: var(--wp--preset--color--base-dark); text-decoration-color: var(--wp--preset--color--base-dark)}
.ae-stage-position {margin: var(--wp--preset--spacing--xs) 0 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
.ae-stage-position a {font-weight: 700; color: var(--wp--preset--color--base-dark); text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: text-decoration-color var(--ae-transition)}
.ae-stage-position a:hover, .ae-stage-position a:focus {text-decoration-color: var(--wp--preset--color--base-dark)}

/* Formateurs : encart de la fiche produit
   Le cadre, la disposition en ligne et le nom réutilisent les règles du bloc stage ci-dessus. */
.ae-formateurs {margin-top: var(--wp--preset--spacing--md)}
.ae-formateur-photo {flex: 0 0 auto; width: 90px}
.ae-formateur-photo img {width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; margin-bottom: 0}
.ae-formateur-resume {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}

/* Calendrier des formations */
.ae-calendrier-liste, .entry-content ul.ae-calendrier-liste {list-style: none; padding: 0; margin: 0}
.ae-calendrier-item, .entry-content .ae-calendrier .ae-calendrier-liste > li.ae-calendrier-item {list-style: none; display: flex; align-items: flex-start; gap: var(--wp--preset--spacing--md); padding: var(--wp--preset--spacing--md); margin-bottom: var(--wp--preset--spacing--md)}
.ae-calendrier-item[hidden], .entry-content .ae-calendrier .ae-calendrier-liste > li.ae-calendrier-item[hidden] {display: none}
.ae-calendrier-groupe[hidden] {display: none}
.ae-calendrier-liste {transition: opacity var(--ae-transition)}
.ae-calendrier-liste.is-filtering {opacity: 0}
.ae-calendrier-date {display: flex; flex-direction: column; align-items: center; flex-shrink: 0; min-width: 70px}
.ae-calendrier-day {font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--xxl); font-weight: 700; line-height: 1; color: var(--wp--preset--color--base-dark)}
.ae-calendrier-month {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium); text-transform: uppercase; letter-spacing: .05em}
.ae-calendrier-info {display: flex; flex-direction: column; gap: .2em}
.ae-calendrier-info > a {font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; color: var(--wp--preset--color--text-dark)}
.ae-calendrier-info > a:hover {color: var(--wp--preset--color--base-dark)}
.ae-calendrier-info > a .ae-session-countdown, .ae-calendrier-info > a .ae-session-complet {text-decoration: none; display: inline-block}
.ae-calendrier-meta {display: flex; flex-wrap: wrap; align-items: baseline; gap: .5em}
.ae-calendrier-meta span {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
.ae-calendrier-attributs::before {content: "·"; margin-right: .5em; color: var(--wp--preset--color--text-light)}
.ae-calendrier-empty, .ae-catalogue-empty {color: var(--wp--preset--color--text-medium); font-style: italic}
   /* Filet, jour et lien colorés selon la verticale du produit, data-categorie posé par [ae_calendrier]. */
.ae-calendrier-item[data-categorie="ci"] {--ae-encart-bord: var(--wp--preset--color--ci)}
.ae-calendrier-item[data-categorie="sha"] {--ae-encart-bord: var(--wp--preset--color--sha)}
.ae-calendrier-item[data-categorie="ci"] .ae-calendrier-info > a:hover {color: var(--wp--preset--color--ci-dark)}
.ae-calendrier-item[data-categorie="sha"] .ae-calendrier-info > a:hover {color: var(--wp--preset--color--sha-dark)}
.ae-calendrier-item[data-categorie="ci"] .ae-calendrier-day {color: var(--wp--preset--color--ci-dark)}
.ae-calendrier-item[data-categorie="sha"] .ae-calendrier-day {color: var(--wp--preset--color--sha-dark)}
.ae-calendrier-item[data-categorie="ci"] .ae-session-countdown, .ae-calendrier-item[data-categorie="ci"] .ae-session-complet {background: var(--wp--preset--color--ci-dark)}
.ae-calendrier-item[data-categorie="sha"] .ae-session-countdown, .ae-calendrier-item[data-categorie="sha"] .ae-session-complet {background: var(--wp--preset--color--sha-dark)}
   /* Barre de filtres */
.ae-calendrier-filtres, .ae-catalogue-filtres {display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--sm); margin-bottom: var(--wp--preset--spacing--md)}
.ae-calendrier-filtres label, .ae-catalogue-filtres label {display: inline-flex; width: auto; align-items: center; gap: .5em; font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; color: var(--wp--preset--color--text-medium)}
.ae-calendrier-filtres select, .ae-catalogue-filtres select {appearance: none; -webkit-appearance: none; border: var(--ae-bord); border-radius: var(--ae-radius); background: var(--wp--preset--color--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23634880' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .7em center; color: var(--wp--preset--color--text-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); padding: .4em 2em .4em .8em; cursor: pointer; transition: border-color var(--ae-transition)}
.ae-calendrier-filtres select:hover, .ae-catalogue-filtres select:hover {border-color: var(--wp--preset--color--base)}
.ae-calendrier-animation {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
.ae-calendrier-item .ae-calendrier-animation a {color: var(--wp--preset--color--text-medium); text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: text-decoration-color var(--ae-transition)}
.ae-calendrier-item .ae-calendrier-animation a:hover, .ae-calendrier-item .ae-calendrier-animation a:focus {color: var(--wp--preset--color--base-dark); text-decoration-color: var(--wp--preset--color--base-dark)}

/* Bloc formateurs de la page calendrier
   Les entrées reprennent le gabarit en ligne de l'encart de la fiche produit ci-dessus,
   et portent l'ancre visée par les mentions d'animation du calendrier. */
.ae-formateurs-bloc {margin-top: var(--wp--preset--spacing--lg)}

/* Catalogue des formations
   Grille de cartes, distincte du gabarit en liste du calendrier : les deux ne partagent
   aucune classe, seuls le cadre, la barre de filtres et le bouton d'action sont mutualisés.
   Le responsive de la grille est en zone 9. */
.ae-catalogue-liste, .entry-content ul.ae-catalogue-liste {display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--wp--preset--spacing--md); list-style: none; padding: 0; margin: 0; transition: opacity var(--ae-transition)}
.ae-catalogue-liste.is-filtering {opacity: 0}
.ae-catalogue-item, .entry-content .ae-catalogue .ae-catalogue-liste > li.ae-catalogue-item {display: flex; flex-direction: column; gap: var(--wp--preset--spacing--sm); padding: var(--wp--preset--spacing--md); margin: 0; list-style: none}
.ae-catalogue-item[hidden], .entry-content .ae-catalogue .ae-catalogue-liste > li.ae-catalogue-item[hidden] {display: none}
.ae-catalogue-groupe[hidden] {display: none}
.ae-catalogue-corps {display: flex; align-items: flex-start; gap: var(--wp--preset--spacing--sm); flex: 1 1 auto}
   /* Vignette du produit, ou image de remplacement WooCommerce quand la fiche n'en a pas */
.ae-catalogue-item .ae-catalogue-visuel {position: relative; flex: 0 0 auto; width: 90px; text-decoration: none}
.ae-catalogue-visuel img {width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--ae-radius); margin-bottom: 0}
   /* Formation programmée : renvoi au calendrier superposé à la vignette.
      Voile blanc plutôt que bandeau : à 90px, un bandeau lisible couvre déjà la moitié. */
.ae-catalogue-renvoi {position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: var(--wp--preset--spacing--xs); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--xs); font-weight: 700; line-height: 1.2; text-align: center; color: var(--wp--preset--color--base-dark); background: rgba(255,255,255,.7); border-radius: var(--ae-radius); transition: background var(--ae-transition)}
.ae-catalogue-visuel:hover .ae-catalogue-renvoi, .ae-catalogue-visuel:focus .ae-catalogue-renvoi {background: rgba(255,255,255,.95)}
   /* Sans image à la une, l'aplat masque le placeholder au lieu de le laisser transparaître */
.ae-catalogue-visuel-vide .ae-catalogue-renvoi {background: var(--wp--preset--color--neutral-light)}
.ae-catalogue-visuel-vide:hover .ae-catalogue-renvoi, .ae-catalogue-visuel-vide:focus .ae-catalogue-renvoi {background: var(--wp--preset--color--base-light)}
.ae-catalogue-texte {display: flex; flex-direction: column; gap: .2em; flex: 1 1 auto}
.ae-catalogue-categorie {font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: .05em; color: var(--wp--preset--color--text-medium)}
.ae-catalogue-titre {font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; line-height: 1.3; color: var(--wp--preset--color--text-dark)}
.ae-catalogue-titre:hover, .ae-catalogue-titre:focus {color: var(--wp--preset--color--base-dark)}
.ae-catalogue-niveau {font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
   /* Action contextuelle : celle du bloc stage, alignée en pied de carte.
      Le socle lien souligné atteint ces boutons via .entry-content ul li a et écrase
      leur couleur : la rétablir, comme le fait déjà .ae-finaliser .wp-element-button. */
.ae-catalogue-item .ae-stage-action, .ae-catalogue-item .ae-stage-encart {align-self: flex-start; margin-top: auto; white-space: normal}
.ae-catalogue-item .wp-element-button {color: var(--wp--preset--color--white); text-decoration: none}
.ae-catalogue-item .wp-element-button:hover, .ae-catalogue-item .wp-element-button:focus {color: var(--wp--preset--color--white)}
.ae-catalogue-item .ae-reassort-link {color: var(--wp--preset--color--base-dark)}
   /* Filet, lien du titre et bouton colorés selon la verticale du produit, data-categorie
      posé par [ae_catalogue]. Bouton calqué sur .is-style-ci/.is-style-sha (section 3) :
      le lien d'attente .ae-reassort-link garde son style outline, exclu ici. */
.ae-catalogue-item[data-categorie="ci"] {--ae-encart-bord: var(--wp--preset--color--ci)}
.ae-catalogue-item[data-categorie="sha"] {--ae-encart-bord: var(--wp--preset--color--sha)}
.ae-catalogue-item[data-categorie="ci"] .ae-catalogue-titre:hover, .ae-catalogue-item[data-categorie="ci"] .ae-catalogue-titre:focus {color: var(--wp--preset--color--ci-dark)}
.ae-catalogue-item[data-categorie="sha"] .ae-catalogue-titre:hover, .ae-catalogue-item[data-categorie="sha"] .ae-catalogue-titre:focus {color: var(--wp--preset--color--sha-dark)}
.ae-catalogue-item[data-categorie="ci"] .wp-element-button:not(.ae-reassort-link) {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--text-dark)}
.ae-catalogue-item[data-categorie="ci"] .wp-element-button:not(.ae-reassort-link):hover, .ae-catalogue-item[data-categorie="ci"] .wp-element-button:not(.ae-reassort-link):focus {background: var(--wp--preset--color--ci-dark); color: var(--wp--preset--color--white)}
.ae-catalogue-item[data-categorie="sha"] .wp-element-button:not(.ae-reassort-link) {background: var(--wp--preset--color--sha); color: var(--wp--preset--color--text-dark)}
.ae-catalogue-item[data-categorie="sha"] .wp-element-button:not(.ae-reassort-link):hover, .ae-catalogue-item[data-categorie="sha"] .wp-element-button:not(.ae-reassort-link):focus {background: var(--wp--preset--color--sha-dark); color: var(--wp--preset--color--white)}

/* Catalogue boutique */
.wp-block-woocommerce-product-collection.alignwide {margin-bottom: var(--wp--preset--spacing--md)}
.ae-shop-toolbar {margin-bottom: var(--wp--preset--spacing--md)}
.ae-shop-toolbar .woocommerce-result-count {margin: 0; color: var(--wp--preset--color--text-medium)}
.ae-shop-grid {list-style: none; padding: 0; margin: 0; gap: var(--wp--preset--spacing--md)}
.ae-shop-grid > li {list-style: none; margin: 0}
.ae-product-card {height: 100%; display: flex; flex-direction: column}
.ae-product-card .wc-block-components-product-image {margin: 0}
.ae-product-card img {width: 100%; aspect-ratio: 1/1; object-fit: cover; height: auto}
.ae-product-card-body {padding: var(--wp--preset--spacing--sm); display: flex; flex-direction: column; gap: .5em; flex: 1}
.ae-product-card-body .wp-block-post-title {font-size: var(--wp--preset--font-size--base); line-height: 1.3}
.ae-product-card-body .wp-block-post-title a {color: var(--wp--preset--color--text-dark)}
.ae-product-card-body .wp-block-post-title a:hover {color: var(--wp--preset--color--base-dark)}
.ae-product-card-body .wc-block-components-product-price {color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-weight: 700}
.ae-product-card-body .wc-block-components-product-button {margin-top: auto}
.ae-session-badge {display: inline-flex; align-items: center; gap: .5em; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium); margin: 0}
   /* Lien "Voir le panier" après ajout */
.ae-product-card .added_to_cart.wc_forward {display: inline-block; margin-top: .5em; padding: .35em 1.1em; border: 1px solid var(--wp--preset--color--base-dark); border-radius: var(--ae-pilule); color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; text-decoration: none; transition: background var(--ae-transition), color var(--ae-transition)}
.ae-product-card .added_to_cart.wc_forward:hover {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
   /* Badge promo */
.ae-product-card .wc-block-product .wc-block-components-product-sale-badge, .wc-block-product-template .wc-block-product .ae-product-card .wc-block-components-product-sale-badge {background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--text-light); border-radius: 4px; color: var(--wp--preset--color--text-dark); padding: .25em .75em; font-size: var(--wp--preset--font-size--xs); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin: var(--wp--preset--spacing--xs)}

/* Sélecteur de devise (FOX) */
.ae-currency-switcher p {margin: 0}
.ae-currency-switcher select.woocommerce-currency-switcher {appearance: none; -webkit-appearance: none; border: var(--ae-bord); border-radius: var(--ae-radius); background: var(--wp--preset--color--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23634880' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .7em center; color: var(--wp--preset--color--text-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .03em; padding: .35em 2em .35em .8em; cursor: pointer; transition: border-color var(--ae-transition)}
.ae-currency-switcher select.woocommerce-currency-switcher:hover {border-color: var(--wp--preset--color--base)}
.ae-currency-switcher form.woocommerce-currency-switcher-form {margin: 0; display: flex; align-items: center}
.ae-currency-switcher form.woocommerce-currency-switcher-form br {display: none}

/* Panier */
.ae-cart {padding-bottom: var(--wp--preset--spacing--md)}
.wc-block-cart.wc-block-components-sidebar-layout.is-large {gap: var(--wp--preset--spacing--lg)}
.wc-block-cart.is-large .wc-block-components-main {width: auto; flex: 1; padding: 0}
.wc-block-cart.is-large .wc-block-components-sidebar {width: 380px; flex-shrink: 0; background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); box-shadow: var(--ae-ombre); padding: var(--wp--preset--spacing--md); height: fit-content}
.wc-block-cart__totals-title {font-family: var(--wp--preset--font-family--source-sans); color: var(--wp--preset--color--text-dark); letter-spacing: .05em}
.wc-block-cart-items__header th {font-family: var(--wp--preset--font-family--source-sans); color: var(--wp--preset--color--text-medium); letter-spacing: .05em}
.wc-block-cart-items .wc-block-cart-items__row {border-bottom: 1px solid var(--wp--preset--color--neutral-light)}
.wc-block-components-product-name {font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; color: var(--wp--preset--color--text-dark)}
.wc-block-components-product-metadata__description {color: var(--wp--preset--color--text-medium)}
.wc-block-cart__submit-container .wc-block-cart__submit-button {border-radius: var(--ae-radius)}
.wc-block-cart.is-large .wc-block-cart-items th:last-child, .wc-block-cart.is-large .wc-block-cart-items td:last-child {padding-right: var(--wp--preset--spacing--sm)}
   /* Ventes croisées */
.wp-block-woocommerce-cart-cross-sells-block {margin-top: var(--wp--preset--spacing--lg); padding-top: var(--wp--preset--spacing--md); border-top: var(--ae-bord)}
.ae-cross-sells-title {font-size: var(--wp--preset--font-size--md)}
.wp-block-woocommerce-cart-cross-sells-block > div {display: grid; grid-template-columns: repeat(auto-fill, 180px); gap: var(--wp--preset--spacing--md); align-items: start}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block div.cross-sells-product {width: auto; padding-right: 0; margin-bottom: 0; display: flex; flex-direction: column}
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product > div:first-child {display: flex; flex-direction: column; gap: .4em}
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product > div:first-child > *:not(.wc-block-components-product-image) {padding-left: var(--wp--preset--spacing--sm); padding-right: var(--wp--preset--spacing--sm)}
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-image {margin: 0}
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-image img {width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 0}
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-title {font-size: var(--wp--preset--font-size--sm); margin: 0}
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product > .wp-block-button {padding: 0 var(--wp--preset--spacing--sm) var(--wp--preset--spacing--sm)}

/* Mini-panier header : visible seulement si le panier contient des articles */
.ae-mini-cart .wc-block-mini-cart__badge {background: var(--wp--preset--color--base-dark) !important; color: var(--wp--preset--color--white) !important}
.ae-mini-cart:has(.wc-block-mini-cart__badge[hidden]) {visibility: hidden}
   /* Anti-flash du tiroir mini-panier : masqué tant que le drawer est aria-hidden */
.wc-block-components-drawer__screen-overlay {visibility: hidden; opacity: 0; transition: opacity var(--ae-transition), visibility var(--ae-transition)}
.wc-block-components-drawer__screen-overlay:has(.wc-block-components-drawer:not([aria-hidden="true"])) {visibility: visible; opacity: 1}

/* Connexion */
.woocommerce-form-login .lost_password {text-align: right; margin-top: -3.6em; margin-bottom: 0}

/* Checkout */
.ae-checkout {padding-top: var(--wp--preset--spacing--md); padding-bottom: var(--wp--preset--spacing--xl)}
.ae-checkout .wc-block-checkout.is-large {gap: var(--wp--preset--spacing--lg)}
.ae-checkout .wc-block-checkout.is-large .wc-block-components-main {width: auto; flex: 1; padding: 0 var(--wp--preset--spacing--lg) 0 0}
.ae-checkout .wc-block-checkout.is-large .wc-block-components-sidebar {width: 400px; flex-shrink: 0; background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); box-shadow: var(--ae-ombre); padding: var(--wp--preset--spacing--md); height: fit-content}
.ae-checkout .wp-block-woocommerce-checkout-fields-block .wc-block-components-checkout-step {margin-bottom: var(--wp--preset--spacing--md)}
.ae-checkout .wc-block-components-checkout-step__heading {margin: 0}
.ae-checkout .wc-block-components-checkout-step__content > :first-child {margin-top: var(--wp--preset--spacing--xs)}
.ae-checkout .wc-block-checkout__payment-method {margin-bottom: var(--wp--preset--spacing--md)}
.ae-checkout .wc-block-checkout__order-notes {margin-top: var(--wp--preset--spacing--md); margin-bottom: var(--wp--preset--spacing--sm)}
.ae-checkout .wc-block-checkout__terms {margin-top: var(--wp--preset--spacing--sm); margin-bottom: var(--wp--preset--spacing--md); color: var(--wp--preset--color--text-medium)}
.ae-checkout .wc-block-checkout__actions {margin-bottom: 0; padding-bottom: 0}
.ae-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {margin-bottom: 0; border-radius: var(--ae-radius)}
.ae-checkout .wc-block-checkout__login-prompt {display: inline-block; background: transparent; border: 2px solid var(--wp--preset--color--base-dark); border-radius: var(--ae-radius); color: var(--wp--preset--color--base-dark); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--sm); font-weight: 700; letter-spacing: .03em; padding: .35em 1.1em; text-decoration: none; transition: background var(--ae-transition), color var(--ae-transition)}
.ae-checkout .wc-block-checkout__login-prompt:hover {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
.ae-checkout .wc-block-checkout__payment-method .wc-block-components-checkbox__label {color: var(--wp--preset--color--text-medium) !important}
.ae-checkout .wc-block-components-checkbox__label {color: var(--wp--preset--color--text-dark) !important}
.ae-checkout .wc-block-components-text-input input:placeholder-shown:not(:focus)::placeholder {color: transparent}
.ae-checkout .wc-block-components-form label, .ae-checkout .wc-block-components-form .components-base-control__label {color: var(--wp--preset--color--text-dark) !important}
.ae-checkout .wc-block-components-text-input input, .ae-checkout .wc-block-components-textarea textarea, .ae-checkout .wc-block-components-select select {color: var(--wp--preset--color--text-dark)}
.ae-checkout-legal {margin: 0 0 var(--wp--preset--spacing--sm); font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--text-medium)}
   /* Footer checkout */
.ae-checkout-footer a {color: var(--wp--preset--color--white)}
.ae-fx-notice {margin: var(--wp--preset--spacing--sm) 0 0; color: var(--wp--preset--color--text-medium); font-size: .85rem}

/* Confirmation de commande */
   /* Titres des sections de commande : adresse de facturation, informations complémentaires
      woocommerce-blocktheme.css les impose en 36px et 300 via .woocommerce-page .woocommerce-column__title
      On revient au gabarit de titre du thème, comme « Détails de la commande » juste au-dessus */
.woocommerce-page .woocommerce-column__title, .woocommerce-page .woocommerce-customer-details h2 {font-size: var(--wp--preset--font-size--xxl); font-weight: 600}
.ae-order-confirmation {padding-top: var(--wp--preset--spacing--md); padding-bottom: var(--wp--preset--spacing--xl)}
.ae-order-confirmation .ae-title {margin-bottom: var(--wp--preset--spacing--md)}
.ae-order-confirmation .wc-block-order-confirmation-summary {margin-bottom: var(--wp--preset--spacing--lg)}
.ae-order-confirmation h2 {margin: var(--wp--preset--spacing--md) 0 var(--wp--preset--spacing--sm)}
.ae-order-confirmation table {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); overflow: hidden; box-shadow: var(--ae-ombre)}
.ae-order-confirmation table th, .ae-order-confirmation table td {padding: .8em 1em}
.ae-order-confirmation .wc-block-order-confirmation-billing-address, .ae-order-confirmation .wc-block-order-confirmation-shipping-address {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); box-shadow: var(--ae-ombre); padding: var(--wp--preset--spacing--md)}
.ae-order-confirmation .wc-block-order-confirmation-summary ul {list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--md)}
.ae-order-confirmation .wc-block-order-confirmation-summary li {list-style: none; margin: 0}
.ae-order-confirmation .wc-block-order-confirmation-summary li::before {display: none}
.wc-block-order-confirmation-totals table ul.wc-item-meta {margin: .4em 0 0; padding: 0; font-size: .9em}
.wc-block-order-confirmation-totals table ul.wc-item-meta li {margin: 0; padding: 0; list-style: none}
.wc-block-order-confirmation-totals table ul.wc-item-meta li p {display: inline; margin: 0}
.wc-block-order-confirmation-totals table ul.wc-item-meta .wc-item-meta-label {font-weight: 700; margin-right: .3em}

/* Mon compte */
.woocommerce-account .woocommerce {display: flex; gap: var(--wp--preset--spacing--lg); align-items: flex-start; flex-wrap: wrap}
.woocommerce-MyAccount-navigation {width: 260px; flex-shrink: 0; background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); box-shadow: var(--ae-ombre); padding: var(--wp--preset--spacing--sm)}
.woocommerce-MyAccount-navigation ul {list-style: none; margin: 0; padding: 0}
.woocommerce-MyAccount-navigation li {list-style: none; margin: 0}
.woocommerce-MyAccount-navigation a {display: block; padding: .6em .9em; border-radius: var(--ae-radius); color: var(--wp--preset--color--text-dark); text-decoration: none; font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; transition: background var(--ae-transition), color var(--ae-transition)}
.woocommerce-MyAccount-navigation a:hover {background: var(--wp--preset--color--neutral-light)}
.woocommerce-account nav.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active a {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {color: var(--wp--preset--color--sha-dark)}
.woocommerce-MyAccount-content {flex: 1; min-width: 300px}
.woocommerce-account td.woocommerce-orders-table__cell-order-actions a.button {display: inline-block; background: transparent; border: 1px solid var(--wp--preset--color--base-dark); color: var(--wp--preset--color--base-dark); padding: .3em 1em; border-radius: var(--ae-pilule); font-size: var(--wp--preset--font-size--sm); margin-right: .8em}
.woocommerce-account td.woocommerce-orders-table__cell-order-actions a.button:hover {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white)}
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table {background: var(--wp--preset--color--base-light); border-radius: var(--ae--radius-lg); overflow: hidden}
.woocommerce-account .woocommerce-orders-table th, .woocommerce-account .woocommerce-orders-table td {padding: .8em}
.woocommerce-MyAccount-content .woocommerce-Button, .woocommerce-MyAccount-content button.button {border-radius: var(--ae-radius)}
.woocommerce-MyAccount-content a.button, .woocommerce-MyAccount-content .woocommerce-Button {display: inline-block; background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; padding: .6em 1.4em; border-radius: var(--ae-radius); text-decoration: none; transition: background var(--ae-transition)}
.woocommerce-MyAccount-content a.button:hover, .woocommerce-MyAccount-content .woocommerce-Button:hover {background: var(--wp--preset--color--base)}
   /* Moyens de paiement */
.woocommerce-MyAccount-content #payment ul.payment_methods {list-style: none; padding: 0; margin: 0}
.woocommerce-MyAccount-content #payment ul.payment_methods li {list-style: none; margin: 0}
.woocommerce-MyAccount-content #payment ul.payment_methods li::marker {content: none}
.woocommerce-MyAccount-content #payment ul.payment_methods li::before {display: none}
.woocommerce-MyAccount-content #payment input.input-radio {display: inline-block; vertical-align: middle; margin-right: .5em}
.woocommerce-MyAccount-content #payment label {display: inline; vertical-align: middle; font-family: var(--wp--preset--font-family--source-sans); font-weight: 700}
.woocommerce-MyAccount-content #payment, .woocommerce-MyAccount-content .woocommerce-PaymentBox {background: transparent}
.woocommerce-MyAccount-content .woocommerce-PaymentBox {padding: var(--wp--preset--spacing--sm) 0 0}
.woocommerce-MyAccount-content form#add_payment_method {background: var(--wp--preset--color--white); border-radius: var(--ae-radius-lg); box-shadow: var(--ae-ombre); padding: var(--wp--preset--spacing--md)}

/* Accompagnement individuel : encart de finalisation */
.ae-finaliser {background: var(--wp--preset--color--ci); border-radius: var(--ae-radius-lg); padding: var(--wp--preset--spacing--md); margin-top: var(--wp--preset--spacing--lg)}
.ae-finaliser h2 {margin-top: 0}
.ae-finaliser .wp-element-button {color: var(--wp--preset--color--white); text-decoration: none}
.ae-finaliser .wp-element-button:hover {color: var(--wp--preset--color--white)}

/* ================================================================
   Footer & utilitaires
   ----------------------------------------------------------------
   Sommaire :
   - Sommaire (ae_toc)
   - Footer (base + structure)
   - Back to top
   - Vidéos / iframes
   - Lightbox
   - Pagination
   - Accessibilité
================================================================ */

/* Sommaire */
.ae-toc ul {list-style: none; padding: 0 0 0 1.3em; margin: 0}
.ae-toc li {padding: .3em 0; border-bottom: var(--ae-bord)}
.ae-toc li:last-child {border-bottom: none}
.ae-toc a {color: var(--wp--preset--color--text-dark); font-size: .875rem; transition: color var(--ae-transition)}
.ae-toc a:hover {color: var(--wp--preset--color--base-dark)}

/* Footer */
.wp-block-template-part[data-slug="footer"], footer.wp-block-template-part {background: var(--wp--preset--color--base-dark); border-top: none; color: var(--wp--preset--color--white)}
.ae-footer-main {padding: var(--wp--preset--spacing--lg) 0}
.ae-footer-social .wp-social-link a {transition: opacity var(--ae-transition)}
.ae-footer-social .wp-social-link a:hover {opacity: .8}
footer .wp-block-site-logo, .wp-block-template-part[data-slug="footer"] .wp-block-site-logo {margin-bottom: var(--wp--preset--spacing--md)}
footer .wp-block-site-logo img, .wp-block-template-part[data-slug="footer"] .wp-block-site-logo img {width: 200px; max-width: 100%; height: auto}
.ae-footer-content h2 {font-size: var(--wp--preset--font-size--xxl); line-height: 1.25; margin-bottom: .6em; color: var(--wp--preset--color--white)}
.ae-footer-content h2::after {display: block; content: ""; width: 50px; height: 3px; background: var(--wp--preset--color--base); margin: .6em 0}
.ae-footer-content p {color: var(--wp--preset--color--neutral); font-size: .875rem; line-height: 1.65}
.ae-footer-content p:not(:last-child) {margin-bottom: 1em}
.ae-footer-content p a {color: var(--wp--preset--color--white); text-decoration: underline; text-decoration-color: var(--wp--preset--color--base); text-underline-offset: 3px; transition: text-decoration-color var(--ae-transition)}
.ae-footer-content p a:hover {text-decoration-color: var(--wp--preset--color--white)}
.ae-footer-content .wp-block-site-title {font-size: var(--wp--preset--font-size--xxl); font-family: var(--wp--preset--font-family--source-sans); font-weight: 700; line-height: 1.25; margin-bottom: .6em; color: var(--wp--preset--color--white)}
.ae-footer-content .wp-block-site-title::after {display: block; content: ""; width: 50px; height: 3px; background: var(--wp--preset--color--base); margin: .6em 0}
.ae-footer-copyright {padding: var(--wp--preset--spacing--sm) 0; border-top: 1px solid rgba(255,255,255,.2); gap: var(--wp--preset--spacing--md)}
.ae-footer-copyright p {font-family: var(--wp--preset--font-family--source-sans); font-size: .875rem; color: var(--wp--preset--color--neutral); letter-spacing: .03em}
.ae-footer-copyright p a {color: var(--wp--preset--color--white); text-decoration: underline; text-underline-offset: 3px; transition: text-decoration-color var(--ae-transition)}
.ae-footer-copyright p a:hover {text-decoration-color: transparent}
.ae-footer-copyright .wp-block-navigation a {font-family: var(--wp--preset--font-family--source-sans); font-size: .875rem; color: var(--wp--preset--color--neutral) !important; letter-spacing: .03em; text-decoration: underline; text-underline-offset: 3px; padding: 0; transition: color var(--ae-transition)}
.ae-footer-copyright .wp-block-navigation a:hover {color: var(--wp--preset--color--white) !important}
.ae-footer-copyright .wp-block-navigation {gap: var(--wp--preset--spacing--sm)}
   /* Structure */
.ae-footer {padding-top: 0; padding-bottom: 0}
.ae-footer-logo {align-self: flex-start}
.ae-footer-heading {color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--lg); margin-bottom: var(--wp--preset--spacing--sm)}
.ae-footer-heading::after {display: none}
.ae-footer-desc {color: var(--wp--preset--color--neutral); font-size: var(--wp--preset--font-size--sm); line-height: 1.4}
.ae-footer-brand {text-align: left}
.ae-footer-social {margin-top: var(--wp--preset--spacing--sm)}
.ae-footer-newsletter-label {color: var(--wp--preset--color--neutral); font-size: var(--wp--preset--font-size--sm)}
.ae-footer-search .wp-block-search__input {background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: var(--wp--preset--color--white)}
.ae-footer-search .wp-block-search__input::placeholder {color: var(--wp--preset--color--neutral)}
.ae-footer-search .wp-block-search__button {background: var(--wp--preset--color--base)}
.ae-footer-search .wp-block-search__button:hover {background: var(--wp--preset--color--base-hover)}

/* Back to top */
#back-to-top {position: fixed; bottom: 2rem; right: 2rem; width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; background: var(--wp--preset--color--base); color: var(--wp--preset--color--white); border: none; border-radius: 50%; cursor: pointer; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity var(--ae-transition), background var(--ae-transition); z-index: 999; line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,.15)}
#back-to-top.visible {opacity: 1; pointer-events: auto}
#back-to-top:hover {background: var(--wp--preset--color--base-dark)}

/* Vidéos / iframes */
.wp-block-embed, .wp-block-video {margin: 1.5em auto; width: 100%; max-width: 100%; box-sizing: border-box}
.wp-block-embed__wrapper {position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; width: 100%}
.wp-block-embed__wrapper iframe {width: 100%; height: 100%; border-radius: var(--ae-radius-md); position: absolute; top: 0; left: 0}
.entry-content p > iframe[src*="youtube"], .entry-content p > iframe[src*="vimeo"], .entry-content iframe[src*="youtube"], .entry-content iframe[src*="vimeo"], .entry-content iframe[src*="dailymotion"] {width: 100%; height: auto; aspect-ratio: 16/9; border-radius: var(--ae-radius-md)}
.entry-content iframe:not(.wp-block-embed__wrapper iframe) {display: block; margin: 0 auto}

/* Lightbox */
#tipi-lightbox {display: none; position: fixed; inset: 0; background: rgba(0,0,0,.75); z-index: 9999; align-items: center; justify-content: center; cursor: pointer; flex-direction: column}
#tipi-lightbox.active {display: flex}
#tipi-lightbox figure {position: relative; margin: 0; text-align: center; cursor: default}
#tipi-lightbox img {max-width: 90vw; max-height: 80vh; border-radius: var(--ae-radius-md); display: block; box-shadow: 0 0 40px rgba(0,0,0,.8)}
#tipi-lightbox figcaption {color: var(--wp--preset--color--white); font-size: .9rem; text-align: center; margin-top: .6em; opacity: .8}
#tipi-lightbox-close {position: absolute; top: 1rem; right: 1.2rem; color: var(--wp--preset--color--white); font-size: 2rem; line-height: 1; cursor: pointer; background: none; border: none; padding: 0; opacity: .7; transition: opacity var(--ae-transition)}
#tipi-lightbox-close:hover {opacity: 1}
#tipi-lightbox-prev, #tipi-lightbox-next {position: absolute; top: 50%; transform: translateY(-50%); color: var(--wp--preset--color--white); font-size: 3rem; line-height: 1; cursor: pointer; background: none; border: none; padding: 0 1rem; opacity: .6; transition: opacity var(--ae-transition); z-index: 10000}
#tipi-lightbox-prev {left: 0}
#tipi-lightbox-next {right: 0}
#tipi-lightbox-prev:hover, #tipi-lightbox-next:hover {opacity: 1}

/* Pagination */
.wp-block-query-pagination {gap: .4em}
.wp-block-query-pagination .page-numbers {background: var(--wp--preset--color--white); color: var(--wp--preset--color--text-dark); padding: .4em .8em; border-radius: var(--ae-radius); font-family: var(--wp--preset--font-family--source-sans); font-size: .875rem; font-weight: 700; transition: background var(--ae-transition), color var(--ae-transition); border: var(--ae-bord)}
.wp-block-query-pagination .page-numbers:hover {background: var(--wp--preset--color--ci); color: var(--wp--preset--color--base-dark)}
.wp-block-query-pagination .page-numbers.current {background: var(--wp--preset--color--base-dark); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--base-dark)}

/* Accessibilité */
:focus-visible {outline: 2px solid var(--wp--preset--color--base); outline-offset: 2px}
.screen-reader-text {border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px}

/* ================================================================
   Responsive
   ----------------------------------------------------------------
   Toutes les media queries du thème sont regroupées ici.
================================================================ */

   /* Point de rupture propre à la grille du catalogue : trois colonnes ne tiennent plus */
@media screen and (max-width: 1024px) {
   .ae-catalogue-liste, .entry-content ul.ae-catalogue-liste {grid-template-columns: repeat(2, 1fr)}
}

@media screen and (max-width: 782px) {
   .entry-content .wp-block-query .wp-block-post-template {grid-template-columns: 1fr}
   .wp-block-query {grid-template-columns: 1fr}
   .single .ae-content {flex-direction: column}
   .single .ae-content > .wp-block-column {flex-basis: 100% !important; position: static !important}
   .admin-bar .wp-block-template-part[data-slug="header"], .admin-bar header.wp-block-template-part {top: 46px}
   .wp-block-template-part[data-slug="header"] .wp-block-site-logo img, header.wp-block-template-part .wp-block-site-logo img {width: 150px}
   footer .wp-block-site-logo img, .wp-block-template-part[data-slug="footer"] .wp-block-site-logo img {width: 150px}
   .wp-block-site-logo img {max-width: 100%; height: auto}
   .wp-block-site-logo {overflow: visible; flex-shrink: 1; min-width: 0}
   .wp-block-site-logo a {display: inline-block}
   .wp-block-template-part[data-slug="header"] .alignwide, header.wp-block-template-part .alignwide, .wp-block-template-part[data-slug="footer"] .alignwide, footer.wp-block-template-part .alignwide {padding-left: var(--wp--preset--spacing--sm); padding-right: var(--wp--preset--spacing--sm); box-sizing: border-box; max-width: 100%}
   .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {text-align: center}
   .wp-block-post-navigation-link a {font-size: .8rem}
   .ae-author-box {flex-direction: column; align-items: center; text-align: center}
   .ae-author-box h1::after {margin-left: auto; margin-right: auto}
   .ae-author-links {justify-content: center}
   #tipi-lightbox img {max-width: 80vw}
   #tipi-lightbox-prev, #tipi-lightbox-next {font-size: 2rem}
   #back-to-top {bottom: 1rem; right: 1rem}
   .ae-footer-copyright {flex-direction: column; align-items: center}
   .ae-footer-copyright .wp-block-navigation a {text-decoration: none}
   .ae-footer-copyright .wp-block-navigation a:hover {text-decoration: none}
   .ae-stage-item, .ae-formateur-item, .entry-content .ae-stage .ae-stage-liste > li.ae-stage-item {flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--xs)}
   .ae-stage-date {min-width: 0}
   .ae-catalogue-liste, .entry-content ul.ae-catalogue-liste {grid-template-columns: 1fr}
   .post-type-archive-ae_formateur .wp-block-post-template {grid-template-columns: 1fr}
   .ae-formateur-entete .wp-block-column:first-child {max-width: 220px; margin-right: auto; margin-left: auto}
}

@media screen and (max-width: 480px) {
   h1, .wp-block-post-title {font-size: 1.875rem}
   h2 {font-size: 1.5rem}
}

/* Impression : fiche produit (bouton .ae-print-button) */
@media print {
   body {background: var(--wp--preset--color--white); color: var(--wp--preset--color--text-dark)}
   .site-header, .site-footer, .wp-block-woocommerce-store-notices, .wp-block-woocommerce-add-to-cart-with-options, .ae-currency-switcher, .wp-block-woocommerce-product-gallery-thumbnails, .wp-block-woocommerce-product-gallery-large-image-next-previous, .wp-block-woocommerce-product-collection, .ae-print-button {display: none}
   a {color: var(--wp--preset--color--text-dark); text-decoration: none}
}