/* Elementor 4.x compatibility for the editable Sandaga homepage. */
body.elementor-page .sandaga-editor-hero {
  min-height: clamp(590px, 72vh, 760px) !important;
  padding: clamp(78px, 9vw, 132px) clamp(24px, 7vw, 110px) !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  background:
    linear-gradient(90deg, rgba(3,15,26,.97) 0%, rgba(4,26,42,.91) 48%, rgba(4,23,38,.36) 76%, rgba(4,18,30,.18) 100%),
    url('../images/sandaga-market.webp') center 42% / cover no-repeat !important;
}

body.elementor-page .sandaga-editor-hero > .elementor-widget {
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  flex: 0 0 auto !important;
}

body.elementor-page .sandaga-editor-hero h1 {
  max-width: 820px !important;
  margin: 18px 0 27px !important;
  font-size: clamp(54px, 6vw, 92px) !important;
  line-height: .98 !important;
  text-wrap: balance;
}

body.elementor-page .sandaga-editor-hero .sandaga-hero-intro {
  max-width: 660px !important;
  color: #d3e2eb !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
}

body.elementor-page .sandaga-editor-hero .sandaga-gold-button {
  margin-top: 25px !important;
}

body.elementor-page .sandaga-editor-section {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(72px, 8vw, 112px) clamp(24px, 6vw, 92px) !important;
  gap: 18px !important;
}

