/* =========================================================
   SPPC — Core site CSS
   =========================================================

   Source: migrated from WordPress Additional CSS.
   Migration date: 2026-06-07T22:38:09+02:00
   Original backup: /home/clients/ecfc5ce7b45a63a3bfc8dd2b0c7b9d24/sppc-patches/migration_css_additionnel_core_20260607-223805/custom_css_before.css

   Editing rule:
   - Structural/stable CSS belongs here.
   - Small manual experiments belong in WordPress Additional CSS.
   - Preserve order unless explicitly refactoring with visual audit.
   ========================================================= */

:root{--sppc-blue:#0B3557;--sppc-blue-2:#123F63;--sppc-orange:#F26A1B;--sppc-soft:#F5F7FA;--sppc-text:#0B3557;--sppc-muted:#4A5568;--sppc-kine:#1F7FAF;--sppc-medecin:#E85D1B;--sppc-paramedical:#2E8B57}
html body #page-container #main-header,html body #page-container #main-header.et-fixed-header,html body.et_fixed_nav #main-header,html body #top-header{background-color:var(--sppc-blue)!important;background-image:none!important;box-shadow:0 8px 24px rgba(11,53,87,.16)!important}
html body #main-header .container,html body #et-top-navigation,html body #top-menu-nav,html body #top-menu{background:transparent!important}
html body #top-menu>li>a,html body #et-top-navigation nav>ul>li>a{color:#fff!important;font-weight:750!important}
html body #top-menu li li a{color:var(--sppc-blue)!important;font-weight:650!important}
html body #top-menu li.sppc-rdv>a,html body #et-top-navigation nav>ul>li.sppc-rdv>a{background-color:var(--sppc-orange)!important;color:#fff!important;padding:12px 16px!important;border-radius:999px!important;margin-top:-12px!important}
html body #logo,html body img#logo,html body .logo_container img,html body .et-fixed-header #logo{display:none!important;opacity:0!important;visibility:hidden!important;width:0!important;height:0!important}
html body .logo_container a{display:inline-flex!important;align-items:center!important;text-decoration:none!important;font-size:0!important}
html body .logo_container a:before{content:"SPPC";display:inline-flex!important;align-items:center;justify-content:center;min-width:88px;height:48px;margin-top:12px;padding:0 18px;border-radius:12px;background:#fff;color:var(--sppc-blue);font-weight:900;letter-spacing:.06em;font-size:22px}
body.page #sidebar,body.page .et_pb_widget_area,body.page .widget_recent_entries,body.page .widget_recent_comments,body.page .widget_archive,body.page .widget_categories,body.page .widget_meta,body.page .widget_search,#main-footer,#footer-widgets,#footer-bottom{display:none!important}
body.page #main-content .container:before{display:none!important}body.page #left-area{width:100%!important;padding-right:0!important}body.page .container{max-width:100%!important;width:100%!important}
.sppc-page{color:var(--sppc-text);font-size:17px;line-height:1.7;background:#fff}.sppc-page h1,.sppc-page h2,.sppc-page h3{color:var(--sppc-blue);font-weight:850;line-height:1.15}.sppc-page p{color:var(--sppc-muted)}
.sppc-hero{min-height:68vh;display:flex;align-items:center;background:radial-gradient(circle at 85% 20%,rgba(242,106,27,.24),transparent 30%),linear-gradient(135deg,var(--sppc-blue),var(--sppc-blue-2));color:#fff;padding:110px 7% 90px;border-radius:0 0 34px 34px}.sppc-hero-inner{max-width:980px}.sppc-hero h1{color:#fff;font-size:clamp(42px,6vw,78px);margin:0 0 22px}.sppc-hero .sppc-lead{color:rgba(255,255,255,.88)}
.sppc-kicker{color:var(--sppc-orange)!important;text-transform:uppercase;font-weight:900;letter-spacing:.08em;margin-bottom:12px}.sppc-lead{font-size:clamp(18px,2vw,23px);max-width:900px}.sppc-section,.sppc-page-title{padding:78px 7%}.sppc-page-title{background:linear-gradient(180deg,#fff,var(--sppc-soft))}.sppc-section-alt{background:var(--sppc-soft);border-radius:28px;margin:20px 4%}
.sppc-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.sppc-btn{display:inline-block;border-radius:999px;padding:13px 22px;font-weight:850;text-decoration:none}.sppc-btn-primary{background:var(--sppc-orange);color:#fff!important}.sppc-btn-secondary{border:2px solid currentColor;color:inherit!important}.sppc-hero .sppc-btn-secondary{color:#fff!important}
.sppc-steps{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.sppc-steps span{background:var(--sppc-blue);color:#fff;border-radius:999px;padding:10px 16px;font-weight:800}
.sppc-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:24px;margin-top:32px}.sppc-team-card{display:block;background:#fff;border:1px solid #e8edf2;border-radius:24px;padding:28px;box-shadow:0 14px 34px rgba(11,53,87,.08);color:var(--sppc-text)!important;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.sppc-team-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(11,53,87,.14)}.sppc-team-card strong{display:block;font-size:1.28rem;margin-bottom:10px}.sppc-team-card span{color:var(--sppc-muted)}
.sppc-kine{border-top:7px solid var(--sppc-kine)}.sppc-medecin{border-top:7px solid var(--sppc-medecin)}.sppc-paramedical{border-top:7px solid var(--sppc-paramedical)}.sppc-kine-border{border-left:8px solid var(--sppc-kine)}.sppc-medecin-border{border-left:8px solid var(--sppc-medecin)}.sppc-paramedical-border{border-left:8px solid var(--sppc-paramedical)}
.sppc-photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:28px}.sppc-photo-strip div{min-height:240px;border-radius:26px;background:linear-gradient(135deg,rgba(11,53,87,.10),rgba(242,106,27,.08)),linear-gradient(135deg,#dfe8f0,#f7fafc);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:var(--sppc-blue)}.sppc-photo-strip span{font-weight:850;color:var(--sppc-orange)}.sppc-photo-strip p{color:var(--sppc-blue);font-weight:800}
.sppc-practitioner-card{display:grid;grid-template-columns:150px 1fr;gap:26px;background:#fff;border-radius:24px;padding:26px;box-shadow:0 14px 34px rgba(11,53,87,.08);margin-top:24px}.sppc-photo-placeholder{width:150px;height:150px;border-radius:22px;background:var(--sppc-soft);display:flex;align-items:center;justify-content:center;font-weight:850;color:var(--sppc-muted)}
@media(max-width:980px){html body .logo_container a:before{margin-top:8px;height:42px}.sppc-hero{min-height:auto;padding:80px 7% 70px}}@media(max-width:700px){.sppc-section,.sppc-page-title{padding:58px 7%}.sppc-practitioner-card{grid-template-columns:1fr}}

/* SPPC menu accents + robust appointment CTA */
html body #top-menu > li.sppc-rdv > a,
html body #top-menu > li > a[href*="prendre-rendez-vous"],
html body #et-top-navigation nav > ul > li.sppc-rdv > a,
html body #et-top-navigation nav > ul > li > a[href*="prendre-rendez-vous"],
html body .et_mobile_menu li.sppc-rdv > a,
html body .et_mobile_menu li > a[href*="prendre-rendez-vous"] {
  background-color: #F26A1B !important;
  background: #F26A1B !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  padding: 12px 16px !important;
  font-weight: 850 !important;
}

html body #top-menu > li.sppc-rdv > a:hover,
html body #top-menu > li > a[href*="prendre-rendez-vous"]:hover {
  background-color: #d95612 !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* SPPC Accueil v2 */
.sppc-home-carousel{padding:44px 0 30px;background:#fff}.sppc-home-hero-carousel{padding-top:28px}.sppc-carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(82%,1080px);gap:24px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:7%;padding:26px 7% 18px;scrollbar-width:thin}.sppc-slide,.sppc-infra-card{scroll-snap-align:center}.sppc-slide{min-height:560px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:32px;align-items:stretch;border-radius:34px;padding:42px;color:#fff;background:linear-gradient(135deg,#0B3557,#123F63);box-shadow:0 22px 54px rgba(11,53,87,.18)}.sppc-slide h1,.sppc-slide h2{color:#fff!important;font-size:clamp(36px,5vw,68px);line-height:1.05;margin-bottom:18px}.sppc-slide p{color:rgba(255,255,255,.88);font-size:1.14rem;max-width:760px}.sppc-slide-content{display:flex;flex-direction:column;justify-content:center}.sppc-slide-visual{min-height:360px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.05)),radial-gradient(circle at 70% 20%,rgba(242,106,27,.35),transparent 32%),rgba(255,255,255,.12);display:flex;align-items:flex-end;justify-content:flex-start;padding:24px;border:1px solid rgba(255,255,255,.18)}.sppc-slide-visual span{display:inline-block;background:rgba(255,255,255,.92);color:#0B3557;font-weight:850;padding:10px 14px;border-radius:999px}.sppc-slide-orange{background:linear-gradient(135deg,#0B3557 0%,#963F1B 100%)}.sppc-slide-kine{background:linear-gradient(135deg,#0B3557 0%,#1F7FAF 100%)}.sppc-slide-paramedical{background:linear-gradient(135deg,#0B3557 0%,#2E8B57 100%)}.sppc-carousel-hint{margin:0 7%;font-size:.95rem;color:#4A5568}.sppc-approach-block{margin:42px 4%;padding:78px 7%;border-radius:34px;background:radial-gradient(circle at 85% 10%,rgba(242,106,27,.14),transparent 28%),linear-gradient(180deg,#F5F7FA,#fff)}.sppc-approach-text{max-width:920px}.sppc-approach-text h2{font-size:clamp(34px,4vw,54px)}.sppc-approach-diagram{margin-top:42px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"kine center medecin" ". paramedical .";gap:22px;align-items:center}.sppc-diagram-node,.sppc-diagram-center{border-radius:26px;padding:26px;text-decoration:none;box-shadow:0 16px 36px rgba(11,53,87,.10)}.sppc-diagram-node strong,.sppc-diagram-center strong{display:block;font-size:1.25rem;margin-bottom:8px}.sppc-diagram-node span,.sppc-diagram-center span{color:#4A5568}.sppc-node-kine{grid-area:kine;background:#fff;border-top:7px solid #1F7FAF;color:#0B3557!important}.sppc-node-medecin{grid-area:medecin;background:#fff;border-top:7px solid #E85D1B;color:#0B3557!important}.sppc-node-paramedical{grid-area:paramedical;background:#fff;border-top:7px solid #2E8B57;color:#0B3557!important}.sppc-diagram-center{grid-area:center;background:#0B3557;color:#fff;text-align:center}.sppc-diagram-center span{color:rgba(255,255,255,.82)}.sppc-approach-steps{margin-top:38px}.sppc-section-heading{padding:0 7%;max-width:1040px}.sppc-section-heading h2{font-size:clamp(32px,4vw,52px)}.sppc-infra-track{grid-auto-columns:minmax(280px,440px)}.sppc-infra-card{border-radius:28px;background:#fff;border:1px solid #E8EDF2;box-shadow:0 16px 36px rgba(11,53,87,.08);padding:22px}.sppc-infra-image{height:270px;border-radius:22px;background:linear-gradient(135deg,rgba(11,53,87,.12),rgba(242,106,27,.12)),linear-gradient(135deg,#E3EBF2,#F8FAFC);display:flex;align-items:flex-end;padding:20px;margin-bottom:18px}.sppc-infra-image span{color:#0B3557;background:#fff;border-radius:999px;padding:8px 12px;font-weight:850}.sppc-infra-card h3{margin-bottom:8px}
@media(max-width:980px){.sppc-slide{grid-template-columns:1fr;min-height:auto}.sppc-slide-visual{min-height:260px}.sppc-approach-diagram{grid-template-columns:1fr;grid-template-areas:"center" "kine" "medecin" "paramedical"}}@media(max-width:700px){.sppc-carousel-track{grid-auto-columns:88%;padding-inline:6%;scroll-padding-inline:6%}.sppc-slide{padding:28px;border-radius:26px}.sppc-approach-block{margin:28px 0;border-radius:0;padding:58px 7%}}
/* === SPPC 08B START === */
:root {
  --sppc-blue: #07324f;
  --sppc-blue-2: #0d456b;
  --sppc-orange: #f06a24;
  --sppc-green: #2f9b68;
  --sppc-cyan: #168fbb;
  --sppc-bg: #f5f8fa;
  --sppc-text: #243447;
  --sppc-muted: #5f6f7f;
  --sppc-card: #ffffff;
  --sppc-border: rgba(7, 50, 79, 0.12);
}

body { color: var(--sppc-text); }
a { color: var(--sppc-blue-2); }

#main-header {
  background: var(--sppc-blue) !important;
  box-shadow: 0 8px 24px rgba(7, 50, 79, 0.16) !important;
}
#main-header.et-fixed-header { background: var(--sppc-blue) !important; }
#main-header .logo_container:before,
#main-header .logo_container:after,
.sppc-logo-placeholder {
  content: none !important;
  display: none !important;
}
#main-header img#logo,
.et-fixed-header img#logo {
  display: block !important;
  opacity: 1 !important;
  max-height: 62px !important;
  width: auto !important;
  content: url("https://sppc.be/wp-content/uploads/sppc/logo-sppc.svg?v=20260514-083209") !important;
}
#main-header .logo_container a { display: flex !important; align-items: center !important; }
#et-top-navigation nav > ul > li > a,
#top-menu a { color: #ffffff !important; }
#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a { color: #ffffff !important; }
#top-menu li li a { color: var(--sppc-blue) !important; }
#top-menu .menu-item-has-children > a:first-child:after { color: rgba(255,255,255,0.85) !important; }
.mobile_menu_bar:before { color: #ffffff !important; }

#top-menu li a[href*="equipe-kine"],
#top-menu li a[href*="equipe-medecin"],
#top-menu li a[href*="equipe-para-medicale"] { text-decoration-thickness: 2px; }

#top-menu li a[href*="equipe-kine/"]:last-child,
#top-menu li a[href*="equipe-medecin/"]:last-child,
#top-menu li a[href*="equipe-para-medicale/"]:last-child {}

#top-menu a[href*="equipe-kine/"],
#top-menu a[href*="equipe-medecin/"],
#top-menu a[href*="equipe-para-medicale/"] {}

#top-menu a[href*="equipe-kine/"]:hover,
#top-menu a[href*="equipe-medecin/"]:hover,
#top-menu a[href*="equipe-para-medicale/"]:hover { opacity: 0.85 !important; }

#top-menu a[href*="equipe-kine/"],
#top-menu a[href*="equipe-medecin/"],
#top-menu a[href*="equipe-para-medicale/"] {}

/* Footer Divi masque; footer SPPC ajoute par mu-plugin. */
#main-footer,
#footer-bottom,
.et-l--footer,
footer.et-l--footer {
  display: none !important;
}
.sppc-site-footer {
  background: var(--sppc-blue);
  color: #ffffff;
  margin-top: 0;
  padding: 34px 20px;
}
.sppc-site-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}
.sppc-site-footer strong { display: block; font-size: 1.05rem; letter-spacing: 0.02em; margin-bottom: 6px; }
.sppc-site-footer span { display: block; color: rgba(255,255,255,0.78); line-height: 1.5; }
.sppc-site-footer nav { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
.sppc-site-footer a { color: #ffffff !important; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.35); }
.sppc-site-footer a:hover { border-bottom-color: #ffffff; }

.sppc-page,
.sppc-page * { box-sizing: border-box; }
.sppc-page {
  background: linear-gradient(135deg, #f7fafc 0%, #ffffff 55%, #fff6ef 100%);
  color: var(--sppc-text);
  overflow-x: hidden;
}
.sppc-page h1,
.sppc-page h2,
.sppc-page h3,
.sppc-page p { margin-top: 0; }
.sppc-page h1,
.sppc-page h2,
.sppc-page h3 { color: var(--sppc-blue); font-weight: 800; line-height: 1.1; }
.sppc-page p { line-height: 1.65; }
.sppc-eyebrow {
  color: var(--sppc-orange);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.sppc-hero,
.sppc-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 72px 24px;
}
.sppc-hero {
  min-height: 640px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 44px;
  align-items: center;
}
.sppc-hero h1 {
  font-size: clamp(2.35rem, 5vw, 4.55rem);
  letter-spacing: -0.05em;
  max-width: 920px;
}
.sppc-lead {
  max-width: 820px;
  color: var(--sppc-text);
  font-size: 1.1rem;
}
.sppc-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.sppc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 13px 20px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.sppc-btn:hover { transform: translateY(-1px); }
.sppc-btn-primary { background: var(--sppc-orange); color: #ffffff !important; box-shadow: 0 12px 28px rgba(240, 106, 36, 0.22); }
.sppc-btn-secondary { background: #ffffff; color: var(--sppc-blue) !important; border: 1px solid var(--sppc-border); }
.sppc-hero-carousel,
.sppc-infra-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 1fr);
  gap: 18px;
  overflow-x: auto;
  padding: 6px 4px 18px;
  scroll-snap-type: x mandatory;
}
.sppc-hero-card,
.sppc-infra-card {
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--sppc-border);
  border-radius: 28px;
  padding: 24px;
  min-height: 190px;
  box-shadow: 0 18px 48px rgba(7, 50, 79, 0.10);
  scroll-snap-align: start;
}
.sppc-hero-card span {
  display: inline-flex;
  color: var(--sppc-orange);
  font-weight: 900;
  margin-bottom: 18px;
}
.sppc-hero-card strong,
.sppc-approach-card span,
.sppc-approach-patient span { display: block; color: var(--sppc-blue); font-size: 1.12rem; margin-bottom: 10px; font-weight: 900; }
.sppc-hero-card p,
.sppc-infra-card p { color: var(--sppc-muted); margin-bottom: 0; }

.sppc-section-head { max-width: 920px; margin-bottom: 30px; }
.sppc-section h2 { font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -0.04em; }
.sppc-section-head p:not(.sppc-eyebrow) { color: var(--sppc-text); font-size: 1.04rem; }

.sppc-approach {
  overflow: visible !important;
}
.sppc-approach-map {
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  overflow: visible !important;
  margin-top: 26px;
}
.sppc-approach-card,
.sppc-approach-patient {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  min-width: 0 !important;
  width: auto !important;
  min-height: 158px;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  border-radius: 24px;
  padding: 24px;
  text-decoration: none !important;
  overflow: visible !important;
  box-shadow: 0 18px 44px rgba(7, 50, 79, 0.10);
  z-index: 1;
}
.sppc-approach-card {
  background: #ffffff;
  border: 1px solid var(--sppc-border);
}
.sppc-approach-card strong { color: var(--sppc-text); font-size: 0.98rem; line-height: 1.45; font-weight: 600; }
.sppc-approach-patient {
  background: var(--sppc-blue);
  color: #ffffff;
  text-align: center;
}
.sppc-approach-patient span,
.sppc-approach-patient strong { color: #ffffff; }
.sppc-approach-patient strong { font-size: 1.02rem; line-height: 1.45; }
.sppc-card-kine { border-top: 5px solid var(--sppc-cyan); }
.sppc-card-med { border-top: 5px solid var(--sppc-orange); }
.sppc-card-para { border-top: 5px solid var(--sppc-green); }
.sppc-card-kine:hover,
.sppc-card-med:hover,
.sppc-card-para:hover { transform: translateY(-2px) !important; box-shadow: 0 22px 52px rgba(7, 50, 79, 0.14); }

.sppc-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.sppc-steps span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--sppc-blue);
  color: #ffffff;
  font-weight: 850;
  box-shadow: 0 10px 24px rgba(7, 50, 79, 0.13);
}

.sppc-infra { padding-top: 38px; }
.sppc-photo-placeholder {
  height: 190px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(7,50,79,0.08), rgba(240,106,36,0.10));
  color: var(--sppc-muted);
  font-weight: 800;
  margin-bottom: 20px;
}
.sppc-infra-card h3 { font-size: 1.35rem; margin-bottom: 10px; }

@media (max-width: 1080px) {
  .sppc-hero { grid-template-columns: 1fr; min-height: auto; }
  .sppc-approach-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  #main-header img#logo,
  .et-fixed-header img#logo { max-height: 48px !important; }
  .sppc-hero,
  .sppc-section { padding: 52px 18px; }
  .sppc-hero h1 { font-size: clamp(2.1rem, 12vw, 3rem); }
  .sppc-hero-carousel,
  .sppc-infra-carousel { grid-auto-columns: 82%; }
  .sppc-approach-map { grid-template-columns: 1fr; }
  .sppc-site-footer-inner { flex-direction: column; }
  .sppc-site-footer nav { justify-content: flex-start; }
}
/* === SPPC 08B END === */
/* === SPPC 08C START === */
/* Correctif 08c : conserver le schema et le footer 08b, mais restaurer la largeur visuelle du hero et rendre le logo robuste. */

#main-header,
#main-header.et-fixed-header {
  background: var(--sppc-blue, #07324f) !important;
}

#main-header .logo_container {
  display: flex !important;
  align-items: center !important;
  min-width: 210px !important;
  min-height: 74px !important;
  overflow: visible !important;
}

#main-header .logo_container a {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 210px !important;
  min-width: 210px !important;
  min-height: 74px !important;
  background-image: url("https://sppc.be/wp-content/uploads/sppc/logo-sppc.svg?v=20260514-084151") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  overflow: visible !important;
  text-indent: -9999px !important;
}

#main-header .logo_container a::before {
  content: "" !important;
  display: block !important;
  width: 210px !important;
  height: 62px !important;
  background-image: url("https://sppc.be/wp-content/uploads/sppc/logo-sppc.svg?v=20260514-084151") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  text-indent: 0 !important;
}

#main-header img#logo,
.et-fixed-header img#logo,
#main-header .sppc-logo-placeholder,
#main-header .logo_container::before,
#main-header .logo_container::after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

#et-top-navigation {
  padding-left: 230px !important;
}

.sppc-home-v2b .sppc-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: auto !important;
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sppc-home-v2b .sppc-hero-content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 78px 24px 34px !important;
}

.sppc-home-v2b .sppc-hero h1 {
  max-width: 1060px !important;
}

.sppc-home-v2b .sppc-lead {
  max-width: 900px !important;
}

.sppc-home-v2b .sppc-hero-carousel {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(340px, 430px) !important;
  gap: 20px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-top: 8px !important;
  padding-bottom: 34px !important;
  padding-left: max(24px, calc((100vw - 1180px) / 2 + 24px)) !important;
  padding-right: max(24px, calc((100vw - 1180px) / 2 + 24px)) !important;
  scroll-snap-type: x mandatory !important;
}

.sppc-home-v2b .sppc-hero-card {
  min-height: 220px !important;
  scroll-snap-align: start !important;
}

.sppc-home-v2b .sppc-approach-map {
  overflow: visible !important;
}

.sppc-home-v2b .sppc-approach-card,
.sppc-home-v2b .sppc-approach-patient {
  overflow: visible !important;
  position: relative !important;
  transform: none !important;
}

@media (max-width: 980px) {
  #et-top-navigation {
    padding-left: 0 !important;
  }
  #main-header .logo_container,
  #main-header .logo_container a {
    min-width: 160px !important;
    width: 160px !important;
    min-height: 56px !important;
  }
  #main-header .logo_container a::before {
    width: 160px !important;
    height: 48px !important;
  }
}

@media (max-width: 782px) {
  .sppc-home-v2b .sppc-hero-content {
    padding: 58px 18px 28px !important;
  }
  .sppc-home-v2b .sppc-hero-carousel {
    grid-auto-columns: minmax(270px, 82vw) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
/* === SPPC 08C END === */
/* === SPPC 09 START === */
.sppc-page img {
  max-width: 100%;
  height: auto;
}

.sppc-internal {
  background: linear-gradient(180deg, #f6f9fb 0%, #ffffff 38%, #f6f9fb 100%);
  color: var(--sppc-text, #243447);
}

.sppc-page-hero,
.sppc-internal .sppc-section {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.sppc-page-hero {
  padding-top: 78px;
  padding-bottom: 54px;
}

.sppc-page-hero h1 {
  max-width: 980px;
  font-size: clamp(2.3rem, 5vw, 4.8rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--sppc-blue, #07324f);
  margin: 0 0 22px;
}

.sppc-page-hero p:not(.sppc-eyebrow) {
  max-width: 760px;
  font-size: 1.12rem;
  line-height: 1.75;
  color: var(--sppc-text, #243447);
}

.sppc-page-hero-image {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
  gap: 42px;
  align-items: center;
}

.sppc-page-hero-media {
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(7, 50, 79, 0.16);
  border: 1px solid var(--sppc-border, rgba(7, 50, 79, 0.12));
}

.sppc-page-hero-media img {
  width: 100%;
  min-height: 420px;
  display: block;
  object-fit: cover;
}

.sppc-page-hero-media figcaption {
  padding: 12px 18px 16px;
  color: var(--sppc-muted, #5f6f7f);
  font-size: 0.88rem;
  background: #ffffff;
}

.sppc-split-section {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 42px;
  align-items: start;
  padding-top: 54px;
  padding-bottom: 54px;
}

.sppc-split-section h2,
.sppc-section h2 {
  color: var(--sppc-blue, #07324f);
  letter-spacing: -0.025em;
}

.sppc-split-section p,
.sppc-section p {
  line-height: 1.72;
}

.sppc-card-grid {
  display: grid;
  gap: 22px;
}

.sppc-card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sppc-card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sppc-card-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sppc-info-card,
.sppc-team-card,
.sppc-discipline-section,
.sppc-note-block {
  background: #ffffff;
  border: 1px solid var(--sppc-border, rgba(7, 50, 79, 0.12));
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 18px 46px rgba(7, 50, 79, 0.08);
}

.sppc-info-card span,
.sppc-team-card span {
  display: inline-block;
  color: var(--sppc-orange, #f06a24);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.74rem;
  font-weight: 800;
  margin-bottom: 10px;
}

.sppc-info-card h2,
.sppc-info-card h3,
.sppc-team-card h2 {
  color: var(--sppc-blue, #07324f);
  margin-top: 0;
}

.sppc-team-card {
  color: inherit;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.sppc-team-card:hover {
  transform: translateY(-4px);
  border-color: rgba(240, 106, 36, 0.38);
  box-shadow: 0 22px 58px rgba(7, 50, 79, 0.12);
}

.sppc-image-band {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 34px;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 60px;
}

.sppc-image-band img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 22px 62px rgba(7, 50, 79, 0.14);
}

.sppc-quicklinks,
.sppc-anchor-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 28px;
  padding-bottom: 28px;
}

.sppc-quicklinks a,
.sppc-anchor-grid a,
.sppc-mini-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 12px 18px;
  background: #ffffff;
  border: 1px solid var(--sppc-border, rgba(7, 50, 79, 0.12));
  color: var(--sppc-blue, #07324f);
  font-weight: 800;
  text-decoration: none;
}

.sppc-quicklinks a:hover,
.sppc-anchor-grid a:hover,
.sppc-mini-links a:hover {
  background: var(--sppc-orange, #f06a24);
  border-color: var(--sppc-orange, #f06a24);
  color: #ffffff;
}

.sppc-discipline-section {
  margin-top: 22px;
  scroll-margin-top: 120px;
}

.sppc-practitioner-placeholder,
.sppc-map-placeholder {
  margin-top: 18px;
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(135deg, rgba(7, 50, 79, 0.08), rgba(240, 106, 36, 0.08));
  color: var(--sppc-muted, #5f6f7f);
  font-weight: 700;
}

.sppc-mini-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.sppc-card-img {
  width: 100%;
  height: 245px !important;
  object-fit: cover;
  display: block;
  border-radius: 22px;
  margin-bottom: 18px;
  box-shadow: 0 14px 34px rgba(7, 50, 79, 0.12);
}

.sppc-home-v2b .sppc-infra-card {
  overflow: hidden;
}

@media (max-width: 980px) {
  .sppc-page-hero-image,
  .sppc-split-section,
  .sppc-image-band,
  .sppc-card-grid.two,
  .sppc-card-grid.three,
  .sppc-card-grid.four {
    grid-template-columns: 1fr;
  }

  .sppc-page-hero,
  .sppc-internal .sppc-section {
    padding-left: 18px;
    padding-right: 18px;
  }

  .sppc-page-hero {
    padding-top: 56px;
    padding-bottom: 38px;
  }

  .sppc-page-hero-media img,
  .sppc-image-band img {
    min-height: 280px;
  }
}
/* === SPPC 09 END === */
/* === SPPC 09C START === */
/* Correctif 09c : logo recadre, plus lisible, et titre en deux lignes : Scaff Physio / Performance Center. */

#main-header,
#main-header.et-fixed-header {
  background: var(--sppc-blue, #07324f) !important;
}

#main-header img#logo,
.et-fixed-header img#logo,
#main-header .sppc-logo-placeholder,
#main-header .logo_container > span.logo_helper,
#main-header .logo_container::before,
#main-header .logo_container::after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (min-width: 981px) {
  #main-header .container.et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 88px !important;
  }

  #main-header .logo_container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 338px !important;
    min-width: 338px !important;
    height: 88px !important;
    min-height: 88px !important;
    overflow: visible !important;
    z-index: 1002 !important;
  }

  #main-header .logo_container a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 318px !important;
    min-width: 318px !important;
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 16px 8px 10px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    background-image: none !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14) !important;
    overflow: hidden !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  #main-header .logo_container a::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 82px !important;
    width: 82px !important;
    height: 48px !important;
    background-image: url("https://sppc.be/wp-content/uploads/sppc/logo-sppc-header.png?v=20260517-182003") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    text-indent: 0 !important;
  }

  #main-header .logo_container a::after {
    content: "Scaff Physio\A Performance Center" !important;
    display: block !important;
    color: var(--sppc-blue, #07324f) !important;
    font-size: 13.2px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0.005em !important;
    text-transform: none !important;
    text-align: left !important;
    white-space: pre !important;
    text-indent: 0 !important;
  }

  #et-top-navigation {
    padding-left: 350px !important;
  }
}

@media (max-width: 980px) {
  #main-header .logo_container {
    display: flex !important;
    align-items: center !important;
    min-width: 240px !important;
    width: 240px !important;
    min-height: 64px !important;
    overflow: visible !important;
  }

  #main-header .logo_container a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 232px !important;
    min-width: 232px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 12px 7px 8px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    background-image: none !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    text-indent: 0 !important;
    text-decoration: none !important;
  }

  #main-header .logo_container a::before {
    content: "" !important;
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 40px !important;
    background-image: url("https://sppc.be/wp-content/uploads/sppc/logo-sppc-header.png?v=20260517-182003") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
  }

  #main-header .logo_container a::after {
    content: "Scaff Physio\A Performance Center" !important;
    color: var(--sppc-blue, #07324f) !important;
    font-size: 11.2px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: pre !important;
    text-indent: 0 !important;
  }

  #et-top-navigation {
    padding-left: 0 !important;
  }
}

@media (max-width: 520px) {
  #main-header .logo_container,
  #main-header .logo_container a {
    width: 196px !important;
    min-width: 196px !important;
  }
  #main-header .logo_container a::before {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 34px !important;
  }
  #main-header .logo_container a::after {
    font-size: 9.7px !important;
    line-height: 1.06 !important;
  }
}
/* === SPPC 09C END === */
/* === SPPC 09D START === */
/* Correctif 09d : typographie globale + contraste, applique a toutes les pages SPPC. */

:root {
  --sppc-blue: #07324f;
  --sppc-blue-soft: #123e5d;
  --sppc-orange: #ff6b21;
  --sppc-text: #24384a;
  --sppc-muted: #5f7283;
  --sppc-line: rgba(7, 50, 79, 0.13);
}

/* Base globale du contenu, sans toucher a la navigation Divi ni a la capsule logo. */
#main-content .sppc-page,
#main-content .sppc-page p,
#main-content .sppc-page li,
#main-content .sppc-page a,
#main-content .sppc-page span {
  text-rendering: optimizeLegibility;
}

#main-content .sppc-page {
  color: var(--sppc-text) !important;
  font-size: clamp(16px, 0.95vw, 18px) !important;
  line-height: 1.65 !important;
}

#main-content .sppc-page p,
#main-content .sppc-page li {
  font-size: clamp(1rem, 0.98vw, 1.12rem) !important;
  line-height: 1.68 !important;
  color: var(--sppc-text) !important;
}

