/* ==========================================================================
   LCIP Clean Stylesheet — Consolidated
   Site: lcip.ch (staging → production)
   Theme: LCIP Theme (GeneratePress child)
   Date: 2026-03-23

   Structure:
   Part 1 — Design system from snippet #32998 (Divi selectors removed)
   Part 2 — Clean CSS additions & overrides (lcip-clean.css)

   Part 2 rules override Part 1 via cascade (loaded after).
   ========================================================================== */

/* --- Google Fonts: Inter + Playfair Display --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');

/* --- GeneratePress overrides (separate-containers layout) --- */
.separate-containers .site-main {
    margin: 0 !important;
}
.separate-containers .inside-article {
    padding: 0 !important;
}

/* --- GeneratePress: hide native elements (replaced by LCIP custom) --- */
.site-info,
.site-header,
.site-footer {
    display: none !important;
}

.sidebar,
#right-sidebar,
.widget-area,
aside.widget-area {
    display: none !important;
}

/* --- Homepage: hide GP entry-title, orphan pathologies, old lcip-footer --- */
.page-id-36 .entry-title,
.page-id-31460 .entry-title {
    display: none !important;
}

body > .lcip-pathologies-section {
    display: none !important;
}

/* --- Pathologies section: full card grid styling (from inline block) --- */
.lcip-pathologies-section {
    padding: 60px 0 50px;
    background: #e2e8f0;
    margin: 0;
    position: relative;
    overflow: hidden;
}

/* ============================================================
   BACKGROUND TEXTURE — shared layers for light sections
   Sprint UX1 — grain + halos + blurry concentric circles
   Applied to: .treatments, .lcip-pathologies-section
   ============================================================ */

/* --- Base setup: both sections need positioning context --- */
.lcip-homepage .treatments {
    position: relative !important;
    overflow: hidden !important;
}

/* --- Layer 1: Coarse noise grain (overlay blend, preserves bg color) --- */
.lcip-homepage .treatments::before,
.lcip-pathologies-section::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27300%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.35%27 numOctaves=%273%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27 opacity=%270.6%27/%3E%3C/svg%3E");
    background-size: 300px 300px;
    background-repeat: repeat;
    opacity: 0.06;
    mix-blend-mode: overlay;
}

/* --- Layer 2: Blurry concentric circles + halos (LCIP logo clin d'oeil) --- */
/* background-attachment:fixed = les deux sections partagent le MEME fond continu */
.lcip-homepage .treatments::after,
.lcip-pathologies-section::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        /* Cluster 1: large blurry rings, positioned upper-right of viewport */
        radial-gradient(circle 800px at 85% 25%,
            transparent 28%, rgba(15, 28, 46, 0.025) 30%, rgba(15, 28, 46, 0.035) 33%, rgba(15, 28, 46, 0.025) 36%, transparent 38%,
            transparent 44%, rgba(15, 28, 46, 0.02) 46%, rgba(15, 28, 46, 0.03) 49%, rgba(15, 28, 46, 0.02) 52%, transparent 54%,
            transparent 60%, rgba(15, 28, 46, 0.015) 62%, rgba(15, 28, 46, 0.025) 65%, rgba(15, 28, 46, 0.015) 68%, transparent 70%),
        /* Cluster 2: offset rings, lower-left of viewport */
        radial-gradient(circle 650px at 5% 75%,
            transparent 25%, rgba(15, 28, 46, 0.02) 27%, rgba(15, 28, 46, 0.03) 30%, rgba(15, 28, 46, 0.02) 33%, transparent 35%,
            transparent 42%, rgba(15, 28, 46, 0.015) 44%, rgba(15, 28, 46, 0.025) 47%, rgba(15, 28, 46, 0.015) 50%, transparent 52%),
        /* Halo 1: warm navy glow */
        radial-gradient(ellipse 700px 550px at 75% 30%, rgba(15, 28, 46, 0.06) 0%, transparent 65%),
        /* Halo 2: cool blue glow */
        radial-gradient(ellipse 550px 450px at 20% 70%, rgba(37, 99, 235, 0.035) 0%, transparent 65%),
        /* Halo 3: faint purple */
        radial-gradient(circle 350px at 50% 50%, rgba(124, 58, 237, 0.02) 0%, transparent 65%);
    background-attachment: fixed;
    background-size: 100vw 100vh;
    background-repeat: no-repeat;
}

/* --- Content stays above texture layers --- */
.lcip-pathologies-section .lcip-section-inner {
    position: relative;
    z-index: 1;
}
.lcip-homepage .treatments > .lcip-container {
    position: relative;
    z-index: 1;
}
.lcip-pathologies-section .lcip-section-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
}
.lcip-pathologies-section .lcip-section-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 12px;
}
.lcip-pathologies-section .lcip-section-title {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #0f1c2e;
    margin: 0 0 32px 0;
    line-height: 1.2;
}
.lcip-patho-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.lcip-patho-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.lcip-patho-card-title {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #0f1c2e;
    line-height: 1.3;
    margin: 0;
}
.lcip-patho-card-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
    margin: 0;
    flex-grow: 1;
}
.lcip-patho-card-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}
.lcip-patho-pill {
    display: inline-block;
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: opacity 0.15s ease;
    white-space: nowrap;
    color: #fff;
    line-height: 1.2;
}
.lcip-patho-pill:hover {
    opacity: 0.8;
    color: #fff;
}
.lcip-patho-pill[data-t="ect"] { background: #059669; }
.lcip-patho-pill[data-t="rtms"] { background: #2563eb; }
.lcip-patho-pill[data-t="ketamine"],
.lcip-patho-pill[data-t="kétamine"] { background: #7c3aed; }
.lcip-patho-pill[data-t="anesthetics"],
.lcip-patho-pill[data-t="anesthésiques"] { background: #d97706; }

@media (max-width: 768px) {
    .lcip-patho-grid { grid-template-columns: 1fr; }
    .lcip-patho-card { padding: 20px; }
    .lcip-pathologies-section { padding: 40px 0 30px; }
    .lcip-pathologies-section .lcip-section-title { font-size: 26px; }
}

/* --- Pathologies cards: fix wpautop artifacts + restore H3 padding --- */
.lcip-patho-card-title {
    padding-bottom: 10px !important;
}
.lcip-patho-card-pills br {
    display: none !important;
}
.lcip-patho-card > p:not(.lcip-patho-card-desc) {
    display: none !important;
}

/* --- Global: kill wpautop ghost paragraphs on homepage --- */
.lcip-homepage p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- GP default paragraph bottom margins: align with live --- */
.positioning-col > p,
.process .section-header > p,
.step > p {
    margin-bottom: 0 !important;
}
.positioning-col > p:first-of-type {
    padding-bottom: 15px !important;
}

/* --- Process section: section-title spacing (aligned with pathologies section) --- */
.process .section-title {
    margin: 0 !important;
    padding: 0 !important;
}
/* EN homepage: "International patients" h3 + paragraph before "Your journey" h2 need spacing */
.process .section-header h3 {
    margin-top: 28px !important;
}
.process .section-header p + h2.section-title {
    margin-top: 60px !important;
}

/* --- "Notre approche" overlay: lighten to match live + hide duplicate --- */
.positioning-bg-overlay {
    opacity: 0.08 !important;
    filter: saturate(0) brightness(1.2) sepia(1) hue-rotate(180deg) saturate(1.2) !important;
}
.positioning-bg-overlay + .positioning-bg-overlay {
    display: none !important;
}

.page-id-36 .lcip-footer,
.page-id-31460 .lcip-footer {
    display: none !important;
}

/* --- Menu: hide lang-item & orphan custom items --- */
.lcip-menu .lang-item {
    display: none !important;
}

.lcip-menu > .menu-item-type-custom:not(.menu-item-has-children) {
    display: none !important;
}

/* --- EN: hide CTA button in header (too crowded) --- */
.lang-en .lcip-cta-btn {
    display: none !important;
}

/* --- Dropdown alignment override --- */
.lcip-menu li.menu-item-has-children > .sub-menu {
    left: -26px !important;
}

/* --- Section title font (match live) --- */
.section-title {
    font-family: Inter, -apple-system, sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: -0.3px !important;
}

/* --- Homepage layout: flex column + bottom gap kills --- */
.lcip-homepage {
    display: flex !important;
    flex-direction: column !important;
    margin-top: 0 !important;
}

.entry-content .lcip-homepage > p,
.lcip-homepage > p {
    display: none !important;
}

.lcip-homepage > section,
.lcip-homepage > div {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.lcip-homepage .treatments {
    padding-bottom: 40px !important;
}

.lcip-homepage .hp-footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
}

.lcip-homepage .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.5fr !important;
    gap: 40px !important;
}

/* --- Bottom spacing kills (GP defaults) --- */
.lcip-main {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.entry-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.inside-article {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.hentry {
    margin-bottom: 0 !important;
}

/* --- Homepage body background (matches footer navy) --- */
body.page-id-36,
body.page-id-31460 {
    background-color: #0F1C2E !important;
}

/* --- References hero padding --- */
.lcip-references .page-hero {
    padding: 100px 0 90px !important;
}

/* --- Unified hero circles (SVG decorative) --- */
svg.hero-circles,
svg.page-hero-circles,
.hero-bg-circles,
.lcip-hero-circles-wrap {
    display: none !important;
}

.lcip-unified-circles {
    position: absolute !important;
    right: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 780px !important;
    height: 780px !important;
    opacity: 0.25 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* --- Fix gap header ↔ hero --- */
/* Removed .admin-bar #lcip-main { margin-top: -24px } — was a band-aid
   compensating for wpautop empty <p> (mb:24px) before heroes.
   Root fix: hide those empty <p> at source instead. */

/* wpautop inserts empty <p> inside content wrappers → 24px phantom gaps */
*:has(> .treatment-hero) > p:empty,
*:has(> .page-hero) > p:empty,
*:has(> .lcip-page-hero) > p:empty,
*:has(> section.hero) > p:empty,
.lcip-treatment-content > p:empty,
.entry-content > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

/* ===== PART 1: Design System (ex-snippet #32998, Divi-free) ===== */

:root {
  --lcip-bg-primary: #F2F5F9;
  --lcip-bg-dark: #0F1C2E;
  --lcip-text-primary: #0F1C2E;
  --lcip-text-secondary: #5A6778;
  --lcip-text-tertiary: #8C95A1;
  --lcip-accent-tms: #2563EB;
  --lcip-accent-ect: #059669;
  --lcip-accent-ketamine: #7C3AED;
  --lcip-accent-anesthetics: #D97706;
  --lcip-accent-institutional: #475569;
  --lcip-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Bold réduit — Semibold 600 au lieu de Black 800/900 */
strong, b {
  font-weight: 600 !important;
}

/* ----------------------------------------------------------
   6. BACK-TO-TOP BUTTON
   ---------------------------------------------------------- */
#lcip-back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: var(--lcip-text-primary);
  color: #FFFFFF;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  line-height: 44px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, background 0.2s ease;
  z-index: 9998;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

#lcip-back-to-top.visible {
  opacity: 1;
  visibility: visible;
}

#lcip-back-to-top:hover {
  background: #333333;
}

/* ----------------------------------------------------------
   7. COULEURS D'ACCENT PAR PAGE
   Utilise les body classes Divi (page-id-XXX ou page-template)
   Les IDs seront ajustés après mise en place des pages sur staging
   ---------------------------------------------------------- */
/* Classes CSS utilitaires pour accent par traitement */
.lcip-accent-tms { --lcip-accent: var(--lcip-accent-tms); }

.lcip-accent-ect { --lcip-accent: var(--lcip-accent-ect); }

.lcip-accent-ketamine { --lcip-accent: var(--lcip-accent-ketamine); }

.lcip-accent-anesthetics { --lcip-accent: var(--lcip-accent-anesthetics); }

.lcip-accent-institutional { --lcip-accent: var(--lcip-accent-institutional); }

/* Mobile */
@media (max-width: 768px) {

  /* Footer */

  #lcip-back-to-top {
    bottom: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
  }
}

/* ----------------------------------------------------------
   9. CTA HEADER (bouton « Refer a Patient »)
   ---------------------------------------------------------- */
/* CTA header — ghost button blanc subtil (classe .lcip-cta-btn, voir ligne ~4900) */
/* Note: l'ancien code ambre ciblait #lcip-header-cta (inexistant dans le DOM) — supprimé */

/* Cercles SVG décoratifs — via module et_pb_code */
.lcip-hero-circles-wrap {
  position: absolute !important;
  right: max(40px, calc(50% - 550px));
  top: 50%;
  transform: translateY(-50%);
  width: 500px;
  height: 500px;
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

.lcip-hero-circles-wrap circle {
  fill: none;
  stroke: #ffffff;
}

/* Breadcrumb dans le hero */
.lcip-breadcrumb {
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  color: rgba(255,255,255,0.6) !important;
  margin-bottom: 20px !important;
}

.lcip-breadcrumb a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.lcip-breadcrumb a:hover {
  color: #FFFFFF !important;
}

.lcip-breadcrumb .sep {
  margin: 0 8px;
  opacity: 0.4;
}

/* Tag traitement (badge coloré) */
.lcip-treatment-tag {
  display: inline-block !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  padding: 5px 16px !important;
  border-radius: 4px !important;
  margin-bottom: 16px !important;
}

.lcip-accent-tms .lcip-treatment-tag { background: var(--lcip-accent-tms) !important; }

.lcip-accent-ect .lcip-treatment-tag { background: var(--lcip-accent-ect) !important; }

.lcip-accent-ketamine .lcip-treatment-tag { background: var(--lcip-accent-ketamine) !important; }

.lcip-accent-anesthetics .lcip-treatment-tag { background: var(--lcip-accent-anesthetics) !important; }

/* Sous-titre hero */
.lcip-hero-subtitle {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,0.6) !important;
  max-width: 600px !important;
  margin-top: 16px !important;
}

.lcip-toc {
  position: sticky;
  top: 120px;
  padding-top: 40px !important;
}

.lcip-toc .toc-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--lcip-text-tertiary);
  margin-bottom: 16px;
}

.lcip-toc a {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--lcip-text-secondary);
  text-decoration: none;
  padding: 6px 0 6px 14px;
  position: relative;
  transition: all 0.2s;
}

.lcip-toc a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 1px;
  background: var(--lcip-text-tertiary);
  opacity: 0.5;
  transition: all 0.2s;
}

.lcip-toc a:hover {
  color: var(--lcip-accent-tms);
}

.lcip-toc a:hover::before {
  background: var(--lcip-accent-tms);
  opacity: 1;
  width: 8px;
}

/* Accent color pour TOC selon traitement */
.lcip-accent-ect .lcip-toc a.active { color: var(--lcip-accent-ect); }

.lcip-accent-ect .lcip-toc a:hover::before { background: var(--lcip-accent-ect); }

.lcip-accent-ketamine .lcip-toc a.active { color: var(--lcip-accent-ketamine); }

.lcip-accent-ketamine .lcip-toc a:hover::before { background: var(--lcip-accent-ketamine); }

.lcip-accent-anesthetics .lcip-toc a.active { color: var(--lcip-accent-anesthetics); }

.lcip-accent-anesthetics .lcip-toc a:hover::before { background: var(--lcip-accent-anesthetics); }

/* === FIX M6c: TOC active + visited colors per treatment (pure CSS) === */
/* rTMS (default blue) */
.toc-links a.active:visited { color: #2563EB !important; }

.toc-links a.active::before { background: #2563EB !important; opacity: 1 !important; width: 8px !important; }

body.page-id-31493 .toc-links a.toc-active:visited { color: #2563EB !important; }

/* ECT green */
body.page-id-31553 .toc-links a.toc-active:visited { color: #059669 !important; }

/* Ketamine purple */
body.page-id-31602 .toc-links a.toc-active:visited { color: #7C3AED !important; }

/* Anesthetics amber */
body.page-id-32626 .toc-links a.toc-active:visited { color: #D97706 !important; }

/* Non-active TOC links: keep gray even when visited */
.toc-links a:visited { color: var(--lcip-text-secondary) !important; }

/* CTA dans le TOC sidebar */
.lcip-toc .toc-cta {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
/* Hide TOC CTA on mobile — redundant with bottom CTA bar */
@media (max-width: 980px) {
  .lcip-toc .toc-cta {
    display: none !important;
  }
  .lcip-toc .toc-links {
    padding-bottom: 10px !important;
  }
}

.lcip-toc .toc-cta a {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 10px 20px;
  border: 1px solid var(--lcip-accent-tms);
  border-radius: 4px;
  transition: all 0.2s;
  text-align: center;
  width: 100%;
  color: var(--lcip-accent-tms);
}

.lcip-toc .toc-cta a::before { display: none; }

.lcip-toc .toc-cta a:hover {
  background: var(--lcip-accent-tms);
  color: #fff;
}

/* ----------------------------------------------------------
   12. ARTICLE SECTIONS — contenu principal
   ---------------------------------------------------------- */
.lcip-article-section {
  padding: 40px 0 !important;
  scroll-margin-top: 120px;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}

.lcip-article-section:last-child {
  border-bottom: none;
}

/* Alternance subtile */
.lcip-article-section:nth-child(even) {
  background: rgba(0,0,0,0.015);
  margin-left: -32px !important;
  margin-right: -32px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
  border-radius: 4px;
}

/* H2 article — barre accent */
.lcip-article-section h2 {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--lcip-text-primary) !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--lcip-accent-tms) !important;
  display: inline-block !important;
}

/* Accent color H2 par traitement */
.lcip-accent-ect .lcip-article-section h2 { border-bottom-color: var(--lcip-accent-ect) !important; }

.lcip-accent-ketamine .lcip-article-section h2 { border-bottom-color: var(--lcip-accent-ketamine) !important; }

.lcip-accent-anesthetics .lcip-article-section h2 { border-bottom-color: var(--lcip-accent-anesthetics) !important; }

/* H3 article */
.lcip-article-section h3 {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--lcip-text-primary) !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.3px !important;
}

/* Paragraphes article */
.lcip-article-section p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--lcip-text-secondary) !important;
  margin-bottom: 16px !important;
  max-width: 720px !important;
}

.lcip-article-section p:last-child {
  margin-bottom: 0 !important;
}

.lcip-article-section strong {
  color: var(--lcip-text-primary) !important;
  font-weight: 500 !important;
}

/* Listes article */
.lcip-article-section ul {
  list-style: none !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  max-width: 720px;
}

.lcip-article-section ul li {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--lcip-text-secondary) !important;
  padding: 6px 0 6px 20px !important;
  position: relative;
}

.lcip-article-section ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 13px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--lcip-accent-tms) !important;
  opacity: 0.7 !important;
}

