.form-top .form-card {
      max-width: 460px;
      margin: 0 auto;
      padding: 26px 30px;
      box-sizing: border-box;
    }

    .form-top .form-card__title {
      font-size: 1.35rem;
      margin-bottom: 4px;
    }

    .form-top .form-card__subtitle {
      font-size: 0.9rem;
      margin-bottom: 16px;
    }

    .form-top .form-card__form {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .form-top .form-row {
      display: flex;
      gap: 12px;
    }

    .form-top .form-row .form-group {
      flex: 1;
      min-width: 0;
      margin-bottom: 0;
    }

    .form-top .form-group {
      margin-bottom: 0;
    }

    .form-top .form-group label {
      display: block;
      font-size: 0.82rem;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .form-top .form-group input,
    .form-top .form-group textarea {
      width: 100%;
      box-sizing: border-box;
      padding: 9px 12px;
      font-size: 0.92rem;
      border-radius: 8px;
      border: 1px solid #d7d7d7;
      font-family: inherit;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .form-top .form-group input:focus,
    .form-top .form-group textarea:focus {
      outline: none;
      border-color: #72bf40;
      box-shadow: 0 0 0 3px rgba(114, 191, 64, 0.15);
    }

    .form-top .form-group textarea {
      resize: vertical;
      min-height: 64px;
    }

    .form-top .form-card__button {
      width: 100%;
      padding: 10px 0;
      font-size: 0.92rem;
      margin-top: 2px;
    }

    @media (max-width: 540px) {
      .form-top .form-row {
        flex-direction: column;
        gap: 12px;
      }
      .form-top .form-card {
        padding: 22px 18px;
      }
    }

    /* ===== VIDÉO DE FOND SECTION HERO (big-bloc) ===== */
    .big-bloc {
      position: relative;
      overflow: hidden;
    }

    .big-bloc__video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
    }

    /* Voile sombre sur la vidéo pour garder le texte lisible */
    .big-bloc__overlay {
      position: absolute;
      inset: 0;
      background: rgba(10, 5, 20, 0.55);
      z-index: 1;
      pointer-events: none;
    }

    .big-bloc__container {
      position: relative;
      z-index: 2;
    }

    /* ===== CHAMP HONEYPOT ANTI-SPAM (invisible pour les humains) ===== */
    .hp-field {
      position: absolute;
      left: -9999px;
      top: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }
  
    /* ===== FAQ (section visible = conforme aux données structurées FAQPage) ===== */
    .faq-section { max-width: 900px; margin: 0 auto; padding: 56px 20px 24px; box-sizing: border-box; }
    .faq-section__title { font-size: clamp(1.4rem, 2.6vw, 2rem); text-align: center; margin: 0 0 28px; }
    .faq-item { border: 1px solid #e3e3e3; border-radius: 12px; margin-bottom: 12px; background: #fff; overflow: hidden; }
    .faq-item summary { cursor: pointer; padding: 16px 20px; font-weight: 700; list-style: none; position: relative; padding-right: 48px; }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: #72bf40; transition: transform .2s ease; }
    .faq-item[open] summary::after { content: "–"; }
    .faq-item summary:focus-visible { outline: 3px solid rgba(114,191,64,.45); outline-offset: -3px; }
    .faq-item p { margin: 0; padding: 0 20px 18px; line-height: 1.6; }

    /* Titres h2 : style.css force h2 { color: white } -> on rétablit une couleur lisible sur fond clair */
    .faq-section__title { color: #1a0f2e; }

    /* Bandeaux : style.css les fixe à 1300px, ce qui crée un défilement horizontal sur mobile/tablette.
       Même rendu sur grand écran (max 1300px, centré), mais ils se réduisent sur les écrans plus étroits. */
    .gradient-bg, .bandeau-flotte, .bandeau-services { width: 100%; max-width: 1300px; }

    /* Carrousel d'avis : 8 cartes au lieu de 6.
       - padding-right = gap, pour que la boucle (-50%) tombe pile sur la 1re carte copiée
       - durée augmentée pour garder la même vitesse de défilement qu'avec 6 cartes */
    .avis-carrousel-track { padding-right: 24px; animation-duration: 33s; }
    @media (max-width: 600px) { .avis-carrousel-track { padding-right: 24px; animation-duration: 27s; } }
