/* Responsive contact — géré dans contact.css */
/*
======================================
Responsive
======================================
*/

/* ---- Tablette paysage (≤ 1199px) ---- */
@media (max-width: 1199px) {

  /* Layout : empilement, blocs en haut / formulaire en bas */
  .contact__container {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .contact__container .contact-form {
    grid-column: 1;
    grid-row: 2;
  }

  .contact__container .contact_block_right {
    grid-column: 1;
    grid-row: 1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Blocs info : 3 en ligne si la place le permet */
  /*.contact-info-block {*/
  /*  flex: 1 1 220px;*/
  /*  min-width: 220px;*/
  /*}*/

  /* Formulaire : réduit la partie gauche optionnelle */
  .contact-form__left {
    padding: 28px 24px;
  }
}

/* ---- Tablette portrait (≤ 992px) ---- */
@media (max-width: 992px) {

  .contact-header {
    margin: 40px 0 32px;
  }

  /* Blocs info : 2 par ligne */
  /*.contact-info-block {*/
  /*  flex: 1 1 calc(50% - 6px);*/
  /*  min-width: 0;*/
  /*}*/

  /* Formulaire interne : on garde 2 colonnes */
  .contact-form__right {
    padding: 20px;
    gap: 12px;
  }
}

/* ---- Mobile large (≤ 767px) ---- */
@media (max-width: 767px) {

  .contact-header {
    margin: 45px 0;
  }

  .contact-header .contact-title {
    font-size: 22px;
    line-height: 1.25;
  }

  .contact-header p {
    font-size: 14px;
  }

  .contact__container {
    gap: 20px;
  }

  /* Blocs info : colonne unique */
  .contact__container .contact_block_right {
    flex-direction: column;
    gap: 20px;
  }

  .contact-info-block {
    width: 100%;
    padding: 18px 16px;
  }

  /* Formulaire interne : 1 colonne */
  .contact-form__right {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .contact-form__right .form-group.full {
    grid-column: 1;
  }

  /* Bouton centré, pleine largeur */
  .form-footer {
    justify-content: center;
    padding-top: 4px;
  }

  .form-footer .btn.btn-primary {
    width: 100%;
    justify-content: center;
  }

  /* Partie gauche optionnelle */
  .contact-form__left {
    padding: 20px 16px;
  }
}

/* ---- Mobile petit (≤ 480px) ---- */
@media (max-width: 480px) {

  .contact-header .contact-title {
    font-size: 18px;
  }

  .contact-header p {
    font-size: 13px;
  }

  .contact-info-block {
    padding: 14px 12px;
    gap: 12px;
  }

  .contact-info-block__icon {
    width: 36px;
    height: 36px;
  }

  .contact-info-block__title {
    font-size: 12px;
  }

  .contact-info-block__text {
    font-size: 13px;
  }

  .contact-form__right {
    padding: 12px;
    gap: 10px;
  }

  .contact-form__right .form-control {
    height: 44px;
    font-size: 14px;
  }

  .contact-form__right textarea.form-control {
    min-height: 100px;
  }
}