/* Accent color bullets par traitement */
.lcip-accent-ect .lcip-article-section ul li::before { background: var(--lcip-accent-ect) !important; }

.lcip-accent-ketamine .lcip-article-section ul li::before { background: var(--lcip-accent-ketamine) !important; }

.lcip-accent-anesthetics .lcip-article-section ul li::before { background: var(--lcip-accent-anesthetics) !important; }

/* ----------------------------------------------------------
   13. ENCARTS SPÉCIAUX — Stats, Info, Warning
   ---------------------------------------------------------- */
/* Encart chiffres-clés */
.lcip-key-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
  max-width: 720px;
}

.lcip-stat-card {
  background: #FFFFFF;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 4px;
  padding: 20px 24px;
  border-left: 3px solid var(--lcip-accent-tms);
}

.lcip-accent-ect .lcip-stat-card { border-left-color: var(--lcip-accent-ect); }

.lcip-accent-ketamine .lcip-stat-card { border-left-color: var(--lcip-accent-ketamine); }

.lcip-accent-anesthetics .lcip-stat-card { border-left-color: var(--lcip-accent-anesthetics); }

.lcip-stat-card .stat-value {
  font-size: 28px;
  font-weight: 600;
  color: var(--lcip-accent-tms);
  line-height: 1;
  margin-bottom: 6px;
}

.lcip-accent-ect .lcip-stat-card .stat-value { color: var(--lcip-accent-ect); }

.lcip-accent-ketamine .lcip-stat-card .stat-value { color: var(--lcip-accent-ketamine); }

.lcip-accent-anesthetics .lcip-stat-card .stat-value { color: var(--lcip-accent-anesthetics); }

.lcip-stat-card .stat-label {
  font-size: 13px;
  color: var(--lcip-text-secondary);
  line-height: 1.4;
}

/* Info box (neuronavigation, calendrier) */
.lcip-info-box {
  background: linear-gradient(135deg, #EBF3FF 0%, #F0F4FF 100%);
  border: 1px solid rgba(37,99,235,0.08);
  border-radius: 4px;
  padding: 14px 18px;
  margin: 16px 0;
  max-width: 720px;
  border-left: 3px solid var(--lcip-accent-tms);
}

.lcip-accent-ect .lcip-info-box {
  background: linear-gradient(135deg, #ECFDF5 0%, #F0FDF4 100%);
  border-color: rgba(5,150,105,0.08);
  border-left-color: var(--lcip-accent-ect);
}

.lcip-accent-ketamine .lcip-info-box {
  background: linear-gradient(135deg, #F3EEFF 0%, #F5F0FF 100%);
  border-color: rgba(124,58,237,0.08);
  border-left-color: var(--lcip-accent-ketamine);
}

.lcip-accent-anesthetics .lcip-info-box {
  background: linear-gradient(135deg, #FFFBEB 0%, #FEF9EE 100%);
  border-color: rgba(217,119,6,0.08);
  border-left-color: var(--lcip-accent-anesthetics);
}

.lcip-info-box h3 {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: var(--lcip-accent-tms) !important;
  margin: 0 0 6px 0 !important;
}

.lcip-accent-ect .lcip-info-box h3 { color: var(--lcip-accent-ect) !important; }

.lcip-accent-ketamine .lcip-info-box h3 { color: var(--lcip-accent-ketamine) !important; }

.lcip-accent-anesthetics .lcip-info-box h3 { color: var(--lcip-accent-anesthetics) !important; }

.lcip-info-box p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--lcip-text-secondary) !important;
  margin-bottom: 4px !important;
}

.lcip-info-box p:last-child {
  margin-bottom: 0 !important;
}

/* Warning box (contre-indications) */
.lcip-warning-box {
  background: linear-gradient(135deg, #F8F6F3 0%, #F5F3F0 100%);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 4px;
  padding: 14px 18px;
  margin: 16px 0;
  max-width: 720px;
  border-left: 3px solid #C4A35A;
}

.lcip-warning-box h3 {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #7A6638 !important;
  margin: 0 0 6px 0 !important;
}

.lcip-warning-box ul li {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--lcip-text-secondary) !important;
  margin-bottom: 2px !important;
}

.lcip-warning-box ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.lcip-warning-box ul li {
  padding: 1px 0 1px 16px !important;
}

.lcip-warning-box ul li::before {
  background: #C4A35A !important;
  top: 10px !important;
  width: 5px !important;
  height: 5px !important;
}

.lcip-cta-bar-inner {
  background: #E8EDF4 !important;
  border-radius: 8px;
  padding: 40px;
  text-align: center;
}

.lcip-cta-bar-inner h3 {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--lcip-text-primary) !important;
  margin-bottom: 8px !important;
}

.lcip-cta-bar-inner p {
  font-size: 14px !important;
  color: var(--lcip-text-secondary) !important;
  margin-bottom: 24px !important;
}

.lcip-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.lcip-cta-buttons a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 28px;
  border-radius: 4px;
  transition: all 0.2s;
  font-family: var(--lcip-font);
}

.lcip-cta-buttons .cta-primary {
  background: var(--lcip-accent-tms);
  color: #fff;
}

.lcip-cta-buttons .cta-primary:hover {
  filter: brightness(0.85);
}

/* Accent CTA par traitement */
.lcip-accent-ect .lcip-cta-buttons .cta-primary { background: var(--lcip-accent-ect); }

.lcip-accent-ketamine .lcip-cta-buttons .cta-primary { background: var(--lcip-accent-ketamine); }

.lcip-accent-anesthetics .lcip-cta-buttons .cta-primary { background: var(--lcip-accent-anesthetics); }

.lcip-cta-buttons .cta-secondary {
  border: 1px solid rgba(0,0,0,0.15);
  color: var(--lcip-text-primary);
  background: transparent;
}

.lcip-cta-buttons .cta-secondary:hover {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.25);
}

/* ----------------------------------------------------------
   15. MOBILE CTA BAR (fixed bottom)
   ---------------------------------------------------------- */
.lcip-mobile-cta-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  background: var(--lcip-bg-dark);
  border-top: 1px solid rgba(255,255,255,0.1);
  padding: 12px 20px;
  text-align: center;
}

.lcip-mobile-cta-bar a {
  display: block;
  background: var(--lcip-accent-tms);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 12px;
  border-radius: 4px;
  font-family: var(--lcip-font);
}

/* ----------------------------------------------------------
   16. RESPONSIVE — Pages traitement
   ---------------------------------------------------------- */
/* Tablet */
@media (max-width: 980px) {
  .lcip-page-hero {
    padding: 40px 0 35px !important;
  }

  /* TOC passe au-dessus du contenu en mobile */
  .lcip-toc-column > div {
    position: relative !important;
    top: auto !important;
  }

  .lcip-toc {
    background: #FFFFFF;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 4px;
    padding: 14px 20px !important;
    margin-bottom: 24px;
  }

  .lcip-key-stats {
    grid-template-columns: 1fr;
  }

  .lcip-hero-circles-wrap {
    display: none;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .lcip-page-hero h1 {
    font-size: 28px !important;
  }

  .lcip-mobile-cta-bar {
    display: block;
  }

  .lcip-article-section:nth-child(even) {
    margin-left: -16px !important;
    margin-right: -16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .lcip-cta-buttons {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 480px) {
  .lcip-page-hero h1 {
    font-size: 24px !important;
  }
}

/* h3 dans les sections article : Divi écrase à 11px
   → on rétablit les valeurs mockup */
.lcip-article-section h3 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.3px !important;
  color: var(--lcip-text-primary, #0F1C2E) !important;
}

/* h3 dans info-box et warning-box : garder les styles spécifiques */
.lcip-article-section .lcip-info-box h3 {
  font-size: 11px !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

.lcip-article-section .lcip-warning-box h3 {
  font-size: 11px !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}

/* 18. TOC SIDEBAR — Corrections interlignes sommaire */
/* Masquer les <br> parasites entre les liens (les <a> sont déjà display:block) */
.lcip-toc .toc-links br {
  display: none;
}

/* Line-height conforme au mockup (1.3) */
.lcip-toc .toc-links a {
  line-height: 1.3;
}

/* Container toc-links : neutraliser line-height hérité de Divi */
.lcip-toc .toc-links {
  line-height: 1.3;
}

/* Cercles : forcer positionnement centré (Divi écrase top:50%) */
.lcip-hero-circles-wrap {
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 780px !important;
  height: 780px !important;
  opacity: 0.25;
}

/* ----------------------------------------------------------
   TABLEAU COMPARATIF (page Anesthésiques)
   ---------------------------------------------------------- */
.table-wrapper {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  overflow-x: auto;
  margin: 28px 0;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  min-width: 600px;
}

.comparison-table th {
  background: #0F1C2E !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 2px solid #D97706;
}

.comparison-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  color: #475467;
  line-height: 1.5;
  vertical-align: top;
  background: #fff;
}

.comparison-table tr:nth-child(even) td {
  background: #FAFBFC;
}

.comparison-table tr:last-child td {
  border-bottom: none;
}

.comparison-table td:first-child {
  font-weight: 500;
  color: #1D2939;
}

.comparison-table td strong {
  color: #1D2939;
  font-weight: 500;
}

/* Tablet */
@media (max-width: 1024px) {
  .comparison-table {
    font-size: 12px;
  }
  .comparison-table th,
  .comparison-table td {
    padding: 8px 10px;
  }
}

/* Mobile : cartes empilées */
@media (max-width: 767px) {
  .comparison-table thead { display: none; }
  .comparison-table,
  .comparison-table tbody,
  .comparison-table tr,
  .comparison-table td { display: block; width: 100%; }
  .comparison-table tr {
    margin-bottom: 16px;
    border: 1px solid rgba(0,0,0,0.06);
    border-radius: 4px;
    padding: 8px;
  }
  .comparison-table td {
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.04);
    padding: 6px 8px;
  }
  .comparison-table td::before {
    content: attr(data-label);
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
    color: #1D2939;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
}

/* ============================================================
   SECTION 10 — PAGES INSTITUTIONNELLES (team, contact, references)
   Accent neutre: --accent-team: #475569 (slate)
   ============================================================ */
/* --- Team page accent --- */
.page-template-default.page-id-31592 .treatment-tag {
  background: #475569 !important;
}

/* --- Doctor Card --- */
.doctor-card {
  background: #FFFFFF;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 48px;
  margin-bottom: 40px;
}

.doctor-header {
  display: flex;
  gap: 32px;
  margin-bottom: 32px;
}

.doctor-photo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #E2E8F0;
  flex-shrink: 0;
  overflow: hidden;
}

.doctor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  border-radius: 50%;
}

.doctor-info h2 {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #0F1C2E !important;
  margin-bottom: 6px !important;
  padding-bottom: 0 !important;
  line-height: 1.3 !important;
}

.doctor-info h2::after {
  display: none !important;
}

.doctor-subtitle {
  font-size: 14px;
  color: #8C95A1;
  margin-bottom: 8px;
  line-height: 1.5;
}

.doctor-credentials {
  font-size: 13px;
  color: #8C95A1;
  line-height: 1.5;
}

.doctor-bio {
  font-size: 15px;
  line-height: 1.75;
  color: #5A6778;
  margin-bottom: 28px;
}

.doctor-bio p {
  margin-bottom: 16px;
}

.doctor-bio p:last-child {
  margin-bottom: 0;
}

/* --- TEAM PAGE: Light bg on content area only (FR + EN) --- */
body.page-id-28853 .team-content-wrapper,
body.page-id-31592 .team-content-wrapper {
  background: #F2F5F9 !important;
}

/* --- TEAM PAGE: SVG circles positioning in hero --- */
/* OLD SVG RULE REMOVED */
/* --- TEAM PAGE: MAC logo only (not all section images) --- */
/* OLD ANESTHESIA-LOGO IMG RULE REMOVED */
/* --- Affiliations --- */
.affiliations-section {
  background: #F1F5F9;
  border-radius: 4px;
  padding: 20px 24px;
  margin-bottom: 24px;
}

.affiliations-title {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #8C95A1;
  margin-bottom: 12px;
}

.affiliations-list {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 !important;
  margin: 0 !important;
}

.affiliations-list li {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: #5A6778;
  display: inline-block;
  list-style: none !important;
}

.affiliations-list li::before {
  display: none !important;
}

/* --- Publications Accordion --- */
/* Sprint UX1 — Publications section: always visible, compact academic style */
.publications-section {
  border-top: 1px solid #E2E8F0;
  padding-top: 20px;
  margin-top: 8px;
}

/* Hide toggle button — publications always visible now */
.publications-toggle {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #94A3B8 !important;
  cursor: default !important;
  padding: 0 0 12px 0 !important;
  background: none !important;
  border: none !important;
  width: auto !important;
  text-align: left !important;
  font-family: 'Inter', sans-serif !important;
  pointer-events: none !important;
}

/* Remove the expand arrow */
.publications-toggle::before {
  display: none !important;
}

/* Hide the p between toggle and list (wpautop artifact) */
.publications-section > p {
  display: none !important;
}

/* Always show the list, regardless of aria-expanded */
.publications-list {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Keep selector for specificity but also always show */
.publications-toggle[aria-expanded="true"] ~ .publications-list,
.publications-toggle[aria-expanded="false"] ~ .publications-list {
  display: block !important;
}

.publications-list li {
  font-size: 12.5px;
  line-height: 1.55;
  color: #64748B;
  padding: 5px 0;
  border-bottom: none;
  list-style: none !important;
}

.publications-list li::before {
  display: none !important;
}

.publications-list li:last-child {
  border-bottom: none;
}

.publications-list strong {
  color: #334155;
  font-weight: 500;
}

.publications-list em {
  font-style: italic;
  color: #64748B;
}

/* --- Anesthesia (MAC) Section --- */
.anesthesia-section {
  background: #FFFFFF;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  padding: 48px;
  margin-bottom: 40px;
}

.anesthesia-section h3 {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0F1C2E !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 18px !important;
  letter-spacing: 1.2px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.anesthesia-section h3::after {
  display: none !important;
}

.anesthesia-section h3 a {
  color: #475569 !important;
  text-decoration: none !important;
}

.anesthesia-section h3 a:hover {
  color: #334155 !important;
}

.anesthesia-section p {
  font-size: 15px;
  line-height: 1.75;
  color: #5A6778;
}

.anesthesia-section a {
  color: #475569;
}

.mac-team {
  display: flex;
  gap: 32px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.mac-member {
  text-align: center;
}

.mac-member-photo {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 8px;
}

.mac-member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
}

.mac-member-name {
  font-size: 13px;
  font-weight: 600;
  color: #0F1C2E;
}

.mac-member-role {
  font-size: 11px;
  color: #8C95A1;
}

/* --- Team page: content wrapper max-width --- */
.team-content-wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 0;
}

/* --- Responsive: team pages --- */
@media (max-width: 768px) {
  .doctor-card {
    padding: 32px 24px;
  }
  .doctor-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
  }
  .doctor-info h2 {
    font-size: 20px !important;
  }
  .mac-team {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .doctor-card {
    padding: 24px 20px;
  }
  .doctor-photo {
    width: 100px;
    height: 100px;
  }
  .mac-member-photo {
    width: 80px;
    height: 80px;
  }
}

/* =============================================
   SECTION 10b — HERO FOR HTML-BASED PAGES
   (Institutional pages using fullwidth code module)
   ============================================= */
.treatment-hero {
  background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1A2D47 100%) !important;
  padding: 100px 0 90px !important;
  position: relative;
  overflow: hidden;
  margin-top: -1px;
}

.treatment-hero .hero-bg-circles {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  overflow: hidden;
  pointer-events: none;
}

.treatment-hero .hero-bg-circles::before {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.03);
  top: -150px; right: -100px;
}

.treatment-hero .hero-bg-circles::after {
  content: '';
  position: absolute;
  width: 300px; height: 300px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.02);
  bottom: -100px; left: -50px;
}

/* Treatment hero gradient overlays (subtle radial gradients + bottom line) */
.treatment-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-image:
    radial-gradient(at 15% 70%, rgba(37,99,235,0.1) 0%, transparent 50%),
    radial-gradient(at 65% 55%, rgba(124,58,237,0.06) 0%, transparent 45%),
    radial-gradient(at 40% 100%, rgba(242,245,249,0.05) 0%, transparent 40%) !important;
  pointer-events: none;
  z-index: 1;
}

.treatment-hero::after {
  content: "";
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 1px;
  background-image: linear-gradient(90deg, rgba(0,0,0,0), rgba(255,255,255,0.12), rgba(0,0,0,0)) !important;
  pointer-events: none;
  z-index: 1;
}

.treatment-hero .hero-content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 40px;
}

.treatment-hero .hero-breadcrumb {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  margin-bottom: 20px;
  letter-spacing: 0.5px;
}

.treatment-hero .hero-breadcrumb .sep {
  margin: 0 8px;
}

.treatment-hero .hero-breadcrumb a {
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  transition: color 0.2s;
}

.treatment-hero .hero-breadcrumb a:hover {
  color: rgba(255,255,255,0.8);
}

.treatment-hero .treatment-tag {
  display: inline-block;
  padding: 5px 16px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #FFFFFF;
  margin-bottom: 16px;
  background: rgb(71, 85, 105);
  border: none;
}

