/* ══════════════════════════════════════════════════════════════
   ALIVA CLAIR — Catalogue fond blanc · charte Aliva
   Bleu pétrole #167F92 · Orangé #F3AB33 · Fond blanc
   Typographie: Fraunces (serif) + Instrument Sans
   ══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,400;1,9..144,700&family=Instrument+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap');

/* ── Variables ────────────────────────────────────────────────── */
:root {
    --aliva-bg:        #ffffff;
    --aliva-surface:   #F7FBFC;
    --aliva-surface2:  #EDF6F8;
    --aliva-border:    #D4E8EB;
    --aliva-text:      #111827;
    --aliva-muted:     #4B6B70;
    --aliva-solar:     #F3AB33;
    --aliva-rouge:     #F0582F;
    --aliva-vert:      #167F92;
    --aliva-mono:      'JetBrains Mono', monospace;

    --primary:         #167F92;
    --secondary:       #0F5A69;
    --primary-10:      #EDF6F8;
    --primary-20:      #C5E4EA;
    --cat-primary:     #167F92;
    --cat-secondary:   #0F5A69;
    --cat-accent-bg:   #EDF6F8;
}

/* ── Reset global fond & typo ─────────────────────────────────── */
body {
    background: var(--aliva-bg);
    color: var(--aliva-text);
    font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ── Navbar ───────────────────────────────────────────────────── */
.navbar {
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid #D4E8EB;
    box-shadow: 0 1px 4px rgba(22,127,146,.06);
    /* Aligne les bords intérieurs sur 1400px comme .container */
    padding-left:  max(40px, calc((100vw - 1400px) / 2 + 40px)) !important;
    padding-right: max(40px, calc((100vw - 1400px) / 2 + 40px)) !important;
}
.navbar-brand { color: #111827; font-family: 'Fraunces', Georgia, serif; font-style: italic; font-size: 19px; }
.navbar-brand span { color: #167F92; font-style: normal; }
.navbar-links a { color: #4B6B70; }
.navbar-links a:hover { background: #EDF6F8; color: #167F92; }
/* Lien actif — orangé Aliva */
.navbar-links a.active {
    background: rgba(243,171,51,.12) !important;
    color: #C07E12 !important;
    font-weight: 600 !important;
}
.navbar-cta { background: #167F92 !important; color: #fff !important; }
.navbar-cta:hover { background: #0F5A69 !important; color: #fff !important; }

/* ── Breadcrumb ──────────────────────────────────────────────── */
.breadcrumb { color: #7A9EA3; }
.breadcrumb a { color: #167F92; }
.breadcrumb a:hover { color: #0F5A69; }

/* ── Footer ───────────────────────────────────────────────────── */
.footer {
    background: #F7FBFC;
    border-top: 1px solid #D4E8EB;
    color: #4B6B70;
}
.footer strong { color: #111827; }
.footer a { color: #167F92; }

/* ── Cards formation ──────────────────────────────────────────── */
.card-f {
    background: #ffffff;
    border-color: #D4E8EB;
}
.card-f:hover { box-shadow: 0 8px 32px rgba(22,127,146,.12); border-color: #85CACB; }
.card-title-f { color: #111827; }
.card-excerpt-f { color: #4B6B70; }
.card-footer-f { border-top-color: #EDF6F8; }
.card-price-f { color: #167F92; }
.card-price-nc { color: #7A9EA3; }
.card-tag { background: #EDF6F8; color: #4B6B70; }
.card-tag:hover { background: #C5E4EA; color: #167F92; }
.card-accent { background: #167F92; }
.card-accent.presentiel       { background: linear-gradient(90deg, #167F92, #F3AB33); }
.card-accent.distanciel       { background: linear-gradient(90deg, #85CACB, #167F92); }
.card-accent.mixte            { background: linear-gradient(90deg, #85CACB, #F3AB33); }
.card-accent.e_learning       { background: linear-gradient(90deg, #F27B2C, #F3AB33); }

/* Session badge */
.session-badge--ok { color: #167F92; background: #EDF6F8; }
.session-badge--ok a { color: #167F92; }
.session-badge--none { color: #7A9EA3; background: #F7FBFC; }
.session-dot { background: #167F92; box-shadow: 0 0 0 2px rgba(22,127,146,.25); }
@keyframes pulse-dot {
    0%,100% { box-shadow: 0 0 0 2px rgba(22,127,146,.25); }
    50%      { box-shadow: 0 0 0 4px rgba(22,127,146,.12); }
}

/* Badge modalite */
.badge-presentiel       { background: #EDF6F8; color: #167F92; }
.badge-distanciel       { background: #E0F4F4; color: #0F5A69; }
.badge-classe_virtuelle { background: #E0F4F4; color: #0F5A69; }
.badge-mixte            { background: #FEF3E0; color: #F27B2C; }
.badge-e_learning       { background: #FEF0EC; color: #F0582F; }
.badge-formation_action { background: #FEF8EC; color: #F3AB33; }
.badge-atelier          { background: #FBCCC6; color: #F0582F; }

/* Niveau badges */
.badge-niveau-debutant     { background: #EDF6F8; color: #167F92; }
.badge-niveau-intermediaire{ background: #FEF8EC; color: #F3AB33; }
.badge-niveau-avance       { background: #FEF3E0; color: #F27B2C; }
.badge-niveau-expert       { background: #FEF0EC; color: #F0582F; }
.badge-niveau-default      { background: #F7FBFC; color: #7A9EA3; }

/* ── Sidebar filtres ──────────────────────────────────────────── */
.filters-sidebar {
    background: #F7FBFC !important;
    border-color: #D4E8EB !important;
    box-shadow: none;
}
.filter-section-title { color: #7A9EA3 !important; }
.filter-option { color: #4B6B70 !important; }
.filter-option:hover { color: #167F92 !important; }
.filter-option.active { color: #167F92 !important; }
.filter-option .filter-ct { background: #EDF6F8 !important; color: #7A9EA3 !important; }
.filter-option.active .filter-ct { background: #C5E4EA !important; color: #167F92 !important; }
.filter-sep { background: #D4E8EB !important; }
.filter-reset-link { border-color: #D4E8EB !important; color: #7A9EA3 !important; background: transparent !important; }
.filter-reset-link:hover { background: #EDF6F8 !important; color: #167F92 !important; }
.tag-chip { background: #EDF6F8 !important; color: #4B6B70 !important; }
.tag-chip:hover, .tag-chip.active { background: #C5E4EA !important; color: #167F92 !important; }

/* ── Pills familles ───────────────────────────────────────────── */
.famille-pills-wrap { background: rgba(255,255,255,.95); border-bottom-color: #D4E8EB; }
.famille-pill { color: #4B6B70; background: #F7FBFC; border-color: #D4E8EB; }
.famille-pill:hover { color: #167F92; background: #EDF6F8; border-color: #85CACB; }
.famille-pill.active { color: #fff; background: #167F92; border-color: #167F92; }
.pill-count { background: #D4E8EB; color: #4B6B70; }
.famille-pill.active .pill-count { background: rgba(255,255,255,.25); color: #fff; }
.pill-parcours { color: #fff !important; background: #F3AB33 !important; border-color: #F3AB33 !important; }
.pill-count-parcours { background: rgba(255,255,255,.25) !important; color: #fff !important; }

/* ── CTA band ─────────────────────────────────────────────────── */
.cta-band { background: #EDF6F8; border: 1px solid #C5E4EA; }
.btn-cta-white { background: #167F92; color: #fff; }
.btn-cta-white:hover { background: #0F5A69; color: #fff; }

/* ── Famille section ──────────────────────────────────────────── */
.famille-header { border-bottom-color: #D4E8EB; }
.famille-name { color: #111827; }
.famille-desc { color: #4B6B70; }
.famille-count-badge { background: #EDF6F8; color: #167F92; }
.famille-voir-plus { color: #167F92; }
.results-bar { color: #7A9EA3; }
.results-bar strong { color: #111827; }

/* ── FAQ ──────────────────────────────────────────────────────── */
.faq-item { background: #F7FBFC; border-color: #D4E8EB; }
.faq-question { color: #111827; }
.faq-question:hover { background: #EDF6F8; }
.faq-icon { background: #F3AB33; color: #fff; }
.faq-answer { color: #4B6B70; border-top-color: #D4E8EB; }
.faq-section-title { color: #111827; }
.faq-section-sub { color: #4B6B70; }

/* ── Bouton retour haut ───────────────────────────────────────── */
#back-to-top { background: #167F92; color: #fff; }
#back-to-top:hover { background: #0F5A69; }

/* ── Flash success ────────────────────────────────────────────── */
.flash-success { background: #EDF6F8; border-color: #85CACB; color: #167F92; }

/* ── Parcours sidebar ─────────────────────────────────────────── */
.sidebar-parcours-link { color: #4B6B70 !important; }
.sidebar-parcours-link:hover { color: #167F92 !important; }
.sidebar-parcours-name { color: #111827 !important; }
.sidebar-parcours-link:hover .sidebar-parcours-name { color: #167F92 !important; }

/* ── Famille encart ───────────────────────────────────────────── */
.famille-encart { background: #F7FBFC; }
.famille-encart-title { color: #111827; }
.famille-encart-body { color: #4B6B70; }
.famille-encart-vision { background: #EDF6F8; }
.famille-encart-vision-lbl { color: #167F92; }
.famille-encart-vision-text { color: #374151; }

/* ── Btn catalogue ────────────────────────────────────────────── */
.btn-cat { background: #167F92; color: #fff; }
.btn-cat:hover { background: #0F5A69; color: #fff; }
.btn-cat-outline { border-color: #167F92; color: #167F92; }
.btn-cat-outline:hover { background: #EDF6F8; }

/* ── Tooltip modal ────────────────────────────────────────────── */
.has-tip::after { background: #0F5A69; color: #fff; box-shadow: 0 4px 16px rgba(15,90,105,.20); }
.has-tip::before { border-top-color: #0F5A69; }

/* ══ Hero — gradient pleine largeur (même que navbar) ═══════════
   Le .container du layout a max-width:1200px + padding:0 24px.
   On sort du container avec margin négatif + width compensé,
   puis on recentre le contenu sur 1200px pour aligner avec la navbar.
   ════════════════════════════════════════════════════════════════ */
.aliva-hero {
    background: linear-gradient(135deg, #167F92 0%, #85CACB 100%) !important;
    border-bottom: none !important;
    /* Breakout du container — pleine largeur du viewport */
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* Reflet lumineux discret sur le gradient */
.aliva-hero::before {
    background-image:
        radial-gradient(ellipse 70% 60% at 80% 30%, rgba(255,255,255,.18) 0%, transparent 60%),
        radial-gradient(ellipse 50% 80% at 10% 80%, rgba(22,127,146,.25) 0%, transparent 60%) !important;
}

/* Inner aligné sur 1200px comme la navbar */
.aliva-hero-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

/* Texte hero — visible sur gradient foncé */
.aliva-headline { color: #ffffff !important; }
.aliva-headline em { color: #F9ECC9 !important; }
.aliva-headline .line-accent { color: #F3AB33 !important; }

.aliva-eyebrow { color: #F9ECC9 !important; }
.aliva-eyebrow::before { background: #F9ECC9 !important; }

.aliva-subline { color: rgba(255,255,255,.85) !important; }

/* Stats sur gradient */
.aliva-stats { border-top-color: rgba(255,255,255,.20) !important; }
.aliva-stat-num { color: #F3AB33 !important; }
.aliva-stat-lbl { color: rgba(255,255,255,.70) !important; }

/* Search dans le hero */
.aliva-search {
    border-color: rgba(255,255,255,.35) !important;
    background: rgba(255,255,255,.12) !important;
}
.aliva-search:focus-within {
    border-color: rgba(243,171,51,.60) !important;
    background: rgba(255,255,255,.18) !important;
}
.aliva-search input { color: rgba(255,255,255,.92) !important; }
.aliva-search input::placeholder { color: rgba(255,255,255,.45) !important; }
.aliva-search button {
    background: #F3AB33 !important;
    color: #0F5A69 !important;
}

/* Manifeste (bloc droit) sur gradient */
.aliva-manifeste {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.25) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* ── Container global élargi à 1400px ────────────────────────── */
.container {
    max-width: 1400px !important;
    padding: 0 40px !important;
}

/* ── Bandeau différenciation — même breakout + couleurs lisibles ── */
.aliva-diff {
    background: #F7FBFC !important;
    border-bottom-color: #D4E8EB !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}
.aliva-diff-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    justify-content: space-between !important;
}
.aliva-diff-item {
    color: #4B6B70 !important;
    border-right-color: #D4E8EB !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 240px !important;
    padding: 0 20px !important;
}
.aliva-diff-item:first-child { padding-left: 0 !important; }
.aliva-diff-item:last-child  { padding-right: 0 !important; border-right: none !important; }
.aliva-diff-text { white-space: normal !important; }
.aliva-diff-text strong { color: #111827 !important; display: block !important; margin-bottom: 2px !important; }

/* ── Famille pills + agenda-filters — style barre sticky ─────────
   Même traitement : pleine largeur, fond blanc solide, ombre teal
   ─────────────────────────────────────────────────────────────── */
.famille-pills-wrap,
.agenda-filters {
    background: #ffffff !important;
    border-bottom: 1px solid #D4E8EB !important;
    box-shadow: 0 2px 12px rgba(22,127,146,.10) !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}
.famille-pills,
.agenda-filters-inner {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 10px 40px !important;
}

/* Label filtre agenda */
.af-label { color: #7A9EA3 !important; }
.af-sep   { background: #D4E8EB !important; }

/* Pills agenda — même style que famille-pills */
.af-pill {
    color: #4B6B70 !important;
    background: #F7FBFC !important;
    border-color: #D4E8EB !important;
}
.af-pill:hover  { color: #167F92 !important; background: #EDF6F8 !important; border-color: #85CACB !important; }
.af-pill.active { color: #ffffff !important; background: #167F92 !important; border-color: #167F92 !important; }

/* ── Cat-body + grille 3 colonnes ─────────────────────────────── */
/* Sidebar 240px + gap 28px + grille → reste ≈ 1132px → 3 × 340px */
.formations-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}

/* ── Cards — textes invisibles (blanc sur blanc) → charte Aliva ── */
.card-meta-f { color: #7A9EA3 !important; }       /* bleu-gris muted */
.card-title-f { color: #111827 !important; }
.card-excerpt-f { color: #4B6B70 !important; }
.card-price-f { color: #167F92 !important; }
.card-price-f small { color: #7A9EA3 !important; }
.card-footer-f { border-top-color: #D4E8EB !important; }

/* st-chip (tags : data, marketing, relation_client…) */
.st-chip {
    background: #EDF6F8 !important;
    color: #4B6B70 !important;
    border: 1px solid #D4E8EB;
}
.st-chip:hover { background: #C5E4EA !important; color: #167F92 !important; }

/* Session badges */
.session-badge--ok { color: #167F92 !important; background: #EDF6F8 !important; }
.session-badge--ok a { color: #167F92 !important; }
.session-badge--none { color: #7A9EA3 !important; background: #F7FBFC !important; }
.session-badge--none a { color: #F3AB33 !important; }
.session-dot {
    background: #167F92 !important;
    box-shadow: 0 0 0 2px rgba(22,127,146,.25) !important;
}

/* Résultats bar */
.results-bar { color: #7A9EA3 !important; }
.results-bar strong { color: #111827 !important; }

/* Famille section */
.famille-name { color: #111827 !important; }
.famille-desc { color: #4B6B70 !important; }
.famille-count-badge { background: #EDF6F8 !important; color: #167F92 !important; }
.famille-header { border-bottom-color: #D4E8EB !important; }

/* Empty state */
.empty-state h3 { color: #4B6B70 !important; }
.empty-state a { color: #167F92 !important; }

/* Encart famille */
.famille-encart {
    background: #F7FBFC !important;
    border-left-color: #F3AB33 !important;
}
.famille-encart-title { color: #111827 !important; }
.famille-encart-body { color: #4B6B70 !important; }
.famille-encart-vision { background: #EDF6F8 !important; }
.famille-encart-vision-lbl { color: #167F92 !important; }
.famille-encart-vision-text { color: #374151 !important; }

/* ── CTA band — fond teal doux au lieu du fond jaune/sombre ───── */
.aliva-cta-band {
    background: linear-gradient(135deg, #EDF6F8 0%, #C5E4EA 100%) !important;
    border-color: #85CACB !important;
}
.aliva-cta-band::before {
    background: radial-gradient(ellipse at top right, rgba(22,127,146,.10), transparent 70%) !important;
}
.aliva-cta-band h3 { color: #0F5A69 !important; }
.aliva-cta-band p { color: #4B6B70 !important; }
.aliva-cta-btn {
    background: #167F92 !important;
    color: #ffffff !important;
}
.aliva-cta-btn:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1400px) {
    .container { padding: 0 32px !important; }
    .aliva-hero-inner,
    .aliva-diff-inner,
    .famille-pills { padding-left: 32px !important; padding-right: 32px !important; }
}
@media (max-width: 1200px) {
    /* 2 colonnes dès qu'on ne peut plus tenir 3 */
    .formations-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 1100px) {
    .container { padding: 0 24px !important; }
    .aliva-hero-inner,
    .aliva-diff-inner,
    .famille-pills { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 900px) {
    .aliva-hero-inner {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .aliva-manifeste { display: none !important; }
    .aliva-hero { padding: 56px 0 48px !important; }
    .formations-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
    .aliva-hero { padding: 40px 0 36px !important; }
    .container,
    .aliva-hero-inner,
    .aliva-diff-inner,
    .famille-pills { padding-left: 16px !important; padding-right: 16px !important; }
    .aliva-stats { gap: 20px !important; flex-wrap: wrap !important; }
    .aliva-stat-num { font-size: 26px !important; }
}

/* ══════════════════════════════════════════════════════════════
   SURCHARGES CSS VARIABLES — Remplace les valeurs Aliva Dark
   sur toutes les pages du catalogue (show, parcours, approche…)
   ══════════════════════════════════════════════════════════════ */
:root {
    --aliva-bg:      #ffffff !important;
    --aliva-surface: #F7FBFC !important;
    --aliva-border:  #D4E8EB !important;
    --aliva-solar:   #F3AB33 !important;
    --aliva-rouge:   #F0582F !important;
    --aliva-vert:    #167F92 !important;
}

/* ══ show-aliva — fiche formation ══════════════════════════ */

.formation-title { color: #111827 !important; }
.badge-duree { background: #EDF6F8 !important; color: #4B6B70 !important; }
.badge-ref   { background: #F7FBFC !important; color: #7A9EA3 !important; }
.badge-cpf   { background: #EDF6F8 !important; color: #167F92 !important; }

.section-card { background: #F7FBFC !important; border-color: #D4E8EB !important; box-shadow: none !important; }
.section-card:hover { box-shadow: 0 4px 16px rgba(22,127,146,.08) !important; }
.section-title { color: #167F92 !important; border-bottom-color: rgba(22,127,146,.20) !important; }

.parcours-banner-icon { color: #0F5A69 !important; }

.promise-item { background: #EDF6F8 !important; border-color: #D4E8EB !important; }
.promise-label { color: #7A9EA3 !important; }
.promise-text  { color: #374151 !important; }

.sous-themes .st-chip { background: #EDF6F8 !important; color: #4B6B70 !important; border: 1px solid #D4E8EB !important; }
.sous-themes .st-chip:hover { background: #C5E4EA !important; color: #167F92 !important; }

.info-grid .info-item { background: #EDF6F8 !important; border-color: #D4E8EB !important; }
.info-item-icon  { color: #85CACB !important; }
.info-item-label { color: #7A9EA3 !important; }
.info-item-value { color: #111827 !important; }

.module-item { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.module-item:hover { background: #EDF6F8 !important; }
.module-num { color: #0F5A69 !important; }
.module-title  { color: #111827 !important; }
.module-content, .text-content { color: #4B6B70 !important; }

.download-btn { background: #EDF6F8 !important; color: #4B6B70 !important; }
.download-btn:hover { background: #C5E4EA !important; color: #167F92 !important; }

.sticky-sidebar { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.price-label { color: #7A9EA3 !important; }
.price-value { color: #111827 !important; }
.price-value small { color: #7A9EA3 !important; }
.price-meta-row { color: #4B6B70 !important; }
.price-meta-row strong { color: #111827 !important; }
.price-divider { background: #D4E8EB !important; }
.btn-inscr { background: #167F92 !important; color: #ffffff !important; }
.btn-inscr:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }

.sessions-title { color: #7A9EA3 !important; }
.srow { border-bottom-color: #D4E8EB !important; }
.srow-date { color: #111827 !important; }
.srow-info { color: #7A9EA3 !important; }

.modal-overlay { background: rgba(22,127,146,.20) !important; }
.modal-box { background: #ffffff !important; border-color: #D4E8EB !important; box-shadow: 0 24px 80px rgba(22,127,146,.15) !important; }
.modal-head { border-bottom-color: #D4E8EB !important; }
.modal-head-title { color: #111827 !important; }
.modal-head-sub   { color: #7A9EA3 !important; }
.modal-close { background: #F7FBFC !important; color: #4B6B70 !important; }
.modal-close:hover { background: #EDF6F8 !important; color: #167F92 !important; }
.mf-label { color: #4B6B70 !important; }
.mf-label em { color: #D4E8EB !important; }
.mf-input { background: #ffffff !important; border-color: #D4E8EB !important; color: #111827 !important; }
.mf-input::placeholder { color: #B0C8CC !important; }
.mf-input:focus { border-color: #167F92 !important; box-shadow: 0 0 0 3px rgba(22,127,146,.12) !important; }
.modal-submit.inscr { background: #167F92 !important; color: #ffffff !important; }
.modal-submit.devis { background: #7C3AED !important; color: #fff !important; }
.modal-success h3 { color: #111827 !important; }
.modal-success p  { color: #4B6B70 !important; }

/* ══ parcours-aliva — liste parcours ══════════════════════ */

.prc-hero {
    background: linear-gradient(135deg, #167F92 0%, #85CACB 100%) !important;
    border-bottom: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.prc-hero::before {
    background:
        radial-gradient(ellipse 70% 80% at 80% 40%, rgba(255,255,255,.18) 0%, transparent 60%),
        radial-gradient(ellipse 40% 60% at 5% 90%, rgba(22,127,146,.25) 0%, transparent 60%) !important;
}
.prc-hero-inner { max-width: 1400px !important; margin: 0 auto !important; padding: 0 40px !important; }
.prc-headline { color: #ffffff !important; }
.prc-headline em { color: #F9ECC9 !important; }
.prc-subline { color: rgba(255,255,255,.85) !important; }
.prc-stats   { border-top-color: rgba(255,255,255,.20) !important; }
.prc-stat-lbl { color: rgba(255,255,255,.70) !important; }
.prc-eyebrow { color: #F9ECC9 !important; }
.prc-eyebrow::before { background: #F9ECC9 !important; }

.prc-vision { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.25) !important; backdrop-filter: blur(8px); }
.prc-vision-title { color: rgba(255,255,255,.90) !important; }
.prc-vision-item  { color: rgba(255,255,255,.80) !important; }
.prc-vision-item strong { color: #ffffff !important; }

.prc-card { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.prc-card:hover { box-shadow: 0 8px 32px rgba(22,127,146,.12) !important; border-color: #85CACB !important; }
.prc-card-header { border-bottom-color: #D4E8EB !important; }
.prc-card-nom    { color: #111827 !important; }
.prc-card-accroche { color: #167F92 !important; }
.prc-card-story  { color: #4B6B70 !important; opacity: 1 !important; }
.prc-card-desc   { color: #4B6B70 !important; }
.prc-card-public { color: #7A9EA3 !important; }
.prc-obj-label   { color: #7A9EA3 !important; }
.prc-obj-item    { color: #4B6B70 !important; }
.prc-badge       { background: #EDF6F8 !important; color: #167F92 !important; }

.prc-sequence { border-bottom-color: #D4E8EB !important; }
/* Bulle numérotée : fond = couleur dynamique du parcours (inline)
   Texte blanc + ombre de lecture pour contraster sur toute teinte */
.prc-step-num {
    /* color est géré dynamiquement en inline dans parcours-aliva.blade.php */
    text-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
    font-weight: 900 !important;
}
.prc-step-title { color: #374151 !important; }
.prc-step-title a { color: #374151 !important; }
.prc-step-title a:hover { color: #167F92 !important; }
.prc-step-dur  { color: #7A9EA3 !important; }
.prc-arrow     { color: #85CACB !important; }

.prc-temoignage { background: #EDF6F8 !important; }
.prc-temoignage-text   { color: #374151 !important; }
.prc-temoignage-author { color: #7A9EA3 !important; }

.prc-card-footer { background: #F7FBFC !important; }
.btn-detail { background: #EDF6F8 !important; border-color: #D4E8EB !important; color: #4B6B70 !important; }
.btn-detail:hover { background: #C5E4EA !important; color: #167F92 !important; }
.btn-demande { background: #167F92 !important; color: #ffffff !important; }
.btn-demande:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }

/* CTA band — toutes pages partageant .cta-band */
.cta-band {
    background: linear-gradient(135deg, #EDF6F8 0%, #C5E4EA 100%) !important;
    border-color: #85CACB !important;
}
.cta-band::before { background: radial-gradient(ellipse at top right, rgba(22,127,146,.10), transparent 70%) !important; }
.cta-band h3 { color: #0F5A69 !important; }
.cta-band p  { color: #4B6B70 !important; }
.cta-btn { background: #167F92 !important; color: #ffffff !important; }
.cta-btn:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }

/* ══ parcours-detail-aliva ════════════════════════════════ */

/* Cards : annuler l'opacity:0 du scroll-reveal de l'ancienne vue sombre */
.pd-card { opacity: 1 !important; transform: none !important; background: #F7FBFC !important; border-color: #D4E8EB !important; }
.pd-card-title { color: #167F92 !important; border-bottom-color: #D4E8EB !important; }
.pd-panel { background: #F7FBFC !important; border-color: #D4E8EB !important; box-shadow: none !important; }
.pd-panel-title { color: #7A9EA3 !important; }
.pd-panel::before { display: none !important; }

/* Hero : fond dégradé bleu Aliva au lieu du fond sombre */
.pd-hero {
    background: linear-gradient(135deg, #0F5A69 0%, #167F92 60%, #85CACB 100%) !important;
    border-bottom: none !important;
}
.pd-hero::before {
    background: radial-gradient(ellipse 80% 100% at 90% 50%, rgba(255,255,255,.15) 0%, transparent 60%) !important;
}
.pd-hero-title   { color: #ffffff !important; }
.pd-hero-accroche { opacity: 1 !important; }
.pd-hero-story   { color: rgba(255,255,255,.85) !important; }

.pd-breadcrumb { color: rgba(255,255,255,.60) !important; }
.pd-breadcrumb a { color: rgba(255,255,255,.70) !important; }
.pd-breadcrumb a:hover { color: #ffffff !important; }
.pd-breadcrumb span { color: rgba(255,255,255,.30) !important; }

.pd-badge-main { color: #0F5A69 !important; }
.pd-badge-outline { background: #EDF6F8 !important; color: #4B6B70 !important; }
.pd-title    { color: #111827 !important; }
.pd-subtitle { color: #4B6B70 !important; }
.pd-obj-item { color: #374151 !important; }

.pd-seq-step { border-bottom-color: #D4E8EB !important; }
.pd-seq-num  { /* color géré en inline selon luminosité du fond */ }
.pd-seq-step.deselected .pd-seq-num { background: #EDF6F8 !important; color: #7A9EA3 !important; }
.pd-seq-num.opt { background: #EDF6F8 !important; color: #7A9EA3 !important; }
.pd-chk:checked::after { border-color: #0F5A69 !important; }
.pd-chk:not(:checked) { border-color: #D4E8EB !important; }
.pd-seq-titre { color: #111827 !important; }
.pd-seq-meta  { color: #7A9EA3 !important; }
.pd-seq-note  { color: #7A9EA3 !important; }
.pd-seq-hint  { color: #7A9EA3 !important; }

.pd-info-label { color: #7A9EA3 !important; }
.pd-info-val   { color: #111827 !important; }
.pd-info-row   { border-bottom-color: #D4E8EB !important; }
.pd-temoignage-text { color: #374151 !important; }

.pd-btn-back { background: #EDF6F8 !important; border-color: #D4E8EB !important; color: #4B6B70 !important; }
.pd-btn-back:hover { background: #C5E4EA !important; color: #167F92 !important; }
.btn-demand { color: #ffffff !important; }
.btn-demand:hover { color: #ffffff !important; opacity: 1 !important; }

/* ══ formateurs-aliva ════════════════════════════════════ */

.fmt-hero {
    background: linear-gradient(135deg, #167F92 0%, #85CACB 100%) !important;
    border-bottom: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.fmt-hero-inner { max-width: 1400px !important; margin: 0 auto !important; padding: 0 40px !important; }
.fmt-headline { color: #ffffff !important; }
.fmt-subline  { color: rgba(255,255,255,.85) !important; }
.fmt-stats    { border-top-color: rgba(255,255,255,.20) !important; }
.fmt-stat-lbl { color: rgba(255,255,255,.70) !important; }
.fmt-eyebrow  { color: #F9ECC9 !important; }
.fmt-eyebrow::before { background: #F9ECC9 !important; }

.fmt-promesse { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.25) !important; backdrop-filter: blur(8px); }
.fmt-promesse-title { color: rgba(255,255,255,.90) !important; }
.fmt-promesse-item  { color: rgba(255,255,255,.80) !important; }
.fmt-promesse-item strong { color: #ffffff !important; }

.fmt-card-avatar,
.fmt-card-initials { border-color: #D4E8EB !important; }
.fmt-card-initials { color: #0F5A69 !important; }
.fmt-card-body  { background: #F7FBFC; }
.fmt-card-name  { color: #111827 !important; }
.fmt-card-poste { color: #7A9EA3 !important; }
.fmt-chip { background: #EDF6F8 !important; color: #4B6B70 !important; border-color: #D4E8EB !important; }
.fmt-card-bio { color: #4B6B70 !important; }
.fmt-formations-label { color: #7A9EA3 !important; }
.fmt-formation-chip { background: #EDF6F8 !important; color: #167F92 !important; border-color: #C5E4EA !important; }
.fmt-formation-chip:hover { background: #C5E4EA !important; color: #0F5A69 !important; }
.fmt-more { color: #7A9EA3 !important; }
.fmt-empty h3 { color: #374151 !important; }
.fmt-empty p  { color: #4B6B70 !important; }

/* ══ approche-aliva ══════════════════════════════════════ */

.ap-hero {
    background: linear-gradient(135deg, #167F92 0%, #85CACB 100%) !important;
    border-bottom: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.ap-headline { color: #ffffff !important; }
.ap-headline em { color: #F9ECC9 !important; }
.ap-subline  { color: rgba(255,255,255,.85) !important; }
.ap-stats    { border-top-color: rgba(255,255,255,.20) !important; }
.ap-stat-lbl { color: rgba(255,255,255,.70) !important; }
.ap-eyebrow  { color: #F9ECC9 !important; }
.ap-eyebrow::before { background: #F9ECC9 !important; }

.ap-citation { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.25) !important; backdrop-filter: blur(8px); }
.ap-citation-text { color: rgba(255,255,255,.90) !important; }

.ap-section-inner { border-bottom-color: #D4E8EB !important; }
.ap-section-title { color: #111827 !important; }
.ap-section-title em { color: #167F92 !important; }
.ap-section-eyebrow { color: #167F92 !important; }
.ap-section-eyebrow::after { background: linear-gradient(to right, rgba(22,127,146,.30), transparent) !important; }
.ap-section-body { color: #4B6B70 !important; }

.ap-pillar { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.ap-pillar:hover { border-color: rgba(22,127,146,.30) !important; }
.ap-pillar-num   { color: #7A9EA3 !important; }
.ap-pillar-title { color: #111827 !important; }
.ap-pillar-body  { color: #4B6B70 !important; }

.ap-point-title { color: #111827 !important; }
.ap-point-body  { color: #4B6B70 !important; }

.ap-manifeste-btn { color: #0F5A69 !important; }
.ap-manifeste-btn:hover { color: #0F5A69 !important; opacity: 1 !important; }

.ap-formateurs-btn { background: #EDF6F8 !important; border-color: #D4E8EB !important; color: #4B6B70 !important; }
.ap-formateurs-btn:hover { background: #C5E4EA !important; color: #167F92 !important; }
.ap-formateurs-sub { color: #4B6B70 !important; }

/* ══ faq-aliva ══════════════════════════════════════════ */

.faq-hero {
    background: linear-gradient(135deg, #0F5A69 0%, #167F92 60%, #85CACB 100%) !important;
    border-bottom: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.faq-hero-inner { max-width: 1400px !important; margin: 0 auto !important; padding: 0 40px !important; }
.faq-body       { max-width: 1000px !important; margin: 0 auto !important; }
.faq-headline { color: #ffffff !important; }
.faq-headline em { color: #F9ECC9 !important; }
.faq-subline  { color: rgba(255,255,255,.85) !important; }
.faq-eyebrow  { color: #F9ECC9 !important; }
.faq-eyebrow::before { background: #F9ECC9 !important; }
.faq-cat-label { color: #167F92 !important; border-bottom-color: #D4E8EB !important; }
.faq-cat-label::after { background: linear-gradient(to right, #D4E8EB, transparent) !important; }

.faq-item { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.faq-question { color: #111827 !important; }
.faq-question:hover { background: #EDF6F8 !important; }
.faq-item.open .faq-icon { color: #0F5A69 !important; }
.faq-answer { color: #4B6B70 !important; border-top-color: #D4E8EB !important; }
.faq-section-title { color: #111827 !important; }
.faq-section-sub   { color: #4B6B70 !important; }

/* ══ agenda-aliva ══════════════════════════════════════ */

.agenda-hero {
    background: linear-gradient(135deg, #0F5A69 0%, #167F92 60%, #85CACB 100%) !important;
    border-bottom: none !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.agenda-hero-inner { max-width: 1400px !important; margin: 0 auto !important; padding: 0 40px !important; }
.agenda-body      { max-width: 1400px !important; margin: 0 auto !important; }
.agenda-headline  { color: #ffffff !important; }
.agenda-headline em { color: #F9ECC9 !important; }
.agenda-subline   { color: rgba(255,255,255,.85) !important; }
.agenda-eyebrow   { color: #F9ECC9 !important; }
.agenda-eyebrow::before { background: #F9ECC9 !important; }
.agenda-stats     { border-top-color: rgba(255,255,255,.20) !important; }
.agenda-stat-lbl  { color: rgba(255,255,255,.70) !important; }

/* Carte aside */
.agenda-aside-cta { color: #F3AB33 !important; }
.agenda-aside-cta:hover { color: #F9ECC9 !important; opacity: 1 !important; }

.af-pill { background: #F7FBFC !important; border-color: #D4E8EB !important; color: #4B6B70 !important; }
.af-pill:hover  { background: #EDF6F8 !important; color: #167F92 !important; border-color: #85CACB !important; }
.af-pill.active { background: #167F92 !important; border-color: #167F92 !important; color: #ffffff !important; }
.af-month-label { color: #7A9EA3 !important; }

.sr-row { border-bottom-color: #D4E8EB !important; }
.sr-date { color: #111827 !important; }
.sr-formation-titre { color: #111827 !important; }
.sr-info  { color: #7A9EA3 !important; }
.sr-badge { background: #EDF6F8 !important; color: #167F92 !important; border-color: #C5E4EA !important; }
.sr-badge.default { background: #F7FBFC !important; color: #7A9EA3 !important; }
.sr-cta { background: #167F92 !important; color: #ffffff !important; }
.sr-cta:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }
.places-dispo { color: #167F92 !important; }
.places-none  { color: #F0582F !important; }
.places-few   { color: #F27B2C !important; }
.agenda-no-sessions { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.agenda-empty h3 { color: #374151 !important; }
.agenda-empty p  { color: #4B6B70 !important; }

.agenda-cta-band {
    background: linear-gradient(135deg, #EDF6F8 0%, #C5E4EA 100%) !important;
    border-color: #85CACB !important;
}
.agenda-cta-band h3 { color: #0F5A69 !important; }
.agenda-cta-band p  { color: #4B6B70 !important; }
.agenda-cta-btn { background: #167F92 !important; color: #ffffff !important; }
.agenda-cta-btn:hover { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }

/* ══ contact-aliva ════════════════════════════════════ */

.con-hero {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important; max-width: 100vw !important;
}
.con-hero-inner { max-width: 1400px !important; margin: 0 auto !important; padding: 0 40px !important; }
.con-body       { max-width: 1000px !important; margin: 0 auto !important; }

/* textes hero — blancs sur fond bleu */
.con-breadcrumb       { color: rgba(255,255,255,.55) !important; }
.con-breadcrumb a     { color: rgba(255,255,255,.75) !important; }
.con-breadcrumb a:hover { color: #ffffff !important; }
.con-eyebrow          { color: #F9ECC9 !important; }
.con-eyebrow::before  { background: #F3AB33 !important; }
.con-hero-title       { color: #ffffff !important; }
.con-hero-sub         { color: rgba(255,255,255,.82) !important; }

/* formulaire */
.con-section       { background: #F7FBFC !important; border-color: #D4E8EB !important; }
.con-section-title { color: #7A9EA3 !important; border-bottom-color: #D4E8EB !important; }
.con-label         { color: #7A9EA3 !important; }
.con-label span    { color: #B0C8CC !important; }
.con-input         { background: #ffffff !important; border-color: #D4E8EB !important; color: #111827 !important; }
.con-input::placeholder { color: #B0C8CC !important; }
.con-input:focus   { border-color: #167F92 !important; box-shadow: 0 0 0 3px rgba(22,127,146,.12) !important; }
.btn-submit        { background: #167F92 !important; color: #ffffff !important; }
.btn-submit:hover  { background: #0F5A69 !important; color: #ffffff !important; opacity: 1 !important; }
.btn-back          { color: #7A9EA3 !important; }
.btn-back:hover    { color: #167F92 !important; }

/* succès */
.con-success h2    { color: #111827 !important; }
.con-success p     { color: #4B6B70 !important; }
.btn-outline-acc   { border-color: #D4E8EB !important; color: #4B6B70 !important; }
.btn-outline-acc:hover { border-color: #85CACB !important; color: #167F92 !important; }
.btn-primary-acc   { background: #167F92 !important; color: #ffffff !important; }

/* ══ parcours-demande-aliva ══════════════════════════ */

.dem-breadcrumb { color: #7A9EA3 !important; }
.dem-breadcrumb a { color: #167F92 !important; }
.dem-hero-sub { color: #4B6B70 !important; }
.dem-label { color: #4B6B70 !important; }
.dem-label span { color: #D4E8EB !important; }
.dem-input { background: #ffffff !important; border-color: #D4E8EB !important; color: #111827 !important; }
.dem-input::placeholder { color: #B0C8CC !important; }
.dem-input:focus { border-color: #167F92 !important; }
.dem-mod-item { border-color: #D4E8EB !important; background: #ffffff !important; }
.dem-mod-chk:checked::after { border-color: #0F5A69 !important; }
.dem-mod-chk:not(:checked) { border-color: #D4E8EB !important; }
.dem-mod-num { color: #0F5A69 !important; }
.dem-mod-item.deselected .dem-mod-num { background: #EDF6F8 !important; color: #7A9EA3 !important; }
.dem-mod-titre { color: #111827 !important; }
.dem-mod-meta  { color: #7A9EA3 !important; }
.badge-mod { background: #EDF6F8 !important; color: #4B6B70 !important; }
.dem-seq-hint { color: #7A9EA3 !important; }
.btn-back-link { color: #7A9EA3 !important; }
.btn-back-link:hover { color: #167F92 !important; }

/* ══ #back-to-top — toutes pages ════════════════════ */
#back-to-top { background: #167F92 !important; color: #ffffff !important; }
#back-to-top:hover { background: #0F5A69 !important; color: #ffffff !important; }
