/* Domus Suisse - en-tete et menu mobiles (< 992 px, la ou Houzez affiche #header-mobile).
   En-tete fixe de 56 px qui s'efface a la lecture (domus-mobile-header.js ajoute
   html.dmh-hide), loupe de recherche, menu plein ecran a deux niveaux.
   Charte : #1C4D59, rayon 6px, sans ombre. Sans JS : en-tete fixe, toujours visible. */

@media (max-width: 991.98px) {

  :root { --dmh-h: 56px; --dmh-top: 56px; }
  html.dmh-hide { --dmh-top: 0px; }
  body { padding-top: var(--dmh-h) !important; }

  /* --- En-tete ------------------------------------------------------------- */
  .header-main-wrap {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 900 !important;
    background: #FFFFFF;
    transition: transform 170ms ease;
  }
  body.admin-bar .header-main-wrap { top: 46px; }
  html.dmh-hide .header-main-wrap { transform: translateY(-100%); }

  #header-mobile {
    height: var(--dmh-h);
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    padding: 0 4px !important;
    background: #FFFFFF;
    border-bottom: 1px solid rgba(28, 77, 89, 0.14);
    box-shadow: none !important;
  }
  #header-mobile .header-mobile-left { justify-self: start; }
  #header-mobile .header-mobile-center { flex: none !important; justify-self: center; padding: 0 !important; text-align: center; }
  #header-mobile .header-mobile-right { justify-self: end; display: flex; align-items: center; }
  #header-mobile .logo-mobile img { display: block; height: 24px; width: auto; max-width: 100%; }
  #header-mobile .btn {
    width: 44px;
    height: 48px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    background: transparent !important;
    color: #1C4D59 !important;
    font-size: 22px;
    box-shadow: none !important;
  }
  #header-mobile .toggle-button-left { width: 48px; }
  #header-mobile .dmh-search svg { display: block; }

  /* La barre "Rechercher" collante sous l'en-tete est supprimee : la loupe de l'en-tete la remplace. */
  .mobile-search-nav { display: none !important; }

  /* --- Menu plein ecran ------------------------------------------------------ */
  .offcanvas-mobile-menu {
    width: 100% !important;
    max-width: 420px;
    display: flex !important;
    flex-direction: column;
  }
  .offcanvas-mobile-menu .offcanvas-header {
    flex: none;
    height: 56px;
    box-sizing: border-box;
    padding: 0 4px 0 20px;
    border-bottom: 1px solid rgba(28, 77, 89, 0.14);
  }
  .offcanvas-mobile-menu .offcanvas-title {
    font: 600 17px Raleway, sans-serif !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1C4D59;
  }
  .offcanvas-mobile-menu .btn-close {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1C4D59;
    opacity: 1;
  }
  .offcanvas-mobile-menu-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 0 20px !important; }

  #mobile-main-nav { margin: 0; padding: 0; }
  #mobile-main-nav > li { position: relative; list-style: none; border-bottom: 1px solid rgba(28, 77, 89, 0.14); }
  #mobile-main-nav > li > a.nav-link,
  #mobile-main-nav > li > a.dmh-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 56px;
    padding: 0 48px 0 0 !important;
    font: 600 17px/1.2 Raleway, sans-serif !important;
    color: #1C4D59 !important;
    text-decoration: none;
  }
  #mobile-main-nav > li > .nav-mobile-trigger {
    position: absolute;
    top: 4px;
    right: -6px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1C4D59;
    cursor: pointer;
  }
  #mobile-main-nav > li.dmh-open > .nav-mobile-trigger i { transform: rotate(180deg); }

  /* Niveau "Trouver un logement" : deplie, groupes A louer / A vendre en pastilles. */
  #mobile-main-nav li.dmh-open > .dropdown-menu {
    display: block !important;
    position: static !important;
    float: none;
    min-width: 0;
    margin: 0 !important;
    padding: 0 0 16px !important;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none !important;
  }
  #mobile-main-nav li.dmh-open > .dropdown-menu > li { list-style: none; }
  #mobile-main-nav li.dmh-open > .dropdown-menu > li:not(.dmh-group) > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 !important;
    font: 500 15px Inter, sans-serif;
    color: #1C4D59;
    background: transparent;
    text-decoration: none;
  }
  #mobile-main-nav li.dmh-group { padding: 0 0 16px; }
  #mobile-main-nav li.dmh-group > .nav-mobile-trigger,
  #mobile-main-nav li.dmh-group > a.dmh-hidden { display: none !important; }
  #mobile-main-nav .dmh-label {
    margin: 0 0 8px;
    font: 600 12px Raleway, sans-serif;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #1C4D59;
  }
  #mobile-main-nav li.dmh-group > .dropdown-menu {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    position: static !important;
    float: none;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none !important;
  }
  #mobile-main-nav li.dmh-group > .dropdown-menu > li { list-style: none; }
  #mobile-main-nav li.dmh-group > .dropdown-menu a {
    display: flex;
    align-items: center;
    height: 44px;
    box-sizing: border-box;
    padding: 0 14px !important;
    border-radius: 6px;
    background: #F1F5F6;
    border: 1px solid rgba(28, 77, 89, 0.14);
    font: 500 15px Inter, sans-serif;
    color: #1F4746;
    white-space: nowrap;
    text-decoration: none;
  }
  #mobile-main-nav .domus-lang-switcher { display: none !important; }
  #mobile-main-nav .dmh-badge {
    min-width: 22px;
    height: 22px;
    box-sizing: border-box;
    padding: 0 6px;
    border-radius: 4px;
    background: #1C4D59;
    color: #FFFFFF;
    font: 600 13px/22px Inter, sans-serif;
    text-align: center;
  }

  /* Pied du menu : langue + creer une annonce. */
  .dmh-foot {
    flex: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 20px calc(20px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(28, 77, 89, 0.14);
    background: #FFFFFF;
  }
  .dmh-lang { display: flex; gap: 4px; padding: 4px; background: #F1F5F6; border: 1px solid rgba(28, 77, 89, 0.14); border-radius: 6px; }
  .dmh-lang a, .dmh-lang span {
    flex: 1;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font: 600 15px Inter, sans-serif;
    color: #1C4D59;
    text-decoration: none;
  }
  .dmh-lang [aria-current] { background: #1C4D59; color: #FFFFFF; }
  .dmh-cta {
    height: 52px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: #1C4D59;
    color: #FFFFFF !important;
    font: 600 16px Inter, sans-serif;
    text-decoration: none;
  }
  .dmh-cta:hover { background: #163A46; }
}

@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .header-main-wrap { transition: none; }
}
