/* ==================================================================
   CABILUX PROPERTIES — Ajustements téléphone (toutes les pages)
   Chargé APRÈS les styles de chaque page : ne s'applique qu'aux petits écrans.
   ================================================================== */
@media (max-width: 760px) {
  /* Barre du haut (adresse, téléphone…) : masquée sur téléphone */
  .topbar { display: none !important; }

  /* En-tête : logo + FR/EN + bouton principal + menu ☰, sans déborder */
  .nav-wrap { padding: 0 14px !important; height: 60px !important; gap: 8px; }
  .logo-link img { height: 46px !important; }
  .nav-right { gap: 8px !important; min-width: 0; }
  .nav-right .btn-ghost { display: none !important; }
  .nav-right .btn { padding: 8px 12px !important; font-size: 12px !important; white-space: nowrap; }
  .lang-sw button { padding: 6px 9px !important; }
  #currency-sw { display: none !important; }
  .burger { display: flex !important; flex-shrink: 0; width: 44px; height: 44px; }

  /* Menu plein écran : liens confortables et défilement si l'écran est petit */
  .mobile-nav { justify-content: flex-start !important; overflow-y: auto; padding: 84px 0 140px; }
  .mobile-nav > a { font-size: 24px !important; padding: 12px 0 !important; width: 84% !important; }
  .mobile-nav-footer { position: static !important; margin-top: 24px; }
  .mobile-nav-footer a { font-size: 15px !important; white-space: nowrap; }
  .mobile-nav-footer .btn { padding: 12px 26px !important; font-size: 14px !important; font-weight: 600; }
  .mobile-nav-footer .btn-teal { color: #fff !important; }

  /* Lisibilité : pas de texte minuscule */
  body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

  /* Champs de formulaire : 16 px évite le zoom automatique de l'iPhone */
  input, select, textarea { font-size: 16px !important; }

  /* Blocs en colonnes : passent les uns sous les autres */
  .svc-split, .nl-inner { grid-template-columns: 1fr !important; }
  .svc-split > *, .nl-inner > *, .ftop > *, .stats-grid > * { min-width: 0; }
  .svc-img-col, .svc-txt-col { max-width: 100%; }
  .ftop { grid-template-columns: 1fr 1fr !important; gap: 28px 20px !important; }

  /* Onglets de la page Propriétés : défilent horizontalement au doigt */
  .prop-tabs-inner { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .prop-tabs-inner::-webkit-scrollbar { display: none; }
  .prop-tab { flex-shrink: 0; }

  /* Fil d'Ariane et boutons de contact de l'agent */
  .crumb .wrap { flex-wrap: wrap; }
  .crumb .cur { white-space: normal; overflow-wrap: anywhere; }
  .agent-cta { flex-wrap: wrap; }
  .agent-cta > * { flex: 1 1 140px; justify-content: center; }

  /* Formulaire d'inscription à la lettre d'information */
  .nl-form { flex-wrap: wrap; }
  .nl-form input { flex: 1 1 100%; min-width: 0; }
  .nl-form .btn { width: 100%; }

  /* Filet de sécurité : jamais de défilement horizontal de la page */
  html, body { overflow-x: clip; max-width: 100%; }
  img, video, iframe { max-width: 100%; }
}

@media (max-width: 420px) {
  .nav-wrap { padding: 0 10px !important; gap: 6px; }
  .nav-right { gap: 6px !important; }
  .nav-right .btn { padding: 7px 9px !important; font-size: 11px !important; letter-spacing: 0 !important; }
  .logo-link img { height: 42px !important; }
  .lang-sw button { padding: 5px 7px !important; }
  .burger { width: 40px; height: 40px; }
  .ftop { grid-template-columns: 1fr !important; }
  .agent-full { grid-template-columns: 1fr !important; gap: 18px !important; }
  .agent-cta { flex-direction: column; align-items: stretch; width: 100%; }
}

@media (max-width: 360px) {
  .nav-right .btn { display: none !important; }
}