#main-content .sppc-page .sppc-lead,
#main-content .sppc-page-hero > p,
#main-content .sppc-page-hero-copy > p,
#main-content .sppc-section-head > p {
  font-size: clamp(1.08rem, 1.18vw, 1.28rem) !important;
  line-height: 1.62 !important;
  color: var(--sppc-text) !important;
}

/* Titre principal accueil : blanc sur fond bleu fonce + taille plus maitrisee. */
#main-content .sppc-home-v2b .sppc-hero h1,
#main-content .sppc-hero h1 {
  color: #ffffff !important;
  font-size: clamp(2.45rem, 4.45vw, 4.85rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  max-width: 1120px !important;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;
}

#main-content .sppc-home-v2b .sppc-hero .sppc-lead,
#main-content .sppc-home-v2b .sppc-hero p:not(.sppc-eyebrow) {
  color: #ffffff !important;
  opacity: 0.94 !important;
  max-width: 1000px !important;
}

#main-content .sppc-home-v2b .sppc-hero .sppc-eyebrow {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Titres principaux des pages internes. */
#main-content .sppc-page-hero h1,
#main-content .sppc-internal .sppc-page-hero h1,
#main-content .entry-content .sppc-page-hero h1 {
  font-size: clamp(2.15rem, 3.35vw, 3.75rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  color: var(--sppc-blue) !important;
  max-width: 1060px !important;
}

