/* ===== Débarras Le Doré – Critical mobile (≤767px) — safe & clean ===== */

/* ===== Header mobile : taille + alignement ===== */
@media (max-width: 767px){

  /* Hauteur compacte et régulière du header */
  #main-header{
    padding: 6px 12px !important;
    min-height: 48px !important;
  }

  /* Pas de gonflette sur le conteneur interne */
  #main-header .container{ padding: 0 !important; }

  /* Logo Divi : inline-block + vertical-align pour un centrage naturel */
  #main-header .logo_container a,
  #main-header #logo,
  #main-header .site-logo{
    display: inline-block !important;
    height: auto !important;
    width: auto !important;
    max-height: 34px !important;        /* ajuste si besoin (ex. 32–36) */
    vertical-align: middle !important;
  }

  /* Toggler (hamburger) : zone tactile et alignement vertical */
  #et_mobile_nav_menu .mobile_menu_bar{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important; height: 44px !important;
    line-height: 44px !important;
    margin-top: 0 !important;            /* évite le décalage vertical */
    touch-action: manipulation;
  }
  #et_mobile_nav_menu .mobile_menu_bar:before{
    font-size: 22px !important;
    line-height: 1 !important;
  }
}

/* ===== Menu déroulant mobile : ombre + bordure ===== */
#et_mobile_nav_menu .et_mobile_menu,
#et_mobile_nav_menu .et_pb_menu .et_mobile_menu{
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-top: 2px solid #2ea3f2;
  will-change: transform;
  z-index: 9999; /* au-dessus du contenu */
}

/* ===== Ciblage tactile des éléments cliquables ===== */
.mobile-toggle,
#et_mobile_nav_menu .mobile_nav .select_page,
#et_mobile_nav_menu .mobile_menu_bar{
  min-width: 44px; min-height: 44px; line-height: 44px;
  touch-action: manipulation;
}

/* ===== Liens du contenu : sobre + états visibles ===== */
#page-container .et_pb_text a{
  text-decoration: none;
  font-weight: 600;
}
#page-container .et_pb_text a:focus,
#page-container .et_pb_text a:hover{
  text-decoration: underline;
}

/* ===== Accessibilité : focus visible sur toggles/icônes ===== */
.mobile-toggle:focus-visible,
#et_mobile_nav_menu .mobile_menu_bar:focus-visible{
  outline: 3px solid #0A9E3F; outline-offset: 3px;
}

/* ===== Motion safe : respecter prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}

/* ===== Règles globales de visibilité Divi ===== */
@media (max-width: 767px){
  .et_pb_hidden_phone{ display: none !important; visibility: hidden !important; }
  .et_pb_visible_phone{ display: block !important; visibility: visible !important; }
}

/* ===== Ajustements UI mobile ===== */
@media (max-width: 767px){
  /* Bouton back-to-top : éviter chevauchements */
  .et_pb_scroll_top{ right: 12px; bottom: 72px !important; z-index: 9999 !important; }

  /* Lisibilité : bons retours à la ligne, pas d’alignement forcé */
  .et_pb_text, .et_pb_text p{
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }

  /* Utilitaires Divi conservés */
  .et_pb_text.et_pb_text_align_center,
  .et_pb_text.et_pb_text_align_center .et_pb_text_inner,
  .et_pb_text.et_pb_text_align_center p{ text-align: center !important; }

  .et_pb_text.et_pb_text_align_right,
  .et_pb_text.et_pb_text_align_right .et_pb_text_inner,
  .et_pb_text.et_pb_text_align_right p{ text-align: right !important; }
}

/* ===== Bloc "Formules" visible uniquement en mobile ===== */
@media (max-width: 767px){
  .formules-mob{ display: block !important; visibility: visible !important; }
}
@media (min-width: 768px){
  .formules-mob{ display: none !important; visibility: hidden !important; }
}

/* ===== Titres / "barre de titre" Divi : éviter la hauteur excessive ===== */
@media (max-width: 767px){
  .et_pb_post_title,
  .et_pb_title,
  .et_pb_fullwidth_header{
    padding: 14px 16px !important;
    min-height: 0 !important;
  }

  .et_pb_post_title .entry-title,
  .et_pb_title .et_pb_module_header,
  .et_pb_fullwidth_header .header-content h1{
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    letter-spacing: normal !important;
    word-break: break-word;
  }

  .et_pb_fullwidth_header .header-content,
  .et_pb_fullwidth_header .et_pb_fullwidth_header_container{
    padding: 0 !important;
    min-height: 0 !important;
  }
}

/* ===== Admin-bar mobile : éviter le décalage du header fixé ===== */
@media (max-width: 782px){
  body.admin-bar #main-header{ top: 46px !important; }
}
