.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

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

img,
svg,
video,
iframe {
  max-width: 100%;
}

/* Preserve the source image's responsive box after local asset materialization. */
.elementor-6 .elementor-element.elementor-element-e985612 img {
  max-width: 192px;
  width: 192px;
}

@media (max-width: 767px) {
  .elementor-6 .elementor-element.elementor-element-e985612 img {
    max-width: 92.5px;
    width: 92.5px;
  }
}

/* The archived source serves a missing 1 px school icon inside a 24 px line box. */
.elementor-1032 .elementor-element.elementor-element-ad38aa4 > .elementor-widget-container,
.elementor-1550 .elementor-element.elementor-element-f3e98ff > .elementor-widget-container,
.elementor-694 .elementor-element.elementor-element-7a89910 > .elementor-widget-container,
.elementor-1538 .elementor-element.elementor-element-89034ac > .elementor-widget-container,
.elementor-2191 .elementor-element.elementor-element-7a89910 > .elementor-widget-container,
.elementor-2919 .elementor-element.elementor-element-7a89910 > .elementor-widget-container {
  min-height: 24px;
}

/* Match the frozen Contact details strip whose kit variables are absent upstream. */
.elementor-523 .elementor-element.elementor-element-c153525,
.elementor-523 .elementor-element.elementor-element-c153525:not(.elementor-motion-effects-element-type-background) {
  background-color: transparent !important;
}

.elementor-523 .elementor-element.elementor-element-c153525 > .elementor-container {
  max-width: 1128px;
}

.elementor-523 .elementor-element.elementor-element-c153525 .elementor-image-box-img {
  flex: 0 0 140px;
  width: 140px !important;
}

.elementor-523 .elementor-element.elementor-element-c153525 .elementor-image-box-title {
  color: #6ec1e4;
  font-family: "Poppins", sans-serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 22.8px;
}

.elementor-523 .elementor-element.elementor-element-c153525 .elementor-image-box-description {
  color: #7a7a7a;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.elementor-523 .elementor-element.elementor-element-c153525 .elementor-widget-image-box {
  padding-bottom: 10px;
}

.elementor-523 .elementor-element.elementor-element-c153525 .elementor-element-0e35bb8 > .elementor-element-populated {
  padding-top: 10px;
}

/* Preserve the upstream lazy loader's real 1 px boxes without inventing icons. */
.elementor-1032 :is(
  .elementor-element-bfcc6d7,
  .elementor-element-22ffd87,
  .elementor-element-32a1016,
  .elementor-element-38c9ff5,
  .elementor-element-3daf990,
  .elementor-element-440fb2c,
  .elementor-element-522ca58,
  .elementor-element-5254cfb,
  .elementor-element-665622b,
  .elementor-element-6a71a1a,
  .elementor-element-6cd534e,
  .elementor-element-88677fd,
  .elementor-element-9faf3d5,
  .elementor-element-ab7418a,
  .elementor-element-c71114f,
  .elementor-element-cdd1464,
  .elementor-element-d34b297,
  .elementor-element-f1dc217,
  .elementor-element-f4c2a84
) > .elementor-widget-container {
  min-height: 1px;
}

@media (max-width: 767px) {
  .elementor-1032 :is(
    .elementor-element-3e5c0ab,
    .elementor-element-d32397f,
    .elementor-element-b0a2533,
    .elementor-element-70c96d9,
    .elementor-element-cd28517
  ) {
    min-height: 24px;
  }

  .elementor-523 .elementor-element.elementor-element-c153525 .elementor-element-0e35bb8 > .elementor-element-populated {
    padding-top: 26px;
  }

  .elementor-523 .elementor-element.elementor-element-c153525 .elementor-image-box-img {
    margin-bottom: 15px !important;
  }

  .elementor-523 .elementor-element.elementor-element-c153525 .elementor-widget-image-box {
    padding-bottom: 15px;
  }
}