/* Ne pas annuler le blanc du hero accueil avec la regle precedente. */
#main-content .sppc-home-v2b .sppc-hero h1 {
  color: #ffffff !important;
}

/* Titres secondaires de section : rapprochement des tailles h1/h2/h3. */
#main-content .sppc-section h2,
#main-content .sppc-section-head h2,
#main-content .sppc-note-block h2,
#main-content .sppc-discipline-section h2,
#main-content .sppc-image-band h2 {
  font-size: clamp(1.75rem, 2.45vw, 2.85rem) !important;
  line-height: 1.13 !important;
  letter-spacing: -0.028em !important;
  color: var(--sppc-blue) !important;
}

/* Titres de cartes et blocs. */
#main-content .sppc-card h3,
#main-content .sppc-info-card h2,
#main-content .sppc-info-card h3,
#main-content .sppc-infra-card h3,
#main-content .sppc-team-card h2,
#main-content .sppc-feature-card h3,
#main-content .sppc-contact-card h2,
#main-content .sppc-contact-card h3 {
  font-size: clamp(1.22rem, 1.42vw, 1.58rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  color: var(--sppc-blue) !important;
}

/* Petits titres / labels : moins enormes, plus coherents. */
#main-content .sppc-eyebrow,
#main-content .sppc-info-card span,
#main-content .sppc-team-card span,
#main-content .sppc-hero-card span,
#main-content .sppc-steps span,
#main-content .sppc-anchor-grid a {
  font-size: clamp(0.78rem, 0.82vw, 0.94rem) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.12em !important;
}

