/**
 * Règles globales mobile : boutons tactiles (44px min), espacement liens,
 * désactivation sélection texte (aspect app native).
 * Appliqué uniquement sous 768px.
 */
@media (max-width: 767px) {
  /* Loi de Fitts : boutons et zones cliquables min 44px */
  button,
  .btn-lbc-annonce,
  .filter-button-acheter,
  .search-button-centrale,
  .annonce-detail-btn,
  .btn-submit,
  .btn-cancel,
  .btn-add-annonce,
  input[type="submit"],
  input[type="button"],
  a.button,
  .btn-offer,
  .tab-btn,
  .header-action-icon,
  .user-menu-btn {
    min-height: 44px;
    min-width: 44px;
  }

  /* Liens tactiles : zone de tap confortable */
  .bottom-nav__link {
    padding: 10px 12px;
    min-height: 48px;
  }
  .header-category-chip,
  .user-dropdown a {
    padding: 10px 14px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
  }
  .footer-lbc-modern a {
    padding: 8px 4px;
    min-height: 36px;
    display: inline-block;
  }

  /* Champs formulaire : hauteur tactile */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="search"],
  select,
  textarea {
    min-height: 44px;
  }

  textarea {
    min-height: 88px;
    padding: 12px;
  }

  /* Désactiver la sélection de texte (aspect app native) */
  nav,
  .bottom-nav,
  .bottom-nav__link,
  .header-lbc-leboncoin button,
  .header-lbc-leboncoin .user-menu-btn,
  .header-actions-lbc a,
  button,
  .btn-lbc-annonce,
  .filter-button-acheter,
  .search-button-centrale,
  .annonce-detail-btn,
  .btn-submit,
  .btn-cancel,
  .btn-add-annonce,
  .btn-offer,
  .tab-btn,
  .type-button-centrale,
  .listing-card-favori,
  .vitrine-card-actions a,
  .category-card,
  .brand-card {
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  /* Conserver la sélection dans les champs de saisie et le contenu rédactionnel */
  input,
  textarea,
  [contenteditable="true"],
  .annonce-detail-description,
  .listing-card-acheter-content,
  .listing-card-acheter-title {
    -webkit-user-select: text;
    user-select: text;
  }
}

/* Affichage dans l'app mobile (iframe avec ?inapp=1) : masquer header, menu et footer */
body.in-app-embed .header-lbc-leboncoin,
body.in-app-embed .mobile-menu-overlay,
body.in-app-embed .mobile-menu-drawer,
body.in-app-embed .footer-lbc-modern,
body.in-app-embed .bottom-nav {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
body.in-app-embed {
  padding-top: 0;
  overflow-x: hidden;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
/* Éviter débordement horizontal et rectangle blanc (scrollbar / overflow) dans l'iframe */
html:has(body.in-app-embed) {
  overflow-x: hidden;
  max-width: 100%;
}
body.in-app-embed main,
body.in-app-embed .faq-page,
body.in-app-embed .faq-content {
  max-width: 100%;
  box-sizing: border-box;
}

/* Cacher la scrollbar dans l'iframe (évite le rectangle blanc / bande sur Android WebView) */
body.in-app-embed,
html:has(body.in-app-embed) {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.in-app-embed::-webkit-scrollbar,
html:has(body.in-app-embed)::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

/*
 * App (iframe inapp=1) : la bottom-nav est masquée mais le footer ajoute encore
 * body.has-bottom-nav sous 768px → ~88px de marge basse fantôme. On réaligne sur
 * le padding « mobile normal » + encoche / home indicator.
 */
@media (max-width: 768px) {
  body.in-app-embed.has-bottom-nav .compte-layout,
  body.in-app-embed.has-bottom-nav .account-page,
  body.in-app-embed.has-bottom-nav .vitrine-page,
  body.in-app-embed.has-bottom-nav .orders-page,
  body.in-app-embed.has-bottom-nav .offers-page-wrap,
  body.in-app-embed.has-bottom-nav .favoris-page-wrap,
  body.in-app-embed.has-bottom-nav .dashboard-lbc {
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }

  /* Accueil (ouvert en iframe) : même logique que compte-mobile (pas de bottom-nav visible) */
  body.in-app-embed .accueil-page {
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
}
