/* ==========================================================================
   FPA Modern Design — socle commun
   Chargé sur toute page ayant un module actif (ou sur tout le site si l'option
   « Style de base sur tout le site » est cochée). Tout est préfixé body.fpa-md.
   ========================================================================== */

body.fpa-md{
	--fmd-ink:#16120f;
	--fmd-ink2:#3b342e;
	--fmd-muted:#6f655b;
	--fmd-cream:#faf6ef;
	--fmd-sand:#f1e8da;
	--fmd-brass:#b9782f;
	--fmd-brass2:#d9a25a;
	--fmd-wine:#7a2433;
	--fmd-card:#fff;
	--fmd-radius:22px;
	--fmd-shadow:0 1px 2px rgba(22,18,15,.05),0 12px 32px -12px rgba(22,18,15,.18);
	--fmd-shadow-hover:0 28px 50px -22px rgba(22,18,15,.35);
	--fmd-serif:"Fraunces",Georgia,"Times New Roman",serif;
	--fmd-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

	background:var(--fmd-cream)!important;
	font-family:var(--fmd-sans)!important;
	color:var(--fmd-ink2)!important;
	-webkit-font-smoothing:antialiased;
}

/* Fonds Astra transparents pour laisser voir la couleur crème */
body.fpa-md #page,
body.fpa-md .site-content,
body.fpa-md .ast-container,
body.fpa-md article,
body.fpa-md #primary,
body.fpa-md .ast-separate-container .ast-article-single{background:transparent!important}
body.fpa-md .site-content .ast-container{max-width:1200px!important}

/* --- Typographie --------------------------------------------------------- */
body.fpa-md h1,
body.fpa-md h2,
body.fpa-md h3,
body.fpa-md h4{font-family:var(--fmd-serif)!important;color:var(--fmd-ink)!important;letter-spacing:-.015em}
body.fpa-md .entry-content p,
body.fpa-md .entry-content li{font-size:1.05rem!important;line-height:1.75!important;color:var(--fmd-ink2)!important}
body.fpa-md .entry-content p strong{color:var(--fmd-ink);font-weight:600}
body.fpa-md .entry-content a{color:var(--fmd-wine)}

/* --- Cartes image + texte (bloc Média & Texte) ---------------------------- */
body.fpa-md .entry-content .wp-block-media-text{background:var(--fmd-card)!important;border-radius:var(--fmd-radius);box-shadow:var(--fmd-shadow);overflow:hidden;grid-template-columns:38% 1fr!important;align-items:stretch!important;margin:0!important;transition:transform .35s,box-shadow .35s}
body.fpa-md .entry-content .wp-block-media-text.has-media-on-the-right,
body.fpa-md .entry-content .wp-block-media-text:has(> .wp-block-media-text__content:first-child){grid-template-columns:1fr 38%!important}
body.fpa-md .entry-content .wp-block-media-text:hover{transform:translateY(-4px);box-shadow:var(--fmd-shadow-hover)}
body.fpa-md .entry-content .wp-block-media-text__media{margin:0!important;height:100%;min-height:230px;max-height:300px;overflow:hidden}
body.fpa-md .entry-content .wp-block-media-text__media a{display:block;height:100%}
body.fpa-md .entry-content .wp-block-media-text__media img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;transition:transform .7s}
body.fpa-md .entry-content .wp-block-media-text:hover .wp-block-media-text__media img{transform:scale(1.05)}
body.fpa-md .entry-content .wp-block-media-text__content{padding:36px 44px!important;display:flex;flex-direction:column;justify-content:center}
body.fpa-md .entry-content .wp-block-media-text__content h3{font-size:1.45rem!important;font-weight:600!important;margin:0 0 12px!important}
body.fpa-md .entry-content .wp-block-media-text__content h3 strong{font-weight:600}
body.fpa-md .entry-content .wp-block-media-text__content p{margin:0!important}

/* --- Boutons ------------------------------------------------------------- */
body.fpa-md .entry-content .wp-block-button__link{border-radius:999px!important;font-family:var(--fmd-sans)!important;font-weight:600!important;transition:transform .25s,background .25s}
body.fpa-md .entry-content .wp-block-button__link:hover{transform:translateY(-2px)}

/* --- Pied de page -------------------------------------------------------- */
body.fpa-md .site-footer,
body.fpa-md .site-footer .site-primary-footer-wrap,
body.fpa-md .site-footer .site-above-footer-wrap,
body.fpa-md .site-footer .site-below-footer-wrap{background:var(--fmd-ink)!important;border:0!important}
body.fpa-md .site-footer,
body.fpa-md .site-footer a{color:#cfc3b2!important}
body.fpa-md .site-footer a:hover{color:var(--fmd-brass2)!important}
body.fpa-md #ast-scroll-top{background:var(--fmd-brass)!important;border-radius:50%!important}

/* --- Apparition au défilement (gérée par core.js) ------------------------ */
.fpa-md-js body.fpa-md-anim .fmd-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.fpa-md-js body.fpa-md-anim .fmd-reveal.fmd-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	.fpa-md-js body.fpa-md-anim .fmd-reveal{opacity:1!important;transform:none!important;transition:none!important}
	body.fpa-md *{transition:none!important}
}

/* --- Mobile -------------------------------------------------------------- */
@media (max-width:900px){
	body.fpa-md .entry-content .wp-block-media-text,
	body.fpa-md .entry-content .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr!important}
	body.fpa-md .entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-row:1}
	body.fpa-md .entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-row:2}
	body.fpa-md .entry-content .wp-block-media-text__media{min-height:200px;max-height:240px}
	body.fpa-md .entry-content .wp-block-media-text__content{padding:24px!important}
}

/* --- Pleine largeur (option « Pleine largeur ») ---------------------------
   Contenu, en-tête et pied de page occupent tout l'écran, avec une marge
   latérale --fmd-gutter (réglable, 1cm par défaut). */
body.fpa-md{--fmd-gutter:1cm}
body.fpa-md-full .site-content .ast-container{max-width:none!important;padding-left:var(--fmd-gutter)!important;padding-right:var(--fmd-gutter)!important}
body.fpa-md-full .site-footer .ast-builder-grid-row-container{max-width:none!important;padding-left:var(--fmd-gutter)!important;padding-right:var(--fmd-gutter)!important}
body.fpa-md-full .entry-content>*,
body.fpa-md-full .entry-content .is-layout-constrained>*{max-width:none!important}
body.fpa-md-full .entry-content .is-layout-constrained>:not(.alignleft):not(.alignright){margin-left:0!important;margin-right:0!important}
body.fpa-md-full .entry-content>.alignfull{margin-left:calc(-1 * var(--fmd-gutter))!important;margin-right:calc(-1 * var(--fmd-gutter))!important;width:auto!important}