.treatment-hero .hero-title {
  font-size: 38px !important;
  font-weight: 300 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  letter-spacing: -0.76px !important;
}

.treatment-hero .hero-subtitle {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255,255,255,0.6);
  max-width: 680px;
  margin-top: 16px;
}

/* Hero responsive */
@media (max-width: 768px) {
  .treatment-hero {
    padding: 40px 0 35px !important;
  }
  .treatment-hero .hero-content {
    padding: 0 24px;
  }
  .treatment-hero .hero-title {
    font-size: 30px !important;
  }
  .treatment-hero .hero-subtitle {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .treatment-hero {
    padding: 30px 0 25px !important;
  }
  .treatment-hero .hero-title {
    font-size: 26px !important;
  }
  .treatment-hero .hero-subtitle {
    font-size: 14px;
  }
}

/* --- Fix: anesthesia section — match mockup styling --- */
.anesthesia-section {
  background: #F8FAFC !important;
  border-left: 3px solid #475569 !important;
  box-shadow: none !important;
  padding: 32px !important;
  border-radius: 4px !important;
}

.anesthesia-logo {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

/* wpautop <br> autour de l'image dans le logo */
.anesthesia-logo br {
  display: none !important;
}

.anesthesia-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.anesthesia-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

/* --- Fix: MAC member photos centering --- */
.mac-member-photo {
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin: 0 auto 8px !important;
}

.mac-member-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: grayscale(100%) !important;
}

/* --- Fix: doctor card photo centering --- */
.doctor-photo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.doctor-photo img {
  display: block !important;
}

/* ============================================================
   SECTION 10d — TEAM PAGE: PIXEL-PERFECT MOCKUP CONFORMITY
   Fixes differences between live and mockup_team_v1.html
   ============================================================ */
/* --- Treatment tag: solid bg badge, 4px radius (not pill), wider spacing --- */
body.page-id-31592 .treatment-hero .treatment-tag {
  border-radius: 4px !important;
  letter-spacing: 1.5px !important;
  padding: 5px 16px !important;
  border: none !important;
}

/* --- Hero title: lighter weight per mockup (300, strong=600) --- */
body.page-id-31592 .treatment-hero .hero-title {
  font-size: 38px !important;
  font-weight: 300 !important;
  line-height: 1.2 !important;
}

body.page-id-31592 .treatment-hero .hero-title strong {
  font-weight: 600 !important;
}

/* --- Hero subtitle: tighter per mockup --- */
body.page-id-31592 .treatment-hero .hero-subtitle {
  font-size: 16px !important;
  color: rgba(255,255,255,0.6) !important;
  max-width: 600px !important;
  margin-top: 16px !important;
}

/* --- SVG circles: mockup positions right-aligned, concentric --- */
body.page-id-31592 .treatment-hero .hero-bg-circles {
  width: 780px !important;
  height: 780px !important;
  right: 40px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  opacity: 0.25 !important;
  left: auto !important;
}

/* --- Anesthesia section: margin + h3 mockup style --- */
body.page-id-31592 .anesthesia-section {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

body.page-id-31592 .anesthesia-section h3 {
  font-size: 18px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
}

/* --- CTA bar: full styled section per mockup --- */
.cta-bar {
  padding: 48px 40px !important;
  background: #E8EDF4 !important;
  text-align: center !important;
}

.cta-bar .cta-content {
  max-width: 700px !important;
  margin: 0 auto !important;
}

.cta-bar .cta-content br {
  display: none !important;
}

.cta-bar .cta-text {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #0F1C2E !important;
  display: block !important;
  margin-bottom: 20px !important;
  line-height: 1.4 !important;
}

/* Sprint UX1 — CTA bar button with stronger hover */
.cta-bar .cta-button {
  display: inline-block !important;
  background: #475569 !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.cta-bar .cta-button:hover {
  background: #1E293B !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 12px rgba(15, 28, 46, 0.2) !important;
  transform: translateY(-1px) !important;
}

/* ============================================================
   SECTION 10e — TEAM PAGE: ADDITIONAL CONFORMITY FIXES
   Background, line-height, breadcrumb, hero gap, MAC logo, footer
   ============================================================ */
/* --- Page background + line-height per mockup --- */
body.page-id-31592 {
  background-color: #F2F5F9 !important;
}

body.page-id-31592 .et-l {
  background-color: transparent !important;
}

/* --- Breadcrumb: 12px, 0.5px spacing, separator styling --- */
body.page-id-31592 .hero-breadcrumb {
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
  color: rgba(255,255,255,0.6) !important;
  margin-bottom: 20px !important;
}

body.page-id-31592 .hero-breadcrumb a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
}

body.page-id-31592 .hero-breadcrumb a:hover {
  color: #FFFFFF !important;
}

body.page-id-31592 .hero-breadcrumb .sep {
  margin: 0 8px !important;
  opacity: 0.4 !important;
}

body.page-id-31592 .hero-breadcrumb br {
  display: none !important;
}

/* --- TEAM PAGE: Alignment hero text + cards with logo head --- */
body.page-id-31592 .hero-content {
  max-width: 1048px !important;
}

body.page-id-31592 .team-content-wrapper {
  max-width: 968px !important;
}

/* Doctor bio paragraphs: match mockup font-size + line-height */
body.page-id-31592 .doctor-bio p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  margin-bottom: 16px !important;
}

body.page-id-31592 .doctor-bio p:last-child {
  margin-bottom: 0 !important;
}

/* ============================================================
   HOMEPAGE — Phase C
   Scoped under .lcip-homepage wrapper
   ============================================================ */
/* --- Container homepage --- */
.lcip-homepage .lcip-container {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
}

/* ============================================================
   HERO
   ============================================================ */
.lcip-homepage .hero {
  padding: 100px 0 90px !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%) !important;
}

.lcip-homepage .hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse at 15% 70%, rgba(37,99,235,0.10) 0%, transparent 50%),
    radial-gradient(ellipse at 65% 55%, rgba(124,58,237,0.06) 0%, transparent 45%),
    radial-gradient(ellipse at 40% 100%, rgba(242,245,249,0.05) 0%, transparent 40%) !important;
}

.lcip-homepage .hero-circles {
  position: absolute !important;
  left: calc(50% + 80px) !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 900px !important;
  height: 900px !important;
  opacity: 0.25 !important;
  pointer-events: none !important;
}

.lcip-homepage .hero-circles circle {
  fill: none !important;
  stroke: #ffffff !important;
}

.lcip-homepage .hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(600px, 60%) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent) !important;
}

.lcip-homepage .hero-content {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

.lcip-homepage .hero-content .hero-ctas {
  max-width: 680px !important;
}

.lcip-homepage .hero-content h1 {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 300 !important;
  font-size: 48px !important;
  line-height: 1.2 !important;
  color: #FFFFFF !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.5px !important;
  padding: 0 !important;
  text-transform: none !important;
}

.lcip-homepage .hero-content h1 strong {
  font-weight: 500 !important;
}

.lcip-homepage .hero-desc {
  margin-top: 32px !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 400 !important;
  max-width: 640px !important;
  margin-bottom: 44px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .hero-ctas {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
}

.lcip-homepage .hero-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  padding: 14px 32px !important;
  border-radius: 4px !important;
  transition: all 0.25s !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .hero-cta:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.5) !important;
  color: #FFFFFF !important;
}

.lcip-homepage .hero-cta.secondary {
  border-color: transparent !important;
  color: rgba(255,255,255,0.6) !important;
}

.lcip-homepage .hero-cta.secondary:hover {
  color: #FFFFFF !important;
  border-color: transparent !important;
}

/* ============================================================
   TREATMENTS GRID (homepage)
   ============================================================ */
.lcip-homepage .treatments {
  padding: 56px 0 100px !important;
  background: linear-gradient(180deg, #c8d2e0 0%, #DAE1EC 60px, #DAE1EC calc(100% - 80px), #e4e9f0 100%) !important;
}

.lcip-homepage .section-header {
  margin-bottom: 56px !important;
}

.lcip-homepage .section-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #8C95A1 !important;
  margin-bottom: 12px !important;
  margin-bottom: 16px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .section-title {
  font-size: 36px !important;
  font-weight: 300 !important;
  letter-spacing: -0.3px !important;
  color: #0F1C2E !important;
  max-width: 600px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  line-height: 1.2 !important;
  padding: 0 !important;
  text-transform: none !important;
}

.lcip-homepage .treatment-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}