#main-content .sppc-eyebrow {
  color: var(--sppc-orange) !important;
}

/* Cartes du hero : lisibilite et taille harmonisee. */
#main-content .sppc-hero-card strong,
#main-content .sppc-approach-card span,
#main-content .sppc-approach-patient span {
  font-size: clamp(1.05rem, 1.18vw, 1.32rem) !important;
  line-height: 1.2 !important;
}

#main-content .sppc-hero-card p,
#main-content .sppc-approach-card strong,
#main-content .sppc-approach-patient strong {
  font-size: clamp(0.98rem, 1.02vw, 1.1rem) !important;
  line-height: 1.52 !important;
}

/* Boutons : legere harmonisation avec le reste de la typo. */
#main-content .sppc-btn,
#main-content a.sppc-btn,
#main-content .sppc-quicklinks a,
#main-content .sppc-anchor-grid a {
  font-size: clamp(0.96rem, 0.98vw, 1.08rem) !important;
  line-height: 1.25 !important;
}

/* Largeurs de lecture plus regulieres. */
#main-content .sppc-section-head,
#main-content .sppc-page-hero,
#main-content .sppc-page-hero-copy {
  max-width: 1160px !important;
}

#main-content .sppc-section-head p,
#main-content .sppc-page-hero p,
#main-content .sppc-page-hero-copy p,
#main-content .sppc-split-section p,
#main-content .sppc-note-block p {
  max-width: 920px !important;
}

