/* Corrections responsive communes à tout le site (oct. 2026) */

/* Les cartes blanches prennent toute la largeur (le template les bloquait à 280 px) */
@media (max-width: 991px) {
  .offers---card, .case-study---card, .case-study---project-card---container-intern, .note-information-card { max-width: none !important; width: 100%; box-sizing: border-box; }
  /* Comment ça se passe : pas de jauge étape par étape, tout est visible */
  .mi-hsteps-item .mi-hsteps-dot { border-color: var(--_color---accent, #2563eb) !important; background: var(--_color---accent, #2563eb) !important; color: #fff !important; }
  .mi-hsteps-item, .mi-hsteps-card { opacity: 1 !important; transform: none !important; }
}

@media (max-width: 767px) {
  /* Textes alignés à gauche */
  main .h1, main .h2, main .h3, main .h4, main .body, main .body-small, main .title-section, main .label-text, main p, main blockquote,
  main [class*="text-center"], main [class*="center"]:not(.button-primary):not(.button-secondary) { text-align: left !important; }
  main .inner-container-700px-center, main .inner-container-600px---center-5, main [class*="inner-container"] { margin-left: 0 !important; margin-right: 0 !important; }
  main .button---container, main .button---container.center, main .button-row-left { justify-content: flex-start !important; align-items: flex-start !important; }
  main .cs-hero-txt, main .qv-hero-txt { align-items: flex-start !important; text-align: left !important; }
  main .cs-hero-txt .body, main .qv-hero-txt .body { text-align: left !important; }
  main .cs-pills, main .qv-pills { justify-content: flex-start !important; }
  main .cs-cta .cs-head, main .qv-cta .qv-head, main .qv-ba-head { align-items: flex-start !important; margin-left: 0 !important; }
  main .cs-cta .h2, main .qv-cta .h2, main .cs-cta .body, main .qv-cta .body { text-align: left !important; }
  main .cs-cta, main .qv-cta { text-align: left !important; }

  /* Chaîne « À la fin, vous savez » : une puce par ligne, flèche vers le bas entre les puces */
  .mi-chain { flex-direction: column; align-items: stretch; gap: 34px; max-width: 360px; margin-left: 0; }
  .mi-chain li { position: relative; text-align: center !important; }
  .mi-chain li:not(:last-child)::after { content: "↓"; position: absolute; left: 50%; bottom: -29px; transform: translateX(-50%); margin: 0; color: var(--_color---accent, #2563eb) !important; font-size: 1.1rem; }
  .mi-chain-label { text-align: left !important; }

  /* Options : les cartes se superposent au fil du scroll */
  .mi-options { display: block !important; }
  .mi-options > .case-study---card { position: sticky; top: 92px; margin-bottom: 16px; box-shadow: 0 -10px 30px -18px rgba(20, 20, 43, .35), 0 2px 7px #14142b0f; }
  .mi-options > .case-study---card:nth-child(2) { top: 104px; }
  .mi-options > .case-study---card:nth-child(3) { top: 116px; }
  .mi-options > .case-study---card:nth-child(4) { top: 128px; }
  .mi-options > .case-study---card .case-study---card---container { min-height: 170px; box-sizing: border-box; }
}

/* Design Partner : de l'air sous les listes du périmètre */
.mi-exp-grid .mi-exp-card { padding-bottom: 28px; }

/* Petits écrans (jusqu'à 260 px) : rien ne doit dépasser */
@media (max-width: 479px) {
  .hero---grid-hero, .grid-footer-v1 { grid-template-columns: minmax(0, 1fr) !important; }
  .layout-grid > *, .cs-2col > *, .cs-hero-grid > * { min-width: 0; }
  .div-block, .div-block-40, .div-block-41, .div-block-42 { min-width: 0 !important; max-width: 100%; }
  .footer-list-item, .footer-link, .footer-col-title { overflow-wrap: anywhere; }
  main .h1, main .h2 { overflow-wrap: break-word; hyphens: auto; }
  .button-primary, .button-secondary { white-space: normal; max-width: 100%; box-sizing: border-box; }
  .hamburger-menu-bar-top, .hamburger-menu-bar-bottom { width: 36px; }
}
@media (max-width: 359px) {
  .um-2 { grid-template-columns: minmax(0, 1fr); }
  .hm-stage { max-width: 100%; }
}
@media (max-width: 479px) {
  .div-block-40, .div-block-41, .div-block-42 { width: auto !important; }
  .div-block-39 { max-width: 100%; }
}
@media (max-width: 479px) {
  .hero---grid-hero > * { justify-self: stretch; max-width: 100%; }
  .title-section { overflow-wrap: anywhere; }
}
@media (max-width: 359px) {
  main .h1 { font-size: 1.85rem !important; }
  .faq-list, .mg-bottom-48px-3 { min-width: 0; max-width: 100%; }
  .faq-question { min-width: 0; }
}
@media (max-width: 359px) {
  .sp-hl-coral, .h1---span { white-space: normal !important; }
  .offers---body---container { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
}
/* Tablette paysage : la bulle du hero ne sort plus de l'écran */
@media (min-width: 992px) and (max-width: 1199px) { .hm-note-a { left: 0; } }
