/* =========================================================
   MON EXPÉRIENCE PRO — DERNIERS AJUSTEMENTS VISUELS
   Chargé en dernier afin de neutraliser les anciennes couches CSS.
   ========================================================= */

:root {
  --mep-fix-navy: #182b46;
  --mep-fix-navy-deep: #12233a;
  --mep-fix-green: #1f755f;
  --mep-fix-green-dark: #155846;
  --mep-fix-green-soft: #e8f3ef;
  --mep-fix-mint: #82c9b4;
  --mep-fix-white: #ffffff;
  --mep-fix-text-soft: #dce8e5;
  --mep-fix-line: #d7e2df;
}

/* ---------------------------------------------------------
   CV — appel final
   --------------------------------------------------------- */

.home-final-cta.cv-final-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px !important;
  margin-top: 30px !important;
  padding: clamp(30px, 4vw, 48px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 24px !important;
  color: var(--mep-fix-white) !important;
  background: linear-gradient(135deg, var(--mep-fix-navy-deep) 0%, #194b43 100%) !important;
  box-shadow: 0 20px 45px rgba(18, 35, 58, 0.14) !important;
}

.home-final-cta.cv-final-cta > div:first-child {
  min-width: 0 !important;
  max-width: 760px !important;
}

.home-final-cta.cv-final-cta .home-eyebrow,
.home-final-cta.cv-final-cta .home-eyebrow-light {
  margin: 0 0 10px !important;
  color: #9dd8c5 !important;
}

.home-final-cta.cv-final-cta h2,
.home-final-cta.cv-final-cta h2 * {
  margin: 0 !important;
  color: var(--mep-fix-white) !important;
  font-size: clamp(2rem, 3.4vw, 3.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.home-final-cta.cv-final-cta p:not(.home-eyebrow) {
  max-width: 680px !important;
  margin: 18px 0 0 !important;
  color: var(--mep-fix-text-soft) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.home-final-cta.cv-final-cta .home-final-actions {
  flex: 0 0 auto !important;
}

.home-final-cta.cv-final-cta .button,
.home-final-cta.cv-final-cta .button-light {
  min-height: 48px !important;
  padding: 13px 20px !important;
  border: 1px solid var(--mep-fix-white) !important;
  border-radius: 12px !important;
  color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-white) !important;
  box-shadow: none !important;
  font-weight: 850 !important;
}

.home-final-cta.cv-final-cta .button:hover,
.home-final-cta.cv-final-cta .button-light:hover {
  color: var(--mep-fix-navy-deep) !important;
  background: #f0f7f5 !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------------------
   PARCOURS — cartes et appel final
   --------------------------------------------------------- */

.mep-path-steps {
  align-items: stretch !important;
}

.mep-path-steps > article {
  min-height: 210px !important;
  padding: 20px 22px !important;
}

.mep-path-step-meta {
  margin-top: 22px !important;
}

.mep-path-steps footer {
  padding-top: 14px !important;
}

.mep-path-after {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  min-height: 148px !important;
  margin-top: 24px !important;
  padding: 27px 30px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-navy) !important;
  box-shadow: 0 14px 32px rgba(18, 35, 58, 0.1) !important;
}

.mep-path-after > div {
  min-width: 0 !important;
}

.mep-path-after > div > span {
  margin-bottom: 8px !important;
  color: #74c8ae !important;
}

.mep-path-after h2,
.mep-path-after h2 * {
  margin: 0 !important;
  color: var(--mep-fix-white) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

.mep-path-after p {
  margin: 9px 0 0 !important;
  color: var(--mep-fix-text-soft) !important;
  line-height: 1.55 !important;
}

.mep-path-after > a {
  flex: 0 0 auto !important;
  min-height: 48px !important;
  padding: 13px 20px !important;
  border: 1px solid var(--mep-fix-white) !important;
  border-radius: 12px !important;
  color: var(--mep-fix-navy-deep) !important;
  background: var(--mep-fix-white) !important;
  box-shadow: none !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

.mep-path-after > a:hover {
  color: var(--mep-fix-green-dark) !important;
  background: #edf6f3 !important;
}

/* ---------------------------------------------------------
   COOKIES — modal harmonisé
   --------------------------------------------------------- */

.cookie-consent {
  align-items: center !important;
  padding: 20px !important;
  background: rgba(11, 25, 35, 0.68) !important;
  backdrop-filter: blur(5px) !important;
}

.cookie-consent-panel {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
  width: min(1040px, 100%) !important;
  max-height: calc(100vh - 40px) !important;
  padding: clamp(25px, 3.5vw, 36px) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 22px !important;
  color: var(--mep-fix-text-soft) !important;
  background: linear-gradient(135deg, var(--mep-fix-navy-deep) 0%, #174d43 100%) !important;
  box-shadow: 0 28px 80px rgba(5, 18, 29, 0.42) !important;
}

.cookie-consent-copy {
  max-width: 820px !important;
}

.cookie-consent-eyebrow {
  color: #9dd8c5 !important;
}

.cookie-consent h2,
.cookie-consent h2 * {
  color: var(--mep-fix-white) !important;
}

.cookie-consent p,
.cookie-consent-choice small {
  color: var(--mep-fix-text-soft) !important;
}

.cookie-consent-policy-link {
  color: #a9dfcf !important;
}

.cookie-consent-policy-link:hover {
  color: var(--mep-fix-white) !important;
}

.cookie-consent-preferences {
  grid-column: auto !important;
  gap: 12px !important;
}

.cookie-consent-choice {
  min-height: 96px !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

.cookie-consent-choice:hover {
  border-color: rgba(157, 216, 197, 0.42) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

.cookie-consent-choice strong {
  color: var(--mep-fix-white) !important;
}

.cookie-consent-choice input {
  accent-color: var(--mep-fix-green) !important;
}

.cookie-consent-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

.cookie-consent-button {
  min-height: 48px !important;
  border-radius: 11px !important;
}

.cookie-consent-button-primary {
  border-color: var(--mep-fix-green) !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-green) !important;
}

.cookie-consent-button-primary:hover {
  border-color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-green-dark) !important;
}

.cookie-consent-button-secondary {
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: var(--mep-fix-white) !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

.cookie-consent-button-secondary:hover {
  border-color: rgba(255, 255, 255, 0.5) !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

.cookie-consent-reopen {
  border-color: #c9dbd5 !important;
  color: var(--mep-fix-green-dark) !important;
  background: var(--mep-fix-white) !important;
}

.cookie-consent-reopen:hover {
  border-color: var(--mep-fix-green) !important;
  color: var(--mep-fix-white) !important;
  background: var(--mep-fix-green) !important;
}

@media (max-width: 900px) {
  .home-final-cta.cv-final-cta,
  .mep-path-after {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .home-final-cta.cv-final-cta .home-final-actions,
  .home-final-cta.cv-final-cta .button,
  .home-final-cta.cv-final-cta .button-light,
  .mep-path-after > a {
    width: 100% !important;
    text-align: center !important;
  }

  .cookie-consent-actions {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 620px) {
  .mep-path-steps > article {
    min-height: 0 !important;
  }

  .home-final-cta.cv-final-cta,
  .mep-path-after {
    padding: 24px !important;
  }

  .cookie-consent {
    padding: 10px !important;
  }

  .cookie-consent-panel {
    gap: 18px !important;
    max-height: calc(100vh - 20px) !important;
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .cookie-consent-preferences,
  .cookie-consent-actions {
    grid-template-columns: 1fr !important;
  }

  .cookie-consent-choice {
    min-height: 0 !important;
    padding: 14px !important;
  }
}
