.entry-content script { display: block; }


/**************************************
 EMOJIS DES 3 PILIERS
**************************************/
.mcf-emoji {
    font-size: 64px;
    line-height: 1;
    text-align: center;
    display: block;
    margin-bottom: 8px;
}

/**************************************
 BLOC HÉRO (TITRE + SOUS-TITRE + BOUTON)
**************************************/
.mcf-hero {
    text-align: center;
    padding-top: 10px !important;     /* espace sous le menu */
    padding-bottom: 12px !important;  /* espace avant le titre des piliers */
}

.mcf-hero h1 {
    margin-bottom: 8px !important;    /* espace entre H1 et sous-titre */
}

.mcf-hero p {
    margin-top: 0 !important;
    margin-bottom: 8px !important;    /* espace entre sous-titre et bouton */
}

.mcf-hero .wp-block-button {
    margin-top: 0 !important;
}

/**************************************
 TITRE "VOS 3 PILIERS FINANCIERS"
**************************************/
.mcf-pillars-wrap h2 {
    margin-top: 12px !important;      /* rapproche du bloc héro */
    margin-bottom: 12px !important;   /* rapproche des cartes */
}

/**************************************
 CARTES DES 3 PILIERS
**************************************/
.mcf-pillar {
    padding-top: 24px !important;     /* réduit l'espace emoji->titre */
    padding-bottom: 16px !important;  /* réduit la hauteur totale */
}

.mcf-pillar h3 {
    margin-top: 8px !important;       /* emoji -> titre */
    margin-bottom: 10px !important;   /* titre -> texte */
}

.mcf-pillar p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;   /* texte -> bouton */
}

.mcf-pillar .wp-block-button {
    margin-top: 0 !important;
}
/**********************************
 * SECTION RESET D'AUTOMNE
 **********************************/

/* Bloc global RESET (fond beige pleine largeur) */
.mcf-reset {
    background-color: #F4EBE0;   /* beige RESET */
    padding: 64px 8%;
    margin: 64px auto;
}

/* Aligner les colonnes et réduire l'écart */
.mcf-reset .wp-block-columns {
    align-items: center;
    gap: 40px;
}

/* Largeur des colonnes sur écran d'ordinateur :
   - 60% pour le texte (gauche)
   - 40% pour l'image (droite) */
@media (min-width: 782px) {
    .mcf-reset .wp-block-column:first-child {
        flex-basis: 60% !important;
    }

    .mcf-reset .wp-block-column:last-child {
        flex-basis: 40% !important;
    }
}

/* Typo du surtitre "Le dernier hors-série" */
.mcf-reset p:first-of-type {
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 13px;
    margin-bottom: 12px;
    color: #8B7765;
}

/* Titre H2 du RESET */
.mcf-reset h2 {
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 20px;
}

/* Paragraphe de présentation */
.mcf-reset h2 + p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 28px;
}

/* Bouton "Découvrir le Hors-Série" */
.mcf-reset .wp-block-button__link {
    background-color: #D5956A;     /* terracotta douce */
    color: #ffffff;
    border-radius: 999px;
    padding: 12px 28px;
    font-weight: 600;
}

/* Effet au survol du bouton */
.mcf-reset .wp-block-button__link:hover {
    filter: brightness(0.95);
}

/* Image à droite : pleine largeur de sa colonne,
   avec bords légèrement arrondis */
.mcf-reset img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
    object-fit: cover;
}

/* Version mobile : colonnes empilées,
   texte centré et marges réduites */
@media (max-width: 781px) {
    .mcf-reset {
        padding: 40px 20px;
        margin: 40px auto;
    }

    .mcf-reset .wp-block-columns {
        gap: 28px;
    }

    .mcf-reset .wp-block-column {
        flex-basis: 100% !important;
    }

    .mcf-reset h2,
    .mcf-reset p,
    .mcf-reset .wp-block-button {
        text-align: left;
    }
}
/* TITRES */
#astra-footer h3 {
  font-size: 18px;
  font-weight: 600;
  color: #24313a;
}

/* LIENS */
#astra-footer a {
  color: #24313a;
  text-decoration: none;
}
#astra-footer a:hover {
  text-decoration: underline;
}

/* TEXTE */
#astra-footer p, 
#astra-footer li {
  font-size: 15px;
  line-height: 1.6;
}

/* LISTES SANS PUCE */
#astra-footer ul {
  padding-left: 0;
  list-style: none;
}

/* LIGNE COPYRIGHT */
.site-below-footer-wrap {
  border-top: 1px solid rgba(0,0,0,0.1);
}
/* ----- Footer : aligner toutes les colonnes en haut ----- */
.site-footer .footer-widget-area {
    display: flex !important;
    align-items: flex-start !important;
}

/* ----- Forcer l’alignement haut des widgets ----- */
.site-footer .footer-widget-area .widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* --- Alignement vertical parfait dans la ligne 2 du footer Astra --- */
.site-footer .ast-row {
    display: flex !important;
    align-items: flex-start !important; /* Aligne tous les titres en haut */
}

/* Ajuste le logo pour qu’il ne pousse plus vers le bas */
.site-footer .ast-row img {
    margin-top: -10px; /* Ajuste si nécessaire : -5px, -8px, -12px… */
}

/* (Optionnel) Force un léger espace sous les titres pour une ligne propre */
.site-footer .footer-widget-area h2,
.site-footer .footer-widget-area h3,
.site-footer .footer-widget-area h4 {
    margin-bottom: 12px !important;
}
/* ===== MCF – PILIER VERT SAUGE ===== */

.mcf-article {
  --mcf-vert: #8FAE9A;
  --mcf-vert-soft: rgba(143,174,154,0.18);
}

/* H2 avec repère visuel doux */
.mcf-article h2 {
  border-bottom: 3px solid var(--mcf-vert-soft);
  padding-bottom: 6px;
  margin-top: 48px;
}