/* Footer SPPC : coherent mais discret. */
.sppc-site-footer,
.sppc-site-footer p,
.sppc-site-footer span,
.sppc-site-footer a {
  font-size: clamp(0.92rem, 0.92vw, 1rem) !important;
  line-height: 1.55 !important;
}

.sppc-site-footer strong {
  font-size: clamp(1rem, 1.02vw, 1.12rem) !important;
  line-height: 1.3 !important;
}

/* Responsive : garder de la presence sans titres demesures. */
@media (max-width: 980px) {
  #main-content .sppc-home-v2b .sppc-hero h1,
  #main-content .sppc-hero h1 {
    font-size: clamp(2.2rem, 8vw, 3.5rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.035em !important;
  }

  #main-content .sppc-page-hero h1,
  #main-content .sppc-internal .sppc-page-hero h1 {
    font-size: clamp(2rem, 6.4vw, 3rem) !important;
    line-height: 1.09 !important;
  }

  #main-content .sppc-section h2,
  #main-content .sppc-section-head h2,
  #main-content .sppc-discipline-section h2,
  #main-content .sppc-image-band h2 {
    font-size: clamp(1.65rem, 5vw, 2.35rem) !important;
  }
}

@media (max-width: 560px) {
  #main-content .sppc-page p,
  #main-content .sppc-page li {
    font-size: 1rem !important;
    line-height: 1.62 !important;
  }

  #main-content .sppc-home-v2b .sppc-hero h1,
  #main-content .sppc-hero h1 {
    font-size: clamp(2rem, 10vw, 2.85rem) !important;
  }

  #main-content .sppc-page-hero h1,
  #main-content .sppc-internal .sppc-page-hero h1 {
    font-size: clamp(1.85rem, 8.2vw, 2.55rem) !important;
  }

  #main-content .sppc-section h2,
  #main-content .sppc-section-head h2,
  #main-content .sppc-discipline-section h2,
  #main-content .sppc-image-band h2 {
    font-size: clamp(1.48rem, 6.4vw, 2.05rem) !important;
  }
}
/* === SPPC 09D END === */
/* === SPPC 09E START === */
/* Correctif 09e : adresse, footer, titres automatiques, sous-menus et garde-fous de contraste. */

