/* ================================
   ÉTUDE DE CAS — CLIC Digital
================================ */


/* ── HERO ─────────────────────── */

.cs-hero {
  position: relative;
  overflow: hidden;
  padding: 130px 40px 90px;
  background: var(--couleur-principale);
  color: #ffffff;
}

.cs-hero::before {
  content: "";
  position: absolute;
  right: -180px;
  top: 80px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(40, 196, 157, 0.12);
  border-radius: 50%;
}

.cs-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  top: 180px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(40, 196, 157, 0.10);
  border-radius: 50%;
}

.cs-hero__container {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
  gap: 60px;
  position: relative;
  z-index: 2;
}

.cs-hero__content {
  position: relative;
}

h1.cs-hero__title {
  margin: 0 0 24px !important;
  line-height: var(--lh-h1) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  font-family: 'orbitron', sans-serif !important;
  color: var(--couleur-titre-secondaire) !important;
  font-size: clamp(1.8rem, 4vw, 3.2rem) !important;
}

h1.cs-hero__title span {
  color: var(--couleur-accentuation);
}

.cs-hero__text {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--couleur-texte-secondaire);
  margin-bottom: 28px;
  max-width: 620px;
}

.cs-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
}

.cs-hero__meta {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}

.cs-hero__meta-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cs-hero__meta-label {
  font-size: var(--fs-xsmall);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.5);
}

.cs-hero__meta-value {
  font-size: var(--fs-card);
  font-weight: 600;
  color: #fff;
}


/* ── Hero KPI Grid ─────────── */

.cs-hero__kpi-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.cs-hero__kpi {
  background: var(--couleur-carte);
  border: 1px solid var(--couleur-bordure);
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cs-hero__kpi:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.15);
}

.cs-hero__kpi-num {
  display: block;
  font-size: var(--fs-num-md);
  font-weight: 800;
  font-family: 'orbitron', sans-serif;
  color: var(--couleur-accentuation);
  line-height: 1;
  margin-bottom: 8px;
}

.cs-hero__kpi-label {
  font-size: var(--fs-small);
  color: var(--couleur-texte);
}


/* ── TIMELINE NAV ─────────────── */

.cs-timeline-nav {
  background: var(--couleur-carte);
  border-bottom: 1px solid var(--couleur-bordure);
  position: relative;
  z-index: 1;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.cs-timeline-nav__container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cs-timeline-nav__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 18px 24px;
  text-decoration: none;
  color: var(--couleur-texte);
  font-size: var(--fs-small);
  font-weight: 500;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.cs-timeline-nav__item:hover,
.cs-timeline-nav__item--active {
  color: var(--couleur-accentuation);
  border-bottom-color: var(--couleur-accentuation);
}

.cs-timeline-nav__num {
  font-family: 'orbitron', sans-serif;
  font-size: var(--fs-xsmall);
  font-weight: 700;
  color: var(--couleur-accentuation);
}


/* ── SECTIONS COMMUNES ────────── */

.cs-section {
  padding: 100px 40px;
}

.cs-section--light {
  background: var(--couleur-fond);
}

.cs-section--white {
  background: var(--couleur-carte);
}

.cs-section--dark {
  background: var(--couleur-principale);
  color: #fff;
}

.cs-section--accent {
  background: linear-gradient(135deg, var(--couleur-principale) 0%, #0f1f35 100%);
  color: #fff;
}

.cs-section__container {
  max-width: 1200px;
  margin: 0 auto;
}

.cs-section__header {
  text-align: center;
  margin-bottom: 60px;
}

.cs-section__num {
  font-family: 'orbitron', sans-serif;
  font-size: var(--fs-num-lg);
  font-weight: 800;
  color: var(--couleur-accentuation);
  opacity: 0.2;
  margin-bottom: 8px;
}

.cs-section__title {
  font-size: var(--fs-h2);
  font-weight: 800;
  line-height: var(--lh-heading);
  margin-bottom: var(--space-h2);
}

.cs-section--light .cs-section__title,
.cs-section--white .cs-section__title {
  color: var(--couleur-titre);
}

.cs-section--dark .cs-section__title,
.cs-section--accent .cs-section__title {
  color: var(--couleur-titre-secondaire);
}

.cs-section__title span {
  color: var(--couleur-accentuation);
}


/* ── CONTENT LAYOUT (texte + aside) ── */

.cs-section__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}

.cs-section__text p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  margin-bottom: 16px;
}

