/*
 * Collectivité Infos — Elementor design system 0.11.4
 * Every imported model owns its boxed/full width settings in Elementor itself.
 */
:root {
  --ci-content-width: 1300px;
  --ci-wide-width: 1500px;
  --ci-border: #e4dfe2;
  --ci-muted: #f4f0f2;
  --ci-soft: #f8f6f7;
}

.elementor .e-con,
.elementor .elementor-widget,
.elementor .elementor-widget-container { min-width: 0; }

.ci-kicker .elementor-heading-title,
.elementor-widget.ci-kicker .elementor-heading-title,
.ci-kicker {
  color: #8f3f6c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.ci-title .elementor-heading-title,
.elementor-widget.ci-title .elementor-heading-title {
  color: var(--cdi-ink);
  font-size: clamp(38px, 4.6vw, 68px);
  font-weight: 800;
  letter-spacing: -.038em;
  line-height: 1.03;
}
.ci-section-title .elementor-heading-title,
.elementor-widget.ci-section-title .elementor-heading-title {
  color: var(--cdi-ink);
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 800;
  letter-spacing: -.027em;
  line-height: 1.08;
}
.ci-lead,
.ci-lead .elementor-widget-container,
.ci-lead p {
  color: #68676e;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
}
.ci-section--soft { background: var(--ci-soft); }
.ci-section--muted { background: var(--ci-muted); }
.ci-section--ink { background: var(--cdi-ink); color: #fff; }
.ci-panel,
.elementor-widget.ci-panel > .elementor-widget-container,
.e-con.ci-panel {
  background: #fff;
  border: 1px solid var(--ci-border);
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(45,45,50,.055);
}
.ci-button .elementor-button,
.elementor-widget.ci-button .elementor-button {
  border-radius: 0;
  background: var(--cdi-ink);
  color: #fff;
  font-weight: 800;
  padding: 14px 22px;
}
.ci-button .elementor-button:hover,
.ci-button .elementor-button:focus-visible { background: #8f3f6c; color: #fff; }
.ci-button--outline .elementor-button { border: 1px solid var(--cdi-ink); background: transparent; color: var(--cdi-ink); }

.ci-module,
.ci-module .elementor-widget-container,
.ci-module .ci-module-host,
.ci-module .cdi-module-host,
.ci-module .cdi-module-output {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.ci-module img,
.ci-module iframe,
.ci-module video,
.ci-module canvas,
.ci-module svg { max-width: 100%; }
.ci-module table { width: 100%; max-width: 100%; }
.ci-module .leaflet-container,
.ci-module [class*="map"],
.ci-module [data-map] { max-width: 100%; }
.ci-overflow-x { overflow-x: auto; overscroll-behavior-inline: contain; }

/* Structural geometry stays square without changing Elementor widths. */
.cdi-site .ci-panel,
.cdi-site .cdi-form-shell,
.cdi-site .cdi-ad-slot { border-radius: 0; }

@media (max-width: 767px) {
  .ci-title .elementor-heading-title,
  .elementor-widget.ci-title .elementor-heading-title { font-size: clamp(34px, 10vw, 50px); }
}