:root {
  --sppc-blue: #07324f;
  --sppc-blue-2: #0d456b;
  --sppc-orange: #ff6b21;
  --sppc-light: #f3f7fa;
  --sppc-white: #ffffff;
  --sppc-text: #24384a;
  --sppc-muted: #5f7283;
}

/* 1) Masquer les titres automatiques Divi/WordPress devenus redondants avec les heros SPPC. */
body.page #main-content > .container:first-child .entry-title,
body.page #main-content > .container:first-child h1.entry-title,
body.page #main-content > .container:first-child h1.main_title,
body.page #main-content .et_post_meta_wrapper > h1.entry-title,
body.page #main-content .et_post_meta_wrapper > h1.main_title,
body.page #main-content article.page > h1.entry-title,
body.page #main-content article.page > h1.main_title {
  display: none !important;
}
body.page #main-content > .container:first-child {
  padding-top: 0 !important;
}

/* 2) Sous-menus Divi : texte toujours lisible sur fond blanc, y compris page active + hover/focus. */
#top-menu li li,
#top-menu li li:hover,
#top-menu li li.current-menu-item,
#top-menu li li.current_page_item,
#top-menu li li.current-menu-ancestor {
  background: #ffffff !important;
}
#top-menu li li a,
#top-menu li li.current-menu-item > a,
#top-menu li li.current_page_item > a,
#top-menu li li.current-menu-ancestor > a,
#top-menu li li a:hover,
#top-menu li li a:focus,
#top-menu li li a:active {
  color: var(--sppc-blue) !important;
  background: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