.cs-section--light .cs-section__text p,
.cs-section--white .cs-section__text p {
  color: var(--couleur-texte);
}

.cs-section--dark .cs-section__text p,
.cs-section--accent .cs-section__text p {
  color: var(--couleur-texte-secondaire);
}

.cs-section__aside {
  background: rgba(26, 171, 119, 0.06);
  border: 1px solid rgba(26, 171, 119, 0.15);
  border-radius: 16px;
  padding: 32px;
}

.cs-section--dark .cs-section__aside {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.1);
}

.cs-section__aside h3 {
  font-size: var(--fs-h4);
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--couleur-accentuation);
}
.tag--white{
  color: var(--couleur-texte)!important;
}


/* ── CHECK LIST ────────────────── */

.cs-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-check-list li {
  position: relative;
  padding-left: 28px;
  font-size: var(--fs-card);
  line-height: var(--lh-other);
}

.cs-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--couleur-accentuation);
  font-weight: 700;
}

.cs-check-list--cross li::before {
  content: "✗";
  color: #e74c3c;
}

.cs-section--light .cs-check-list li,
.cs-section--white .cs-check-list li {
  color: var(--couleur-texte);
}

.cs-section--dark .cs-check-list li {
  color: var(--couleur-texte-secondaire);
}


/* ── HIGHLIGHT BOX ─────────────── */

.cs-highlight-box {
  margin-top: 50px;
  padding: 32px 40px;
  background: rgba(26, 171, 119, 0.08);
  border-left: 4px solid var(--couleur-accentuation);
  border-radius: 0 12px 12px 0;
}

.cs-highlight-box p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  margin: 0;
}

.cs-section--dark .cs-highlight-box {
  background: rgba(255,255,255,0.05);
}

.cs-section--white .cs-highlight-box {
  background: rgba(26, 171, 119, 0.06);
}

.cs-section--white .cs-highlight-box p {
  color: var(--couleur-texte);
}

.cs-section--white .cs-section__aside {
  background: rgba(26, 171, 119, 0.06);
  border-color: rgba(26, 171, 119, 0.15);
}

.cs-highlight-box--light {
  background: rgba(26, 171, 119, 0.1);
}

.cs-highlight-box--light p {
  color: #fff;
}


/* ── METHOD GRID ───────────────── */

.cs-method-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.cs-method-card {
  background: var(--couleur-carte);
  border: 1px solid var(--couleur-bordure);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cs-method-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}

.cs-method-card__icon {
  font-size: 2.4rem;
  margin-bottom: 16px;
}

.cs-method-card h3 {
  font-size: var(--fs-h4);
  font-weight: 700;
  color: var(--couleur-titre);
  margin-bottom: 12px;
}

.cs-method-card p {
  font-size: var(--fs-card);
  line-height: var(--lh-body);
  color: var(--couleur-texte);
}


/* ── REALISATION TARGETS ──────── */

.cs-realisation-targets {
  margin-top: 50px;
  text-align: center;
}

.cs-realisation-targets h3 {
  font-size: var(--fs-h3);
  margin-bottom: 20px;
}

.cs-section--dark .cs-realisation-targets h3 {
  color: var(--couleur-titre-secondaire);
}

.cs-section--white .cs-realisation-targets h3,
.cs-section--light .cs-realisation-targets h3 {
  color: var(--couleur-titre);
}