body.elementor-page .sandaga-editor-section > .elementor-widget,
body.elementor-page .sandaga-editor-section > .elementor-element {
  width: min(100%, 1220px) !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.elementor-page .sandaga-editor-section h2 {
  max-width: 980px;
  font-size: clamp(40px, 4.7vw, 70px) !important;
  line-height: 1.04 !important;
  text-wrap: balance;
}

/* Elementor 4 adds .e-con-inner around boxed containers. The grid belongs
   on that wrapper, not on the outer container. */
body.elementor-page .sandaga-editor-grid {
  display: block !important;
  width: min(100%, 1220px) !important;
  max-width: 1220px !important;
  padding: 0 !important;
  margin: 28px auto 0 !important;
}

body.elementor-page .sandaga-editor-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body.elementor-page .sandaga-editor-grid:has(> .e-con-inner > :nth-child(4)) > .e-con-inner {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.elementor-page .sandaga-editor-card {
  width: auto !important;
  min-width: 0 !important;
  min-height: 210px !important;
  padding: 0 !important;
  border: 1px solid #d9e6ed !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 15px 38px rgba(7,35,54,.08) !important;
  overflow: hidden !important;
}

body.elementor-page .sandaga-editor-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 210px !important;
  padding: 28px !important;
}

body.elementor-page .sandaga-editor-card .elementor-widget {
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page .sandaga-editor-card h3 {
  margin: 0 !important;
  font-size: clamp(24px, 2.1vw, 34px) !important;
  line-height: 1.08 !important;
}

body.elementor-page .sandaga-editor-card p {
  margin: 0 !important;
  color: #5b6d7c !important;
  line-height: 1.55 !important;
}

body.elementor-page .sandaga-editor-dark .sandaga-editor-card {
  background: #0d3047 !important;
  border-color: rgba(255,255,255,.18) !important;
}

body.elementor-page .sandaga-editor-dark .sandaga-editor-card p {
  color: #bfd1dc !important;
}

@media (max-width: 920px) {
  body.elementor-page .sandaga-editor-grid > .e-con-inner,
  body.elementor-page .sandaga-editor-grid:has(> .e-con-inner > :nth-child(4)) > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.elementor-page .sandaga-editor-hero {
    min-height: 600px !important;
    padding: 72px 24px !important;
    background-position: 62% center !important;
  }

  body.elementor-page .sandaga-editor-hero h1 {
    font-size: clamp(46px, 13vw, 63px) !important;
  }

  body.elementor-page .sandaga-editor-section {
    padding: 68px 22px !important;
  }

  body.elementor-page .sandaga-editor-section h2 {
    font-size: clamp(36px, 11vw, 52px) !important;
  }

  body.elementor-page .sandaga-editor-grid > .e-con-inner,
  body.elementor-page .sandaga-editor-grid:has(> .e-con-inner > :nth-child(4)) > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body.elementor-page .sandaga-editor-card,
  body.elementor-page .sandaga-editor-card > .e-con-inner {
    min-height: 170px !important;
  }
}

/* Sandaga 1.9.9 — parcours d'accueil plus court, lisible et orienté action. */
body.elementor-page .sandaga-elementor-full-width {
  overflow: clip;
  background: #f5f8fb;
}

body.elementor-page .sandaga-home-hero {
  min-height: clamp(620px, 78vh, 790px) !important;
}

body.elementor-page .sandaga-home-hero .elementor-widget-button {
  display: inline-flex !important;
  width: auto !important;
  margin-right: 10px !important;
}

body.elementor-page .sandaga-home-hero .sandaga-outline-button .elementor-button {
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 999px;
  background: rgba(5,18,30,.38);
  color: #fff;
  padding: 16px 23px;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

body.elementor-page .sandaga-home-hero .sandaga-outline-button .elementor-button:hover {
  border-color: #fff;
  background: #fff;
  color: #07131f;
}

body.elementor-page .sandaga-home-proof {
  position: relative !important;
  z-index: 5 !important;
  margin-top: -46px !important;
  padding: 0 24px 42px !important;
  background: transparent !important;
}

body.elementor-page .sandaga-home-proof > .elementor-widget-heading,
body.elementor-page .sandaga-home-proof > .e-con-inner > .elementor-widget-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

body.elementor-page .sandaga-home-proof .sandaga-editor-grid {
  margin-top: 0 !important;
}

body.elementor-page .sandaga-home-proof .sandaga-editor-card {
  min-height: 175px !important;
  border-color: #cfe0e9 !important;
  box-shadow: 0 22px 58px rgba(3,31,49,.16) !important;
}

body.elementor-page .sandaga-home-proof .sandaga-editor-card > .e-con-inner {
  min-height: 175px !important;
  justify-content: flex-start !important;
}

body.elementor-page .sandaga-home-proof .sandaga-editor-card h3 {
  color: #078bc5 !important;
  font-size: clamp(40px, 4vw, 58px) !important;
}

body.elementor-page .sandaga-card-link {
  margin-top: auto !important;
}

body.elementor-page .sandaga-card-link .elementor-button {
  padding: 0 0 5px !important;
  border-bottom: 2px solid #0798d5;
  border-radius: 0 !important;
  background: transparent !important;
  color: #086f9d !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

body.elementor-page .sandaga-home-next {
  position: relative;
  z-index: 2;
}

/* Les sliders possèdent déjà leur propre espace interne. On retire le double
   padding Elementor qui rendait l'accueil inutilement long. */
body.elementor-page .sandaga-home-slider-section {
  display: block !important;
  padding: 0 !important;
  gap: 0 !important;
  background: transparent !important;
}

body.elementor-page .sandaga-home-slider-section > .elementor-widget-heading,
body.elementor-page .sandaga-home-slider-section > .e-con-inner > .elementor-widget-heading {
  display: none !important;
}

body.elementor-page .sandaga-home-slider-section > .elementor-widget,
body.elementor-page .sandaga-home-slider-section > .elementor-element,
body.elementor-page .sandaga-home-slider-section > .e-con-inner,
body.elementor-page .sandaga-home-slider-section > .e-con-inner > .elementor-widget,
body.elementor-page .sandaga-home-slider-section > .e-con-inner > .elementor-element {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.elementor-page .sandaga-home-archives .sandaga-articles-widget__title {
  display: none !important;
}

body.elementor-page .sandaga-home-archives {
  padding-top: clamp(72px, 8vw, 105px) !important;
  padding-bottom: clamp(72px, 8vw, 105px) !important;
}

body.elementor-page .sandaga-home-exhibitor-cta,
body.elementor-page .sandaga-home-partner-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: clamp(35px, 8vw, 120px) !important;
  min-height: 350px !important;
}

body.elementor-page .sandaga-home-exhibitor-cta > .elementor-widget,
body.elementor-page .sandaga-home-partner-cta > .elementor-widget {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
}

body.elementor-page .sandaga-home-exhibitor-cta > .elementor-widget-button,
body.elementor-page .sandaga-home-partner-cta > .elementor-widget-button {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  width: auto !important;
  min-width: 220px !important;
}

body.elementor-page .sandaga-home-about {
  padding-top: clamp(78px, 8vw, 112px) !important;
  padding-bottom: clamp(78px, 8vw, 112px) !important;
}

body.elementor-page .sandaga-home-calendar {
  padding-top: clamp(65px, 7vw, 90px) !important;
  padding-bottom: clamp(65px, 7vw, 90px) !important;
}

body.elementor-page .sandaga-home-calendar .sandaga-editor-card {
  min-height: 175px !important;
}

@media (max-width: 920px) {
  body.elementor-page .sandaga-home-proof {
    margin-top: 0 !important;
    padding-top: 28px !important;
    background: #edf5f9 !important;
  }

  body.elementor-page .sandaga-home-exhibitor-cta,
  body.elementor-page .sandaga-home-partner-cta {
    grid-template-columns: 1fr !important;
    align-items: flex-start !important;
  }

  body.elementor-page .sandaga-home-exhibitor-cta > .elementor-widget-button,
  body.elementor-page .sandaga-home-partner-cta > .elementor-widget-button {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 620px) {
  body.elementor-page .sandaga-home-hero .elementor-widget-button {
    display: flex !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.elementor-page .sandaga-home-hero .elementor-widget-button .elementor-button {
    width: 100% !important;
  }

  body.elementor-page .sandaga-home-proof {
    padding: 22px 18px 38px !important;
  }

  body.elementor-page .sandaga-home-proof .sandaga-editor-card,
  body.elementor-page .sandaga-home-proof .sandaga-editor-card > .e-con-inner {
    min-height: 155px !important;
  }

  body.elementor-page .sandaga-home-exhibitor-cta,
  body.elementor-page .sandaga-home-partner-cta {
    min-height: 0 !important;
    padding: 66px 22px !important;
  }
}