#top-menu li li.current-menu-item > a,
#top-menu li li.current_page_item > a {
  background: #eef6fb !important;
  color: var(--sppc-blue) !important;
  border-left: 4px solid var(--sppc-orange) !important;
}
#top-menu li li a:hover,
#top-menu li li a:focus,
#top-menu li li.current-menu-item > a:hover,
#top-menu li li.current_page_item > a:hover {
  background: #f3f7fa !important;
  color: var(--sppc-blue) !important;
}

/* Menu principal sur header bleu : garder les liens clairs, avec rappel actif discret. */
#top-menu > li > a,
#top-menu > li.current-menu-item > a,
#top-menu > li.current_page_item > a,
#top-menu > li.current-menu-ancestor > a,
#top-menu > li > a:hover,
#top-menu > li > a:focus {
  color: #ffffff !important;
  opacity: 1 !important;
}
#top-menu > li.current-menu-item > a,
#top-menu > li.current_page_item > a,
#top-menu > li.current-menu-ancestor > a {
  background: rgba(255,255,255,0.10) !important;
  border-radius: 999px !important;
}
#top-menu .menu-item-has-children > a:first-child:after {
  color: rgba(255,255,255,0.88) !important;
}
#top-menu li li.menu-item-has-children > a:first-child:after {
  color: var(--sppc-blue) !important;
}

