/* Ferme de Fontenille : corrections de l'affichage mobile (≤ 767 px).
   Tout est préfixé par .fr-m : la classe est posée sur <html> (aperçu ?apercu-mobile=1)
   ou sur <body> une fois l'option fr_mobile passée à « on ». */
@media (max-width: 767px) {
  /* Plus aucun défilement horizontal parasite */
  .fr-m body, body.fr-m { overflow-x: clip; }
  .fr-m .e-con, .fr-m .elementor-section { max-width: 100%; }
  .fr-m [data-id="1432e0f"] { --width: 100%; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

  /* Bandeau jaune des ventes : 300 px → compact, texte centré */
  .fr-m [data-id="ce97ab8"] { padding: 10px 8px !important; --padding-top: 10px; --padding-bottom: 10px; row-gap: 10px !important; --row-gap: 10px; }
  .fr-m [data-id="ce97ab8"] .elementor-widget-text-editor { min-height: 0 !important; }
  .fr-m [data-id="ce97ab8"] .elementor-widget-text-editor p { margin: 0 !important; text-align: center !important; font-size: 13px !important; line-height: 1.35 !important; }
  .fr-m [data-id="ce97ab8"] .elementor-widget-text-editor p strong { font-size: 14px; }

  /* En-tête : logo à gauche, menu burger bien calé à droite */
  .fr-m [data-id="4ea1edd1"] { padding-left: 16px !important; padding-right: 16px !important; }
  .fr-m [data-id="2718a63a"] { flex: 1 1 auto !important; justify-content: flex-end !important; }
  .fr-m [data-id="5cdfa03a"] .elementor-menu-toggle { margin-left: auto; width: 44px; height: 44px; }
  .fr-m [data-id="5cdfa03a"] .elementor-nav-menu--dropdown a { padding-top: 14px !important; padding-bottom: 14px !important; font-size: 17px !important; }

  /* Visuel d'accueil : le logo n'est plus rogné sur les côtés */
  .fr-m [data-id="6ace1eb9"] { min-height: 58vh !important; --min-height: 58vh; justify-content: center !important; background-position: center center !important; }
  .fr-m [data-id="d73b2b3"] { width: 100%; }
  .fr-m [data-id="d73b2b3"] img { width: 82% !important; height: auto !important; margin: 0 auto; display: block; filter: drop-shadow(0 2px 10px rgba(0,0,0,.35)); }

  /* Titres à l'échelle du téléphone, centrés */
  .fr-m .elementor-widget-heading h1.elementor-heading-title,
  .fr-m .fr-h1 .elementor-heading-title { font-size: 30px !important; line-height: 1.15 !important; }
  .fr-m .elementor-widget-heading h2.elementor-heading-title { font-size: 25px !important; line-height: 1.18 !important; }
  .fr-m .elementor-widget-heading h3.elementor-heading-title { font-size: 21px !important; line-height: 1.2 !important; }
  .fr-m .elementor-location-single .elementor-widget-heading .elementor-heading-title,
  .fr-m [data-elementor-type="wp-page"] .elementor-widget-heading .elementor-heading-title { text-align: center !important; overflow-wrap: break-word; hyphens: manual; }
  /* Titres blancs posés sur une photo : lisibles */
  .fr-m .fr-on-photo .elementor-heading-title { text-shadow: 0 2px 14px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.45); }

  /* Blancs géants : espaceurs plafonnés */
  .fr-m .elementor-widget-spacer .elementor-spacer-inner { height: 16px !important; --spacer-size: 16px; }

  /* Formulaire newsletter (Brevo) : champs décollés des bords */
  .fr-m .sib_signup_form { padding: 0 16px; box-sizing: border-box; }
  .fr-m .sib_signup_form input[type=text], .fr-m .sib_signup_form input[type=email] { width: 100% !important; font-size: 16px; min-height: 46px; box-sizing: border-box; }
  .fr-m .sib_signup_form input[type=submit] { min-height: 46px; padding: 0 22px; }

  /* Textes : marges latérales régulières, lecture confortable */
  .fr-m .elementor-widget-text-editor { overflow-wrap: anywhere; }

  /* Formulaires (contact, bons de commande) : plus rien qui dépasse, champs confortables */
  .fr-m .elementor-widget-form { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
  .fr-m .elementor-form-fields-wrapper { margin-left: 0 !important; margin-right: 0 !important; }
  .fr-m .elementor-form .elementor-field-group { padding-left: 0 !important; padding-right: 0 !important; }
  .fr-m .elementor-form input.elementor-field, .fr-m .elementor-form textarea.elementor-field, .fr-m .elementor-form select { font-size: 16px !important; min-height: 46px; }
  .fr-m .elementor-form .elementor-button { min-height: 48px; font-size: 16px !important; }

  /* Boutons : zone de doigt suffisante */
  .fr-m .elementor-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

  /* Pied de page : liens légaux cliquables au doigt */
  .fr-m [data-elementor-type="footer"] a { display: inline-block; padding: 8px 0; }

  /* Calendrier de réservation : jours de la semaine lisibles */
  .fr-m .fr-resa .fr-dow, .fr-m .fr-resa .fr-cal th { font-size: 12px !important; }
}