.edison-contact-form {
  display: grid;
  gap: 18px;
  width: 100%;
}

.edison-contact-widget,
.edison-contact-widget .elementor-widget-container {
  max-width: 100%;
  width: 100%;
}

/* The current O2switch origin computes no shadow on the Contact details band. */
.elementor-523 .elementor-element.elementor-element-c153525 {
  box-shadow: none;
}

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

.edison-contact-form label {
  display: block;
}

.edison-contact-form .mf-input {
  background: #fff;
  border: 1px solid #d7dbe2;
  border-radius: 4px;
  box-sizing: border-box;
  color: #13284b;
  font-family: inherit;
  font-size: 16px;
  padding: 14px 16px;
  width: 100%;
}

.edison-contact-form .mf-input:focus {
  border-color: #f6c900;
  box-shadow: 0 0 0 3px rgb(246 201 0 / 20%);
  outline: none;
}

.edison-contact-form .mf-textarea {
  min-height: 160px;
  resize: vertical;
}

.edison-honeypot {
  left: -10000px;
  position: absolute;
}

.edison-antirobot-control {
  background: #f5f6f8;
  border: 1px solid #d7dbe2;
  border-radius: 4px;
  color: #4b5563;
  margin: 0;
  max-width: 320px;
  padding: 12px 16px;
}

.edison-antirobot-control legend {
  color: #13284b;
  font-weight: 600;
  padding: 0 4px;
}

.edison-antirobot-control .mf-input {
  margin: 6px 0;
}

.edison-antirobot-control small {
  display: block;
  line-height: 1.4;
}

.edison-form-privacy,
.edison-form-status {
  color: #4b5563;
  font-size: 14px;
  margin: 0;
}

.edison-form-status[data-state="error"] {
  color: #a11b1b;
}

.edison-form-status[data-state="success"] {
  color: #146c2e;
}

.edison-contact-form .metform-btn {
  background: #f6c900;
  border: 0;
  border-radius: 3px;
  color: #13284b;
  cursor: pointer;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  min-height: 48px;
  padding: 13px 24px;
}

.edison-contact-form .metform-btn[disabled] {
  cursor: wait;
  opacity: 0.65;
}

.edison-search-results {
  background: #fff;
  margin: 0 auto;
  max-width: 1140px;
  padding: 48px 24px;
}

@media (max-width: 1024px) {
  .hfe-nav-menu__toggle,
  .hfe-nav-menu__toggle .hfe-nav-menu-icon {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
  }
}

@media (max-width: 700px) {
  .edison-form-grid {
    grid-template-columns: 1fr;
  }

  /* Trois modèles source débordent de 10 px à cause d'une marge négative
     Elementor. On conserve la composition tout en ramenant la boîte au viewport. */
  .elementor-694 .elementor-element.elementor-element-ee3d5de > .elementor-element-populated,
  .elementor-2191 .elementor-element.elementor-element-ee3d5de > .elementor-element-populated,
  .elementor-2919 .elementor-element.elementor-element-ee3d5de > .elementor-element-populated {
    margin-right: -12% !important;
    --e-column-margin-right: -12%;
  }

  .elementor-694,
  .elementor-2191,
  .elementor-2919 {
    overflow-x: clip;
  }

  .elementor-2191 .elementor-element.elementor-element-621151f > .elementor-widget-container,
  .elementor-2191 .elementor-element.elementor-element-f3aca37 > .elementor-widget-container,
  .elementor-2191 .elementor-element.elementor-element-3b54311 > .elementor-widget-container,
  .elementor-2191 .elementor-element.elementor-element-e031c90 > .elementor-widget-container,
  .elementor-2191 .elementor-element.elementor-element-6748738 > .elementor-widget-container,
  .elementor-2191 .elementor-element.elementor-element-1d1d40f > .elementor-widget-container {
    margin-left: -20px !important;
    margin-right: -20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