.cs-realisation-targets__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}



/* ── RESULTS GRID ──────────────── */

.cs-results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 60px;
}

.cs-result-card {
  background: var(--couleur-carte);
  border: 1px solid var(--couleur-bordure);
  border-radius: 16px;
  padding: 36px 24px;
  text-align: center;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.cs-result-card:hover {
  transform: translateY(-6px);
  border-color: var(--couleur-accentuation);
}

.cs-result-card__num {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  font-family: 'orbitron', sans-serif;
  color: var(--couleur-accentuation);
  line-height: 1;
  margin-bottom: 8px;
}

.cs-result-card__label {
  font-size: var(--fs-card);
  font-weight: 600;
  color: var(--couleur-principale);
  margin-bottom: 8px;
}

.cs-result-card__desc {
  font-size: var(--fs-small);
  color: var(--couleur-texte);
  line-height: var(--lh-other);
}


/* ── RESULTS BENEFITS ──────────── */

.cs-results-benefits {
  margin-bottom: 50px;
}

.cs-results-benefits h3 {
  font-size: var(--fs-h3);
  color: var(--couleur-titre-secondaire);
  text-align: center;
  margin-bottom: 24px;
}

.cs-results-benefits__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.cs-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: var(--couleur-carte);
  border: 1px solid var(--couleur-bordure);
  border-radius: 10px;
  font-size: var(--fs-card);
  color: var(--couleur-principale);
}

.cs-benefit__icon {
  color: var(--couleur-accentuation);
  font-weight: 700;
  font-size: 1.1rem;
  flex-shrink: 0;
}


/* ── PROJECTION GRID ───────────── */

.cs-projection-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 60px;
}

.cs-projection-card {
  background: var(--couleur-carte);
  border: 1px solid var(--couleur-bordure);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cs-section--white .cs-projection-card {
  background: var(--couleur-fond);
}

.cs-projection-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}

.cs-projection-card__icon {
  font-size: 2.4rem;
  display: block;
  margin-bottom: 16px;
}

.cs-projection-card h3 {
  font-size: var(--fs-h4);
  font-weight: 700;
  color: var(--couleur-titre);
  margin-bottom: 12px;
}

.cs-projection-card p {
  font-size: var(--fs-card);
  line-height: var(--lh-body);
  color: var(--couleur-texte);
}


/* ── QUOTE ─────────────────────── */

.cs-section__quote {
  text-align: center;
}

.cs-section__quote blockquote {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  font-style: italic;
  color: var(--couleur-texte);
  max-width: 800px;
  margin: 0 auto;
  padding: 32px 0;
  border-top: 2px solid var(--couleur-accentuation);
  border-bottom: 2px solid var(--couleur-accentuation);
}



/* ── RESPONSIVE ────────────────── */

@media (max-width: 1024px) {

  .cs-hero__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .cs-hero__kpi-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .cs-method-grid,
  .cs-results-grid,
  .cs-projection-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cs-results-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cs-section__content {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 768px) {

  .cs-hero {
    padding: 100px 20px 60px;
  }

  .cs-section {
    padding: 60px 20px;
  }

  .cs-hero__kpi-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cs-hero__meta {
    flex-direction: column;
    gap: 16px;
  }

  .cs-timeline-nav__item {
    padding: 14px 16px;
  }

  .cs-timeline-nav__label {
    display: none;
  }

  .cs-method-grid,
  .cs-projection-grid {
    grid-template-columns: 1fr;
  }

  .cs-results-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cs-results-benefits__grid {
    grid-template-columns: 1fr;
  }

  .cs-highlight-box {
    padding: 24px;
  }

  .cs-cta {
    padding: 60px 20px;
  }
}

@media (max-width: 480px) {

  .cs-results-grid {
    grid-template-columns: 1fr;
  }

  .cs-hero__kpi-grid {
    grid-template-columns: 1fr;
  }
}
