/* BSP — Mise à jour visuelle 0.15.2 */

/* L'animation générale ne doit jamais masquer les cartes objectifs. */
html.cs-motion-ready body .cs-home-card-grid .cs-home-card.cs-reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Photo réelle du studio : cadrage et traitement cohérents avec l'identité BSP. */
body .cs-home-about__visual {
  min-height: clamp(560px, 43vw, 690px) !important;
  box-shadow:
    0 34px 75px rgba(9, 11, 13, 0.22),
    0 10px 28px rgba(9, 11, 13, 0.14) !important;
}

body .cs-home-about__visual::after {
  background:
    linear-gradient(90deg, rgba(4, 6, 7, 0.34) 0%, rgba(4, 6, 7, 0.05) 62%),
    linear-gradient(180deg, rgba(4, 6, 7, 0.08) 8%, rgba(4, 6, 7, 0.36) 55%, rgba(4, 6, 7, 0.92) 100%) !important;
}

body .cs-home-about__image img {
  object-position: 50% 52% !important;
  filter: saturate(0.9) contrast(1.08) brightness(0.82) !important;
}

/* Une ligne sur ordinateur, deux lignes volontairement maîtrisées sur mobile. */
body .bsp-objectives-title .elementor-heading-title {
  max-width: none !important;
  white-space: nowrap !important;
}

body .bsp-objective-title-line {
  display: inline !important;
}

body .cs-home-card::before {
  background:
    linear-gradient(
      180deg,
      rgba(5, 6, 7, 0.2) 0%,
      rgba(5, 6, 7, 0.34) 34%,
      rgba(5, 6, 7, 0.78) 66%,
      rgba(5, 6, 7, 0.97) 91%,
      #07090a 100%
    ) !important;
}

body .cs-home-card h3.elementor-heading-title {
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.78) !important;
}

body .cs-home-card p,
body .cs-home-card .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.78) !important;
}

body .cs-home-card__link .elementor-button {
  width: max-content !important;
  min-height: 42px !important;
  margin-top: 8px !important;
  padding: 11px 18px !important;
  color: #f4d77f !important;
  border: 1px solid rgba(240, 207, 118, 0.76) !important;
  border-radius: 999px !important;
  background: rgba(7, 9, 10, 0.9) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 10px 24px rgba(0, 0, 0, 0.34) !important;
}

body .cs-home-card__link .elementor-button,
body .cs-home-card__link .elementor-button-text {
  opacity: 1 !important;
  visibility: visible !important;
}

body .cs-home-card__link .elementor-button:hover,
body .cs-home-card__link .elementor-button:focus-visible {
  color: #fff6d5 !important;
  border-color: #f4d77f !important;
  background: #171b1e !important;
}

body .cs-home-testimonials__title .elementor-heading-title {
  font-family: "Manrope", Arial, sans-serif !important;
  font-weight: 740 !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
}

@media (max-width: 680px) {
  body .cs-home-about__visual {
    min-height: clamp(460px, 132vw, 610px) !important;
    padding: 28px 24px !important;
    border-radius: 26px 26px 78px 26px !important;
    box-shadow: 0 24px 52px rgba(9, 11, 13, 0.2) !important;
  }

  body .cs-home-about__image img {
    object-position: 51% 50% !important;
  }

  body .bsp-objectives-title .elementor-heading-title {
    white-space: normal !important;
  }

  body .bsp-objective-title-line {
    display: block !important;
  }

  body .bsp-objective-title-line--second {
    white-space: nowrap !important;
  }

  body .cs-home-card__link .elementor-button {
    min-height: 40px !important;
    margin-top: 10px !important;
    padding: 10px 17px !important;
  }
}

/* Sécurité de rendu pendant la mise à jour des contenus juridiques existants. */
body .cs-page--legal .cs-page__content > h1:first-child {
  display: none !important;
}
