.leka-activity-messages {
  --lam-navy: var(--color-navy, #081D3A);
  --lam-blue: var(--color-blue, #2563FF);
  --lam-green: var(--color-mint, #22C55E);
  --lam-coral: var(--color-coral, #FF6B5A);
  --lam-slate: var(--color-slate, #64748B);
  --lam-border: var(--color-border, #E5EAF2);
  --lam-offwhite: var(--color-off-white, #F7F8FA);
  position: relative;
  padding: 68px 0;
  background: linear-gradient(180deg, #fbfcfe 0%, var(--lam-offwhite) 100%);
  overflow: hidden;
}

.leka-activity-messages::before {
  content: "";
  position: absolute;
  top: 50px;
  left: max(24px, calc((100vw - 1200px) / 2));
  width: 96px;
  height: 60px;
  opacity: 0.18;
  pointer-events: none;
  background-image: radial-gradient(rgba(37, 99, 255, 0.24) 1.2px, transparent 1.2px);
  background-size: 18px 18px;
}

.leka-activity-messages__inner {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1200px);
  margin-inline: auto;
}

.leka-activity-messages__heading {
  max-width: 820px;
  margin: 0 auto 42px;
  color: var(--lam-navy);
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.045em;
  text-align: center;
}

.leka-activity-messages__heading-accent {
  color: color-mix(in srgb, var(--lam-blue) 82%, var(--lam-navy));
}

.leka-activity-messages__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.leka-activity-message-card {
  min-height: 148px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding: 28px 30px;
  border: 1px solid rgba(8, 29, 58, 0.09);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 12px 30px rgba(8, 29, 58, 0.045);
}

.leka-activity-message-card--health {
  border-color: rgba(47, 172, 102, 0.18);
  background: color-mix(in srgb, var(--lam-green) 5%, #fff);
}

.leka-activity-message-card--artisan {
  border-color: rgba(37, 99, 255, 0.16);
  background: color-mix(in srgb, var(--lam-blue) 5%, #fff);
}

.leka-activity-message-card--commerce {
  border-color: rgba(255, 107, 90, 0.16);
  background: color-mix(in srgb, var(--lam-coral) 5%, #fff);
}

.leka-activity-message-card--services {
  border-color: rgba(100, 116, 139, 0.14);
  background: color-mix(in srgb, var(--lam-slate) 5%, #fff);
}

.leka-activity-message-card__icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(8, 29, 58, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow: none;
}

.leka-activity-message-card__icon svg {
  width: 31px;
  height: 31px;
  display: block;
}

.leka-activity-message-card__category {
  margin: 0 0 9px;
  color: var(--lam-slate);
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.leka-activity-message-card--health .leka-activity-message-card__category,
.leka-activity-message-card--health .leka-activity-message-card__icon {
  color: #237c4b;
}

.leka-activity-message-card--artisan .leka-activity-message-card__category,
.leka-activity-message-card--artisan .leka-activity-message-card__icon {
  color: var(--lam-blue);
}

.leka-activity-message-card--commerce .leka-activity-message-card__category,
.leka-activity-message-card--commerce .leka-activity-message-card__icon {
  color: #c54c42;
}

.leka-activity-message-card--services .leka-activity-message-card__category,
.leka-activity-message-card--services .leka-activity-message-card__icon {
  color: #334155;
}

.leka-activity-message-card__title {
  margin: 0 0 8px;
  color: var(--lam-navy);
  font-size: clamp(21px, 1.7vw, 26px) !important;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.03em;
}

.leka-activity-message-card__text {
  margin: 0;
  color: var(--lam-slate);
  font-size: 15px;
  line-height: 1.62;
}

@media (max-width: 900px) {
  .leka-activity-messages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .leka-activity-message-card {
    grid-template-columns: 1fr;
    align-content: start;
    min-width: 0;
    min-height: 190px;
    gap: 14px;
    padding: 22px;
  }

  .leka-activity-message-card__content {
    min-width: 0;
  }

  .leka-activity-message-card__category,
  .leka-activity-message-card__title {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px) {
  .leka-activity-messages {
    padding: 42px 0 48px;
  }

  .leka-activity-messages__inner {
    width: min(100% - 24px, 1200px);
  }

  .leka-activity-messages__heading {
    max-width: 520px;
    margin-bottom: 22px;
    font-size: 30px !important;
    line-height: 1.08;
  }

  .leka-activity-messages__grid {
    gap: 12px;
  }

  .leka-activity-message-card {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 12px;
    min-height: 0;
    padding: 20px;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(8, 29, 58, 0.04);
  }

  .leka-activity-message-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  .leka-activity-message-card__icon svg {
    width: 23px;
    height: 23px;
  }

  .leka-activity-message-card__category {
    margin-bottom: 5px;
    font-size: 10px !important;
    line-height: 1.15;
    letter-spacing: 0.12em;
  }

  .leka-activity-message-card__title {
    margin: 0 0 6px;
    font-size: 20px !important;
    line-height: 1.16;
    letter-spacing: -0.025em;
  }

  .leka-activity-message-card__text {
    display: block;
    font-size: 14px;
    line-height: 1.55;
  }
}

@media (min-width: 520px) and (max-width: 767px) {
  .leka-activity-messages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leka-activity-message-card {
    min-height: 156px;
  }
}

@media (max-width: 519px) {
  .leka-activity-messages__grid {
    grid-template-columns: 1fr;
  }

  .leka-activity-message-card {
    min-height: 0;
  }
}

/* ── /activites-locales/ : renforts conversion ─────────────────────────── */

/* Intro sous le titre "Le bon message selon votre activité" */
.leka-activity-messages__intro {
  max-width: 720px;
  margin: -28px auto 42px;
  text-align: center;
  color: var(--color-slate, #4B5A73);
  font-size: 15px;
  line-height: 1.7;
}

/* "Ce que nous mettons en place concrètement" : 4 cartes */
.leka-local-outcomes {
  padding: 72px 0;
  background: var(--color-white, #fff);
}

.leka-local-outcomes__inner {
  width: min(100% - 48px, var(--container, 1200px));
  margin-inline: auto;
}

.leka-local-outcomes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  margin-top: 44px;
}

.leka-local-outcomes__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px 22px;
  background: #fbfcfe;
  border: 1px solid var(--color-border, #DDE6F2);
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(8, 29, 58, 0.05);
}

.leka-local-outcomes__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: var(--color-blue-soft, #EAF1FF);
  color: var(--color-blue, #2563FF);
  flex-shrink: 0;
}

.leka-local-outcomes__icon svg {
  width: 24px;
  height: 24px;
}

.leka-local-outcomes__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--color-navy, #081D3A);
}

.leka-local-outcomes__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--color-slate, #4B5A73);
}

/* Bande CTA "Vous ne savez pas quelle famille choisir ?" */
.leka-local-choice-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 36px;
  padding: 28px 32px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #DDE6F2);
  border-radius: 20px;
  box-shadow: 0 4px 24px rgba(8, 29, 58, 0.06);
}

.leka-local-choice-cta__title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 800;
  color: var(--color-navy, #081D3A);
}

.leka-local-choice-cta__text {
  margin: 0;
  font-size: 14px;
  color: var(--color-slate, #4B5A73);
}

.leka-local-choice-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.leka-local-choice-cta__link {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-blue, #2563FF);
  text-decoration: none;
}

.leka-local-choice-cta__link:hover,
.leka-local-choice-cta__link:focus-visible {
  text-decoration: underline;
}

/* "Vos clients vérifient tout" : partie impact des items */
.sol-check__impact {
  color: oklch(70% 0.012 252);
  font-weight: 600;
}

/* "Pourquoi ce n'est pas une présence digitale générique" : 5 cartes */
.leka-local-generic {
  padding: 72px 0;
  background: linear-gradient(180deg, #fbfcfe 0%, var(--color-off-white, #F7F8FA) 100%);
}

.leka-local-generic__inner {
  width: min(100% - 48px, var(--container, 1200px));
  margin-inline: auto;
}

.leka-local-generic__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}

.leka-local-generic__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px 20px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #DDE6F2);
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(8, 29, 58, 0.05);
}

.leka-local-generic__num {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--color-mint, #22C55E);
  font-variant-numeric: tabular-nums;
}

.leka-local-generic__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--color-navy, #081D3A);
}

.leka-local-generic__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  color: var(--color-slate, #4B5A73);
}

@media (max-width: 1024px) {
  .leka-local-outcomes__grid,
  .leka-local-generic__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .leka-local-outcomes__grid,
  .leka-local-generic__grid {
    grid-template-columns: 1fr;
  }

  .leka-local-choice-cta {
    padding: 24px 20px;
  }
}