.lcip-homepage .treatment-card {
  border-radius: 4px !important;
  padding: 40px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s, transform 0.2s !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  cursor: pointer !important;
  border-left: 3px solid transparent !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

.lcip-homepage .treatment-card:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

/* Sprint UX1 — card backgrounds slightly more visible (0.08→0.12) */
.lcip-homepage .treatment-card.tms { border-left-color: #2563EB !important; background: rgba(37,99,235,0.12) !important; }

.lcip-homepage .treatment-card.ketamine { border-left-color: #7C3AED !important; background: rgba(124,58,237,0.12) !important; }

.lcip-homepage .treatment-card.anesthetics { border-left-color: #D97706 !important; background: rgba(217,119,6,0.12) !important; }

.lcip-homepage .treatment-card.ect { border-left-color: #059669 !important; background: rgba(5,150,105,0.12) !important; }

.lcip-homepage .treatment-card .card-tag {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 12px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  /* text-transform removed: HTML already uppercase except "rTMS" which must stay mixed-case */
}

.lcip-homepage .treatment-card.tms .card-tag { color: #2563EB !important; }

.lcip-homepage .treatment-card.ketamine .card-tag { color: #7C3AED !important; }

.lcip-homepage .treatment-card.anesthetics .card-tag { color: #D97706 !important; }

.lcip-homepage .treatment-card.ect .card-tag { color: #059669 !important; }

.lcip-homepage .treatment-card h3 {
  font-size: clamp(17px, 4.8vw, 24px) !important; /* FIX: responsive — shrinks on mobile so « électroconvulsivothérapie » fits */
  font-weight: 600 !important;
  margin-bottom: 14px !important;
  color: #0F1C2E !important;
  letter-spacing: -0.3px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  padding: 0 !important;
}

.lcip-homepage .treatment-card p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #5A6778 !important;
  margin-bottom: 24px !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

/* wpautop wraps the card-link <a> in a <p> — kill that extra margin */
.lcip-homepage .treatment-card p:last-child {
  margin-bottom: 0 !important;
}

.lcip-homepage .card-link {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: #0F1C2E !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: gap 0.2s !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .treatment-card:hover .card-link { gap: 10px !important; }

/* Stretched link: make entire treatment card clickable (not just "En savoir plus") */
.lcip-homepage .card-link::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 1 !important;
}

/* ============================================================
   POSITIONING SECTION
   ============================================================ */
.lcip-homepage .positioning {
  padding: 80px 0 !important;
  background: linear-gradient(180deg, #eef1f6 0%, #FFFFFF 60px, #FFFFFF calc(100% - 60px), #f5f7fa 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

.lcip-homepage .positioning::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, rgba(37,99,235,0.35) 0%, rgba(37,99,235,0.06) 100%) !important;
}

.lcip-homepage .positioning-inner {
  display: grid !important;
  grid-template-columns: 1fr 1px 1fr !important;
  gap: 56px !important;
  align-items: start !important;
  position: relative !important;
  z-index: 1 !important;
}

.lcip-homepage .positioning-divider {
  background: rgba(0,0,0,0.08) !important;
  align-self: stretch !important;
}

.lcip-homepage .positioning-col h3 {
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
  color: #1e3a5f !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

.lcip-homepage .positioning-col p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: #5A6778 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .positioning-col p + p {
  margin-top: 12px !important;
}

/* ============================================================
   MOBILE CTA BAR
   ============================================================ */
.lcip-homepage .mobile-cta-bar {
  display: none !important;
  text-align: center !important;
  padding: 32px 40px !important;
  background: #F2F5F9 !important;
}

.lcip-homepage .mobile-cta-bar .hero-cta {
  color: #0F1C2E !important;
  border-color: rgba(15,28,46,0.25) !important;
  font-size: 12px !important;
}

.lcip-homepage .mobile-cta-bar .hero-cta:hover {
  background: rgba(15,28,46,0.05) !important;
  border-color: rgba(15,28,46,0.4) !important;
}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.lcip-homepage .process {
  padding: 64px 0 56px !important;
  position: relative !important;
  background: linear-gradient(180deg, #F2F5F9 0%, #F2F5F9 calc(100% - 80px), #dde3ed 100%) !important;
}

.lcip-homepage .process::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 200px !important;
  background: linear-gradient(180deg, rgba(30,58,95,0.12) 0%, rgba(30,58,95,0.06) 35%, rgba(30,58,95,0.02) 65%, transparent 100%) !important;
  pointer-events: none !important;
}

.lcip-homepage .process-steps {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  position: relative !important;
  margin-top: 16px !important;
}

.lcip-homepage .process-steps::before {
  content: '' !important;
  position: absolute !important;
  top: 28px !important;
  left: calc(12.5% + 20px) !important;
  right: calc(12.5% + 20px) !important;
  height: 1px !important;
  background: rgba(0,0,0,0.12) !important;
}

.lcip-homepage .step {
  text-align: center !important;
  padding: 0 20px !important;
  position: relative !important;
}

.lcip-homepage .step-number {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 20px !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  color: #0F1C2E !important;
  position: relative !important;
  z-index: 1 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .step h4 {
  font-size: 15px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  color: #0F1C2E !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
}

.lcip-homepage .step p {
  font-size: 13px !important;
  color: #5A6778 !important;
  line-height: 1.55 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

/* ============================================================
   FOOTER (homepage)
   ============================================================ */
.lcip-homepage .hp-footer {
  background: #0F1C2E !important;
  padding: 36px 0 24px !important;
  color: #FFFFFF !important;
}

.lcip-homepage .footer-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  margin-bottom: 28px !important;
  align-items: start !important;
}

.lcip-homepage .footer-brand .footer-logo {
  font-size: 28px !important;
  font-weight: 300 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  color: #FFFFFF !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .footer-brand .footer-subtitle {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 16px !important;
  line-height: 1.4 !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .footer-brand p {
  font-size: 14px !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.55) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .footer-brand a {
  color: rgba(255,255,255,0.55) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.lcip-homepage .footer-brand a:hover {
  color: #FFFFFF !important;
}

.lcip-homepage .footer-map {
  border-radius: 4px !important;
  overflow: hidden !important;
  height: 220px !important;
}

.lcip-homepage .footer-map iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  filter: grayscale(0.6) brightness(0.85) contrast(1.1) !important;
  transition: filter 0.3s !important;
}

.lcip-homepage .footer-map:hover iframe {
  filter: grayscale(0.2) brightness(0.9) contrast(1.05) !important;
}

.lcip-homepage .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 20px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.lcip-homepage .footer-bottom p {
  font-size: 13px !important;
  color: rgba(255,255,255,0.4) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
}

.lcip-homepage .footer-bottom a {
  font-size: 13px !important;
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.lcip-homepage .footer-bottom a:hover {
  color: rgba(255,255,255,0.6) !important;
}

/* ============================================================
   HOMEPAGE RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  .lcip-homepage .hero-content { max-width: 100% !important; }
  .lcip-homepage .hero-content h1 { font-size: 32px !important; }
  .lcip-homepage .positioning-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .lcip-homepage .positioning-divider { display: none !important; }
  .lcip-homepage .treatment-grid { grid-template-columns: 1fr !important; }
  .lcip-homepage .process-steps { grid-template-columns: 1fr !important; gap: 20px !important; }
  .lcip-homepage .process-steps::before { display: none !important; }
  .lcip-homepage .step {
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 0 16px !important;
    text-align: left !important;
    padding: 0 !important;
  }
  .lcip-homepage .step-number {
    grid-row: 1 / 3 !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    font-size: 16px !important;
    align-self: start !important;
  }
  .lcip-homepage .step h4 { margin-bottom: 4px !important; }
  .lcip-homepage .step p { font-size: 13px !important; line-height: 1.5 !important; }
  .lcip-homepage .footer-grid { grid-template-columns: 1fr !important; }
  .lcip-homepage .footer-map { height: 200px !important; }
  .lcip-homepage .hero-ctas { flex-direction: column !important; align-items: flex-start !important; }
  .lcip-homepage .mobile-cta-bar { display: block !important; }
  .lcip-homepage .hero { padding: 60px 0 50px !important; }
}

@media (max-width: 480px) {
  .lcip-homepage .hero-content h1 { font-size: 28px !important; }
  .lcip-homepage .lcip-container { padding: 0 20px !important; }
  .lcip-homepage .hero-content { padding: 0 20px !important; }
}

/* ================================================================
   REFERENCES PAGE (.lcip-references)
   Page Actualités / Références scientifiques
   ================================================================ */
/* Hide Divi footer on References pages */
body.page-id-31513 #main-footer {
    display: none !important;
}

/* CSS Variables */
.lcip-references {
    --bg-primary: #F2F5F9;
    --bg-elevated: #FFFFFF;
    --bg-section-alt: #E8EDF4;
    --bg-dark: #0F1C2E;
    --text-primary: #0F1C2E;
    --text-secondary: #5A6778;
    --text-tertiary: #8C95A1;
    --text-inverse: #FFFFFF;
    --text-inverse-muted: rgba(255,255,255,0.6);
    --accent-team: #475569;
    --color-amber: #D97706;
    --color-blue: #2563EB;
    --color-emerald: #059669;
    --color-violet: #7C3AED;
    --color-slate: #475569;
    --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --container-width: 1140px;
    font-family: var(--font);
    color: var(--text-primary);
    line-height: 1.6;
}

.lcip-references * {
    box-sizing: border-box;
}

.lcip-references .container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 40px;
}

/* PAGE HERO */
.lcip-references .page-hero {
    padding: 100px 0 90px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%);
}

.lcip-references .page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 20% 80%, rgba(71,85,105,0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 40%, rgba(71,85,105,0.06) 0%, transparent 45%);
}

.lcip-references .page-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(600px, 60%);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
}

.lcip-references .page-hero-circles {
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    width: 500px;
    height: 500px;
    opacity: 0.2;
    pointer-events: none;
}

.lcip-references .page-hero-circles circle {
    fill: none;
    stroke: #ffffff;
}

.lcip-references .page-hero-content {
    position: relative;
    z-index: 1;
}

.lcip-references .breadcrumb {
    font-size: 12px;
    letter-spacing: 0.5px;
    color: var(--text-inverse-muted);
    margin-bottom: 20px;
}

.lcip-references .breadcrumb a {
    color: var(--text-inverse-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.lcip-references .breadcrumb a:hover {
    color: var(--text-inverse);
}

.lcip-references .breadcrumb span {
    margin: 0 8px;
    opacity: 0.4;
}

.lcip-references .ref-tag {
    display: inline-block;
    background: var(--accent-team);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 5px 16px;
    text-indent: 1.5px;
    border-radius: 4px;
    margin-bottom: 16px;
}

.lcip-references .page-hero h1 {
    font-size: 38px;
    font-weight: 300;
    line-height: 1.2;
    color: var(--text-inverse);
    max-width: 700px;
    margin: 0;
}

.lcip-references .page-hero h1 strong {
    font-weight: 600;
}

.lcip-references .hero-subtitle {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-inverse-muted);
    max-width: 600px;
    margin-top: 16px;
}

/* MAIN CONTENT */
.lcip-references main {
    background: var(--bg-primary) !important;
    padding: 60px 0;
}

.lcip-references .content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* SPECIALISTS SECTION */
.lcip-references .specialists-section {
    padding: 0;
    margin-bottom: 12px;
}

.lcip-references .specialists-section h2 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}

.lcip-references .specialists-section p {
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.lcip-references .specialists-section a {
    color: var(--text-primary);
    font-weight: 500;
    border-bottom: 1px solid #e2e8f0;
    text-decoration: none;
    transition: all 0.2s;
}

.lcip-references .specialists-section a:hover {
    color: var(--accent-team);
    border-bottom-color: var(--accent-team);
}

/* PUBLICATIONS GRID */
.lcip-references .publications-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lcip-references details {
    background: var(--bg-elevated);
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.lcip-references details[open] {
    border-color: #cbd5e1;
}

.lcip-references summary {
    padding: 16px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
    user-select: none;
    list-style: none;
}

.lcip-references summary::-webkit-details-marker {
    display: none;
}

.lcip-references summary::marker {
    display: none;
    content: '';
}

.lcip-references summary:hover {
    background: #f8fafc;
}

.lcip-references details[open] > summary {
    background: #f8fafc;
}

.lcip-references .summary-title {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.lcip-references .summary-title > span:last-child {
    font-size: 15px;
    font-weight: 500;
    color: var(--text-primary);
}

.lcip-references .summary-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #ffffff;
    flex-shrink: 0;
    white-space: nowrap;
}

.lcip-references .summary-arrow {
    color: var(--text-tertiary);
    font-size: 12px;
    transition: transform 0.3s;
    display: flex;
    align-items: center;
}

.lcip-references details[open] > summary .summary-arrow {
    transform: rotate(180deg);
}

/* Category badge colors */
.lcip-references .category-dexmedeto .summary-counter { background: var(--color-amber); }

.lcip-references .category-n2o .summary-counter { background: var(--color-amber); }

.lcip-references .category-tms .summary-counter { background: var(--color-blue); }

.lcip-references .category-ect .summary-counter { background: var(--color-emerald); }

.lcip-references .category-ketamine .summary-counter { background: var(--color-violet); }

.lcip-references .category-audioVideo .summary-counter { background: var(--color-slate); }

.lcip-references .category-other .summary-counter { background: var(--color-slate); }

/* PUBLICATIONS LIST */
.lcip-references .publications-list {
    padding: 12px 20px !important;
    border-top: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lcip-references .publication-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
    cursor: pointer;
}

.lcip-references .publication-item:last-child {
    border-bottom: none;
}

.lcip-references .publication-item:hover .publication-title {
    color: var(--accent-team);
}

.lcip-references .publication-content {
    flex: 1;
}

.lcip-references .publication-title {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
    line-height: 1.5;
    margin-bottom: 4px;
    transition: color 0.2s;
}

.lcip-references .publication-journal {
    font-size: 13px;
    color: var(--text-tertiary);
}

.lcip-references .publication-link {
    color: var(--accent-team);
    text-decoration: none;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.2s;
}

.lcip-references .publication-link:hover {
    color: #334155;
}

/* CTA BAR */
.lcip-references .cta-bar {
    padding: 48px 0;
    margin-top: 20px;
    background: var(--bg-section-alt);
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.lcip-references .cta-bar .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.lcip-references .cta-bar h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.lcip-references .cta-bar p {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 24px;
}

.lcip-references .cta-bar-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.lcip-references .cta-bar-buttons a {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 12px 28px;
    border-radius: 4px;
    transition: all 0.2s;
}

.lcip-references .cta-primary {
    background: var(--accent-team);
    color: #fff !important;
}

.lcip-references .cta-primary:hover {
    background: #334155;
}

/* FOOTER */
.lcip-references .site-footer {
    background: var(--bg-dark);
    padding: 36px 0 24px;
    color: var(--text-inverse);
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* FOOTER */
.lcip-references footer {
    background: #0F1C2E !important;
    padding: 36px 0 24px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    border: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
}

.lcip-references .footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 28px;
    align-items: start;
}

.lcip-references .footer-brand .footer-logo {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 6px;
    color: var(--text-inverse);
}

.lcip-references .footer-brand .footer-subtitle {
    font-size: 16px;
    font-weight: 400;
    color: rgba(255,255,255,0.85);
    margin-bottom: 16px;
    line-height: 1.4;
}

.lcip-references .footer-brand p {
    font-size: 14px;
    line-height: 1.55;
    color: rgba(255,255,255,0.55);
}

.lcip-references .footer-brand a {
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: color 0.2s;
}

.lcip-references .footer-brand a:hover {
    color: var(--text-inverse);
}

.lcip-references .footer-map {
    border-radius: 4px;
    overflow: hidden;
    height: 220px;
}

.lcip-references .footer-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(0.6) brightness(0.85) contrast(1.1);
    transition: filter 0.3s;
}

.lcip-references .footer-map:hover iframe {
    filter: grayscale(0.2) brightness(0.9) contrast(1.05);
}

.lcip-references .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lcip-references .footer-bottom p {
    font-size: 13px;
    color: rgba(255,255,255,0.4);
}

.lcip-references .footer-bottom a {
    font-size: 13px;
    color: rgba(255,255,255,0.4);
    text-decoration: none;
    transition: color 0.2s;
}

.lcip-references .footer-bottom a:hover {
    color: rgba(255,255,255,0.6);
}

/* MOBILE CTA BAR */
.lcip-references .mobile-cta-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: var(--bg-dark);
    border-top: 1px solid rgba(255,255,255,0.1);
    padding: 12px 20px;
    text-align: center;
}

.lcip-references .mobile-cta-bar a {
    display: block;
    background: var(--accent-team);
    color: #fff !important;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 12px;
    border-radius: 4px;
}

/* RESPONSIVE */
@media (max-width: 960px) {
    .lcip-references main {
        padding: 40px 20px;
    }
    .lcip-references .footer-grid {
        grid-template-columns: 1fr;
    }
    .lcip-references .footer-map {
        height: 200px;
    }
    .lcip-references .mobile-cta-bar {
        display: none !important;
    }
    .lcip-references .cta-bar-buttons {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 768px) {
    .lcip-references .page-hero h1 {
        font-size: 28px;
    }
    .lcip-references .container {
        padding: 0 20px;
    }
    .lcip-references main {
        padding: 40px 0;
    }
}

@media (max-width: 480px) {
    .lcip-references .container {
        padding: 0 20px;
    }
    .lcip-references .page-hero h1 {
        font-size: 24px;
    }
}

/* ================================================
   CONTACT PAGE STYLES
   ================================================ */
/* Section Label */
/* --- CONTACT PAGE HERO --- */
.lcip-contact .page-hero {
    padding: 100px 0 90px !important;
    position: relative !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%) !important;
}

.lcip-contact .page-hero::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        radial-gradient(ellipse at 20% 80%, rgba(71,85,105,0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 40%, rgba(71,85,105,0.06) 0%, transparent 45%) !important;
}

.lcip-contact .page-hero-circles {
    position: absolute !important;
    right: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 780px !important;
    height: 780px !important;
    opacity: 0.25 !important;
    pointer-events: none !important;
}

.lcip-contact .page-hero-circles circle {
    fill: none !important;
    stroke: #ffffff !important;
}

.lcip-contact .page-hero::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(600px, 60%) !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent) !important;
}

/* wpautop: masquer les <p> vides parasites dans .lcip-contact
   (ils créent des gaps de 24px entre hero, section-label-wrapper, main-content)
   NB: uniquement :empty pour ne pas masquer le <p> contenant le <script> JS */
.lcip-contact > p:empty,
.lcip-contact .page-hero > p:empty,
.lcip-contact .page-hero > .container > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

.lcip-contact .page-hero-content {
    position: relative !important;
    z-index: 1 !important;
}

.lcip-contact .page-hero .breadcrumb {
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    line-height: 27.2px !important;
    color: rgba(255,255,255,0.4) !important;
}

.lcip-contact .page-hero h1 {
    font-size: 38px !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
    color: #FFFFFF !important;
    margin-bottom: 12px !important;
    padding-bottom: 10px !important;
}

.lcip-contact .page-hero .subtitle {
    font-size: 16px !important;
    color: rgba(255,255,255,0.55) !important;
    max-width: 540px !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

.lcip-contact .container {
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
}

.lcip-contact .section-label-wrapper {
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 60px 32px 0 !important;
}

.lcip-contact .section-label {
    display: block !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #5A6778 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 0 !important;
}

/* Main Content Grid */
.lcip-contact .main-content {
    display: grid !important;
    grid-template-columns: 65% 35% !important;
    gap: 32px !important;
    padding: 20px 32px 60px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    align-items: start !important;
}

/* Purpose Selector */
.lcip-contact .purpose-selector {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 40px !important;
}

.lcip-contact .purpose-selector > label:first-child {
    display: none !important;
}

.lcip-contact .purpose-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.lcip-contact .purpose-card {
    border: 2px solid #CBD5E1 !important;
    border-radius: 4px !important;
    padding: 20px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    background: #FFFFFF !important;
}

.lcip-contact .purpose-card:hover {
    border-color: #475569 !important;
    background: #F8FAFC !important;
}

.lcip-contact .purpose-card.active {
    border-color: #475569 !important;
    background: #F0F4F8 !important;
}

.lcip-contact .purpose-card input[type="radio"] {
    display: none !important;
}

/* Si wpautop casse les labels, les purpose-card-content dans la même carte
   doivent être visuellement séparées comme des cartes distinctes */
.lcip-contact .purpose-card-content {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

/* Quand 2 purpose-card-content se retrouvent dans le même parent (wpautop bug),
   ajouter une bordure visuelle entre elles */
.lcip-contact .purpose-card-content + p + .purpose-card-content,
.lcip-contact .purpose-card-content ~ .purpose-card-content {
    border-top: 2px solid #CBD5E1 !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
}

/* wpautop insère des <p> vides entre les éléments — les masquer */
.lcip-contact .purpose-card > p:empty,
.lcip-contact .purpose-card p:empty,
.lcip-contact .purpose-options > p:empty,
.lcip-contact .purpose-options p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    height: 0 !important;
}

/* wpautop <p> vides dans #contactForm — provoquent un décalage de 24px */
.lcip-contact #contactForm > p:empty,
.lcip-contact .form-column > p:empty,
.lcip-contact #contactForm > p:not([class]),
.lcip-contact .form-section > p:empty,
.lcip-contact .form-section > p:not([class]) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    height: 0 !important;
}

.lcip-contact .purpose-icon {
    flex-shrink: 0 !important;
    width: 24px !important;
    height: 24px !important;
    margin-top: 2px !important;
    color: #475569 !important;
}

.lcip-contact .purpose-icon svg {
    width: 24px !important;
    height: 24px !important;
}

.lcip-contact .purpose-text h3 {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #0F1C2E !important;
    margin-bottom: 4px !important;
}

.lcip-contact .purpose-text p {
    font-size: 0.8rem !important;
    color: #8C95A1 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Referral Options */
.lcip-contact .referral-intro {
    margin-bottom: 28px !important;
}

.lcip-contact .referral-intro p {
    font-size: 0.9rem !important;
    color: #5A6778 !important;
    line-height: 1.55 !important;
    margin-bottom: 10px !important;
}

.lcip-contact .referral-secure-note {
    font-size: 0.8125rem !important;
    color: #8C95A1 !important;
    padding: 10px 14px !important;
    background: rgba(71, 85, 105, 0.04) !important;
    border-radius: 4px !important;
    border-left: 2px solid #475569 !important;
}

.lcip-contact .referral-secure-note a {
    color: #475569 !important;
    font-weight: 500 !important;
}

.lcip-contact .referral-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.lcip-contact .referral-option-card {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 22px 24px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
}

.lcip-contact .referral-option-card:hover {
    border-color: #475569 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

.lcip-contact .referral-option-icon {
    flex-shrink: 0 !important;
    width: 28px !important;
    height: 28px !important;
    color: #475569 !important;
}

.lcip-contact .referral-option-icon svg {
    width: 100% !important;
    height: 100% !important;
}

.lcip-contact .referral-option-text {
    flex: 1 !important;
}

.lcip-contact .referral-option-text h4 {
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    color: #0F1C2E !important;
    margin-bottom: 4px !important;
}

.lcip-contact .referral-option-text p {
    font-size: 0.8125rem !important;
    color: #5A6778 !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}

.lcip-contact .referral-option-arrow {
    flex-shrink: 0 !important;
    width: 18px !important;
    height: 18px !important;
    color: #8C95A1 !important;
    transition: color 0.2s, transform 0.2s !important;
}

.lcip-contact .referral-option-card:hover .referral-option-arrow {
    color: #475569 !important;
    transform: translateX(2px) !important;
}

.lcip-contact .referral-option-arrow svg {
    width: 100% !important;
    height: 100% !important;
}

/* wpautop: masquer les <p> vides dans referral-options et à l'intérieur des cartes */
.lcip-contact .referral-options > p,
.lcip-contact .referral-option-card > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}
/* wpautop crée des <a class="referral-option-card"> vides dans des <p> — les masquer */
.lcip-contact .referral-options > p > .referral-option-card:empty,
.lcip-contact .referral-option-card:empty {
    display: none !important;
}

.lcip-contact .referral-contact-alt {
    padding-top: 16px !important;
    border-top: 1px solid rgba(0,0,0,0.06) !important;
}

.lcip-contact .referral-contact-alt p {
    font-size: 0.8125rem !important;
    color: #8C95A1 !important;
    line-height: 1.5 !important;
}

.lcip-contact .referral-contact-alt a {
    color: #475569 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* Hide phone/postal line on mobile — redundant with footer info */
@media (max-width: 768px) {
    .lcip-contact .referral-contact-alt {
        display: none !important;
    }
}

/* Form Sections */
.lcip-contact .form-section {
    display: none !important;
}

.lcip-contact .form-section.active {
    display: block !important;
}

.lcip-contact .form-section-title {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #5A6778 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-top: 32px !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #E2E8F0 !important;
}

.lcip-contact .form-group {
    margin-bottom: 20px !important;
}

/* Form inputs — full width, correct sizing */
.lcip-contact .form-group input[type="text"],
.lcip-contact .form-group input[type="email"],
.lcip-contact .form-group input[type="tel"],
.lcip-contact .form-group input[type="url"],
.lcip-contact .form-group input[type="number"],
.lcip-contact .form-group select {
    display: block !important;
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 4px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 0.95rem !important;
    color: #0F1C2E !important;
    background-color: #FFFFFF !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
}

.lcip-contact .form-group input:focus,
.lcip-contact .form-group select:focus {
    outline: none !important;
    border-color: #475569 !important;
    box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.1) !important;
}

.lcip-contact .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.lcip-contact .form-row.full {
    grid-template-columns: 1fr !important;
}

.lcip-contact label {
    display: block !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #5A6778 !important;
    margin-bottom: 6px !important;
}

.lcip-contact .required::after {
    content: " *" !important;
    color: #EF4444 !important;
}

.lcip-contact textarea {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 4px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 0.95rem !important;
    color: #0F1C2E !important;
    background-color: #FFFFFF !important;
    transition: all 0.2s !important;
}

.lcip-contact textarea:focus {
    outline: none !important;
    border-color: #475569 !important;
    box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.1) !important;
}

.lcip-contact select {
    cursor: pointer !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 36px !important;
}

.lcip-contact textarea {
    resize: vertical !important;
    min-height: 120px !important;
    font-size: 0.9rem !important;
}

/* Form Actions */
.lcip-contact .form-actions {
    margin-top: 32px !important;
    display: flex !important;
    gap: 16px !important;
}

.lcip-contact button[type="submit"] {
    background-color: #0F1C2E !important;
    color: #FFFFFF !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.lcip-contact button[type="submit"]:hover {
    background-color: #1a2942 !important;
}

.lcip-contact button[type="reset"] {
    background-color: transparent !important;
    color: #475569 !important;
    padding: 14px 32px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 4px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

.lcip-contact button[type="reset"]:hover {
    background-color: #E8EDF4 !important;
}

/* Referral form inline (inside Contact page) — fix layout */
.lcip-contact #referralForm .form-row,
.lcip-contact #referralForm .form-grid-2col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

.lcip-contact #referralForm .form-group {
    margin-bottom: 16px !important;
}

.lcip-contact #referralForm .form-group label {
    display: block !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: #5A6778 !important;
    margin-bottom: 6px !important;
}

.lcip-contact #referralForm .form-group input,
.lcip-contact #referralForm .form-group select,
.lcip-contact #referralForm .form-group textarea {
    display: block !important;
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 4px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 0.875rem !important;
    color: #0F1C2E !important;
    background: #fff !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s !important;
}

.lcip-contact #referralForm .form-group input:focus,
.lcip-contact #referralForm .form-group select:focus,
.lcip-contact #referralForm .form-group textarea:focus {
    outline: none !important;
    border-color: #475569 !important;
    box-shadow: 0 0 0 3px rgba(71, 85, 105, 0.1) !important;
}

.lcip-contact #referralForm textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

.lcip-contact #referralForm .form-section-title {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #5A6778 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-top: 24px !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #E2E8F0 !important;
}

/* Sidebar */
.lcip-contact .sidebar {
    display: flex !important;
    flex-direction: column !important;
    position: sticky !important;
    top: 140px !important;
    align-self: start !important;
}

.lcip-contact .sidebar-card {
    background: #FFFFFF !important;
    border-radius: 4px !important;
    padding: 28px !important;
    margin-bottom: 20px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.lcip-contact .sidebar-card h3 {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #0F1C2E !important;
    margin-bottom: 16px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.lcip-contact .sidebar-card p {
    font-size: 0.875rem !important;
    color: #5A6778 !important;
    margin-bottom: 2px !important;
    line-height: 1.45 !important;
}

.lcip-contact .sidebar-card p:last-child {
    margin-bottom: 0 !important;
}

.lcip-contact .sidebar-card .clinic-name {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    color: #0F1C2E !important;
    margin-bottom: 6px !important;
    line-height: 1.35 !important;
}

.lcip-contact .sidebar-card .contact-line {
    margin-top: 14px !important;
    margin-bottom: 3px !important;
    font-size: 0.875rem !important;
}

.lcip-contact .sidebar-card a {
    color: #475569 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.lcip-contact .sidebar-card a:hover {
    text-decoration: underline !important;
}

/* Getting-here card: navy gradient override (generic .sidebar-card background: #FFF !important was hiding it) */
.lcip-contact .sidebar-card.getting-here {
    background: linear-gradient(135deg, #0F1C2E 0%, #1a2d45 100%) !important;
    border: none !important;
    color: #fff !important;
}
.lcip-contact .sidebar-card.getting-here h3 {
    color: #fff !important;
}

.lcip-contact .opening-hours p {
    margin-bottom: 6px !important;
    font-size: 0.9rem !important;
    color: #5A6778 !important;
}

.lcip-contact .map-container {
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important;
}

.lcip-contact .map-container iframe {
    width: 100% !important;
    height: 250px !important;
    border: none !important;
    border-radius: 6px !important;
    filter: saturate(0.7) brightness(0.85) sepia(0.15) hue-rotate(185deg) !important;
    transition: filter 0.3s ease !important;
}

.lcip-contact .map-container:hover iframe {
    filter: saturate(0.85) brightness(0.9) sepia(0.1) hue-rotate(185deg) !important;
}

/* Contact Footer */
.lcip-contact footer {
    background: #0F1C2E !important;
    padding: 36px 0 24px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    border: none !important;
}

/* Contact Mobile Responsive */
@media (max-width: 960px) {
    .lcip-contact .main-content {
        grid-template-columns: 1fr !important;
    }
    .lcip-contact .form-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .lcip-contact .form-actions {
        flex-direction: column !important;
    }
    .lcip-contact button[type="submit"],
    .lcip-contact button[type="reset"] {
        width: 100% !important;
    }
}

/* =============================================
   REFERRAL PAGE STYLES (.lcip-referral)
   ============================================= */
.lcip-referral { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; color: #0F1C2E !important; line-height: 1.6 !important; }

.lcip-referral * { box-sizing: border-box !important; }

/* Hero */
.lcip-referral .page-hero { padding: 100px 0 90px !important; position: relative !important; overflow: hidden !important; background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%) !important; }

.lcip-referral .page-hero::before { content: '' !important; position: absolute !important; inset: 0 !important; background: radial-gradient(ellipse at 20% 80%, rgba(71,85,105,0.12) 0%, transparent 50%), radial-gradient(ellipse at 70% 40%, rgba(71,85,105,0.06) 0%, transparent 45%) !important; }

.lcip-referral .page-hero-circles { position: absolute !important; right: 40px !important; top: 50% !important; transform: translateY(-50%) !important; width: 600px !important; height: 600px !important; opacity: 0.35 !important; pointer-events: none !important; }

.lcip-referral .page-hero-circles circle { fill: none !important; stroke: #ffffff !important; }

.lcip-referral .page-hero::after { content: '' !important; position: absolute !important; bottom: 0 !important; left: 50% !important; transform: translateX(-50%) !important; width: min(600px, 60%) !important; height: 1px !important; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent) !important; }

.lcip-referral .page-hero-content { position: relative !important; z-index: 1 !important; }

.lcip-referral .page-hero .container { max-width: 1140px !important; margin: 0 auto !important; padding: 0 32px !important; }

.lcip-referral .page-hero .breadcrumb { font-size: 12px !important; letter-spacing: 0.5px !important; text-transform: uppercase !important; margin-bottom: 16px !important; color: rgba(255,255,255,0.4) !important; }

.lcip-referral .page-hero .breadcrumb a { color: rgba(255,255,255,0.4) !important; text-decoration: none !important; }

.lcip-referral .page-hero .breadcrumb a:hover { color: rgba(255,255,255,0.6) !important; }

.lcip-referral .page-hero h1 { font-size: 38px !important; font-weight: 300 !important; line-height: 1.2 !important; letter-spacing: -0.5px !important; color: #FFFFFF !important; margin-bottom: 12px !important; }

.lcip-referral .page-hero .subtitle { font-size: 16px !important; color: rgba(255,255,255,0.55) !important; max-width: 540px !important; line-height: 1.6 !important; }

/* Main Content Grid */
.lcip-referral .main-content { display: grid !important; grid-template-columns: 1fr 320px !important; gap: 32px !important; padding: 48px 32px 60px !important; max-width: 1140px !important; margin: 0 auto !important; align-items: start !important; }

/* Form Column */
.lcip-referral .form-column { background: #FFFFFF !important; border-radius: 4px !important; padding: 40px !important; border: 1px solid rgba(0,0,0,0.06) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; }

.lcip-referral .form-preamble { margin-bottom: 36px !important; padding-bottom: 24px !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }

.lcip-referral .form-preamble p { font-size: 0.875rem !important; color: #5A6778 !important; line-height: 1.55 !important; margin-bottom: 8px !important; }

.lcip-referral .form-preamble .secure-badge { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 0.75rem !important; font-weight: 500 !important; color: #475569 !important; margin-top: 8px !important; }

.lcip-referral .secure-badge svg { width: 14px !important; height: 14px !important; }

/* Section Headers */
.lcip-referral .section-header { font-size: 0.75rem !important; font-weight: 700 !important; color: #5A6778 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; margin-top: 36px !important; margin-bottom: 20px !important; padding-bottom: 8px !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }

/* Form Elements */
.lcip-referral .form-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; margin-bottom: 16px !important; }

.lcip-referral .form-row.full { grid-template-columns: 1fr !important; }

.lcip-referral .form-row.three { grid-template-columns: 1fr 1fr 1fr !important; }

.lcip-referral .form-group { display: flex !important; flex-direction: column !important; }

.lcip-referral .form-group.full { margin-bottom: 16px !important; }

.lcip-referral .form-group label { font-size: 0.8125rem !important; font-weight: 500 !important; color: #5A6778 !important; margin-bottom: 6px !important; }

.lcip-referral .form-group label.required::after { content: ' *' !important; color: #c0392b !important; }

.lcip-referral .form-group input, .lcip-referral .form-group select, .lcip-referral .form-group textarea { padding: 10px 14px !important; border: 1px solid rgba(0,0,0,0.12) !important; border-radius: 4px !important; font-family: 'Inter', sans-serif !important; font-size: 0.875rem !important; color: #0F1C2E !important; background: #fff !important; transition: border-color 0.2s !important; width: 100% !important; }

.lcip-referral .form-group input:focus, .lcip-referral .form-group select:focus, .lcip-referral .form-group textarea:focus { outline: none !important; border-color: #475569 !important; }

.lcip-referral .form-group textarea { min-height: 100px !important; resize: vertical !important; }

.lcip-referral .form-group textarea.large { min-height: 140px !important; }

.lcip-referral .form-group .helper { font-size: 0.75rem !important; color: #8C95A1 !important; margin-top: 4px !important; line-height: 1.4 !important; }

/* Treatment Grid */
.lcip-referral .treatment-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 16px !important; }

.lcip-referral .treatment-option { display: flex !important; align-items: center !important; gap: 8px !important; padding: 10px 14px !important; border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 4px !important; cursor: pointer !important; transition: border-color 0.2s, background 0.2s !important; }

.lcip-referral .treatment-option:hover { border-color: #475569 !important; }

.lcip-referral .treatment-option input[type="checkbox"] { width: 16px !important; height: 16px !important; accent-color: #475569 !important; }

.lcip-referral .treatment-option span { font-size: 0.8125rem !important; color: #0F1C2E !important; cursor: pointer !important; margin-bottom: 0 !important; font-weight: 400 !important; }

.lcip-referral .treatment-option:has(input:checked) { border-color: #475569 !important; background: rgba(71,85,105,0.04) !important; }

/* Scale Selectors */
.lcip-referral .scale-group { margin-bottom: 16px !important; }

.lcip-referral .scale-group .scale-label { font-size: 0.8125rem !important; font-weight: 500 !important; color: #5A6778 !important; margin-bottom: 8px !important; }

.lcip-referral .scale-options { display: flex !important; gap: 8px !important; }

.lcip-referral .scale-options label { display: flex !important; align-items: center !important; gap: 5px !important; padding: 7px 14px !important; border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 4px !important; font-size: 0.8125rem !important; color: #5A6778 !important; cursor: pointer !important; transition: all 0.2s !important; font-weight: 400 !important; margin-bottom: 0 !important; }

.lcip-referral .scale-options label:hover { border-color: #475569 !important; }

.lcip-referral .scale-options input[type="radio"] { width: 14px !important; height: 14px !important; accent-color: #475569 !important; }

.lcip-referral .scale-options label:has(input:checked) { border-color: #475569 !important; background: rgba(71,85,105,0.04) !important; color: #0F1C2E !important; }

/* Yes/No Groups */
.lcip-referral .yesno-group { display: flex !important; align-items: center !important; gap: 16px !important; margin-bottom: 16px !important; }

.lcip-referral .yesno-group .yesno-label { font-size: 0.8125rem !important; font-weight: 500 !important; color: #5A6778 !important; flex: 1 !important; }

.lcip-referral .yesno-options { display: flex !important; gap: 6px !important; }

.lcip-referral .yesno-options label { display: flex !important; align-items: center !important; gap: 4px !important; padding: 6px 14px !important; border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 4px !important; font-size: 0.8125rem !important; cursor: pointer !important; transition: all 0.2s !important; color: #5A6778 !important; font-weight: 400 !important; margin-bottom: 0 !important; }

.lcip-referral .yesno-options input[type="radio"] { width: 14px !important; height: 14px !important; accent-color: #475569 !important; }

.lcip-referral .yesno-options label:has(input:checked) { border-color: #475569 !important; background: rgba(71,85,105,0.04) !important; }

/* Consent */
.lcip-referral .consent-group { display: flex !important; align-items: flex-start !important; gap: 10px !important; margin-top: 24px !important; padding: 16px !important; background: rgba(71,85,105,0.03) !important; border-radius: 4px !important; border: 1px solid rgba(0,0,0,0.06) !important; }

.lcip-referral .consent-group input[type="checkbox"] { width: 18px !important; height: 18px !important; accent-color: #475569 !important; margin-top: 2px !important; flex-shrink: 0 !important; }

.lcip-referral .consent-group label { font-size: 0.8125rem !important; color: #5A6778 !important; line-height: 1.5 !important; cursor: pointer !important; }

/* Form Actions */
.lcip-referral .form-actions { display: flex !important; gap: 12px !important; margin-top: 32px !important; padding-top: 24px !important; border-top: 1px solid rgba(0,0,0,0.06) !important; }

.lcip-referral .form-actions button { padding: 12px 28px !important; border-radius: 4px !important; font-family: 'Inter', sans-serif !important; font-size: 0.875rem !important; font-weight: 500 !important; cursor: pointer !important; transition: all 0.2s !important; }

.lcip-referral .form-actions button[type="submit"] { background: #0F1C2E !important; color: #FFFFFF !important; border: none !important; }

.lcip-referral .form-actions button[type="submit"]:hover { background: #1a2d47 !important; }

.lcip-referral .form-actions button[type="reset"] { background: transparent !important; color: #5A6778 !important; border: 1px solid rgba(0,0,0,0.12) !important; }

.lcip-referral .form-actions button[type="reset"]:hover { border-color: rgba(0,0,0,0.25) !important; }

/* Sidebar — override GP theme's .sidebar{display:none} + sticky */
.lcip-referral aside.sidebar { display: block !important; position: sticky !important; top: 140px !important; align-self: start !important; }

.lcip-referral .sidebar-card { background: #FFFFFF !important; border-radius: 4px !important; padding: 24px !important; margin-bottom: 16px !important; border: 1px solid rgba(0,0,0,0.06) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important; }

.lcip-referral .sidebar-card h3 { font-size: 0.875rem !important; font-weight: 600 !important; color: #0F1C2E !important; margin-bottom: 12px !important; text-transform: none !important; letter-spacing: normal !important; }

.lcip-referral .sidebar-card p { font-size: 0.8125rem !important; color: #5A6778 !important; margin-bottom: 2px !important; line-height: 1.45 !important; }

.lcip-referral .sidebar-card .clinic-name { font-size: 0.875rem !important; font-weight: 500 !important; color: #0F1C2E !important; margin-bottom: 6px !important; line-height: 1.35 !important; }

.lcip-referral .sidebar-card .contact-line { margin-top: 12px !important; margin-bottom: 3px !important; }

.lcip-referral .sidebar-card a { color: #475569 !important; text-decoration: none !important; font-weight: 500 !important; }

.lcip-referral .sidebar-card a:hover { text-decoration: underline !important; }

/* Getting-here card: navy gradient override (the generic .sidebar-card background: #FFF !important was hiding it) */
.lcip-referral .sidebar-card.getting-here { background: linear-gradient(135deg, #0F1C2E 0%, #1a2d45 100%) !important; border: none !important; color: #fff !important; }
.lcip-referral .sidebar-card.getting-here h3 { color: #fff !important; }

.lcip-referral .sidebar-info { padding: 16px !important; background: rgba(71,85,105,0.04) !important; border-radius: 4px !important; border-left: 2px solid #475569 !important; margin-bottom: 16px !important; }

.lcip-referral .sidebar-info p { font-size: 0.8125rem !important; color: #5A6778 !important; line-height: 1.5 !important; margin-bottom: 4px !important; }

.lcip-referral .sidebar-info p:last-child { margin-bottom: 0 !important; }

.lcip-referral .sidebar-info strong { color: #0F1C2E !important; }

.lcip-referral .download-link { display: flex !important; align-items: center !important; gap: 10px !important; padding: 14px 18px !important; background: #FFFFFF !important; border: 1px solid rgba(0,0,0,0.08) !important; border-radius: 4px !important; text-decoration: none !important; color: #0F1C2E !important; font-size: 0.8125rem !important; font-weight: 500 !important; transition: border-color 0.2s !important; margin-bottom: 16px !important; }

.lcip-referral .download-link:hover { border-color: #475569 !important; text-decoration: none !important; }

.lcip-referral .download-link svg { width: 20px !important; height: 20px !important; color: #475569 !important; flex-shrink: 0 !important; }

/* wpautop inserts <br> inside flex containers — breaks icon/text alignment */
.download-link br,
.secure-badge br { display: none !important; }

/* Footer */
.lcip-referral footer { background-color: #0F1C2E !important; color: #FFFFFF !important; padding: 60px 32px 40px !important; margin-top: 80px !important; }

.lcip-referral .footer-grid { max-width: 1140px !important; margin: 0 auto 40px !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; }

.lcip-referral .footer-logo-img { height: 48px !important; width: auto !important; margin-bottom: 12px !important; }

.lcip-referral .footer-subtitle { font-size: 0.9rem !important; color: rgba(255,255,255,0.6) !important; margin-bottom: 16px !important; line-height: 1.6 !important; }

.lcip-referral .footer-brand p { font-size: 0.85rem !important; color: rgba(255,255,255,0.6) !important; line-height: 1.8 !important; }

.lcip-referral .footer-brand a { color: #FFFFFF !important; text-decoration: none !important; font-weight: 500 !important; }

.lcip-referral .footer-brand a:hover { color: rgba(255,255,255,0.6) !important; }

.lcip-referral .footer-map iframe { width: 100% !important; height: 200px !important; border: none !important; border-radius: 4px !important; }

.lcip-referral .footer-bottom { max-width: 1140px !important; margin: 0 auto !important; border-top: 1px solid rgba(255,255,255,0.1) !important; padding-top: 20px !important; text-align: center !important; font-size: 0.85rem !important; color: rgba(255,255,255,0.6) !important; }

.lcip-referral .footer-bottom p { margin-bottom: 8px !important; }

.lcip-referral .footer-bottom a { color: #FFFFFF !important; text-decoration: none !important; font-weight: 500 !important; }

.lcip-referral .footer-bottom a:hover { text-decoration: underline !important; }

/* Responsive */
@media (max-width: 960px) {
  .lcip-referral .main-content { grid-template-columns: 1fr !important; }
  .lcip-referral .form-column { padding: 24px !important; }
  .lcip-referral .form-row { grid-template-columns: 1fr !important; }
  .lcip-referral .form-row.three { grid-template-columns: 1fr !important; }
  .lcip-referral .treatment-grid { grid-template-columns: 1fr !important; }
  .lcip-referral .scale-options { flex-wrap: wrap !important; }
  .lcip-referral .yesno-group { flex-direction: column !important; align-items: flex-start !important; }
  .lcip-referral .footer-grid { grid-template-columns: 1fr !important; }
  .lcip-referral .page-hero { padding: 50px 0 40px !important; }
  .lcip-referral .page-hero h1 { font-size: 28px !important; }
}

/* ================================================================
   TEAM PAGE FIXES — 2026-03-07 — Comprehensive batch
   Fixes: hero width, content alignment, circles, footer colors,
          MAC logo, dropdown underline
   ================================================================ */
/* FIX 1: Hero — force viewport width + clip overflow
   Root cause: .treatment-hero was 2544px (parent section width),
   causing circles at right:40px to land at x=2004 (off-screen)
   and content wrapper to center within 2544px (visually shifted).
   Solution: margin-left trick to break out of narrow parent. */
/* FIX: Remove section padding around hero (causes visible gap) */
body.page-id-31592 .lcip-section:has(.treatment-hero),
body.page-id-28853 .lcip-section:has(.treatment-hero) {
  padding: 0 !important;
}

body.page-id-31592 .treatment-hero {
  width: 100% !important;
  margin-left: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* FIX 2: Content wrapper — center at 1080px (matches ECT row width) */
body.page-id-31592 .team-content-wrapper {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #F2F5F9 !important;
  padding: 40px 0 !important;
}

/* FIX 3: Hero circles — correct positioning, opacity, no clip */
body.page-id-31592 .hero-bg-circles {
  position: absolute !important;
  width: 500px !important;
  height: 500px !important;
  top: 50% !important;
  right: 40px !important;
  transform: translateY(-50%) !important;
  opacity: 0.35 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* FIX 4: Footer — text colors (was dark-on-dark = illegible) */
.lcip-new-footer {
  color: #FFFFFF !important;
  background-color: #0F1C2E !important;
  padding: 36px 0 24px !important;
}

.lcip-new-footer .footer-grid {
  color: #FFFFFF !important;
}

.lcip-new-footer .footer-brand-info {
  color: #FFFFFF !important;
}

.lcip-new-footer .footer-brand-info .footer-logo {
  font-size: 28px !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
}

.lcip-new-footer .footer-brand-info .footer-subtitle {
  font-size: 16px !important;
  color: rgba(255,255,255,0.85) !important;
}

.lcip-new-footer .footer-brand-info span {
  font-size: 14px !important;
  color: rgba(255,255,255,0.55) !important;
}

.lcip-new-footer .footer-bottom {
  font-size: 13px !important;
  color: rgba(255,255,255,0.4) !important;
}

.lcip-new-footer .footer-bottom span {
  color: rgba(255,255,255,0.4) !important;
}

.lcip-new-footer a {
  color: rgba(255,255,255,0.55) !important;
}

.lcip-new-footer a:hover {
  color: #FFFFFF !important;
}

/* FIX 5: MAC logo — prevent truncation (was overflow:hidden) */
body.page-id-31592 .anesthesia-logo {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.page-id-31592 .anesthesia-logo img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  background: white !important;
  padding: 4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* FIX 8: SVG circles — stroke instead of fill */
body.page-id-31592 .hero-bg-circles svg circle {
  fill: none !important;
  stroke: #ffffff !important;
}

/* FIX 7: Anesthesia section — proper alignment within content wrapper */
body.page-id-31592 .anesthesia-section {
  background: #F8FAFC !important;
  border-left: 3px solid #475569 !important;
  padding: 32px !important;
  margin: 48px 0 !important;
  border-radius: 4px !important;
  max-width: 100% !important;
}

/* END TEAM PAGE FIXES */
/* =============================================
   FIX 9: TEAM PAGE — Background corrections
   Hero gets own gradient, section_0 becomes light
   ============================================= */
/* 9a. Hero own dark gradient (was relying on section_0 bg) */
body.page-id-31592 .treatment-hero {
  background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%) !important;
  min-height: 335px !important;
}

/* ================================================================
   TEAM PAGE FR (28853) — Mêmes fixes que page EN (31592)
   ================================================================ */
body.page-id-28853 {
  background-color: #F2F5F9 !important;
}

body.page-id-28853 .treatment-hero {
  width: 100% !important;
  margin-left: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, #0F1C2E 0%, #0F1C2E 30%, #152336 70%, #1a2d47 100%) !important;
}

body.page-id-28853 .hero-breadcrumb .sep {
  margin: 0 8px !important;
  opacity: 0.4 !important;
}

body.page-id-28853 .hero-breadcrumb br {
  display: none !important;
}

body.page-id-28853 .anesthesia-logo {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.page-id-28853 .anesthesia-logo img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  background: white !important;
  padding: 4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

body.page-id-28853 .anesthesia-section {
  background: #F8FAFC !important;
  border-left: 3px solid #475569 !important;
  padding: 32px !important;
  margin: 48px 0 !important;
  border-radius: 4px !important;
  max-width: 100% !important;
}

body.page-id-28853 .team-content-wrapper {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #F2F5F9 !important;
}

body.page-id-28853 .hero-content {
  max-width: 1048px !important;
}

/* ==========================================================
   FIX 12: Alignement logo header + colonne principale
   Tête du logo alignée avec le C de "Centre" (homepage)
   Toutes les pages : colonne principale au même endroit
   ========================================================== */
/* a) Homepage containers — aligner sur max-width 1080 (= treatment pages) */
.lcip-homepage .lcip-container {
  max-width: 1080px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ----------------------------------------------------------
   TOC — Smooth scroll + offset pour header sticky (#9)
   ---------------------------------------------------------- */
html {
  scroll-behavior: smooth !important;
  scroll-padding-top: 130px;
  /* overflow-x: hidden removed — cause: hides hamburger. Root fix: all 100vw replaced by 100% */
}

/* ----------------------------------------------------------
   TOC — Pastille couleur (#8) remplace "SOMMAIRE"
   ---------------------------------------------------------- */
.lcip-toc .toc-badge {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 14px;
  line-height: 1.4;
}

/* ================================================================
   MOBILE FIXES BATCH — 2026-03-13
   Issues: homepage margin, ECT title truncation, TOC mobile,
           form spacing, overflow prevention
   ================================================================ */
/* --- FIX M1: overflow-x: hidden removed (hides hamburger). 100vw→100% is the root fix --- */

/* --- FIX M1b: Kill 100vw on mobile — 100vw includes browser chrome/scrollbar,
   causing ~40px overflow that pushes the hamburger off-screen.
   Replace with 100% which respects the actual viewport. --- */
@media (max-width: 1280px) {
  .lcip-cta-bar,
  .lcip-section.lcip-cta-bar,
  .lcip-references .cta-bar,
  .lcip-references .site-footer,
  .lcip-references footer,
  .lcip-unified-footer {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.page-id-31592 .treatment-hero,
  body.page-id-28853 .treatment-hero {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* --- FIX M2: Homepage mobile — ensure consistent left/right padding --- */
@media (max-width: 768px) {
  .lcip-homepage .lcip-container {
    padding: 0 24px !important;
  }
  .lcip-homepage .hero-content {
    padding: 0 24px !important;
  }
  .lcip-homepage .treatment-card {
    padding: 28px 24px !important;
  }
  .lcip-homepage .positioning {
    padding: 48px 0 !important;
  }
  .lcip-homepage .positioning-col h3 {
    font-size: 22px !important;
  }
}

@media (max-width: 480px) {
  .lcip-homepage .lcip-container {
    padding: 0 20px !important;
  }
  .lcip-homepage .hero-content {
    padding: 0 20px !important;
  }
  .lcip-homepage .treatment-card {
    padding: 24px 20px !important;
  }
}

@media (max-width: 400px) {
  .treatment-hero .hero-title {
    font-size: 22px !important;
  }
  .lcip-page-hero h1 {
    font-size: 20px !important;
  }
}

/* --- FIX M5: Force TOC + content columns to stack on mobile --- */
@media (max-width: 980px) {
  /* Override Divi inline flex-wrap: nowrap on 3/4+1/4 row */
  .lcip-treatment-content .lcip-row {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }

  /* TOC column: full width, show first */
  .lcip-treatment-content .lcip-toc-column {
    width: 100% !important;
    max-width: 100% !important;
    order: -1 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
  }

  /* Content column: full width */
  .lcip-treatment-content .lcip-col {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
}

/* --- FIX M4: TOC mobile — collapsible behavior --- */
@media (max-width: 980px) {
  .lcip-toc {
    background: #FFFFFF !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    border-radius: 4px !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
  }
  .lcip-toc .toc-title {
    padding: 14px 20px !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #5A6778 !important;
    user-select: none !important;
  }
  .lcip-toc .toc-title::after {
    content: '▾' !important;
    font-size: 14px !important;
    transition: transform 0.2s ease !important;
    color: #8C95A1 !important;
  }
  .lcip-toc.toc-collapsed .toc-title::after {
    transform: rotate(-90deg) !important;
  }
  .lcip-toc .toc-list {
    padding: 0 20px 14px !important;
    transition: max-height 0.3s ease, opacity 0.2s ease !important;
    max-height: 500px !important;
    opacity: 1 !important;
    overflow: hidden !important;
  }
  .lcip-toc.toc-collapsed .toc-list {
    max-height: 0 !important;
    opacity: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* --- FIX M5: Contact & Referral form mobile — reduce spacing --- */
@media (max-width: 768px) {
  .lcip-contact .main-content {
    padding: 24px 16px 40px !important;
    gap: 20px !important;
  }
  .lcip-contact .purpose-options {
    grid-template-columns: 1fr !important;
  }
  .lcip-contact .form-group {
    margin-bottom: 12px !important;
  }
  .lcip-referral .main-content {
    padding: 24px 16px 40px !important;
    gap: 20px !important;
  }
  .lcip-referral .form-column {
    padding: 20px !important;
  }
  .lcip-referral .section-header {
    margin-top: 24px !important;
    margin-bottom: 14px !important;
  }
  .lcip-referral .form-row {
    margin-bottom: 12px !important;
  }
  .lcip-referral .info-sidebar {
    padding: 20px !important;
  }
}

@media (max-width: 480px) {
  .lcip-contact .main-content {
    padding: 20px 12px 32px !important;
  }
  .lcip-referral .main-content {
    padding: 20px 12px 32px !important;
  }
  .lcip-referral .form-column {
    padding: 16px !important;
  }
}

/* --- FIX M6: overflow-x: hidden removed (hides hamburger). 100vw→100% is the root fix --- */

/* --- FIX M7: Treatment pages — hero content padding on mobile --- */
@media (max-width: 768px) {
  .treatment-hero .hero-content {
    padding: 0 20px !important;
  }
}

/* --- FIX M8: References page mobile container --- */
@media (max-width: 768px) {
  .lcip-references .container {
    padding: 0 20px !important;
  }
}



/* ===== PART 2: Clean CSS Overrides & Additions ===== */

:root {
    /* Brand palette */
    --lcip-navy: #0F1C2E;
    --lcip-navy-light: #1a3050;
    --lcip-navy-mid: rgb(25, 42, 68);
    --lcip-accent-green: #059669;
    --lcip-accent-gold: #c4a35a;

    /* Text */
    --lcip-text-primary: #1a1a1a;
    --lcip-text-body: #5a6778;
    --lcip-text-light: rgba(255, 255, 255, 0.92);
    --lcip-text-muted: rgba(255, 255, 255, 0.6);

    /* Surfaces */
    --lcip-bg-white: #fff;
    --lcip-bg-light: #f8f9fa;
    --lcip-bg-dark: var(--lcip-navy);

    /* Spacing */
    --lcip-section-padding: 60px 0 50px;
    --lcip-row-width: 80%;
    --lcip-row-max: 1080px;
    --lcip-row-padding: 0;
    --lcip-gap: 40px;

    /* Type scale */
    --lcip-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --lcip-fs-base: 16px;
    --lcip-lh-base: 1.7;
}


/* ==========================================================================
   2. RESET & BASE
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--lcip-font);
    font-size: var(--lcip-fs-base);
    line-height: var(--lcip-lh-base);
    color: var(--lcip-text-body);
    background-color: var(--lcip-bg-primary) !important; /* #F2F5F9 — fond bleu-gris subtil */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* overflow-x: hidden removed — cause: hides hamburger. Root fix: all 100vw replaced by 100% */
}

a {
    color: inherit;
    text-decoration: none;
}

strong, b {
    font-weight: 600;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
}


/* ==========================================================================
   3. TYPOGRAPHY
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--lcip-font);
    font-weight: 600;
    line-height: 1.3;
    color: var(--lcip-text-primary);
}

h1 { font-size: 2.25rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.375rem; }
h4 { font-size: 1.125rem; }


/* ==========================================================================
   4. LAYOUT — Sections, Rows, Columns
   ========================================================================== */

/* --- Main content area --- */
.lcip-main {
    padding: 0;
}

/* GeneratePress overrides for content area */
.site-content,
.site-main,
.inside-article,
.entry-content {
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.content-area {
    width: 100%;
}

.inside-article {
    padding: 0;
}

/* --- Section --- */
.lcip-section {
    position: relative;
    padding: var(--lcip-section-padding);
}

.lcip-section--full {
    width: 100%;
}

/* --- Row (main content container) --- */
.lcip-row {
    width: var(--lcip-row-width);
    max-width: var(--lcip-row-max);
    margin: 0 auto;
    padding: var(--lcip-row-padding);
    position: relative;
}

/* Row variant: 3:1 ratio (treatment pages: content + TOC sidebar) */
.lcip-row--3-1 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--lcip-gap);
}

.lcip-row--3-1 > .lcip-col:first-child {
    flex: 3;
    min-width: 0;
}

.lcip-row--3-1 > .lcip-col:last-child {
    flex: 1;
    min-width: 250px;
}

/* --- Column --- */
.lcip-col {
    position: relative;
}

/* --- Block (text module) --- */
.lcip-block {
    margin-bottom: 0;
    text-align: left;
}

.lcip-block__inner {
    /* Inner content wrapper — preserved for semantic structure */
}

/* --- Embed (code module) --- */
.lcip-embed {
    margin-bottom: 1.5em;
}


/* ==========================================================================
   5. HEADER & LOGO
   ========================================================================== */

.lcip-header {
    background: var(--lcip-navy);
    position: sticky;
    top: 0;
    z-index: 999;
    width: 100%;
}

/* Admin bar offset when logged in */
.admin-bar .lcip-header {
    top: 32px;
}
@media (max-width: 782px) {
    .admin-bar .lcip-header {
        top: 46px;
    }
}

.lcip-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1080px !important;
    width: var(--lcip-row-width);
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 0 !important;
    height: 100px;
}

.lcip-logo {
    display: flex;
    align-items: center;
    height: 80px;
    flex-shrink: 0;
    margin-right: 20px !important;
    overflow: visible !important;
}

.lcip-logo img {
    height: 80px;
    max-width: 100%;
    width: auto;
    /* Pull logo left to align with page content; clamp prevents overflow on smaller screens */
    margin-left: clamp(-45px, -3vw, 0px) !important;
}


/* ==========================================================================
   6. NAVIGATION
   ========================================================================== */

/* Nav wrapper (class version — HTML uses both class and id) */
.lcip-nav {
    display: flex;
    align-items: center;
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    gap: 4px !important;
}

/* Main nav container */
.lcip-menu {
    display: flex;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.lcip-menu li {
    position: relative;
    list-style: none;
}

.lcip-menu li a {
    font-family: var(--lcip-font);
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--lcip-text-light);
    padding: 0 12px;
    transition: opacity 0.2s;
    display: block;
    white-space: nowrap;
}

.lcip-menu li a:hover {
    opacity: 0.85;
}

/* Dropdown arrow (CSS triangle) */
.lcip-menu > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0; height: 0;
    border-left: 3.5px solid transparent;
    border-right: 3.5px solid transparent;
    border-top: 3.5px solid currentColor;
    margin-left: 5px;
    vertical-align: middle;
    opacity: 0.5;
    position: relative;
    top: -1px;
}

/* Dropdown sub-menu — hide by default, show on hover */
/* Sprint UX1 — dropdown with fade+slide transition */
.lcip-nav .lcip-menu .sub-menu,
#lcip-nav .lcip-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: -10px;
    background: #0F1C2E !important;
    border-radius: 0 0 4px 4px;
    padding: 4px 0;
    min-width: 220px;
    z-index: 1000;
    /* Transition instead of display:none toggle */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s !important;
    pointer-events: none;
}

.lcip-menu li:hover > .sub-menu,
#lcip-nav .lcip-menu li:hover > .sub-menu,
#lcip-nav .lcip-menu li.sfHover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.lcip-nav .lcip-menu .sub-menu li a,
#lcip-nav .lcip-menu .sub-menu li a {
    display: block;
    white-space: normal;
    color: rgba(255, 255, 255, 0.75) !important;
    font-family: var(--lcip-font) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    padding: 8px 20px;
    border-radius: 3px;
    margin: 0 4px;
}

.lcip-nav .lcip-menu .sub-menu li a,
#lcip-nav .lcip-menu .sub-menu li a {
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.lcip-nav .lcip-menu .sub-menu li a:hover,
#lcip-nav .lcip-menu .sub-menu li a:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: #fff !important;
}

/* Hover underline */
.lcip-menu > li > a:hover,
.lcip-menu > li.current-menu-item > a,
.lcip-menu > li.current-menu-ancestor > a {
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: rgba(255, 255, 255, 0.5) !important;
}

.lcip-menu .current-menu-ancestor .sub-menu a {
    text-decoration: none;
}

/* Language switch */
.lcip-lang-switch {
    display: flex;
    align-items: center;
    margin-left: 14px;
}

.lcip-lang-switch li {
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
}

/* Hide the pipe menu item — lcip-lang-separator border-left is the real separator */
#menu-item-30722 {
    display: none !important;
}

.lcip-lang-separator {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    height: 18px !important;
    align-self: center;
    margin: 0 8px;
    font-size: 0 !important;
    line-height: 0 !important;
}

.lcip-lang-switch a,
.lcip-lang-link {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8) !important;  /* slightly lighter than other nav items */
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* CTA button (Adresser un patient) — Sprint UX1 refonte v4 subtle-enhanced */
.lcip-cta-btn {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
    color: #fff !important;
    padding: 8px 14px !important;
    border-radius: 4px;
    font-size: 11px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s ease !important;
    white-space: nowrap !important;
}

.lcip-cta-btn:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
    color: #fff !important;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.08) !important;
}

/* Hamburger toggle — hidden on desktop, shown ≤980px */
.lcip-menu-toggle {
    display: none;
    cursor: pointer;
    background: none;
    border: none;
    padding: 8px;
    margin-left: auto;
    z-index: 101;
}

.hamburger-line {
    display: block;
    width: 20px;
    height: 1.5px;
    background: rgba(255, 255, 255, 0.85);
    margin: 4px 0;
    border-radius: 1px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Animate to X when open */
.lcip-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(1) {
    transform: translateY(5.5px) rotate(45deg);
}
.lcip-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(2) {
    opacity: 0;
}
.lcip-menu-toggle[aria-expanded="true"] .hamburger-line:nth-child(3) {
    transform: translateY(-5.5px) rotate(-45deg);
}

/* ---- Responsive header: tablet/small desktop (≤1280px) ---- */
@media (max-width: 1280px) {
    .lcip-menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    /* Hide nav by default, show as dropdown when toggle is open */
    .lcip-nav {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--lcip-navy);
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 16px 24px 24px !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
        z-index: 100;
        gap: 0 !important;
    }

    /* Show nav when GP JS adds .open class */
    .lcip-nav.open {
        display: flex !important;
    }

    /* Header inner needs relative for dropdown positioning */
    .lcip-header-inner {
        position: relative;
    }

    /* Stack the menu items vertically */
    .lcip-menu {
        flex-direction: column !important;
        gap: 0 !important;
        width: 100%;
    }

    .lcip-nav .lcip-menu > li > a,
    #lcip-nav > li > a {
        padding: 12px 0 !important;
        font-size: 14px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    /* Sub-menus in mobile: show inline, no absolute positioning */
    .lcip-nav .lcip-menu .sub-menu {
        position: static !important;
        display: none;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 0 8px 16px !important;
        min-width: unset !important;
    }

    .lcip-nav .lcip-menu li:hover > .sub-menu,
    .lcip-nav .lcip-menu li:focus-within > .sub-menu {
        display: block !important;
    }

    .lcip-nav .lcip-menu .sub-menu li a {
        padding: 6px 0 !important;
        font-size: 13px !important;
        border-bottom: none !important;
    }

    /* Language switch & CTA in mobile dropdown */
    .lcip-lang-switch {
        margin-top: 12px !important;
        margin-left: 0 !important;
        padding-top: 12px !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        justify-content: center !important;
    }

    .lcip-cta-btn {
        margin-top: 16px !important;
        text-align: center !important;
        display: block !important;
    }

    /* Hide the separator bar in mobile — not needed */
    .lcip-lang-separator {
        display: none !important;
    }

    /* Logo: remove negative offset at smaller widths */
    .lcip-logo img {
        margin-left: 0 !important;
    }

    .lcip-logo {
        margin-right: 0 !important;
        flex-shrink: 1 !important;
        max-width: calc(100% - 52px) !important; /* Leave room for hamburger (36px + 16px gap) */
    }

    /* Header: full width, left-aligned, reduced height */
    .lcip-header-inner {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        height: 80px;
        padding: 0 24px !important;
    }

    .lcip-logo img {
        height: 60px;
    }

    /* Content containers: add horizontal padding when they touch viewport edges */
    .lcip-homepage .lcip-container,
    .lcip-homepage .hero-content,
    .lcip-container,
    .hero-content,
    .lcip-section-inner {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* Footer: proper horizontal padding at narrow viewports */
    .lcip-unified-footer {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .lcip-unified-footer .uf-container {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .lcip-unified-footer .uf-grid {
        overflow: hidden !important;
        width: 100% !important;
    }
}

/* Legacy #lcip-nav selector (kept for backward compat with snippet-generated nav) */
#lcip-nav {
    display: flex;
    align-items: center;
    gap: 0;
}

#lcip-nav li { list-style: none; }
#lcip-nav a {
    font-family: var(--lcip-font);
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #fff;
    padding: 8px 14px;
    transition: opacity 0.2s;
}
#lcip-nav a:hover { opacity: 0.85; }
#lcip-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -26px;
    background: var(--lcip-navy-mid);
    border-radius: 0 0 4px 4px;
    padding: 4px 0;
    min-width: 220px;
    z-index: 1000;
}
#lcip-nav li:hover > .sub-menu,
#lcip-nav li.sfHover > .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
}
#lcip-nav .sub-menu a {
    display: block;
    padding: 8px 26px;
    font-size: 12.5px;
    border-radius: 3px;
    margin: 0 4px;
}
#lcip-nav .sub-menu a:hover { background: rgb(35, 55, 85); }
#lcip-nav .current-menu-ancestor > a,
#lcip-nav .current-menu-item > a {
    text-decoration: underline;
    text-underline-offset: 7px;
}
#lcip-nav .current-menu-ancestor .sub-menu a { text-decoration: none; }
#lcip-nav .cta-referral a {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    padding: 6px 16px;
    transition: background 0.2s;
}
#lcip-nav .cta-referral a:hover { background: rgba(255, 255, 255, 0.22); }

.nav-separator {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    height: 66%;
    align-self: center;
}


/* ==========================================================================
   7. HERO / PAGE HERO SECTIONS
   ========================================================================== */

.lcip-hero,
.lcip-page-hero {
    position: relative;
    padding: 100px 0 90px;
    color: #fff;
    overflow: hidden;
}

.lcip-hero::before,
.lcip-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
}

.lcip-hero h1,
.lcip-page-hero h1 {
    font-size: 2.5rem;
    font-weight: 300;
    color: #fff;
    letter-spacing: -0.3px;
}

.lcip-hero .subtitle,
.lcip-page-hero .subtitle {
    font-size: 1.1rem;
    font-weight: 300;
    opacity: 0.85;
    margin-top: 0.5em;
}

/* Breadcrumb (inside hero) */
.lcip-breadcrumb {
    font-size: 12px;
    color: var(--lcip-text-muted);
    margin-bottom: 20px;
}

.lcip-breadcrumb a {
    color: var(--lcip-text-muted);
    transition: color 0.2s;
}

.lcip-breadcrumb a:hover {
    color: #fff;
}

.lcip-breadcrumb .sep {
    margin: 0 6px;
    opacity: 0.5;
}

/* Treatment accent colors (hero gradient backgrounds)
   Gradient vertical subtil : navy solide 30%, puis léger dégradé
   Identique au live — pas de 135deg ni de couleur trop claire */
.lcip-accent-ect,
.lcip-accent-rtms,
.lcip-accent-tms,
.lcip-accent-ketamine,
.lcip-accent-anesthetics {
    background: linear-gradient(var(--lcip-navy) 0%, var(--lcip-navy) 30%, #152336 70%, #1a2d47 100%);
}


/* ==========================================================================
   8. TREATMENT PAGES — Content & Article Sections
   ========================================================================== */

.lcip-treatment-content {
    background: var(--lcip-bg-primary);  /* #F2F5F9 — fond bleu-gris comme le live */
    padding-top: 20px !important;  /* léger espacement avant la 1ère section (live ≈ 27px + 40px article = 70px total) */
    padding-bottom: 0 !important;
}

.lcip-treatment-content .lcip-row--3-1 {
    align-items: flex-start;
}

/* Treatment text styling */
.lcip-treatment-content .lcip-block__inner {
    font-size: 15px;
    line-height: 1.8;
}

/* Sprint UX1 — improved spacing + visual breathing room (UX2: 2.5→3rem) */
.lcip-treatment-content .lcip-block__inner h2 {
    font-size: 1.5rem;
    margin-top: 3rem;
    margin-bottom: 0.75em;
    padding-bottom: 0.4em;
    border-bottom: 1px solid #e2e5e9;
}

/* First H2 in a block: no extra top margin */
.lcip-treatment-content .lcip-block:first-child .lcip-block__inner h2,
.lcip-treatment-content .lcip-section:first-child .lcip-block__inner h2 {
    margin-top: 0;
}

.lcip-treatment-content .lcip-block__inner h3 {
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 0.3em;
}

/* Article sections (structured content blocks on treatment pages) */
.lcip-article-section {
    padding: 40px 0;
}

.lcip-article-section:nth-child(2n) {
    background: var(--lcip-bg-light);
}

.lcip-article-section h2 {
    font-size: 18px;
    font-weight: 600;
    color: var(--lcip-navy);
    margin-top: 0;
    margin-bottom: 20px;
}

.lcip-article-section h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--lcip-navy);
    margin-top: 0;
}

.lcip-article-section p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--lcip-text-body);
    margin-bottom: 16px;
}

.lcip-article-section p:last-child {
    margin-bottom: 0;
}

.lcip-article-section strong {
    color: var(--lcip-text-primary);
}

.lcip-article-section ul {
    padding-left: 20px;
    margin-bottom: 16px;
}

.lcip-article-section ul li {
    font-size: 15px;
    line-height: 1.75;
    color: var(--lcip-text-body);
    margin-bottom: 6px;
}


/* ==========================================================================
   9. CONTENT COMPONENTS — Stat cards, Info/Warning boxes, CTA bar
   ========================================================================== */

/* Key stats grid */
.lcip-key-stats {
    display: grid;
    grid-template-columns: repeat(2, 350px);
    gap: 20px;
    margin: 24px 0;
}

.lcip-stat-card {
    background: var(--lcip-bg-white);
    border-radius: 4px;
    padding: 20px 24px;
    text-align: left;
}

.lcip-stat-card .stat-value {
    font-size: 28px;
    font-weight: 600;
    color: var(--lcip-accent-green);
    line-height: 1.2;
}

.lcip-stat-card .stat-label {
    font-size: 13px;
    color: var(--lcip-text-body);
    margin-top: 4px;
}

/* Info box (green left border) */
.lcip-info-box {
    border-left: 3px solid var(--lcip-accent-green);
    border-radius: 4px;
    padding: 14px 18px;
    margin: 20px 0;
}

.lcip-info-box h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--lcip-text-primary);
    margin-bottom: 8px;
}

.lcip-info-box p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--lcip-text-body);
}

.lcip-info-box p:last-child {
    margin-bottom: 0;
}

/* Warning box (gold left border) */
.lcip-warning-box {
    border-left: 3px solid var(--lcip-accent-gold);
    border-radius: 4px;
    padding: 14px 18px;
    margin: 20px 0;
}

.lcip-warning-box h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--lcip-text-primary);
    margin-bottom: 8px;
}

.lcip-warning-box p,
.lcip-warning-box ul li {
    font-size: 14px;
    line-height: 1.6;
    color: var(--lcip-text-body);
}

.lcip-warning-box ul {
    padding-left: 20px;
    margin-top: 8px;
}

.lcip-warning-box ul li {
    margin-bottom: 4px;
}

/* CTA bar (bottom of treatment pages) */
.lcip-cta-bar {
    background: var(--lcip-navy);
    color: #fff;
    padding: 40px 0;
}

/* CTA bar — fond bleu-gris comme le live, l'inner card a son propre fond gris */
.lcip-section.lcip-cta-bar,
.lcip-cta-bar {
    background: var(--lcip-bg-primary) !important;  /* #F2F5F9 — identique au live */
    background-image: none !important;
    color: #0F1C2E !important;
    padding: 48px 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.lcip-cta-bar-inner {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 40px !important;
    text-align: center !important;
    background: #E8EDF4 !important;
    border-radius: 8px !important;
}

.lcip-cta-bar-inner h2,
.lcip-cta-bar-inner h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #0F1C2E !important;
    margin-bottom: 8px !important;
}

.lcip-cta-bar-inner p {
    font-size: 14px !important;
    color: #5A6778 !important;
    margin-bottom: 24px !important;
}

/* wpautop <br> entre les boutons CTA */
.lcip-cta-buttons br {
    display: none !important;
}

.lcip-cta-button {
    display: inline-block;
    background: var(--lcip-accent-green);
    color: #fff;
    padding: 12px 28px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}

.lcip-cta-button:hover {
    background: #048a5c;
}


/* ==========================================================================
   10. TOC SIDEBAR
   ========================================================================== */

/* La colonne TOC doit s'étirer à la hauteur de la row flex
   pour que position:sticky fonctionne (besoin de marge de scroll) */
.lcip-toc-column {
    align-self: stretch !important;
}

.toc-card {
    position: sticky;
    top: 140px;
    background: var(--lcip-bg-light);
    border-radius: 8px;
    padding: 20px;
}

.toc-card h3 {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--lcip-text-primary);
    margin-bottom: 12px;
}

.toc-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.toc-links a {
    display: block;
    font-size: 14px;
    color: var(--lcip-accent-green);
    padding: 6px 0 6px 14px;
    border-left: 2px solid transparent;
    transition: border-color 0.2s, color 0.2s;
}

.toc-links a:hover,
.toc-links a.active {
    border-left-color: var(--lcip-accent-green);
    color: var(--lcip-navy);
}

/* TOC CTA link */
.toc-cta a {
    display: inline-block;
    margin-top: 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--lcip-accent-green);
}


/* ==========================================================================
   11. HOMEPAGE (.lcip-homepage)
   ========================================================================== */

.lcip-homepage .section-title {
    font-family: var(--lcip-font);
    font-size: 36px;
    font-weight: 300;
    letter-spacing: -0.3px;
}

/* Treatment cards */
.lcip-homepage .treatment-card {
    background: var(--lcip-navy);
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s;
}

.lcip-homepage .treatment-card:hover {
    transform: translateY(-3px);
}


/* ==========================================================================
   12. CONTACT PAGE (.lcip-contact)
   ========================================================================== */

/* Supprimer le padding du wrapper .lcip-section qui entoure les pages
   institutionnelles (hérité de la migration Divi→LCIP).
   On cible via :has() les conteneurs spécifiques de chaque page. */
.lcip-section:has(.lcip-contact),
.lcip-section:has(.lcip-referral),
.lcip-section:has(.team-content-wrapper),
.lcip-section:has(.lcip-references) {
    padding: 0 !important;
}

/* L'embed wrapper ne doit pas ajouter de marge dans les pages institutionnelles */
.lcip-section:has(.lcip-contact) .lcip-embed,
.lcip-section:has(.lcip-referral) .lcip-embed,
.lcip-section:has(.team-content-wrapper) .lcip-embed,
.lcip-section:has(.lcip-references) .lcip-embed {
    margin-bottom: 0;
}

.lcip-contact {
    overflow: visible;
}

/* Supprimer les <p> vides injectés par wpautop dans le grid
   (ils prennent des cellules grid et décalent le layout) */
.lcip-contact .main-content > p:empty,
.lcip-contact .main-content > p:not([class]) {
    display: none !important;
}

/* Doublon supprimé — voir bloc principal ligne ~3288 avec !important */

/* Sidebar cards */
.sidebar-card {
    background: var(--lcip-bg-light);
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 16px;
}

.sidebar-card h3 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

/* Getting here card (EN only) */
.sidebar-card.getting-here {
    background: linear-gradient(135deg, var(--lcip-navy) 0%, var(--lcip-navy-light) 100%);
    border: none;
    color: #fff;
}

/* Sidebar map — masquée sur les pages contact (FR+EN).
   On ne garde que la carte du footer. */
body .sidebar .map-container {
    display: none !important;
}


/* ==========================================================================
   13. REFERRAL PAGE (.lcip-referral)
   ========================================================================== */

.lcip-referral .main-content {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px 32px 40px;
}


/* ==========================================================================
   14. TEAM PAGE (.team-content-wrapper)
   ========================================================================== */

/* Team wrapper — centré à 1080px comme le live */
.team-content-wrapper {
    max-width: 1080px !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 40px 0 !important;
}


/* ==========================================================================
   15. NEWS & REFERENCES PAGE (.lcip-references)
   ========================================================================== */

/* News/references styles managed by WPCode snippets */


/* ==========================================================================
   16. FOOTER
   ========================================================================== */

/* Footer HTML is managed by WPCode snippet #33204 (LCIP Unified Footer) */
/* Old .lcip-footer is display:none; actual footer uses .lcip-unified-footer */

.lcip-footer {
    display: none;
}

.lcip-unified-footer {
    background: var(--lcip-navy) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    margin-top: 0 !important;
    padding: 24px 0 !important;
}

/* Homepage: no top margin — body bg is same navy, margin creates visual asymmetry */
.lcip-homepage ~ .lcip-unified-footer,
body.page-id-36 .lcip-unified-footer,
body.page-id-31460 .lcip-unified-footer {
    margin-top: 0 !important;
}

.uf-logo {
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
}

.uf-subtitle {
    margin-bottom: 10px !important;
    line-height: 1.3 !important;
}

.uf-address,
.uf-phone,
.uf-email {
    line-height: 1.4 !important;
    margin-bottom: 2px !important;
    margin-top: 2px !important;
}

.uf-brand p {
    margin-bottom: 2px !important;
    margin-top: 2px !important;
}

.uf-bottom {
    margin-top: 16px !important;
    padding: 12px 0 !important;
}

/* --- Hide old hp-footer on all pages (replaced by unified footer) --- */
.hp-footer .footer-bottom {
    display: none !important;
}
section.hp-footer {
    display: none !important;
}

/* --- Unified footer: layout sub-rules (from inline block) --- */
.lcip-unified-footer .uf-container {
    max-width: 1080px !important;
    width: calc(100% - 20px) !important;  /* compensate scrollbar so footer aligns with page content */
    margin: 0 auto !important;
    padding: 0 !important;
}
.lcip-unified-footer .uf-grid {
    display: grid !important;
    grid-template-columns: 2fr 3fr !important;
    gap: 24px !important;
    align-items: center !important;
}
.lcip-unified-footer .uf-logo {
    font-size: 28px;
    font-weight: 300;
    letter-spacing: 4px;
    color: #fff;
    margin-bottom: 10px;
}
.lcip-unified-footer .uf-subtitle {
    font-size: 16px;
    font-weight: 400;
    color: rgba(255,255,255,0.85);
    line-height: 1.4;
    margin-bottom: 20px;
}
.lcip-unified-footer .uf-address,
.lcip-unified-footer .uf-phone,
.lcip-unified-footer .uf-email {
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    margin: 0 0 4px;
    line-height: 1.6;
}
.lcip-unified-footer .uf-phone {
    margin-top: 12px;
}
.lcip-unified-footer .uf-email a {
    color: rgba(255,255,255,0.55);
    text-decoration: none;
}
.lcip-unified-footer .uf-email a:hover {
    color: #fff;
}
.lcip-unified-footer .uf-map {
    border-radius: 8px;
    overflow: hidden;
    height: 100%;
    min-height: 200px;
}
.lcip-unified-footer .uf-map iframe {
    width: 100%;
    height: 100%;
    min-height: 200px;
    border: 0;
    border-radius: 8px;
    filter: saturate(0.7) brightness(0.85) sepia(0.15) hue-rotate(185deg);
}

/* --- Getting Here card: full styling (EN sidebar) --- */
.sidebar-card.getting-here h3 {
    color: #fff !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.5px !important;
}
.sidebar-card.getting-here .gh-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.5;
}
.sidebar-card.getting-here .gh-item:last-child {
    margin-bottom: 0;
}
.sidebar-card.getting-here .gh-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    opacity: 0.7;
}

/* --- Unified footer: mobile --- */
@media (max-width: 768px) {
    .lcip-unified-footer .uf-grid {
        grid-template-columns: 1fr;
    }
    .lcip-unified-footer .uf-map {
        min-height: 180px;
    }
}

/* Transition contenu → footer — spécificité renforcée pour battre GP .separate-containers */
.separate-containers .inside-article,
.inside-article {
    background-color: transparent !important;
    background: transparent !important;
}

/* Homepage: gradient section.process → navy */
section.process {
    background: linear-gradient(
        rgb(242, 245, 249) 0%,
        rgb(242, 245, 249) calc(100% - 80px),
        rgb(15, 28, 46) 100%
    );
}

/* Bridge #lcip-main::after — désactivé, margin-top négatif suffit */
#lcip-main::after {
    display: none;
}

/* Supprimer les <p> vides de Divi */


/* ==========================================================================
   17. UTILITIES
   ========================================================================== */

/* Back to top button */
#lcip-back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 44px;
    height: 44px;
    background: var(--lcip-navy);
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    z-index: 999;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#lcip-back-to-top.visible {
    opacity: 0.8;
    pointer-events: auto;
}

#lcip-back-to-top:hover {
    opacity: 1;
}

/* WP Admin bar spacing (fallback for non-lcip header) */
#wpadminbar ~ .site-header:not(.lcip-header) {
    margin-top: 32px;
}

/* Cookie consent hidden state */
.cmplz-hidden {
    display: none;
}

/* GeneratePress columns reset */
.generate-columns-container,
.page .inside-article {
    padding: 0;
}

/* Form inputs */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
    font-family: var(--lcip-font);
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 8px 12px;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
a.button {
    font-family: var(--lcip-font);
    cursor: pointer;
}

/* Page-specific stat value overrides (treatment pages) */
body.page-id-28846 .stat-value,
body.page-id-31553 .stat-value {
    color: var(--lcip-accent-green);
}

body.page-id-28846 .toc-cta a,
body.page-id-31553 .toc-cta a {
    color: #059669 !important;
    border-color: #059669 !important;
}
body.page-id-28846 .toc-cta a:hover,
body.page-id-31553 .toc-cta a:hover {
    background: #059669 !important;
    color: #fff !important;
}

/* Kétamine CTA */
body.page-id-28845 .toc-cta a,
body.page-id-31602 .toc-cta a {
    color: #7C3AED !important;
    border-color: #7C3AED !important;
}
body.page-id-28845 .toc-cta a:hover,
body.page-id-31602 .toc-cta a:hover {
    background: #7C3AED !important;
    color: #fff !important;
}


/* ==========================================================================
   18. RESPONSIVE / MOBILE
   ========================================================================== */

@media (max-width: 980px) {
    .lcip-row {
        width: 95%;
        padding: 0 20px;
    }

    .lcip-row--3-1 {
        flex-direction: column;
    }

    .lcip-row--3-1 > .lcip-col:last-child {
        min-width: auto;
    }

    .lcip-contact .main-content {
        grid-template-columns: 1fr;
    }

    .lcip-contact .sidebar {
        position: relative;
        top: auto;
    }

    .lcip-footer-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .lcip-key-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.375rem; }

    .lcip-hero h1,
    .lcip-page-hero h1 {
        font-size: 1.75rem;
    }
}

/* ==========================================================================
   Migrated from lcip-unified-fixes (snippet #33000) — 2026-03-23
   These rules were in an inline <style> block injected by JS.
   Now consolidated here as single source of truth.
   ========================================================================== */

/* --- Hero gradient overlays (all hero types) --- */
.hero::before,
.page-hero::before,
.treatment-hero::before,
.lcip-page-hero::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    pointer-events: none;
    z-index: 1;
    background-image:
        radial-gradient(at 15% 70%, rgba(37,99,235,0.1) 0%, transparent 50%),
        radial-gradient(at 65% 55%, rgba(124,58,237,0.06) 0%, transparent 45%),
        radial-gradient(at 40% 100%, rgba(242,245,249,0.05) 0%, transparent 40%) !important;
}
.hero::after,
.page-hero::after,
.treatment-hero::after,
.lcip-page-hero::after {
    content: "";
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 600px; height: 1px;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(90deg, rgba(0,0,0,0), rgba(255,255,255,0.12), rgba(0,0,0,0)) !important;
}

/* --- Contact/referral: hide orphan footers --- */
body.page-id-28988 .lcip-contact > footer,
body.page-id-31539 .lcip-contact > footer,
.lcip-referral > footer {
    display: none !important;
}

/* --- Footer bottom bar & brand --- */
.footer-bottom,
.lcip-container > .footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    padding-top: 24px !important;
    margin-top: 32px !important;
    font-size: 13px !important;
    color: rgba(255,255,255,0.5) !important;
}
.footer-brand p,
.footer-brand address,
.footer-brand span {
    display: inline !important;
}
.footer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.footer-map iframe,
.lcip-container .footer-map iframe {
    pointer-events: auto !important;
}

/* --- Mobile CTA bar — hidden everywhere (was showing on references, not wanted) --- */
.mobile-cta-bar {
    display: none !important;
    z-index: 9999 !important;
}

/* --- Sidebar card text & purpose-card BR --- */
.sidebar-card p {
    margin-bottom: 0 !important;
}
.purpose-card > br {
    display: none !important;
}

/* --- Treatment page TOC + stat accent colors (per-page) --- */

/* rTMS (page 29961/31493) — blue */
body.page-id-29961 .toc-links a:hover,
body.page-id-31493 .toc-links a:hover {
    color: rgb(37,99,235) !important;
}
body.page-id-29961 .toc-links a.toc-active,
body.page-id-31493 .toc-links a.toc-active {
    color: rgb(37,99,235) !important;
}

/* ECT (page 28846/31553) — green #059669 */
body.page-id-28846 .lcip-article-section h2,
body.page-id-31553 .lcip-article-section h2 {
    border-bottom-color: #059669 !important;
}
body.page-id-28846 .lcip-stat-card,
body.page-id-31553 .lcip-stat-card {
    border-left-color: #059669 !important;
}
body.page-id-28846 .stat-value,
body.page-id-31553 .stat-value {
    color: #059669 !important;
}
body.page-id-28846 .toc-links a:hover,
body.page-id-31553 .toc-links a:hover {
    color: #059669 !important;
}
body.page-id-28846 .toc-links a.toc-active,
body.page-id-31553 .toc-links a.toc-active {
    color: #059669 !important;
}
body.page-id-28846 .lcip-info-box,
body.page-id-31553 .lcip-info-box {
    border-left-color: #059669 !important;
}

/* Kétamine (page 28845/31602) — purple */
body.page-id-28845 .lcip-article-section h2,
body.page-id-31602 .lcip-article-section h2 {
    border-bottom-color: rgb(124,58,237) !important;
}
body.page-id-28845 .lcip-stat-card,
body.page-id-31602 .lcip-stat-card {
    border-left-color: rgb(124,58,237) !important;
}
body.page-id-28845 .stat-value,
body.page-id-31602 .stat-value {
    color: rgb(124,58,237) !important;
}
body.page-id-28845 .toc-links a:hover,
body.page-id-31602 .toc-links a:hover {
    color: rgb(124,58,237) !important;
}
body.page-id-28845 .toc-links a.toc-active,
body.page-id-31602 .toc-links a.toc-active {
    color: rgb(124,58,237) !important;
}
body.page-id-28845 .lcip-info-box,
body.page-id-31602 .lcip-info-box {
    border-left-color: rgb(124,58,237) !important;
}

/* Anesthésiques (page 32604/32626) — amber */
body.page-id-32604 .lcip-article-section h2,
body.page-id-32626 .lcip-article-section h2 {
    border-bottom-color: rgb(217,119,6) !important;
}
body.page-id-32604 .toc-links a:hover,
body.page-id-32626 .toc-links a:hover {
    color: rgb(217,119,6) !important;
}
body.page-id-32604 .toc-links a.toc-active,
body.page-id-32626 .toc-links a.toc-active {
    color: rgb(217,119,6) !important;
}
body.page-id-32604 .lcip-info-box,
body.page-id-32626 .lcip-info-box {
    border-left-color: rgb(217,119,6) !important;
}
body.page-id-32604 .treatment-dex,
body.page-id-32626 .treatment-dex {
    border-radius: 4px;
    background: #F0FDFA !important;
    margin: 0 -32px !important;
    padding: 20px 32px !important;
}
body.page-id-32604 .treatment-n2o,
body.page-id-32626 .treatment-n2o {
    border-radius: 4px;
    background: #F0F9FF !important;
    margin: 0 -32px !important;
    padding: 20px 32px !important;
}
body.page-id-32604 .treatment-dex h2,
body.page-id-32626 .treatment-dex h2 {
    border-bottom-color: #0D9488 !important;
}
body.page-id-32604 .treatment-n2o h2,
body.page-id-32626 .treatment-n2o h2 {
    border-bottom-color: #0284C7 !important;
}
body.page-id-32604 .treatment-dex .lcip-info-box,
body.page-id-32626 .treatment-dex .lcip-info-box {
    border-left-color: #0D9488 !important;
}
body.page-id-32604 .treatment-n2o .lcip-info-box,
body.page-id-32626 .treatment-n2o .lcip-info-box {
    border-left-color: #0284C7 !important;
}
body.page-id-32604 .toc-links a.toc-dex:hover,
body.page-id-32626 .toc-links a.toc-dex:hover {
    color: #0D9488 !important;
}
body.page-id-32604 .toc-links a.toc-n2o:hover,
body.page-id-32626 .toc-links a.toc-n2o:hover {
    color: #0284C7 !important;
}
body.page-id-32604 .toc-cta a,
body.page-id-32626 .toc-cta a {
    color: rgb(217,119,6) !important;
    border-color: rgb(217,119,6) !important;
}
body.page-id-32604 .toc-cta a:hover,
body.page-id-32626 .toc-cta a:hover {
    background: rgb(217,119,6) !important;
    color: rgb(255,255,255) !important;
}

/* --- TOC active state (generic) --- */
.toc-links a.toc-active {
    font-weight: 600;
    color: var(--toc-accent, #2563EB) !important;
}

/* --- Treatment tag / TOC badge pill --- */
.lcip-treatment-tag,
.lcip-toc .toc-badge {
    font-size: 11px !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* --- References page fixes --- */
.lcip-references .page-hero + p {
    display: none !important;
}
.lcip-references main > p:first-child {
    display: none !important;
}
.lcip-references main .container {
    padding-top: 30px !important;
    padding-bottom: 0 !important;
}
.lcip-references details summary {
    padding: 8px 16px !important;
}
.lcip-references .publication-item > p {
    display: none !important;
}
.lcip-references main + p {
    display: none !important;
}
.lcip-references .cta-bar-btn-primary {
    background-color: #2563eb !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.lcip-references .cta-bar-btn-secondary {
    background-color: transparent !important;
    color: #0f1c2e !important;
    border: 1px solid rgba(0,0,0,0.15) !important;
    padding: 12px 28px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    text-decoration: none !important;
    display: inline-block !important;
}

/* --- Références overrides (compacted spacing from snippet) --- */
.lcip-references .page-hero {
    padding-bottom: 20px !important;
}
.lcip-references main {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.lcip-references .summary-arrow {
    display: none !important;
}
.lcip-references .publication-item {
    padding: 5px 0 !important;
    min-height: 0 !important;
}
.lcip-references .publication-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
}
.lcip-references .publication-journal {
    font-size: 11px !important;
}
.lcip-references .cta-bar {
    margin-top: 0 !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

/* --- TOC responsive --- */
@media (max-width: 980px) {
    .lcip-toc {
        position: relative !important;
        top: auto !important;
    }
}

/* =============================================
   Mobile fixes — 2026-03-26
   ============================================= */

/* 1. TOC: add padding so dashes don't stick to box edge */
@media (max-width: 768px) {
    .lcip-toc .toc-links {
        padding-left: 16px !important;
        padding-right: 12px !important;
    }
}

/* 2. TOC: hide expand/collapse arrow on mobile */
.lcip-toc .toc-title::after {
    display: none !important;
}

/* 3. reCAPTCHA badge: hide on mobile (legal mention in footer) */
@media (max-width: 768px) {
    .grecaptcha-badge {
        visibility: hidden !important;
        opacity: 0 !important;
        overflow: hidden !important;
        width: 0 !important;
        height: 0 !important;
    }
}

/* =============================================================
   Sprint UX1 — Treatment page photo background gradient overrides
   Override inline styles (from old snippet #33092 migration)
   to increase gradient visibility
   ============================================================= */
.lcip-treatment-bg::after {
    content: "" !important;
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* rTMS — blue gradient, was 0.20 → 0.30 */
.lcip-bg-tms::after,
.lcip-bg-rtms::after {
    background: linear-gradient(135deg, rgba(100,160,240,0.30), rgba(60,130,220,0.30)) !important;
}

/* ECT — teal gradient, was 0.20 → 0.30 */
.lcip-bg-ect::after {
    background: linear-gradient(135deg, rgba(50,190,180,0.30), rgba(30,160,170,0.30)) !important;
}

/* Kétamine — blue-grey gradient, was 0.10 → 0.22 (was too faint) */
.lcip-bg-ketamine::after {
    background: linear-gradient(135deg, rgba(180,200,220,0.22), rgba(160,180,210,0.22)) !important;
}

/* Anesthésiques — amber gradient, was 0.15 → 0.25 */
.lcip-bg-anesthetics::after {
    background: linear-gradient(135deg, rgba(240,200,100,0.25), rgba(220,180,80,0.25)) !important;
}

/* =============================================================
   ENCART "Références clés" — pages traitement
   Injected via the_content filter (snippet #33283)
   Sprint UX1 — 29 mars 2026
   ============================================================= */
.lcip-refs-encart {
    margin-top: 3rem;
    margin-bottom: 2.5rem;
    padding: 2rem 2.5rem;
    background: #fff;
    border-radius: 6px;
}

/* Accent border-left — per-treatment color via modifier class */
.lcip-refs-encart--ect  { border-left: 3px solid #059669; }
.lcip-refs-encart--tms  { border-left: 3px solid #2563EB; }
.lcip-refs-encart--ket  { border-left: 3px solid #7C3AED; }
.lcip-refs-encart--anes { border-left: 3px solid #D97706; }

.lcip-refs-encart__title {
    font-family: Inter, -apple-system, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 1.2rem 0;
}
.lcip-refs-encart--ect  .lcip-refs-encart__title { color: #059669; }
.lcip-refs-encart--tms  .lcip-refs-encart__title { color: #2563EB; }
.lcip-refs-encart--ket  .lcip-refs-encart__title { color: #7C3AED; }
.lcip-refs-encart--anes .lcip-refs-encart__title { color: #D97706; }

.lcip-refs-encart__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lcip-refs-encart__item {
    margin-bottom: 0.7rem;
    font-size: 14px;
    line-height: 1.5;
    color: #5A6778;
    font-family: Inter, -apple-system, sans-serif;
}

.lcip-refs-encart__link {
    color: #0F1C2E;
    text-decoration: none;
    border-bottom: 1px solid #ddd;
    transition: border-color 0.2s;
}
.lcip-refs-encart__link:hover {
    border-color: #0F1C2E;
}

.lcip-refs-encart__meta {
    color: #94A3B8;
}

.lcip-refs-encart__see-all {
    margin: 1.2rem 0 0 0;
    font-size: 13px;
}

.lcip-refs-encart__see-all a {
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 0.3px;
}
.lcip-refs-encart--ect  .lcip-refs-encart__see-all a { color: #059669; }
.lcip-refs-encart--tms  .lcip-refs-encart__see-all a { color: #2563EB; }
.lcip-refs-encart--ket  .lcip-refs-encart__see-all a { color: #7C3AED; }
.lcip-refs-encart--anes .lcip-refs-encart__see-all a { color: #D97706; }