/* 3) Garde-fous de contraste : fonds fonces SPPC = texte clair. */
#main-content .sppc-page .sppc-hero,
#main-content .sppc-page .sppc-dark,
#main-content .sppc-page .sppc-dark-card,
#main-content .sppc-page .sppc-approach-patient,
.sppc-site-footer {
  color: #ffffff !important;
}
#main-content .sppc-page .sppc-hero h1,
#main-content .sppc-page .sppc-hero h2,
#main-content .sppc-page .sppc-hero h3,
#main-content .sppc-page .sppc-hero p,
#main-content .sppc-page .sppc-hero span,
#main-content .sppc-page .sppc-dark h1,
#main-content .sppc-page .sppc-dark h2,
#main-content .sppc-page .sppc-dark h3,
#main-content .sppc-page .sppc-dark p,
#main-content .sppc-page .sppc-dark span,
#main-content .sppc-page .sppc-dark-card h1,
#main-content .sppc-page .sppc-dark-card h2,
#main-content .sppc-page .sppc-dark-card h3,
#main-content .sppc-page .sppc-dark-card p,
#main-content .sppc-page .sppc-dark-card span,
#main-content .sppc-page .sppc-approach-patient h1,
#main-content .sppc-page .sppc-approach-patient h2,
#main-content .sppc-page .sppc-approach-patient h3,
#main-content .sppc-page .sppc-approach-patient p,
#main-content .sppc-page .sppc-approach-patient span,
#main-content .sppc-page .sppc-approach-patient strong,
.sppc-site-footer,
.sppc-site-footer h1,
.sppc-site-footer h2,
.sppc-site-footer h3,
.sppc-site-footer p,
.sppc-site-footer span,
.sppc-site-footer strong,
.sppc-site-footer a {
  color: #ffffff !important;
}

/* 4) Fonds clairs SPPC = texte bleu fonce lisible. */
#main-content .sppc-page .sppc-section,
#main-content .sppc-page .sppc-page-hero,
#main-content .sppc-page .sppc-card,
#main-content .sppc-page .sppc-info-card,
#main-content .sppc-page .sppc-team-card,
#main-content .sppc-page .sppc-feature-card,
#main-content .sppc-page .sppc-contact-card,
#main-content .sppc-page .sppc-infra-card,
#main-content .sppc-page .sppc-approach-card,
#main-content .sppc-page .sppc-photo-placeholder,
#main-content .sppc-page .sppc-map-placeholder,
#main-content .sppc-page .sppc-practitioner-placeholder {
  color: var(--sppc-text) !important;
}
#main-content .sppc-page .sppc-section h1,
#main-content .sppc-page .sppc-section h2,
#main-content .sppc-page .sppc-section h3,
#main-content .sppc-page .sppc-page-hero h1,
#main-content .sppc-page .sppc-page-hero h2,
#main-content .sppc-page .sppc-page-hero h3,
#main-content .sppc-page .sppc-info-card h1,
#main-content .sppc-page .sppc-info-card h2,
#main-content .sppc-page .sppc-info-card h3,
#main-content .sppc-page .sppc-team-card h1,
#main-content .sppc-page .sppc-team-card h2,
#main-content .sppc-page .sppc-team-card h3,
#main-content .sppc-page .sppc-infra-card h1,
#main-content .sppc-page .sppc-infra-card h2,
#main-content .sppc-page .sppc-infra-card h3,
#main-content .sppc-page .sppc-approach-card h1,
#main-content .sppc-page .sppc-approach-card h2,
#main-content .sppc-page .sppc-approach-card h3,
#main-content .sppc-page .sppc-approach-card span {
  color: var(--sppc-blue) !important;
}

/* Exception : le hero de l'accueil reste blanc sur fond sombre. */
#main-content .sppc-home-v2b .sppc-hero h1,
#main-content .sppc-home-v2b .sppc-hero h2,
#main-content .sppc-home-v2b .sppc-hero h3,
#main-content .sppc-home-v2b .sppc-hero p,
#main-content .sppc-home-v2b .sppc-hero span {
  color: #ffffff !important;
}

/* Boutons et pastilles : etats normal / hover / focus toujours contrastes. */
#main-content .sppc-btn-primary,
#main-content a.sppc-btn-primary,
#main-content .sppc-steps span {
  background: var(--sppc-orange) !important;
  color: #ffffff !important;
}
#main-content .sppc-btn-secondary,
#main-content a.sppc-btn-secondary,
#main-content .sppc-mini-links a,
#main-content .sppc-quicklinks a,
#main-content .sppc-anchor-grid a {
  background: #ffffff !important;
  color: var(--sppc-blue) !important;
  border-color: rgba(7,50,79,0.16) !important;
}
#main-content .sppc-btn-primary:hover,
#main-content .sppc-btn-primary:focus,
#main-content .sppc-mini-links a:hover,
#main-content .sppc-mini-links a:focus,
#main-content .sppc-quicklinks a:hover,
#main-content .sppc-quicklinks a:focus,
#main-content .sppc-anchor-grid a:hover,
#main-content .sppc-anchor-grid a:focus {
  text-decoration: none !important;
}
#top-menu a:focus-visible,
#main-content .sppc-page a:focus-visible,
.sppc-site-footer a:focus-visible {
  outline: 3px solid rgba(255, 107, 33, 0.75) !important;
  outline-offset: 3px !important;
}

/* Adresse dans le footer et page contact. */
.sppc-footer-address,
.sppc-address-line {
  margin-top: 8px !important;
  font-weight: 800 !important;
}
.sppc-contact-address-card .sppc-address-line {
  color: var(--sppc-blue) !important;
  font-size: 1.1rem !important;
  line-height: 1.45 !important;
}
.sppc-site-footer .sppc-footer-address {
  color: rgba(255,255,255,0.90) !important;
}

/* === SPPC 09E END === */
/* === SPPC 09F START === */
/* Correctif 09f : dedoublonnage footer. */

/* Masquer le footer natif Divi/Elegant Themes et ses widgets, sans cibler le footer SPPC. */
#main-footer,
#footer-bottom,
#footer-widgets,
.et-l--footer,
.et_pb_section.et_pb_section_0_tb_footer,
.et_pb_section.et_pb_section_1_tb_footer {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Footer SPPC canonique. */
.sppc-site-footer {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

.sppc-site-footer + .sppc-site-footer {
  display: none !important;
}

/* === SPPC 09F END === */
