/* Vos modifications de style ici : ce fichier est charge apres le theme Odoo,
   donc ce que vous ecrivez ici remplace le style d'origine.

   Exemples :
   body { font-family: "Poppins", sans-serif; }
   .btn-custom { background-color: #3984C6 !important; }
*/
.o_animate { visibility: visible !important; animation: none !important; }

/* Logo du pied de page : garder ses proportions (sinon il est etire) */
#footer .o_footer_logo {
  display: flex;
  align-items: center;
  height: 100%;
}
#footer .o_footer_logo img {
  width: auto !important;
  height: 100% !important;
  max-height: 140px;
  max-width: 100%;
  object-fit: contain !important;
  margin: 0 !important;
}
/* =========================================================
   EN-TÊTE ET MENU (fonctionne sans JavaScript)
   ========================================================= */
.site-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.site-logo { height: 58px; width: auto; display: block; }
.site-menu { display: flex; align-items: center; gap: 24px; }
.site-menu .navbar-nav { flex-direction: row; gap: 20px; margin: 0; }
.site-cta { background-color: #f74f94; border: 0; white-space: nowrap; }
.menu-burger { display: none; }

/* --- Téléphones et petites tablettes --- */
@media (max-width: 991.98px) {
  .site-logo { height: 44px; }
  .menu-burger {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 48px; height: 48px; padding: 12px; margin: 0; cursor: pointer;
    border: 1px solid rgba(0,0,0,.15); border-radius: 8px; background: #fff;
  }
  .menu-burger span { display: block; height: 2px; background: #0d4f9c; border-radius: 2px; }
  .site-menu {
    display: none; flex-direction: column; align-items: stretch; gap: 0;
    width: 100%; order: 3; padding-top: 8px;
  }
  .menu-toggle:checked ~ .site-menu { display: flex; }
  .site-menu .navbar-nav { flex-direction: column; gap: 0; width: 100%; }
  .site-menu .nav-link {
    display: block; padding: 14px 4px; font-size: 1.05rem;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .site-cta { display: block; width: 100%; text-align: center; margin-top: 12px; padding: 14px; }
}

/* =========================================================
   CONFORT DE LECTURE SUR TÉLÉPHONE
   ========================================================= */
@media (max-width: 767.98px) {
  /* Titres : éviter les mots coupés et les tailles démesurées */
  h1, .h1, .display-1-fs, .display-2-fs, .display-3-fs, .display-4-fs { font-size: 2rem !important; line-height: 1.2; }
  h2, .h2 { font-size: 1.6rem !important; line-height: 1.25; }
  h3, .h3 { font-size: 1.3rem !important; }
  p, li { font-size: 1rem; }

  /* Boutons : pleine largeur et assez hauts pour le doigt */
  .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
  .s_call_to_action .btn, .btn-lg { width: 100%; }

  /* Sections : moins d'espace perdu en haut et en bas */
  .pt152, .pt144, .pt128, .pt120, .pt96 { padding-top: 48px !important; }
  .pb152, .pb144, .pb128, .pb120, .pb96 { padding-bottom: 48px !important; }
  .pt72, .pt64 { padding-top: 32px !important; }
  .pb72, .pb64 { padding-bottom: 32px !important; }

  /* Les images côte à côte passent l'une sous l'autre */
  section .col-1, section .col-2 { width: 100%; flex: 0 0 100%; max-width: 100%; }

  /* Pied de page centré */
  #footer .s_social_media { text-align: center !important; }
  #footer .o_footer_logo img { max-height: 110px; margin: 0 auto !important; }
}

/* Champs de formulaire : 16px minimum, sinon iPhone zoome tout seul à la saisie */
input, select, textarea, .form-control { font-size: 16px !important; }
@media (max-width: 767.98px) {
  .form-control { min-height: 48px; }
  textarea.form-control { min-height: 120px; }
  .s_website_form_field { margin-bottom: 4px; }
}

/* Fond fixe : saccadé et mal géré sur iPhone, on le fige normalement */
@media (max-width: 991.98px) {
  .s_parallax_bg, .parallax .s_parallax_bg, [style*="background-attachment"] { background-attachment: scroll !important; }
}

/* Jamais de défilement horizontal */
html, body { max-width: 100%; overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }

/* Cases à cocher : plus grandes, plus faciles à toucher */
@media (max-width: 767.98px) {
  .form-check-input, input[type="checkbox"], input[type="radio"] { width: 22px; height: 22px; margin-top: 2px; }
  .form-check { padding: 6px 0 6px 32px; }
  .form-check-label { font-size: 1rem; line-height: 1.4; }
}
