/*
Theme Name: Flora Tristan
Theme URI: https://lpfloratristan.fr
Description: Thème enfant de Twenty Twenty-Five pour le Lycée Professionnel Flora Tristan (Académie de Bordeaux).
Author: Lycée Flora Tristan
Template: twentytwentyfive
Version: 4.9.1
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: flora-tristan
*/

:root {
	--flora-navy: #1a2b6b;
	--flora-navy-dark: #111e4f;
	--flora-gold: #c4922a;
	--flora-gold-text: #8a6212;
	--flora-canvas: #f8f9fc;
	--flora-tint: #eef0f8;
	--flora-border: #e5e7eb;
	--flora-muted: #667085;
	--flora-radius: 1rem;
	--flora-shadow: 0 10px 30px rgb(17 30 79 / 10%);
	--flora-shadow-hover: 0 18px 40px rgb(17 30 79 / 16%);
	--flora-gutter: clamp(1rem, 4vw, 1.5rem);
}

html { scroll-behavior: smooth; }
body { margin: 0; }
:where(a, button):focus-visible { outline: 3px solid var(--flora-gold); outline-offset: 3px; }
a { text-underline-offset: 0.2em; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

/* Structure ------------------------------------------------------------ */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.site-main { margin: 0; }
.site-main > * + * { margin-block-start: 0; }
.flora-wrap { box-sizing: border-box; margin-inline: auto; max-width: 1280px; padding-inline: var(--flora-gutter); width: 100%; }
.flora-wrap--narrow { max-width: calc(760px + 2 * var(--flora-gutter)); }
.section { padding-block: clamp(3rem, 7vw, 5rem); }
.section-head { align-items: flex-end; margin-bottom: 2.5rem; }
.section-head > * { margin-block: 0; }
.kicker { color: var(--flora-gold-text); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.12em; margin: 0 0 0.5rem; text-transform: uppercase; }
.news-section .kicker, .hero-flora .kicker, .page-hero .kicker, .page-hero .kicker a { color: var(--flora-gold); text-decoration: none; }

/* En-tête -------------------------------------------------------------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar header.wp-block-template-part { top: 32px; }
.site-header { align-items: center; background: var(--flora-navy); box-shadow: 0 8px 24px rgb(17 30 79 / 18%); gap: 1rem; min-height: 4rem; padding: 0.5rem max(var(--flora-gutter), calc((100% - 1280px) / 2 + var(--flora-gutter))); }
.site-logo-img { margin: 0; }
.site-logo-img img { display: block; height: 3rem; object-fit: contain; width: auto; }
.site-nav { color: #fff; font-size: 0.9375rem; }
.site-nav .wp-block-navigation-item__content { border-radius: 8px; color: rgb(255 255 255 / 85%); padding: 0.5rem 0.9rem; text-decoration: none; }
.site-nav .wp-block-navigation-item__content:hover { background: rgb(255 255 255 / 10%); color: #fff; }
.site-nav .current-menu-item > a { color: #fff; box-shadow: inset 0 -2px 0 var(--flora-gold); border-radius: 0; }
.site-nav .nav-pronote > a { align-items: center; background: var(--flora-gold); color: var(--flora-navy); display: inline-flex; gap: 0.5rem; margin-inline-start: 0.5rem; min-height: 44px; }
.site-nav .nav-pronote > a::before { background: var(--flora-navy-dark); content: ""; height: 1.5rem; -webkit-mask: url("assets/images/pronote.png") center / contain no-repeat; mask: url("assets/images/pronote.png") center / contain no-repeat; width: 1.5rem; }
.site-nav .nav-pronote > a:hover { background: var(--flora-gold); box-shadow: 0 4px 14px rgb(196 146 42 / 40%); color: var(--flora-navy-dark); }
.site-nav .wp-block-navigation__responsive-container-open, .site-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.site-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--flora-navy-dark); color: #fff; padding: 1.5rem; }
.site-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; padding: 0.9rem 0.5rem; }
@media (max-width: 781px) { .admin-bar header.wp-block-template-part { top: 46px; } .site-logo-img img { height: 2.5rem; } }

@media (max-width: 1180px) { .site-nav { font-size: 0.8125rem; } .site-nav .wp-block-navigation-item__content { padding: 0.5rem 0.55rem; } .site-logo-img img { height: 2.5rem; } }

/* Menu principal : espacement et bascule en menu burger sous 1240px */
.site-nav .wp-block-navigation__container { align-items: center; flex-wrap: nowrap; gap: 0.25rem 0.35rem; }
.site-nav .wp-block-navigation-item { margin: 0; }
.site-nav .wp-block-navigation-item__content { align-items: center; display: inline-flex; gap: 0.35rem; white-space: nowrap; }
.site-nav .wp-block-navigation__submenu-icon { margin: 0; margin-inline-start: 0.25rem; }
.site-nav .wp-block-navigation__submenu-icon svg { height: 0.7em; width: 0.7em; }
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; }
@media (min-width: 600px) and (max-width: 1239px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.site-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
.site-nav .is-menu-open .wp-block-navigation-item__content { white-space: normal; }

/* Boutons -------------------------------------------------------------- */
.wp-block-buttons { gap: 0.75rem; }
.wp-block-button__link { border: 2px solid transparent; font-weight: 700; min-height: 44px; text-decoration: none; transition: background-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease; }
.btn-gold .wp-block-button__link { background: var(--flora-gold); color: var(--flora-navy); box-shadow: 0 8px 20px rgb(196 146 42 / 22%); }
.btn-gold .wp-block-button__link:hover { background: var(--flora-gold); box-shadow: 0 10px 26px rgb(196 146 42 / 45%); color: var(--flora-navy-dark); transform: translateY(-2px); }
.btn-navy .wp-block-button__link { background: var(--flora-navy); color: #fff; }
.btn-navy .wp-block-button__link:hover { background: var(--flora-navy-dark); color: #fff; }
.btn-outline-navy .wp-block-button__link { background: transparent; border-color: var(--flora-navy); color: var(--flora-navy); }
.btn-outline-navy .wp-block-button__link:hover { background: var(--flora-navy); color: #fff; }
.btn-outline-light .wp-block-button__link { background: transparent; border-color: rgb(255 255 255 / 40%); color: #fff; }
.btn-outline-light .wp-block-button__link:hover { background: transparent; border-color: #fff; color: #fff; }

/* Bandeau de bienvenue ------------------------------------------------ */
.welcome-band { background: #fff; border-bottom: 1px solid var(--flora-border); }
.welcome-band__inner { align-items: center; gap: 1.5rem 3rem; padding-block: 1.25rem; }
.welcome-band__text { flex: 1 1 24rem; max-width: 40rem; }
.welcome-band__text > * { margin-block: 0; }
.welcome-band__text h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.welcome-band__text .kicker { color: var(--flora-gold-text); }
.welcome-band__img { flex: 0 1 26rem; margin: 0; }
.welcome-band__img img { aspect-ratio: 16 / 7; border-radius: var(--flora-radius); display: block; height: auto; object-fit: cover; width: 100%; }
@media (max-width: 781px) { .welcome-band__img { flex-basis: 100%; } }

/* Hero ----------------------------------------------------------------- */
.hero-flora, .page-hero { background-color: var(--flora-navy); background-image: radial-gradient(circle, rgb(196 146 42 / 18%) 1.5px, transparent 1.5px); background-size: 40px 40px; color: #fff; overflow: hidden; position: relative; }
.hero-flora { padding-block: clamp(3.5rem, 9vw, 7rem) clamp(5rem, 11vw, 8rem); }
.hero-flora::after, .page-hero::after { background: var(--flora-canvas); bottom: -1px; content: ""; height: clamp(24px, 4vw, 56px); left: 0; position: absolute; right: 0; clip-path: ellipse(75% 100% at 50% 100%); }
.hero-flora h1, .hero-flora p, .page-hero h1, .news-section h2, .news-section h3, .news-section h3 a { color: #fff; }
.hero-title { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 900; margin: 0 0 1.5rem; }
.hero-accent { color: var(--flora-gold); display: block; }
.hero-intro { color: rgb(255 255 255 / 80%) !important; font-size: 1.125rem; margin: 0 0 2rem; max-width: 30rem; }
.hero-cols { gap: 3rem; margin: 0; }
.hero-stats { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hero-stat { backdrop-filter: blur(8px); background: rgb(255 255 255 / 10%); border: 1px solid rgb(255 255 255 / 20%); border-radius: var(--flora-radius); padding: 1.25rem; }
.hero-stat--wide { grid-column: 1 / -1; }
.hero-stat p { margin: 0; }
.hero-stat__value { color: var(--flora-gold) !important; font-size: 1.875rem; font-weight: 900; line-height: 1.2; }
.hero-stat__label { font-size: 0.9375rem; font-weight: 700; }
.page-hero { padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3.5rem, 7vw, 5.5rem); }
.page-hero h1 { margin: 0; }
.page-hero__lead { color: rgb(255 255 255 / 80%) !important; font-size: 1.125rem; margin: 1rem 0 0; max-width: 40rem; }
.page-hero .wp-block-post-excerpt__excerpt { margin: 1rem 0 0; }

/* Accès Pronote -------------------------------------------------------- */
.pronote-wrap { margin-top: -2.5rem; position: relative; z-index: 2; }
.pronote-access, .formation-card, .contact-card, .formation-infos { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); }
.pronote-access { align-items: center; gap: 1.5rem; padding: 1.5rem; }
.pronote-access__id { align-items: center; gap: 1rem; }
.pronote-access p { margin: 0; }
.pronote-access__title { color: var(--flora-navy); font-size: 1.125rem; font-weight: 900; }
.pronote-access__text { color: var(--flora-muted); font-size: 0.875rem; }

/* Formations ----------------------------------------------------------- */
ul.formation-grid.is-layout-grid { align-items: stretch; gap: 1rem; padding: 0; }
@media (max-width: 1100px) { ul.formation-grid.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { ul.formation-grid.is-layout-grid { grid-template-columns: minmax(0, 1fr); } }
.formation-card { box-sizing: border-box; height: 100%; padding: 1.25rem; position: relative; transition: box-shadow 180ms ease, transform 180ms ease; }
.formation-card > * { margin-block: 0; }
.formation-card:hover, .formation-card:has(a:focus-visible) { box-shadow: var(--flora-shadow-hover); transform: translateY(-4px); }
.formation-card:has(a:focus-visible) { outline: 3px solid var(--flora-gold); outline-offset: 3px; }
.formation-card a:focus-visible { outline: 0; }
.formation-icon { align-items: center; background: #fdf4e7; border-radius: 0.75rem; display: flex; flex: none; height: 3.5rem; justify-content: center; margin: 0 0 1rem; width: 3.5rem; }
.formation-card .formation-icon { margin-bottom: 1rem; }
.formation-icon img { height: 2.25rem; object-fit: contain; width: 2.25rem; }
.formation-badge { margin: 0 0 0.5rem; }
.formation-badge a { background: var(--flora-tint); border-radius: 999px; color: var(--flora-navy); display: inline-block; font-size: 0.75rem; font-weight: 700; margin: 0 0.35rem 0.25rem 0; padding: 0.2rem 0.65rem; pointer-events: none; text-decoration: none; text-transform: uppercase; }
.formation-badge--light a { background: rgb(255 255 255 / 14%); color: #fff; }
.formation-card h3 { font-size: 1rem; font-weight: 900; line-height: 1.3; margin: 0 0 0.5rem; }
.formation-card h3 a { color: var(--flora-navy); text-decoration: none; }
.formation-card h3 a::after { content: ""; inset: 0; position: absolute; }
.formation-desc, .formation-desc p { color: var(--flora-muted); font-size: 0.875rem; line-height: 1.6; margin: 0; }
.formation-card::after { color: var(--flora-navy); content: "En savoir plus →"; display: block; font-size: 0.8125rem; font-weight: 700; margin-top: 1rem; opacity: 0; transition: opacity 180ms ease; }
.formation-card:hover::after, .formation-card:has(a:focus-visible)::after { opacity: 1; }
@media (hover: none) { .formation-card::after { opacity: 1; } }

/* Actualités ----------------------------------------------------------- */
.news-section { background: var(--flora-navy); color: #fff; }
.news-section .section-head { display: block; }
ul.news-grid.is-layout-grid { gap: 1.5rem; margin-bottom: 2.5rem; padding: 0; }
@media (max-width: 900px) { ul.news-grid.is-layout-grid { grid-template-columns: minmax(0, 1fr); } }
.news-card { backdrop-filter: blur(8px); background: rgb(255 255 255 / 10%); border: 1px solid rgb(255 255 255 / 20%); border-radius: var(--flora-radius); box-sizing: border-box; color: rgb(255 255 255 / 80%); height: 100%; padding: 1.5rem; position: relative; transition: background-color 180ms ease; }
.news-card > * { margin-block: 0; }
.news-card:hover, .news-card:has(a:focus-visible) { background: rgb(255 255 255 / 15%); }
.news-meta { align-items: center; gap: 0.5rem; margin-bottom: 1rem !important; }
.news-meta .wp-block-post-date { color: rgb(255 255 255 / 70%); margin: 0; }
.news-tag a, .news-tag { color: var(--flora-navy); text-decoration: none; }
.news-tag a { background: var(--flora-gold); border-radius: 999px; display: inline-block; font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.75rem; pointer-events: none; }
.news-card h3 { font-size: 1.125rem; font-weight: 900; line-height: 1.3; margin-bottom: 0.75rem; }
.news-card h3 a { text-decoration: none; }
.news-card h3 a::after { content: ""; inset: 0; position: absolute; }
.news-card .wp-block-post-excerpt { font-size: 0.9375rem; }
.news-card .wp-block-post-excerpt__excerpt { margin: 0 0 1.25rem; }
.news-card .wp-block-post-excerpt__more-link { color: var(--flora-gold); font-weight: 700; text-decoration: none; }
.news-card .wp-block-post-excerpt__more-link::after { content: " →"; }
/* Archive d'actualités sur fond clair */
.news-grid--light .news-card { background: #fff; border-color: var(--flora-border); box-shadow: var(--flora-shadow); color: var(--flora-muted); }
.news-grid--light .news-card:hover { background: #fff; box-shadow: var(--flora-shadow-hover); }
.news-grid--light .news-card h3 a { color: var(--flora-navy); }
.news-grid--light .news-meta .wp-block-post-date { color: var(--flora-muted); }
.news-grid--light .wp-block-post-excerpt__more-link { color: var(--flora-gold-text); }
.wp-block-query-pagination { gap: 1rem; margin-top: 2.5rem; }

/* Établissement / carte contact --------------------------------------- */
.etab-cols { gap: 3rem; margin: 0; }
.check-list { list-style: none; padding: 0; }
.check-list li { padding-inline-start: 2rem; position: relative; margin-bottom: 0.75rem; }
.check-list li::before { background: var(--flora-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2b6b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 0.75rem no-repeat; border-radius: 50%; content: ""; height: 1.25rem; left: 0; position: absolute; top: 0.2rem; width: 1.25rem; }
.contact-card { overflow: hidden; }
.contact-card__title { background: var(--flora-navy); color: #fff; font-size: 1.125rem; font-weight: 900; margin: 0; padding: 1rem 1.5rem; }
.contact-card__list { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 1.5rem; }
.contact-card__list li { align-items: flex-start; display: flex; gap: 1rem; }
.contact-card__icon { align-items: center; background: #fdf4e7; border-radius: 0.75rem; color: var(--flora-navy); display: flex; flex: none; height: 2.5rem; justify-content: center; width: 2.5rem; }
.contact-card__label { color: var(--flora-muted); display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.contact-card__value { color: var(--flora-navy); display: block; font-size: 0.9375rem; font-weight: 700; }
.contact-card__value a { color: inherit; }
.contact-card__empty { color: var(--flora-muted); font-size: 0.875rem; margin: 0; padding: 0 1.5rem 1rem; }
.contact-card__cta { background: var(--flora-navy); border-radius: 12px; color: #fff; display: block; font-weight: 700; margin: 0 1.5rem 1.5rem; min-height: 44px; padding: 0.75rem; text-align: center; text-decoration: none; box-sizing: border-box; }
.contact-card__cta:hover { background: var(--flora-navy-dark); color: #fff; }
.contact-card__cta::after { content: " →"; }

/* Formation (fiche) ---------------------------------------------------- */
.formation-cols { gap: 3rem; margin: 0; }
.formation-infos { margin-bottom: 1.5rem; padding: 1.5rem; }
.formation-infos__title { font-size: 1.125rem; margin: 0 0 1rem; }
.formation-infos dl { margin: 0; }
.formation-infos dt { color: var(--flora-gold-text); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; margin-top: 1rem; text-transform: uppercase; }
.formation-infos dt:first-child { margin-top: 0; }
.formation-infos dd { margin: 0.25rem 0 0; }
.formation-infos__link { display: inline-block; font-weight: 700; margin-top: 1.25rem; }

/* Documents ------------------------------------------------------------ */
.doc-groups { display: grid; gap: 2.5rem; }
.doc-group__title { font-size: 1.375rem; margin: 0 0 1rem; }
.doc-list { display: grid; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }
.doc-item__link { align-items: center; background: #fff; border: 1px solid var(--flora-border); border-radius: 12px; color: var(--flora-navy); display: flex; gap: 1rem; min-height: 44px; padding: 0.9rem 1.1rem; text-decoration: none; transition: box-shadow 180ms ease; }
.doc-item__link:hover { box-shadow: var(--flora-shadow); }
.doc-item__ext { background: var(--flora-tint); border-radius: 8px; flex: none; font-size: 0.75rem; font-weight: 800; padding: 0.35rem 0.55rem; }
.doc-item__body { display: grid; flex: 1; gap: 0.15rem; }
.doc-item__title { font-weight: 800; }
.doc-item__desc, .doc-item__size { color: var(--flora-muted); font-size: 0.875rem; }

/* Pied de page --------------------------------------------------------- */
.site-footer { background: var(--flora-navy-dark); color: #fff; padding-block: 3rem 1.5rem; }
.site-footer a { color: rgb(255 255 255 / 80%); text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.footer-cols { gap: 2rem; margin-bottom: 2.5rem; }
.footer-logo { margin: 0 0 1rem; }
.footer-logo img { height: 3.5rem; object-fit: contain; width: auto; }
.footer-mission { color: rgb(255 255 255 / 75%); font-size: 0.9375rem; max-width: 20rem; }
.footer-title { color: var(--flora-gold); font-size: 0.9375rem; font-weight: 900; margin: 0 0 1rem; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li, .footer-links .wp-block-post-title { margin: 0 0 0.5rem; padding: 0; font-size: 0.875rem; }
.footer-links .wp-block-post-title { font-weight: 400; }
.footer-bottom { border-top: 1px solid rgb(255 255 255 / 12%); gap: 0.5rem 1.5rem; padding-top: 1.5rem; }
.footer-bottom p { color: rgb(255 255 255 / 70%); margin: 0; }

/* Barre utilitaire + sous-menus ---------------------------------------- */
.utility-bar { background: var(--flora-navy-dark); border-bottom: 1px solid rgb(255 255 255 / 10%); color: #fff; font-size: 0.8125rem; font-weight: 600; padding-block: 0.5rem; padding-inline: max(var(--flora-gutter), calc((100% - 1280px) / 2 + var(--flora-gutter))); }
.utility-bar p { margin: 0; }
.utility-bar a { color: #fff; text-decoration: none; }
.utility-bar a:hover { text-decoration: underline; }
.utility-bar { column-gap: 2rem; min-height: 3rem; }
.utility-link { align-items: center; display: inline-flex; gap: 0.5rem; min-height: 44px; }
.utility-link::before { background: currentColor; content: ""; height: 1.15rem; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; width: 1.15rem; }
.utility-link--flower { --icon: url("assets/images/social/flower.svg"); }
.utility-link--restaurant { --icon: url("assets/images/social/restaurant.svg"); }
.utility-bar__link a { color: rgb(255 255 255 / 90%); }
.utility-bar__link a:hover { color: #fff; }
@media (max-width: 781px) { .utility-bar { display: none; } }
.site-nav .wp-block-navigation__submenu-container { background: var(--flora-navy-dark); border: 0; border-radius: 12px; box-shadow: 0 12px 30px rgb(17 30 79 / 30%); min-width: 16rem; padding: 0.5rem; }
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: rgb(255 255 255 / 90%); font-weight: 600; padding: 0.6rem 0.8rem; }
.site-nav .has-child .wp-block-navigation__submenu-icon { color: rgb(255 255 255 / 70%); }
.site-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent; box-shadow: none; padding-inline-start: 1rem; }
.site-nav .wp-block-navigation__responsive-container-content { gap: 0.15rem; }

/* Boutique / restaurant ------------------------------------------------ */
.places-cols { gap: 1.5rem; margin: 0; }
.place-card { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); box-sizing: border-box; height: 100%; padding: 1.5rem; position: relative; transition: box-shadow 180ms ease, transform 180ms ease; }
.place-card > * { margin-block: 0; }
.place-card .formation-icon { margin-bottom: 1rem; }
.place-card h3 { font-size: 1.25rem; font-weight: 900; margin-bottom: 0.4rem; }
.place-card h3 a { color: var(--flora-navy); text-decoration: none; }
.place-card h3 a::after { content: ""; inset: 0; position: absolute; }
.place-card p { color: var(--flora-muted); }
.place-card::after { color: var(--flora-navy); content: "Découvrir →"; display: block; font-size: 0.875rem; font-weight: 700; margin-top: 1rem; }
.place-card:hover, .place-card:has(a:focus-visible) { box-shadow: var(--flora-shadow-hover); transform: translateY(-4px); }
.place-card:has(a:focus-visible) { outline: 3px solid var(--flora-gold); outline-offset: 3px; }
.place-card a:focus-visible { outline: 0; }

/* Contenu des pages et fiches formation -------------------------------- */
.page-content > *, .wp-block-post-content > * { max-width: 100%; }
.wp-block-post-content :where(h2) { font-size: clamp(1.5rem, 2.5vw, 2rem); margin-top: 2.5rem; }
.wp-block-post-content :where(h3) { font-size: 1.25rem; margin-top: 2rem; }
.wp-block-post-content :where(ul) { padding-inline-start: 1.25rem; }
.wp-block-post-content :where(li) { margin-bottom: 0.4rem; }
.wp-block-post-content figure.wp-block-image { max-width: 560px; }
.asso-hero img, .fiche__img img { border-radius: var(--flora-radius); display: block; height: auto; width: 100%; }
.asso-hero { margin: 0 0 2rem; max-width: 720px !important; }
.lead { font-size: 1.125rem; }
.fiche-nav { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 2rem; }
.fiche-nav a { background: var(--flora-tint); border-radius: 999px; color: var(--flora-navy); font-size: 0.875rem; font-weight: 700; padding: 0.5rem 1rem; text-decoration: none; }
.fiche-nav a:hover { background: var(--flora-navy); color: #fff; }
.fiche-video { margin: 0 0 2rem; }
.fiche { border-top: 1px solid var(--flora-border); padding-block: 2.5rem; scroll-margin-top: 6rem; }
.fiche:first-of-type { border-top: 0; }
.fiche h2 { margin: 0 0 1.5rem; }
.fiche__intro { align-items: start; display: grid; gap: 2rem; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.fiche__img { margin: 0; }
.fiche__links { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.fiche__btn { background: var(--flora-navy); border-radius: 12px; color: #fff; display: inline-block; font-weight: 700; padding: 0.7rem 1.25rem; text-decoration: none; }
.fiche__btn:hover { background: var(--flora-navy-dark); color: #fff; }
.fiche__tag { color: var(--flora-gold-text) !important; font-size: 1.125rem !important; margin: 2rem 0 1rem !important; }
.fiche__facts { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin: 0 0 1.5rem; }
.fiche__facts > div { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); padding: 1.25rem; }
.fiche__facts dt { color: var(--flora-gold-text); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; margin-bottom: 0.5rem; text-transform: uppercase; }
.fiche__facts dd { margin: 0; font-size: 0.9375rem; }
.fiche__facts dd p { margin: 0 0 0.5rem; }
.fiche__facts dd ul { margin: 0; }
.fiche__gallery { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); margin-top: 1.5rem; }
.fiche__gallery img { aspect-ratio: 4 / 3; border-radius: 12px; display: block; object-fit: cover; width: 100%; }
.fiche__note { align-items: center; background: var(--flora-tint); border-radius: var(--flora-radius); display: grid; gap: 1.5rem; grid-template-columns: 8rem minmax(0, 1fr); margin-bottom: 1.5rem; padding: 1.25rem; }
.fiche__note img { height: auto; width: 100%; }
.fiche__note p { margin: 0 0 0.5rem; }
@media (max-width: 781px) { .fiche__intro, .fiche__note { grid-template-columns: minmax(0, 1fr); } }
.cta-band { align-items: center; background: var(--flora-navy); border-radius: var(--flora-radius); gap: 1rem 2rem; margin-top: 3rem; padding: 2rem; }
.cta-band h2 { color: #fff; margin: 0; }
.news-list { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); list-style: none; margin: 0; padding: 0; }
.news-card--light { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); color: var(--flora-muted); overflow: hidden; padding: 0; position: relative; }
.news-card--light .news-card__img img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: cover; width: 100%; }
.news-card--light .news-card__body { padding: 1.25rem; }
.news-card--light h3 { font-size: 1rem; margin: 0.75rem 0 0; }
.news-card--light h3 a { color: var(--flora-navy); text-decoration: none; }
.news-card--light h3 a::after { content: ""; inset: 0; position: absolute; }
.news-card--light time { font-size: 0.875rem; }
.news-card--light .news-tag span { background: var(--flora-gold); border-radius: 999px; color: var(--flora-navy); display: inline-block; font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.75rem; }

/* Pied de page : coordonnées et réseaux */
.footer-address { color: rgb(255 255 255 / 75%); font-size: 0.9375rem; }
.footer-social { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0; }
.footer-social .social { align-items: center; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; display: inline-flex; height: 2.75rem; justify-content: center; transition: background-color 180ms ease, border-color 180ms ease; width: 2.75rem; }
.footer-social .social::before { background: currentColor; content: ""; height: 1.25rem; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; width: 1.25rem; }
.footer-social .social:hover { background: var(--flora-gold); border-color: var(--flora-gold); color: var(--flora-navy-dark); text-decoration: none; }
.social--instagram { --icon: url("assets/images/social/instagram.svg"); }
.social--linkedin { --icon: url("assets/images/social/linkedin.svg"); }
.social--whatsapp { --icon: url("assets/images/social/whatsapp.svg"); }

.wp-block-post-content table { border-collapse: collapse; width: 100%; background: #fff; border-radius: 12px; overflow: hidden; }
.wp-block-post-content td, .wp-block-post-content th { border: 1px solid var(--flora-border); padding: 0.75rem 1rem; vertical-align: top; }
.wp-block-post-content iframe { max-width: 100%; }
.wp-block-post-content img { border-radius: 12px; height: auto; max-width: 100%; }

/* Pages de contenu mises en forme (inc/content.php) ------------------- */
.wp-block-post-content > .cs { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); margin: 0 auto 1.5rem; max-width: 980px; padding: clamp(1.25rem, 3vw, 2.25rem); }
.wp-block-post-content > .cs--intro { background: transparent; border: 0; box-shadow: none; padding-block: 0 0.5rem; }
.cs > h2 { margin: 0 0 1.25rem; }
.cs > h2::after { background: var(--flora-gold); border-radius: 2px; content: ""; display: block; height: 4px; margin-top: 0.6rem; width: 3rem; }
.cs__body > :first-child { margin-top: 0; }
.cs__body > :last-child { margin-bottom: 0; }
.cs__body h3, .cs__body h4 { color: var(--flora-navy); margin: 1.75rem 0 0.75rem; }
.cs__body .lead { color: var(--flora-ink, #1a1a2e); font-size: 1.125rem; margin: 0 0 1.25rem; }
.cs__body ul { list-style: none; padding: 0; }
.cs__body ul > li { padding-inline-start: 1.9rem; position: relative; }
.cs__body ul > li::before { background: var(--flora-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2b6b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / 0.7rem no-repeat; border-radius: 50%; content: ""; height: 1.2rem; left: 0; position: absolute; top: 0.25rem; width: 1.2rem; }
.cs__body ul ul, .cs__body ol ul { margin-top: 0.4rem; }
.cs__body ol { padding-inline-start: 1.4rem; }
.cs__body ol > li::marker { color: var(--flora-gold-text); font-weight: 700; }
.cs__body p.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.25rem 0; }
.cs__body a.btn { background: var(--flora-navy); border-radius: 12px; color: #fff; display: inline-block; font-weight: 700; padding: 0.7rem 1.25rem; text-decoration: none; }
.cs__body a.btn:hover { background: var(--flora-navy-dark); color: #fff; }
.cs__body a.btn::after { content: " \2192"; }
.cs__body .cg { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); margin: 1.5rem 0; }
.cs__body .cg > * { margin: 0; }
.cs__body .cg img { aspect-ratio: 4 / 3; border-radius: 12px; display: block; height: auto; object-fit: cover; width: 100%; }
.cs__body .cg--single { display: block; max-width: 520px; }
.cs__body .cg--single img { aspect-ratio: auto; }
.cs__body iframe { margin: 1rem 0; }

/* Mouvement réduit / mobile ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
	.formation-card:hover, .btn-gold .wp-block-button__link:hover { transform: none; }
}
@media (max-width: 781px) {
	.pronote-wrap { margin-top: -1rem; }
	.formation-card:hover { transform: none; }
	.hero-cols, .etab-cols, .formation-cols { gap: 2rem; }
}

/* Typographie : Duru Sans (texte), Staatliches (titres) */
body, button, input, select, textarea { font-family: "Duru Sans", system-ui, sans-serif; }
body .wp-site-blocks :is(h1, h2, h3, h4, h5, h6),
body .hero-title, body .hero-stat__value, body .pronote-access__title, body .contact-card__title, body .footer-title, body .kicker {
	font-family: "Staatliches", Impact, sans-serif; font-weight: 400; letter-spacing: 0.03em;
}
body .wp-site-blocks :is(h1, h2, h3) { line-height: 1.1; }
body .wp-block-button__link, body .site-nav { font-weight: 400; }

/* Sous-menus : fond bleu foncé, texte blanc (prioritaire sur les styles du bloc Navigation) */
.wp-block-navigation.site-nav .has-child .wp-block-navigation__submenu-container { background-color: var(--flora-navy-dark) !important; color: #fff !important; border: 0 !important; }
.wp-block-navigation.site-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-block-navigation.site-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__label { color: #fff !important; }
.wp-block-navigation.site-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation.site-nav .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: rgb(255 255 255 / 12%); color: #fff !important; }
.wp-block-navigation.site-nav .is-menu-open .has-child .wp-block-navigation__submenu-container { background-color: transparent !important; }

/* Formulaire de contact + plan */
.contact-map { aspect-ratio: 4 / 3; border: 0; border-radius: var(--flora-radius); display: block; margin-top: 1.5rem; width: 100%; }
.cform { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); display: grid; gap: 1.25rem 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: clamp(1.25rem, 3vw, 2rem); }
.cform__field--full { grid-column: 1 / -1; }
.cform__field label { color: var(--flora-navy); display: block; font-weight: 700; margin-bottom: 0.4rem; }
.cform input[type="text"], .cform input[type="tel"], .cform input[type="email"], .cform select, .cform textarea { background: var(--flora-canvas); border: 1px solid #c9ced8; border-radius: 12px; box-sizing: border-box; color: var(--flora-ink, #1a1a2e); font: inherit; min-height: 44px; padding: 0.65rem 0.9rem; width: 100%; }
.cform textarea { min-height: 9rem; resize: vertical; }
.cform input:focus-visible, .cform select:focus-visible, .cform textarea:focus-visible { border-color: var(--flora-navy); outline: 3px solid var(--flora-gold); outline-offset: 1px; }
.cform input[type="file"] { max-width: 100%; }
.cform__submit { background: var(--flora-gold); border: 0; border-radius: 12px; color: var(--flora-navy); cursor: pointer; font: inherit; font-weight: 700; min-height: 44px; padding: 0.75rem 2rem; }
.cform__submit:hover { box-shadow: 0 10px 26px rgb(196 146 42 / 45%); color: var(--flora-navy-dark); }
.cform__rgpd { color: var(--flora-muted); font-size: 0.875rem; margin: 0; }
.cform__notice { border-radius: 12px; font-weight: 700; grid-column: 1 / -1; margin: 0; padding: 0.9rem 1.1rem; }
.cform__notice--success { background: #e6f4ea; color: #14532d; }
.cform__notice--error { background: #fdecea; color: #7a1c14; }
.cform__trap { height: 0; left: -9999px; overflow: hidden; position: absolute; }
@media (max-width: 640px) { .cform { grid-template-columns: minmax(0, 1fr); } }

.cform__choices { border: 0; margin: 0; padding: 0; min-width: 0; }
.cform__choices legend { color: var(--flora-navy); font-weight: 700; margin-bottom: 0.5rem; padding: 0; }
.cform__choices { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.cform__choices legend { width: 100%; }
.cform__choice { align-items: center; display: inline-flex; gap: 0.5rem; min-height: 44px; }
.cform__choice input { height: 1.15rem; width: 1.15rem; accent-color: var(--flora-navy); }
.cform input[type="date"] { background: var(--flora-canvas); border: 1px solid #c9ced8; border-radius: 12px; box-sizing: border-box; font: inherit; min-height: 44px; padding: 0.65rem 0.9rem; width: 100%; }

.btn-whatsapp .wp-block-button__link { align-items: center; background: #1f8f4e; color: #fff; display: inline-flex; gap: 0.6rem; }
.btn-whatsapp .wp-block-button__link::before { background: currentColor; content: ""; height: 1.2rem; -webkit-mask: url("assets/images/social/whatsapp.svg") center / contain no-repeat; mask: url("assets/images/social/whatsapp.svg") center / contain no-repeat; width: 1.2rem; }
.btn-whatsapp .wp-block-button__link:hover { background: #18723e; color: #fff; }

/* Composants des pages de contenu --------------------------------------- */
.btn { align-items: center; background: var(--flora-navy); border-radius: 12px; color: #fff; display: inline-flex; font-weight: 400; gap: 0.6rem; min-height: 44px; padding: 0.7rem 1.25rem; text-decoration: none; transition: background-color 180ms ease, box-shadow 180ms ease; }
.btn:hover { background: var(--flora-navy-dark); color: #fff; }
.btn--gold { background: var(--flora-gold); color: var(--flora-navy); }
.btn--gold:hover { background: var(--flora-gold); box-shadow: 0 10px 26px rgb(196 146 42 / 45%); color: var(--flora-navy-dark); }
.btn--ghost { background: transparent; border: 2px solid var(--flora-navy); color: var(--flora-navy); }
.btn--ghost:hover { background: var(--flora-navy); color: #fff; }
.btn--lg { font-size: 1.125rem; min-height: 52px; padding: 0.9rem 1.75rem; }
.ico::before { background: currentColor; content: ""; flex: none; height: 1.2em; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; width: 1.2em; }
.ico-book { --icon: url("assets/images/social/book.svg"); } .ico-fb { --icon: url("assets/images/social/facebook.svg"); } .ico-pdf { --icon: url("assets/images/social/pdf.svg"); }
.ico-cal { --icon: url("assets/images/social/calendar.svg"); } .ico-tel { --icon: url("assets/images/social/phone.svg"); } .ico-mail { --icon: url("assets/images/social/envelope.svg"); }
.ico-card { --icon: url("assets/images/social/card.svg"); } .ico-ext { --icon: url("assets/images/social/external.svg"); } .ico-dl { --icon: url("assets/images/social/download.svg"); }
.wp-block-post-content p.actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.25rem 0; }
.wp-block-post-content p.actions a::after { content: none; }
.cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin: 1.25rem 0; }
.card { background: var(--flora-canvas); border: 1px solid var(--flora-border); border-radius: var(--flora-radius); padding: 1.25rem; }
.card > :first-child { margin-top: 0; } .card > :last-child { margin-bottom: 0; }
.card h3 { color: var(--flora-navy); font-size: 1.25rem; margin: 0 0 0.6rem; }
.card ul { margin: 0.5rem 0 0; }
.card .card__label { color: var(--flora-gold-text); font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; margin: 0 0 0.25rem; }
.card .card__name { color: var(--flora-navy); font-family: "Staatliches", Impact, sans-serif; font-size: 1.35rem; letter-spacing: 0.03em; margin: 0; }
.notice { background: #fff7e6; border: 1px solid #f0d9a8; border-radius: 12px; padding: 1rem 1.25rem; }
.highlight { background: var(--flora-navy); border-radius: var(--flora-radius); color: #fff; padding: clamp(1.25rem, 3vw, 2rem); }
.highlight h2, .highlight h3, .highlight p, .highlight li { color: #fff; }
.highlight a:not(.btn) { color: #fff; }
.highlight > :first-child { margin-top: 0; } .highlight > :last-child { margin-bottom: 0; }
.cs--feature { border-color: var(--flora-gold); }
.zoomable { cursor: zoom-in; }
.lb { align-items: center; background: rgb(10 16 40 / 92%); display: flex; inset: 0; justify-content: center; position: fixed; z-index: 100000; }
.lb[hidden] { display: none; }
.lb__fig { margin: 0; max-height: 92vh; max-width: min(92vw, 1400px); text-align: center; }
.lb__fig img { border-radius: 8px; display: block; max-height: 84vh; max-width: 100%; object-fit: contain; }
.lb__fig figcaption { color: #fff; font-size: 0.9rem; margin-top: 0.6rem; }
.lb button { background: rgb(255 255 255 / 14%); border: 0; border-radius: 50%; color: #fff; cursor: pointer; font-size: 2rem; height: 3rem; line-height: 1; position: absolute; width: 3rem; }
.lb button:hover { background: rgb(255 255 255 / 28%); }
.lb__close { right: 1rem; top: 1rem; } .lb__prev { left: 1rem; } .lb__next { right: 1rem; }
.lb__nav { top: 50%; transform: translateY(-50%); }
html.lb-open { overflow: hidden; }
/* Tarifs */
.table-scroll { overflow-x: auto; }
.tarifs { background: #fff; border-collapse: collapse; width: 100%; }
.tarifs th { background: var(--flora-navy); color: #fff; font-weight: 400; letter-spacing: 0.03em; padding: 0.8rem 1rem; text-align: left; }
.tarifs td { border-top: 1px solid var(--flora-border); padding: 0.9rem 1rem; vertical-align: top; }
.tarifs td:first-child { color: var(--flora-navy); font-family: "Staatliches", Impact, sans-serif; font-size: 1.15rem; letter-spacing: 0.03em; white-space: nowrap; }
.tarifs td:last-child { color: var(--flora-navy); font-size: 1.15rem; font-weight: 700; text-align: right; white-space: nowrap; }
.tarifs tbody tr:nth-child(even) { background: var(--flora-canvas); }
.tarifs ul { margin: 0; }
/* Organigramme */
.org { display: grid; gap: 1.5rem; margin: 0 auto 1.5rem; max-width: 1100px; }
.org__row { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; position: relative; }
.org__row + .org__row::before { background: var(--flora-border); content: ""; height: 1.5rem; left: 50%; position: absolute; top: -1.5rem; width: 2px; }
.org__card { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); flex: 0 1 260px; padding: 1.1rem 1.25rem; text-align: center; }
.org__card--top { background: var(--flora-navy); border-color: var(--flora-navy); color: #fff; flex-basis: 320px; }
.org__role { color: var(--flora-gold-text); font-size: 0.8125rem; letter-spacing: 0.06em; margin: 0 0 0.3rem; text-transform: uppercase; }
.org__card--top .org__role { color: var(--flora-gold); }
.org__name { color: var(--flora-navy); font-family: "Staatliches", Impact, sans-serif; font-size: 1.4rem; letter-spacing: 0.03em; line-height: 1.15; margin: 0; }
.org__card--top .org__name { color: #fff; font-size: 1.7rem; }
.org__note { color: var(--flora-muted); font-size: 0.875rem; margin: 0.4rem 0 0; }
.org__pole { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); flex: 1 1 280px; padding: 1.25rem; }
.org__pole h3 { border-bottom: 2px solid var(--flora-gold); color: var(--flora-navy); font-size: 1.25rem; margin: 0 0 0.75rem; padding-bottom: 0.5rem; }
.org__pole dl { margin: 0; } .org__pole dt { color: var(--flora-gold-text); font-size: 0.78rem; letter-spacing: 0.05em; margin-top: 0.75rem; text-transform: uppercase; } .org__pole dd { color: var(--flora-navy); font-weight: 700; margin: 0.1rem 0 0; }
/* Témoignages */
.testis { display: grid; gap: 1.5rem; }
.testi { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); box-shadow: var(--flora-shadow); display: grid; gap: 1.5rem; grid-template-columns: 11rem minmax(0, 1fr); padding: clamp(1.25rem, 3vw, 2rem); }
.testi__who { text-align: center; }
.testi__photo { aspect-ratio: 1; border-radius: 50%; display: block; margin: 0 auto 0.9rem; object-fit: cover; width: 8.5rem; }
.testi__photo--logo { background: #fff; border: 1px solid var(--flora-border); border-radius: var(--flora-radius); object-fit: contain; padding: 0.75rem; }
.testi__name { color: var(--flora-navy); font-family: "Staatliches", Impact, sans-serif; font-size: 1.5rem; letter-spacing: 0.03em; line-height: 1.1; margin: 0; }
.testi__role { color: var(--flora-muted); font-size: 0.875rem; margin: 0.4rem 0 0; }
.testi__quote { margin: 0; }
.testi__quote p { font-size: 1.05rem; }
.testi__quote > :first-child::before { color: var(--flora-gold); content: "« "; font-family: "Staatliches", Impact, sans-serif; font-size: 1.6rem; }
.testi__quote > :last-child::after { color: var(--flora-gold); content: " »"; font-family: "Staatliches", Impact, sans-serif; font-size: 1.6rem; }
.testi details { margin-top: 1rem; } .testi summary { color: var(--flora-navy); cursor: pointer; font-weight: 700; min-height: 44px; padding-top: 0.6rem; }
.testi__sig { color: var(--flora-navy); font-weight: 700; }
@media (max-width: 700px) { .testi { grid-template-columns: minmax(0, 1fr); } }
/* Partenaires */
.partner { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.partner img { border-radius: var(--flora-radius); display: block; height: auto; width: 100%; }
@media (max-width: 700px) { .partner { grid-template-columns: minmax(0, 1fr); } }
.chips { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0.5rem 0 0; padding: 0; }
.cs__body .chips > li { background: var(--flora-tint); border-radius: 999px; color: var(--flora-navy); font-size: 0.9rem; padding: 0.3rem 0.9rem; }
.cs__body .chips > li::before { content: none; }
.footer-name { color: #fff !important; font-family: "Staatliches", Impact, sans-serif; font-size: 1.6rem; letter-spacing: 0.04em; max-width: none; }
.wp-block-post-content figure.no-margin { margin: 0 auto 1.5rem; max-width: 760px; } .wp-block-post-content figure.no-margin img { border-radius: var(--flora-radius); display: block; height: auto; width: 100%; }
.asso-hero { max-width: 760px; }

/* Image en tête de carte d'actualité */
.news-card > .news-card__img { aspect-ratio: 16 / 10; border-radius: calc(var(--flora-radius) - 4px); margin: 0 0 1.1rem; overflow: hidden; }
.news-card > .news-card__img img { aspect-ratio: auto; display: block; height: 100%; object-fit: cover; transition: transform 300ms ease; width: 100%; }
.news-card:hover > .news-card__img img { transform: scale(1.04); }
.news-card__img--empty { align-items: center; background: var(--flora-tint); display: flex; justify-content: center; }
.news-card > .news-card__img--empty img { height: 60%; object-fit: contain; width: auto; }
@media (prefers-reduced-motion: reduce) { .news-card:hover > .news-card__img img { transform: none; } }

.idents { display: grid; gap: 1.25rem 2rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.idents .card__name { font-size: 1.6rem; }

/* Termes mis en avant (anciens guillemets) */
em.term { color: var(--flora-gold-text); font-style: italic; }
.highlight em.term, .page-hero em.term, .news-section em.term, .site-footer em.term, .cta-band em.term { color: var(--flora-gold); }

/* Date et section d'une actualité */
.event-meta { color: var(--flora-gold-text); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.06em; margin: 0 0 1rem; text-transform: uppercase; }