/* Encadrés verts (À retenir, Astuce, Point clé) */
.mcf-box {
  border-left: 5px solid var(--mcf-vert);
  background: #FAF7F0;
  padding: 20px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

/* Sommaire */
.mcf-sommaire ul {
  padding-left: 18px;
}
.mcf-sommaire a {
  text-decoration-color: var(--mcf-vert);
}

/* Liens dans l’article */
.mcf-article a {
  color: var(--mcf-vert);
}
/* ===== MCF – PILIER BUDGET & ÉPARGNE ===== */

.mcf-pilier-budget{
  --mcf-accent: #D6B27C;              /* beige / doré doux */
  --mcf-accent-soft: rgba(214,178,124,0.18);
}

/* H2 : repère visuel doux */
.mcf-pilier-budget h2{
  border-bottom: 3px solid var(--mcf-accent-soft);
  padding-bottom: 6px;
  margin-top: 48px;
}

/* Encadrés : À retenir / Astuce */
.mcf-pilier-budget .mcf-box{
  border-left: 5px solid var(--mcf-accent);
  background: #FAF7F0;
  padding: 20px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

/* Liens */
.mcf-pilier-budget a{
  color: var(--mcf-accent);
}

/* Sommaire */
.mcf-pilier-budget .mcf-sommaire a{
  text-decoration-color: var(--mcf-accent);
}
/* ===== MCF – PILIER RETRAITE ===== */

.mcf-pilier-retraite{
  --mcf-accent: #C07A6A;              /* terracotta doux / vieux rose */
  --mcf-accent-soft: rgba(192,122,106,0.18);
}

/* H2 : repère visuel doux */
.mcf-pilier-retraite h2{
  border-bottom: 3px solid var(--mcf-accent-soft);
  padding-bottom: 6px;
}

/* Encadrés : À retenir / Astuce */
.mcf-pilier-retraite .mcf-box{
  border-left: 5px solid var(--mcf-accent);
  background: #FAF7F0;
  padding: 20px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

/* Liens */
.mcf-pilier-retraite a{
  color: var(--mcf-accent);
}

/* Sommaire */
.mcf-pilier-retraite .mcf-sommaire a{
  text-decoration-color: var(--mcf-accent);
}
/* ===== FORCER LA COULEUR DES LIENS PAR PILIER ===== */

.mcf-article.mcf-pilier-vert a {
  color: #8FAE9A;
}

.mcf-article.mcf-pilier-beige a {
  color: #c9a66b;
}

.mcf-article.mcf-pilier-rose a {
  color: #c88f86;
}
/* =====================================================
   MCF – BASE ARTICLE (COMMUN À TOUS LES PILIERS)
===================================================== */

.mcf-article {
  --mcf-main: #000;
  --mcf-trait: rgba(0,0,0,0.15);
  --mcf-border: rgba(0,0,0,0.4);
}

/* Titres H2 */
.mcf-article h2 {
  border-bottom: 3px solid var(--mcf-trait);
  padding-bottom: 6px;
  margin-top: 48px;
}

/* Encadrés (À retenir / Point clé / Astuce) */
.mcf-box {
  border-left: 5px solid var(--mcf-border);
  background: #FAF7F0;
  padding: 20px 24px;
  margin: 32px 0;
  border-radius: 8px;
}

/* =====================================================
   MCF – LIENS (FORCÉS, ANTI ASTRA / GUTENBERG)
===================================================== */

.mcf-article a,
.mcf-article a:visited,
.mcf-article a:hover,
.mcf-article a:focus {
  color: var(--mcf-main) !important;
  text-decoration-color: var(--mcf-main) !important;
}

/* Empêche Gutenberg de forcer une autre couleur */
.mcf-article a *,
.mcf-article a:visited * {
  color: inherit !important;
}

/* =====================================================
   SOMMAIRE
===================================================== */

.mcf-sommaire ul {
  padding-left: 18px;
}

.mcf-sommaire a {
  color: var(--mcf-main) !important;
  text-decoration-color: var(--mcf-main) !important;
}

/* =====================================================
   PILIER 1 – IMMOBILIER (VERT SAUGE)
===================================================== */

.mcf-article.mcf-pilier-vert {
  --mcf-main: #8FAE9A;
  --mcf-trait: rgba(143,174,154,0.25);
  --mcf-border: #8FAE9A;
}

/* =====================================================
   PILIER 2 – BUDGET (OR)
===================================================== */

.mcf-article.mcf-pilier-or {
  --mcf-main: #c9a66b;
  --mcf-trait: #E6D3B1;
  --mcf-border: #c8a46a;
}

/* =====================================================
   PILIER 3 – RETRAITE (ROSE POUDRÉ)
===================================================== */

.mcf-article.mcf-pilier-rose {
  --mcf-main: #c88f86;
  --mcf-trait: #E9C7C0;
  --mcf-border: #c88f86;
}
:root{
  --mcf-sage:#87A38F;
  --mcf-beige:#F3EBDD;
  --mcf-ink:#1f2328;
  --mcf-muted:#5f6670;
  --mcf-line:#ece6db;
  --mcf-radius:16px;
}

.mcf-callout{
  background: rgba(243,235,221,.55);
  border:1px solid var(--mcf-line);
  border-left:6px solid var(--mcf-sage);
  border-radius: var(--mcf-radius);
  padding: 18px 18px 16px;
  box-shadow: 0 10px 22px rgba(31,35,40,.04);
}
.mcf-callout .mcf-title{ margin:0 0 10px 0; color: var(--mcf-ink); }
.mcf-callout .mcf-text{ margin:0; color: var(--mcf-ink); line-height:1.65; }

.mcf-contact-photo img{
  border-radius: var(--mcf-radius);
  box-shadow: 0 10px 22px rgba(31,35,40,.06);
  border: 1px solid var(--mcf-line);
}

.mcf-contact .wp-block-jetpack-contact-form input,
.mcf-contact .wp-block-jetpack-contact-form textarea{
  border-radius: 8px !important;
  border-color: rgba(31,35,40,.18) !important;
}

.mcf-contact .wp-block-jetpack-contact-form button{
  background: var(--mcf-sage) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border: none !important;
  box-shadow: 0 10px 18px rgba(31,35,40,.08);
}
:root{
  --mcf-sage:#87A38F;
  --mcf-beige:#F3EBDD;
  --mcf-ink:#1f2328;
  --mcf-muted:#5f6670;
  --mcf-line:#ece6db;
  --mcf-radius:16px;
}

/* Encadré vert */
.mcf-callout{
  background: rgba(243,235,221,.55);
  border:1px solid var(--mcf-line);
  border-left:6px solid var(--mcf-sage);
  border-radius: var(--mcf-radius);
  padding: 18px 18px 16px;
  box-shadow: 0 10px 22px rgba(31,35,40,.04);
}
.mcf-callout .mcf-title{ margin:0 0 10px 0; color: var(--mcf-ink); }
.mcf-callout .mcf-text{ margin:0; color: var(--mcf-ink); line-height:1.65; }

/* Image douce */
.mcf-contact-photo img{
  border-radius: var(--mcf-radius);
  box-shadow: 0 10px 22px rgba(31,35,40,.06);
  border: 1px solid var(--mcf-line);
}

/* Jetpack form : inputs */
.mcf-contact .wp-block-jetpack-contact-form label{ color: var(--mcf-ink); }
.mcf-contact .wp-block-jetpack-contact-form input,
.mcf-contact .wp-block-jetpack-contact-form textarea{
  border-radius: 8px !important;
  border-color: rgba(31,35,40,.18) !important;
}

/* Bouton */
.mcf-contact .wp-block-jetpack-contact-form button,
.mcf-contact .wp-block-jetpack-contact-form .wp-block-button__link{
  background: var(--mcf-sage) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border: none !important;
  box-shadow: 0 10px 18px rgba(31,35,40,.08);
}
.mcf-callout {
  margin-bottom: 8px !important;
}

.mcf-callout + * {
  margin-top: 0 !important;
}
/* Réduction espace sous encadré contact */
.mcf-callout {
  margin-bottom: 4px !important;
  padding-bottom: 12px !important;
}

/* Supprime marge du premier bloc après l’encadré */
.mcf-callout + * {
  margin-top: 0 !important;
}

/* Sécurité : paragraphes contact plus serrés */
.mcf-contact p {
  margin-top: 8px !important;
}
/* Resserre le haut de la page contact */
.page .wp-block-columns{
  margin-top: 12px;
}

/* Titre formulaire */
.mcf-title{
  margin-top: 0;
}

/* Carte formulaire */
.mcf-form{
  margin-top: 0;
}
/* Page Contact uniquement */
.page-id-1206 .wp-block-columns{
  margin-top: 12px;
}

.page-id-1206 .mcf-title{
  margin-top: 0;
}

.page-id-1206 .mcf-form{
  margin-top: 0;
}
/* CONTACT (page-id-1206) : réduit l'espace au-dessus du contenu */
.page-id-1206 .entry-content{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Si ton thème ajoute du padding au conteneur principal */
.page-id-1206 .site-main,
.page-id-1206 main{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Réduit la marge du titre "Contact" */
.page-id-1206 h1,
.page-id-1206 .entry-title{
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Resserre le premier bloc après le titre */
.page-id-1206 .entry-content > *:first-child{
  margin-top: 0 !important;
}
/* Certains thèmes ajoutent une grande "hauteur mini" au header de page */
.page-id-1206 .page-header,
.page-id-1206 header.entry-header{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  min-height: 0 !important;
}
/* CONTACT : remonte franchement le contenu */
.page-id-1206 .entry-content{
  padding-top: 0 !important;
  margin-top: -100px !important; /* ajuste si besoin */
}

/* Réduit la marge sous le titre Contact */
.page-id-1206 .entry-title,
.page-id-1206 h1{
  margin-bottom: 10px !important;
}
/* CONTACT — réduit l'espace entre le callout et la section suivante */
.page-id-1206 .wp-block-columns:has(.mcf-callout){
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
}

.page-id-1206 .wp-block-columns:has(.mcf-callout) + .wp-block-columns{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* CONTACT — remonte la colonne droite (formulaire) pour l'aligner avec le callout */
.page-id-1206 .mcf-form{
  margin-top: -145px !important; /* ajuste : -80 / -100 / -140 selon ton goût */
}
/* CONTACT — espace sous le champ message */
.page-id-1206 .mcf-form textarea{
  margin-bottom: 18px !important;
}

/* Espace sous la ligne de consentement */
.page-id-1206 .mcf-consent{
  margin-top: 10px !important;
  margin-bottom: 18px !important;
}

/* Bouton : respiration verticale */
.page-id-1206 .mcf-form button{
  margin-top: 8px !important;
}
/* CONTACT — espace au-dessus de la note de confidentialité sous le bouton */
.page-id-1206 .mcf-form p:last-child{
  margin-top: 20px !important;
}
/* ✅ Lien doré comme le sommaire (pour l'ancre Archives) */
.mcf-reset a.toc-link,
.mcf-reset a.toc-link:visited{
  color: var(--toc) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--toc) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.mcf-reset a.toc-link:hover{
  text-decoration-thickness: 2px;
}
.mcf-reset .archives-link{ margin: 6px 0 0 0 !important; }
/* Afficher le Header Button Astra en mobile */
@media (max-width: 921px) {
  .ast-header-button-1 {
    display: inline-flex !important;
  }
}
/* MCF — Header figé (Astra) */
.main-header-bar{
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* Evite une “coupure” visuelle : petite ombre au scroll (toujours légère) */
.main-header-bar{
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/* =========================
   MCF — HEADER FIGÉ (Astra)
   Compatible Astra Free
   ========================= */

/* La(les) barres de header possibles selon config Astra */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-mobile-header-wrap,
.ast-desktop-header,
.ast-mobile-header {
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* Petite ombre (premium) */
.site-header,
.main-header-bar,
.ast-primary-header-bar {
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/* Si tu es connectée (barre admin WP), on décale */
body.admin-bar .site-header,
body.admin-bar .main-header-bar,
body.admin-bar .ast-primary-header-bar,
body.admin-bar .ast-mobile-header-wrap,
body.admin-bar .ast-desktop-header,
body.admin-bar .ast-mobile-header {
  top: 32px;
}

@media (max-width: 782px){
  body.admin-bar .site-header,
  body.admin-bar .main-header-bar,
  body.admin-bar .ast-primary-header-bar,
  body.admin-bar .ast-mobile-header-wrap,
  body.admin-bar .ast-desktop-header,
  body.admin-bar .ast-mobile-header {
    top: 46px;
  }
}
.jp-relatedposts-headline {
    color: transparent;
}

.jp-relatedposts-headline::after {
    content: "Articles similaires";
    color: #000;
    font-size: 20px;
    font-weight: 600;
    display: block;
}
/* Cartes blog MCF */
.wp-block-post-template li,
.wp-block-post {
  border-radius: 16px;
  overflow: hidden;
}

/* Images des articles */
.wp-block-post-featured-image img {
  border-radius: 16px;
}

/* Option bonus : léger effet "carte" */
.wp-block-post {
  background: #ffffff;
  padding: 12px;
  border-radius: 18px;
}
.wp-block-post {
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}
.wp-block-post {
  min-height: 100%;
}
.wp-block-post:hover {
  transform: translateY(-3px);
  transition: 0.2s ease;
}
/* ===== CARTES BLOG ===== */
.blog-layout-grid .post,
.archive .post {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

/* ===== CARTES BLOG / CATÉGORIES ===== */
.blog-layout-grid .post,
.archive .post {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
}

/* ===== CARTES CATÉGORIES : CARTE ENTIÈRE ===== */
.archive .post,
.blog .post,
.blog-layout-grid .post {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-sizing: border-box;
}

/* ===== CARTE ENTIÈRE ===== */
.archive .post,
.blog .post,
.blog-layout-grid .post {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-sizing: border-box;
  transition: transform 0.30s ease, box-shadow 0.30s ease;
}

/* ===== HOVER DOUX ===== */
.archive .post:hover,
.blog .post:hover,
.blog-layout-grid .post:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07);
  z-index: 2;
  position: relative;
}

/* ===== LISERÉS PAR PILIER ===== */

/* IMMO (ok déjà) */
.category-acheter-en-solo .post {
  border: 1.2px solid rgba(34, 70, 56, 0.30);
}

/* BUDGET → doré élégant */
.category-budget-et-epargne .post {
  border: 1.2px solid rgba(200, 170, 120, 0.35);
}

/* RETRAITE → terracotta doux */
.category-preparer-sa-retraite .post {
  border: 1.2px solid rgba(180, 110, 90, 0.35);
}
}
/* Réduire l’espace entre les cartes */
.wp-block-columns {
    gap: 16px !important;
}

/* Colonnes légèrement plus larges */
.wp-block-column {
    flex-basis: calc(25% - 12px) !important;
}

/* Cartes prennent toute la largeur */
.wp-block-column > div {
    width: 100% !important;
    max-width: 100% !important;
}
.mcf-top-cta-box{
background:#F7F2EA;
padding-top:26px;
padding-right:28px;
padding-bottom:24px;
padding-left:28px;
border-radius:8px;
margin:34px 0 42px;
text-align:center;
}

.mcf-top-cta-text{
font-size:20px;
line-height:1.5;
font-weight:400;
color:#4c564d;
max-width:720px;
margin:0 auto 22px;
}

.mcf-top-cta-button{
display:inline-block;
background:#C88F86;
color:#ffffff !important;
padding:13px 26px;
border-radius:42px;
text-decoration:none;
font-weight:700;
font-size:17px;
	margin-top:2px;
box-shadow:0 6px 16px rgba(0,0,0,.08);
}

.mcf-top-cta-button:hover{
opacity:.95;
transform:translateY(-2px);
}
.mcf-top-cta-button,
.mcf-top-cta-button:link,
.mcf-top-cta-button:visited,
.mcf-top-cta-button:hover{
color:#ffffff !important;
}
.mcf-top-cta-button,
.mcf-top-cta-button:link,
.mcf-top-cta-button:visited,
.mcf-top-cta-button:hover,
.mcf-top-cta-button:focus{
color:#ffffff !important;
text-decoration:none !important;
}
.mcf-top-cta-button,
.mcf-top-cta-button:link,
.mcf-top-cta-button:visited,
.mcf-top-cta-button:hover,
.mcf-top-cta-button:focus,
.mcf-top-cta-button:active{
color:#ffffff !important;
text-decoration:none !important;
background:#C88F86 !important;
}
.mcf-top-cta-button:hover{
opacity:.95;
filter:none !important;
}
a.mcf-top-cta-button,
a.mcf-top-cta-button:link,
a.mcf-top-cta-button:visited,
a.mcf-top-cta-button:hover,
a.mcf-top-cta-button:focus,
a.mcf-top-cta-button:active{
color:#ffffff !important;
background:#C88F86 !important;
text-decoration:none !important;
outline:none !important;
box-shadow:none !important;
}
.mcf-blur-wrapper {
  position: relative;
  max-height: 300px;
  overflow: hidden;
}

.mcf-blur-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(transparent, #ffffff);
}
.mcf-blur-wrapper {
  position: relative;
  max-height: 300px;
  overflow: hidden;
}

.mcf-blur-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(transparent, #ffffff);
}
.ast-custom-button{
transition: all .25s ease;
}

.ast-custom-button:hover{
transform:translateX(2px);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  font-family: Georgia, 'Times New Roman', serif;
  background: #fafaf7;
  color: #2e2e2b;
  -webkit-font-smoothing: antialiased;
}

/* =====================
   VARIABLES COULEURS MCF
   ===================== */
:root {
  --dore:       #c8a46a;
  --sauge:      #8FAE9A;
  --terra:      #b27a73;
  --terra-dark: #9a6860;
  --beige:      #f7f2ea;
  --beige-bord: #e8e0d0;
  --sapin:      #788374;
  --sapin-txt:  #767c6b;
  --blanc:      #ffffff;
  --texte:      #2e2e2b;
  --gris:       #8a8880;
  --gris-clair: #c5c0b8;
}

.wrap { max-width: 620px; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }

/* =====================
   HERO INTRO
   ===================== */
.hero {
  text-align: center;
  margin-bottom: 2.75rem;
  padding: 2.25rem 2rem 2rem;
  background: linear-gradient(160deg, #f7f2ea 60%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(200,164,106,0.15) 0%, transparent 70%);
  border-radius: 50%;
}
.hero-eyebrow {
  display: inline-block;
  font-size: 11px;
  color: var(--sapin-txt);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-bottom: 1rem;
  font-style: normal;
}
.hero h3 {
  font-size: 26px;
  font-weight: normal;
  color: var(--texte);
  line-height: 1.4;
  margin-bottom: 0.85rem;
  font-style: normal;
}
.hero h3 em {
  font-style: italic;
  color: var(--terra);
}
.hero h4 {
  font-size: 15px;
  font-weight: normal;
  color: var(--gris);
  font-style: italic;
  line-height: 1.75;
  max-width: 440px;
  margin: 0 auto 1.5rem;
}
.hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--sapin-txt);
  background: var(--blanc);
  border: 1px solid var(--beige-bord);
  border-radius: 20px;
  padding: 5px 13px;
  font-style: italic;
}

/* =====================
   BARRE PROGRESSION
   ===================== */
.progress-wrap { margin-bottom: 2rem; }
.progress-bar { display: flex; gap: 5px; margin-bottom: 0.55rem; }
.ps {
  flex: 1; height: 3px;
  background: var(--beige-bord);
  border-radius: 3px;
  transition: background 0.4s;
}
.ps.a { background: var(--terra); }
.ps.d { background: var(--dore); }
.progress-lbl {
  font-size: 11px;
  color: var(--gris-clair);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* =====================
   ÉTAPES
   ===================== */
.stp { display: none; }
.stp.on { display: block; }

/* =====================
   CARD QUESTION
   ===================== */
.q-card {
  background: var(--blanc);
  border: 1px solid var(--beige-bord);
  border-radius: 18px;
  padding: 2rem 1.75rem 1.75rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 16px rgba(120,131,116,0.06);
}

/* Badge numéro */
.q-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: bold;
  color: var(--terra);
  background: #faf0ee;
  border: 1px solid #e8c0b8;
  border-radius: 20px;
  padding: 3px 13px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 1.25rem;
}
.q-badge-dot {
  width: 6px; height: 6px;
  background: var(--terra);
  border-radius: 50%;
  display: inline-block;
}

/* Titre question H3 */
.q-card h3 {
  font-size: 21px;
  font-weight: normal;
  color: var(--texte);
  line-height: 1.45;
  text-align: center;
  margin-bottom: 0.4rem;
  font-style: normal;
}

/* Subtitle H4 */
.q-card h4 {
  font-size: 13px;
  font-weight: normal;
  color: var(--gris-clair);
  font-style: italic;
  text-align: center;
  margin-bottom: 1.6rem;
  line-height: 1.5;
}

/* Séparateur */
.q-sep {
  height: 1px;
  background: #f0ece4;
  border: none;
  margin-bottom: 1.4rem;
}

/* =====================
   OPTIONS — encadrés beige
   ===================== */
.opts { display: flex; flex-direction: column; gap: 10px; }
.opt {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--beige);
  border: 1.5px solid var(--beige-bord);
  border-radius: 12px;
  padding: 1rem 1.2rem;
  cursor: pointer;
  text-align: left;
  width: 100%;
  font-family: Georgia, serif;
  color: var(--texte);
  transition: border-color 0.2s, background 0.2s, transform 0.1s;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  box-shadow: none;
}
.opt:hover {
  border-color: var(--terra);
  background: #faf0ee;
  transform: translateX(3px);
}
.opt.sel {
  border-color: var(--terra);
  background: #faf0ee;
  box-shadow: 0 0 0 3px rgba(178,122,115,0.1);
}
.opt-ico { font-size: 20px; flex-shrink: 0; margin-top: 1px; line-height: 1; }
.opt-lbl {
  display: block;
  font-size: 15px;
  font-weight: bold;
  color: var(--texte);
  margin-bottom: 3px;
  font-style: normal;
  line-height: 1.3;
}
.opt-dsc {
  display: block;
  font-size: 12px;
  color: var(--gris);
  font-style: italic;
  line-height: 1.4;
}

/* =====================
   NAVIGATION
   ===================== */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.75rem;
}
.btn-back {
  background: none;
  border: 1px solid var(--beige-bord);
  border-radius: 8px;
  padding: 0.55rem 1.1rem;
  font-size: 13px;
  cursor: pointer;
  color: var(--gris-clair);
  font-family: Georgia, serif;
  transition: all 0.2s;
  box-shadow: none;
}
.btn-back:hover { border-color: var(--gris); color: var(--gris); }

/* CTA TERRACOTTA */
.btn-next {
  background: var(--terra);
  border: none;
  border-radius: 10px;
  padding: 0.8rem 2.25rem;
  font-size: 14px;
  cursor: pointer;
  color: #fff;
  font-family: Georgia, serif;
  letter-spacing: 0.02em;
  opacity: 0.3;
  transition: opacity 0.25s, background 0.2s, transform 0.15s;
  box-shadow: none;
  -webkit-appearance: none;
}
.btn-next.on { opacity: 1; }
.btn-next.on:hover { background: var(--terra-dark); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(178,122,115,0.3); }

/* =====================
   ÉTAPE EMAIL
   ===================== */
.email-section {
  background: linear-gradient(135deg, #f7f2ea 0%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 14px;
  padding: 1.5rem 1.75rem;
  margin-bottom: 1.25rem;
  text-align: center;
}
.email-section h3 {
  font-size: 18px;
  font-weight: normal;
  color: var(--texte);
  margin-bottom: 0.4rem;
}
.email-section h4 {
  font-size: 13px;
  font-weight: normal;
  color: var(--gris);
  font-style: italic;
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.email-lbl {
  display: block;
  font-size: 13px;
  color: var(--gris);
  font-style: italic;
  text-align: left;
  margin-bottom: 0.55rem;
}
.email-inp {
  width: 100%;
  border: 1px solid var(--beige-bord);
  border-radius: 10px;
  padding: 0.85rem 1rem;
  font-size: 15px;
  font-family: Georgia, serif;
  background: var(--blanc);
  color: var(--texte);
  outline: none;
  transition: border-color 0.2s;
  box-shadow: none;
  -webkit-appearance: none;
  margin-bottom: 0.75rem;
}
.email-inp:focus { border-color: var(--terra); }
.email-note {
  display: block;
  font-size: 11px;
  color: var(--gris-clair);
  font-style: italic;
}

/* =====================
   RÉSULTAT
   ===================== */
.res-hero {
  background: linear-gradient(135deg, #f7f2ea 0%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 18px;
  padding: 2rem;
  margin-bottom: 1.25rem;
  text-align: center;
}
.res-eyebrow {
  display: inline-block;
  font-size: 10px;
  color: var(--terra);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 0.75rem;
}
.res-title {
  font-size: 22px;
  font-weight: normal;
  color: var(--texte);
  margin-bottom: 1rem;
  line-height: 1.35;
}
.res-text {
  font-size: 14.5px;
  color: var(--sapin-txt);
  line-height: 1.85;
  font-style: italic;
  text-align: left;
}
.res-divider {
  height: 1px;
  background: var(--beige-bord);
  border: none;
  margin: 1.25rem 0;
}
.tags { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin-top: 1rem; }
.tag {
  font-size: 11px;
  padding: 4px 13px;
  border-radius: 20px;
  font-style: italic;
}
.tg { background: #eaf4ee; color: #2d6b4a; border: 1px solid #b5d9c4; }
.ts { background: #edf3ef; color: var(--sapin); border: 1px solid #c0d4c8; }
.td { background: #faf5ec; color: #7a5e28; border: 1px solid #dfc99a; }
.tt { background: #faf0ee; color: #8b4328; border: 1px solid #dfaa88; }

/* CTA RÉSULTAT */
.res-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.25rem; }
.res-action-title {
  font-size: 12px;
  color: var(--gris-clair);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 0.25rem;
}
.act {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--beige);
  border: 1.5px solid var(--beige-bord);
  border-radius: 13px;
  padding: 1.1rem 1.25rem;
  text-decoration: none;
  color: var(--texte);
  transition: border-color 0.2s, background 0.2s, transform 0.1s;
}
.act:hover {
  border-color: var(--terra);
  background: #faf0ee;
  transform: translateX(3px);
}
.act-ico { font-size: 22px; flex-shrink: 0; }
.act-lbl {
  display: block;
  font-size: 14px;
  font-weight: bold;
  color: var(--texte);
  margin-bottom: 3px;
  font-style: normal;
}
.act-sub { display: block; font-size: 12px; color: var(--gris); font-style: italic; }
.act-arr { margin-left: auto; color: var(--terra); font-size: 18px; flex-shrink: 0; }

/* NEWSLETTER BOX */
.nl-box {
  background: var(--sauge);
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
  text-align: center;
  margin-bottom: 1.25rem;
}
.nl-box h3 {
  font-size: 16px;
  font-weight: normal;
  color: #fff;
  margin-bottom: 0.5rem;
}
.nl-box p {
  font-size: 13px;
  color: rgba(255,255,255,0.85);
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.btn-nl {
  display: inline-block;
  background: #fff;
  color: var(--sapin);
  border: none;
  border-radius: 10px;
  padding: 0.7rem 1.75rem;
  font-size: 14px;
  font-family: Georgia, serif;
  cursor: pointer;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.2s, transform 0.1s;
}
.btn-nl:hover { background: var(--beige); transform: translateY(-1px); }

.foot {
  text-align: center;
  font-size: 11.5px;
  color: var(--gris-clair);
  font-style: italic;
  margin-top: 1.5rem;
}
.foot a { color: var(--terra); text-decoration: none; }

@media (max-width: 480px) {
  .hero h3 { font-size: 21px; }
  .q-card h3 { font-size: 18px; }
  .q-card { padding: 1.4rem 1.1rem; }
  .btn-next { padding: 0.75rem 1.6rem; }
}
.wrap {
  max-width: 640px;
  margin: 0 auto;
}
/* =========================
   FORMULAIRE RITUEL PREMIUM
========================= */

.mcf-top-cta-box{
  background:#f5f1ea;
  padding:24px 28px;
  border-radius:18px;
  text-align:center;
  margin:36px auto;
}

.mcf-top-cta-text{
  font-size:18px;
  line-height:1.45;
  color:#3f4b46;
  margin-bottom:16px;
  font-weight:400;
}

.mcf-top-cta-text strong{
  font-weight:700;
}

.mcf-top-cta-button{
  display:inline-block;
  background:#c88f86;
  color:#ffffff !important;
  text-decoration:none;
  padding:12px 28px;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
  transition:all 0.25s ease;
}

.mcf-top-cta-button:hover{
  transform:translateY(-2px);
  opacity:0.92;
}

/* =========================
   DIAGNOSTIC CAP
========================= */

.mcf-diagnostic-cta-box{
  background:#f5f1ea;
  padding:24px 28px 16px 28px;
  border-radius:18px;
  text-align:center;
  margin:36px auto;
}

.mcf-diagnostic-cta-text{
  font-size:18px;
  line-height:1.5;
  color:#3f4b46;
  margin-bottom:0px; /* remonte fortement le bouton */
  font-weight:400;
}

.mcf-diagnostic-cta-text strong{
  font-weight:700;
}

.mcf-diagnostic-cta-button{
  display:inline-block;
  width:auto;
  background:#c88f86;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
  padding:16px 34px;
  border-radius:999px;
  font-size:15px;
  font-weight:600;
  line-height:1;
  transition:all 0.25s ease;
}

/* blanc forcé partout */
.mcf-diagnostic-cta-button,
.mcf-diagnostic-cta-button:link,
.mcf-diagnostic-cta-button:visited,
.mcf-diagnostic-cta-button:hover,
.mcf-diagnostic-cta-button:active,
.mcf-diagnostic-cta-button:focus{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
}

.mcf-diagnostic-cta-button:hover{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  transform:translateY(-2px);
  opacity:0.92;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  font-family: Georgia, 'Times New Roman', serif;
  background: #fafaf7;
  color: #2e2e2b;
  -webkit-font-smoothing: antialiased;
}
:root {
  --dore:       #c8a46a;
  --sauge:      #8FAE9A;
  --terra:      #b27a73;
  --terra-dark: #9a6860;
  --beige:      #f7f2ea;
  --beige-bord: #e8e0d0;
  --sapin:      #788374;
  --sapin-txt:  #767c6b;
  --blanc:      #ffffff;
  --texte:      #2e2e2b;
  --gris:       #8a8880;
  --gris-clair: #c5c0b8;
  --vert-ok:    #2d6b4a;
  --vert-bg:    #eaf4ee;
  --rouge:      #9a3a2a;
  --rouge-bg:   #faf0ee;
}

.wrap { max-width: 620px !important; margin: 0 auto !important; padding: 2.5rem 1.25rem 4rem; width: 100% !important; }

/* HERO */
.hero {
  text-align: center;
  margin-bottom: 2.75rem;
  padding: 2.25rem 2rem 2rem;
  background: linear-gradient(160deg, #f7f2ea 60%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(200,164,106,0.15) 0%, transparent 70%);
  border-radius: 50%;
}
.hero-eyebrow { display: inline-block; font-size: 11px; color: var(--sapin-txt); text-transform: uppercase; letter-spacing: 0.18em; margin-bottom: 1rem; }
.hero h3 { font-size: 24px; font-weight: normal; color: var(--texte); line-height: 1.4; margin-bottom: 0.85rem; }
.hero h3 em { font-style: italic; color: var(--terra); }
.hero h4 { font-size: 14px; font-weight: normal; color: var(--gris); font-style: italic; line-height: 1.75; max-width: 420px; margin: 0 auto; }

/* SECTION TITRE */
.section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 1.5rem;
}
.section-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  background: var(--terra);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  font-weight: bold;
  flex-shrink: 0;
}
.section-label { font-size: 18px; font-weight: normal; color: var(--texte); }
.section-sub { font-size: 13px; color: var(--gris); font-style: italic; margin-top: 2px; }

/* CARD */
.card {
  background: var(--blanc);
  border: 1px solid var(--beige-bord);
  border-radius: 18px;
  padding: 1.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 2px 16px rgba(120,131,116,0.06);
}

/* INPUTS */
.field { margin-bottom: 1.25rem; }
.field:last-child { margin-bottom: 0; }
.field-label {
  display: block;
  font-size: 13px;
  color: var(--sapin-txt);
  margin-bottom: 0.45rem;
  font-style: italic;
}
.field-row { display: flex; gap: 10px; align-items: center; }
.field-input {
  flex: 1;
  border: 1px solid var(--beige-bord);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  font-size: 15px;
  font-family: Georgia, serif;
  background: var(--beige);
  color: var(--texte);
  outline: none;
  transition: border-color 0.2s;
  -webkit-appearance: none;
}
.field-input:focus { border-color: var(--terra); background: var(--blanc); }
.field-unit {
  font-size: 13px;
  color: var(--gris);
  font-style: italic;
  flex-shrink: 0;
  width: 30px;
}

/* SLIDER */
.slider-wrap { margin-top: 0.5rem; }
.slider {
  width: 100%;
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: 2px;
  background: var(--beige-bord);
  outline: none;
  cursor: pointer;
}
.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--terra);
  cursor: pointer;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(178,122,115,0.4);
}
.slider-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--gris-clair); margin-top: 4px; font-style: italic; }

/* TABS taux */
.tabs { display: flex; gap: 8px; margin-bottom: 1.25rem; }
.tab {
  flex: 1;
  padding: 0.6rem 0.5rem;
  border: 1.5px solid var(--beige-bord);
  border-radius: 10px;
  background: var(--beige);
  cursor: pointer;
  text-align: center;
  font-family: Georgia, serif;
  font-size: 12px;
  color: var(--gris);
  font-style: italic;
  transition: all 0.2s;
  -webkit-appearance: none;
}
.tab:hover { border-color: var(--terra); }
.tab.on { border-color: var(--terra); background: #faf0ee; color: var(--terra); font-weight: bold; }
.tab-pct { display: block; font-size: 16px; font-weight: bold; font-style: normal; color: var(--texte); }
.tab.on .tab-pct { color: var(--terra); }

/* CTA */
.btn-calc {
  width: 100%;
  background: var(--terra);
  border: none;
  border-radius: 12px;
  padding: 0.9rem 2rem;
  font-size: 15px;
  cursor: pointer;
  color: #fff;
  font-family: Georgia, serif;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.15s;
  margin-top: 1.25rem;
  -webkit-appearance: none;
}
.btn-calc:hover { background: var(--terra-dark); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(178,122,115,0.3); }

/* RÉSULTATS BUDGET */
.result-hidden { display: none; }
.result-visible { display: block; }

.budget-result {
  background: linear-gradient(135deg, #f7f2ea 0%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 16px;
  padding: 1.5rem;
  margin-top: 1.25rem;
}
.budget-result-title { font-size: 12px; color: var(--terra); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 1rem; }

.budget-bars { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.25rem; }
.bar-item { }
.bar-label-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.bar-label { font-size: 13px; color: var(--texte); }
.bar-amount { font-size: 13px; font-weight: bold; color: var(--texte); }
.bar-track { height: 8px; background: var(--beige-bord); border-radius: 4px; overflow: hidden; }
.bar-fill { height: 100%; border-radius: 4px; transition: width 0.6s ease; }
.bar-fill.charges { background: var(--terra); }
.bar-fill.plaisir  { background: var(--dore); }
.bar-fill.epargne  { background: var(--sauge); }

.verdict-box {
  border-radius: 12px;
  padding: 1rem 1.25rem;
  text-align: center;
}
.verdict-ok  { background: var(--vert-bg); border: 1px solid #b5d9c4; }
.verdict-warn { background: #faf5ec; border: 1px solid #dfc99a; }
.verdict-bad { background: var(--rouge-bg); border: 1px solid #e8c0b8; }
.verdict-text { font-size: 14px; line-height: 1.6; font-style: italic; }
.verdict-ok .verdict-text   { color: var(--vert-ok); }
.verdict-warn .verdict-text { color: #7a5e28; }
.verdict-bad .verdict-text  { color: var(--rouge); }

.btn-use-epargne {
  display: block;
  width: 100%;
  background: var(--sauge);
  border: none;
  border-radius: 10px;
  padding: 0.75rem 1.5rem;
  font-size: 14px;
  cursor: pointer;
  color: #fff;
  font-family: Georgia, serif;
  margin-top: 1rem;
  transition: background 0.2s, transform 0.1s;
  -webkit-appearance: none;
  text-align: center;
}
.btn-use-epargne:hover { background: #7a9d87; transform: translateY(-1px); }

/* SÉPARATEUR */
.sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 2rem 0;
  color: var(--gris-clair);
  font-size: 12px;
  font-style: italic;
}
.sep::before, .sep::after { content: ''; flex: 1; height: 1px; background: var(--beige-bord); }

/* RÉSULTATS ÉPARGNE */
.epargne-result {
  margin-top: 1.25rem;
}
.scenarios { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.25rem; }
.scenario {
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.scenario.prudent  { background: var(--vert-bg); border: 1px solid #b5d9c4; }
.scenario.modere   { background: #faf5ec; border: 1px solid #dfc99a; }
.scenario.dynamique { background: var(--rouge-bg); border: 1px solid #e8c0b8; }
.scenario-label { font-size: 13px; font-style: italic; }
.scenario.prudent .scenario-label   { color: var(--vert-ok); }
.scenario.modere .scenario-label    { color: #7a5e28; }
.scenario.dynamique .scenario-label { color: #7a3a2a; }
.scenario-capital { font-size: 20px; font-weight: bold; }
.scenario.prudent .scenario-capital   { color: var(--vert-ok); }
.scenario.modere .scenario-capital    { color: #7a5e28; }
.scenario.dynamique .scenario-capital { color: #7a3a2a; }
.scenario-detail { font-size: 11px; font-style: italic; color: var(--gris); margin-top: 2px; }

.epargne-insight {
  background: linear-gradient(135deg, #f7f2ea 0%, #eef3ef 100%);
  border: 1px solid var(--beige-bord);
  border-radius: 12px;
  padding: 1.1rem 1.25rem;
  font-size: 14px;
  color: var(--sapin-txt);
  font-style: italic;
  line-height: 1.7;
  text-align: center;
}

/* NL BOX */
.nl-box {
  background: var(--sauge);
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
  text-align: center;
  margin-top: 2rem;
}
.nl-box h3 { font-size: 16px; font-weight: normal; color: #fff; margin-bottom: 0.5rem; }
.nl-box p  { font-size: 13px; color: rgba(255,255,255,0.85); font-style: italic; line-height: 1.6; margin-bottom: 1rem; }
.btn-nl {
  display: inline-block; background: #fff; color: var(--sapin);
  border: none; border-radius: 10px; padding: 0.7rem 1.75rem;
  font-size: 14px; font-family: Georgia, serif; cursor: pointer;
  text-decoration: none; font-weight: bold;
  transition: background 0.2s, transform 0.1s;
}
.btn-nl:hover { background: var(--beige); transform: translateY(-1px); }

.foot { text-align: center; font-size: 11.5px; color: var(--gris-clair); font-style: italic; margin-top: 1.5rem; }
.foot a { color: var(--terra); text-decoration: none; }

@media (max-width: 480px) {
  .hero h3 { font-size: 20px; }
  .card { padding: 1.25rem; }
  .scenario-capital { font-size: 17px; }
}
/* ===== LIENS ARTICLES MCF ===== */

.mcf-article p a,
.mcf-article li a,
.mcf-article .mcf-sommaire a {
    color: #c88f86 !important;
    text-decoration: underline;
}

.mcf-article p a strong,
.mcf-article li a strong,
.mcf-article .mcf-sommaire a strong {
    color: inherit !important;
}

.mcf-article p a:hover,
.mcf-article li a:hover,
.mcf-article .mcf-sommaire a:hover {
    color: #b27a73 !important;
}

/* ===== PROTECTION DES BOUTONS ===== */

.mcf-top-cta-button,
.mcf-top-cta-button:hover,
.mcf-top-cta-button strong {
    color: #ffffff !important;
    text-decoration: none !important;
}
/* Couleur des soulignements des liens MCF */

.mcf-article a {
    text-decoration-color: #c88f86 !important;
}

.mcf-article a:hover {
    text-decoration-color: #b27a73 !important;
}
/* ===== LIENS ARTICLES MCF ===== */

.mcf-article a,
.mcf-article a:visited,
.mcf-article a strong,
.mcf-article a:visited strong {
    color: #c88f86 !important;
    text-decoration-color: #c88f86 !important;
}

.mcf-article a:hover,
.mcf-article a:hover strong {
    color: #b27a73 !important;
    text-decoration-color: #b27a73 !important;
}

/* ===== PROTECTION DES BOUTONS ===== */

.mcf-top-cta-button,
.mcf-top-cta-button:visited,
.mcf-top-cta-button:hover,
.mcf-top-cta-button strong {
    color: #ffffff !important;
    text-decoration: none !important;
}