/* ============================================================
   DESIGN SYSTEM "cf-*" — Cabinet Cedric Frickert
   Source : page Parcours (parcours-reparer-invisible).
   Pose UNE SEULE FOIS, globalement :
     Elementor -> Reglages du site -> CSS personnalise
   Tout bloc HTML utilisant les classes .cf-* heritera de cette charte.
   NE PAS recopier ce bloc dans chaque widget : il est global.
   ============================================================ */

.cf-page { font-family: 'DM Sans', sans-serif; color: #1A1A1A; line-height: 1.7; }
.cf-page h1, .cf-page h2, .cf-page h3, .cf-page h4 { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.2; }
.cf-page h1 em, .cf-page h2 em, .cf-page h3 em { color: #9CAF88; font-style: italic; }
.cf-page p { margin: 0 0 1em; }
.cf-wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.cf-wrap-sm { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.cf-label { display: inline-block; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: #9CAF88; font-weight: 500; margin-bottom: 16px; }
.cf-label::before { content: ""; display: inline-block; width: 32px; height: 1px; background: #9CAF88; vertical-align: middle; margin-right: 12px; }
.cf-label::after { content: ""; display: inline-block; width: 32px; height: 1px; background: #9CAF88; vertical-align: middle; margin-left: 12px; }
.cf-h2 { font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 24px; color: #1A1A1A; }
.cf-h3 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin: 32px 0 16px; }
.cf-btn-primary { display: inline-block; background: #1A1A1A; color: #C9A961; font-family: 'DM Sans', sans-serif; font-weight: 500; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; padding: 18px 36px; text-decoration: none; border-radius: 2px; margin: 8px 6px; transition: all 0.3s; }
.cf-btn-primary:hover { background: #C9A961; color: #1A1A1A; transform: translateY(-2px); }
.cf-btn-secondary { display: inline-block; background: transparent; color: #1A1A1A; border: 1px solid #1A1A1A; font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 14px; letter-spacing: 1px; text-transform: uppercase; padding: 17px 32px; text-decoration: none; border-radius: 2px; margin: 8px 6px; transition: all 0.3s; }
.cf-btn-secondary:hover { background: #1A1A1A; color: #F5EFE0; }
.cf-btn-cta { font-style: normal; opacity: 0.85; font-size: 13px; display: block; margin-top: 8px; font-weight: 300; }
.cf-divider-gold { height: 1px; background: linear-gradient(to right, transparent, #C9A961, transparent); border: none; margin: 48px auto; max-width: 240px; }
.cf-pull-quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.5; color: #1A1A1A; padding: 32px 24px; border-left: 3px solid #C9A961; margin: 32px 0; background: rgba(156,175,136,0.06); }
.cf-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.cf-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cf-step { display: grid; grid-template-columns: 120px 1fr; gap: 32px; align-items: flex-start; padding: 32px 0; border-top: 1px solid rgba(156,175,136,0.25); }
.cf-step:last-child { border-bottom: 1px solid rgba(156,175,136,0.25); }
.cf-step-num { font-family: 'Cormorant Garamond', serif; font-size: 64px; line-height: 1; color: #C9A961; font-style: italic; }
.cf-sidebar { background: rgba(26,26,26,0.04); border-left: 4px solid #C9A961; padding: 24px 28px; margin: 32px 0; border-radius: 2px; }
.cf-sidebar-label { font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #C9A961; font-weight: 600; margin: 0 0 8px; display: block; }
.cf-sidebar-content { font-size: 15px; line-height: 1.7; margin: 0; }
.cf-card { background: #FFFFFF; border: 1px solid rgba(156,175,136,0.25); border-radius: 4px; padding: 40px 32px; transition: box-shadow 0.3s; }
.cf-card:hover { box-shadow: 0 4px 24px rgba(0,0,0,0.06); }
.cf-card-icon { font-size: 28px; color: #C9A961; margin-bottom: 16px; }
.cf-author-card { display: grid; grid-template-columns: 100px 1fr; gap: 24px; align-items: center; padding: 24px; background: rgba(245,239,224,0.5); border-radius: 4px; max-width: 640px; margin: 32px auto; }
.cf-author-card img { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; }
.cf-author-name { font-family: 'Cormorant Garamond', serif; font-size: 24px; margin: 0 0 4px; color: #1A1A1A; }
.cf-author-role { font-family: 'DM Sans', sans-serif; font-size: 14px; color: #9CAF88; letter-spacing: 1px; text-transform: uppercase; margin: 0 0 8px; }
.cf-author-bio { font-size: 14px; line-height: 1.6; color: #4A4A4A; margin: 0; }
.cf-footer-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 24px; }
.cf-footer-links a { color: #9CAF88; text-decoration: none; font-family: 'DM Sans', sans-serif; font-size: 14px; padding: 8px 0; border-bottom: 1px solid rgba(156,175,136,0.2); display: block; }
.cf-footer-links a:hover { color: #C9A961; }
@media (max-width: 768px) {
  .cf-page .cf-grid-2, .cf-page .cf-grid-3 { grid-template-columns: 1fr !important; }
  .cf-step { grid-template-columns: 1fr !important; gap: 8px !important; }
  .cf-author-card { grid-template-columns: 1fr !important; text-align: center; }
  .cf-author-card img { margin: 0 auto; }
}

/* --- Liens de contenu : scopes a Therapie IFS, et boutons exclus (sinon ils ecrasent .cf-btn-*) --- */
.page-id-4242 .cf-page a:not([class*="cf-btn"]) { color:#9CAF88; text-decoration:underline; text-underline-offset:3px; }
.page-id-4242 .cf-page a:not([class*="cf-btn"]):hover { color:#C9A961; }

/* --- Espacement Therapie IFS uniquement --- */
.page-id-4242 .cf-page { padding-top:50px; padding-bottom:50px; }
.page-id-4242 .cf-divider-gold { margin-top:44px; margin-bottom:44px; }
.page-id-4242 .cf-grid-2,
.page-id-4242 .cf-grid-3 { margin-top:40px; }

/* ===== PILIERS-UNIFORMISATION : memes regles que 4242 pour 5642 / 5316 / 4549 ===== */
.page-id-5642 .cf-page a:not([class*="cf-btn"]), .page-id-5316 .cf-page a:not([class*="cf-btn"]), .page-id-4549 .cf-page a:not([class*="cf-btn"]) { color:#9CAF88; text-decoration:underline; text-underline-offset:3px; }
.page-id-5642 .cf-page a:not([class*="cf-btn"]):hover, .page-id-5316 .cf-page a:not([class*="cf-btn"]):hover, .page-id-4549 .cf-page a:not([class*="cf-btn"]):hover { color:#C9A961; }
.page-id-5642 .cf-page, .page-id-5316 .cf-page, .page-id-4549 .cf-page { padding-top:50px; padding-bottom:50px; }
.page-id-5642 .cf-divider-gold, .page-id-5316 .cf-divider-gold, .page-id-4549 .cf-divider-gold { margin-top:44px; margin-bottom:44px; }
.page-id-5642 .cf-grid-2, .page-id-5642 .cf-grid-3, .page-id-5316 .cf-grid-2, .page-id-5316 .cf-grid-3, .page-id-4549 .cf-grid-2, .page-id-4549 .cf-grid-3 { margin-top:40px; }