/* Correctif mobile final : menu visible et formulaire stable */
@media (max-width: 991px) {
  html, body.robba-site { width:100%!important; max-width:100%!important; overflow-x:hidden!important; }

  body.robba-site .modern-form-card,
  body.robba-site .modern-form-card.is-visible,
  body.robba-site .hero-form-zone,
  body.robba-site #devis-formulaire,
  body.robba-site #phpcontactform {
    transform:none!important; translate:none!important; animation:none!important;
    width:100%!important; max-width:100%!important; min-width:0!important; box-sizing:border-box!important;
  }
  body.robba-site #phpcontactform.row,
  body.robba-site .ajax-contact-form.row { margin-left:0!important; margin-right:0!important; }
  body.robba-site #phpcontactform > [class*="col-"],
  body.robba-site .ajax-contact-form > [class*="col-"] {
    width:100%!important; max-width:100%!important; flex:0 0 100%!important;
    padding-left:0!important; padding-right:0!important;
  }
  body.robba-site #phpcontactform input,
  body.robba-site #phpcontactform textarea,
  body.robba-site #phpcontactform select,
  body.robba-site #phpcontactform .form-control { width:100%!important; max-width:100%!important; min-width:0!important; font-size:16px!important; }
  body.robba-site #js-contact-btn { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; min-height:56px!important; }

  body.robba-site .vdo-mobile-menu-wrap { display:flex!important; align-items:center!important; margin-left:auto!important; overflow:visible!important; z-index:2147483000!important; }
  body.robba-site .vdo-mobile-toggle { display:flex!important; position:relative!important; z-index:2147483646!important; pointer-events:auto!important; }

  /* Le panneau est déplacé directement sous body par JS. */
  body.robba-site > .vdo-mobile-panel {
    display:none!important;
    position:fixed!important;
    top:var(--robba-menu-top,82px)!important;
    left:10px!important; right:10px!important; width:auto!important;
    max-height:calc(100dvh - var(--robba-menu-top,82px) - 12px)!important;
    overflow-y:auto!important; overflow-x:hidden!important;
    z-index:2147483645!important;
    opacity:0!important; visibility:hidden!important;
    transform:translateY(-8px)!important;
    background:#0f2d49!important;
    border:2px solid #a6753c!important;
    border-radius:12px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.34)!important;
    padding:8px 0!important;
  }
  body.robba-site > .vdo-mobile-panel.robba-menu-visible {
    display:block!important; opacity:1!important; visibility:visible!important; transform:none!important;
  }
  body.robba-site > .vdo-mobile-panel > ul { display:block!important; margin:0!important; padding:0!important; list-style:none!important; }
  body.robba-site > .vdo-mobile-panel li { display:block!important; position:relative!important; margin:0!important; background:#0f2d49!important; border-bottom:1px solid rgba(255,255,255,.09)!important; }
  body.robba-site > .vdo-mobile-panel a {
    display:block!important; color:#fff!important; background:transparent!important;
    padding:14px 54px 14px 18px!important; line-height:1.3!important; font-weight:800!important; text-decoration:none!important;
    box-shadow:none!important; border:0!important;
  }
  body.robba-site > .vdo-mobile-panel .sub-menu {
    display:none!important; position:static!important; width:100%!important; margin:0!important; padding:0!important;
    opacity:1!important; visibility:visible!important; transform:none!important;
    background:#14395e!important; box-shadow:none!important; border:0!important;
  }
  body.robba-site > .vdo-mobile-panel li.submenu-open > .sub-menu { display:block!important; }
  body.robba-site > .vdo-mobile-panel .sub-menu li,
  body.robba-site > .vdo-mobile-panel .sub-menu a { background:#14395e!important; color:#fff!important; }
  body.robba-site > .vdo-mobile-panel .sub-menu a { padding-left:34px!important; }

  body.robba-site > .vdo-mobile-panel .robba-submenu-toggle {
    display:flex!important; align-items:center!important; justify-content:center!important;
    position:absolute!important; top:4px!important; right:6px!important; width:42px!important; height:42px!important;
    border:0!important; background:rgba(255,255,255,.09)!important; color:#fff!important; z-index:3!important;
  }
  body.robba-site > .vdo-mobile-panel li.submenu-open > .robba-submenu-toggle i { transform:rotate(180deg)!important; }

  body.robba-site > .vdo-mobile-panel li > a[href="nos-realisations.html"] { background:transparent!important; box-shadow:none!important; }
  body.robba-site > .vdo-mobile-panel li.robba-def-current > a {
    color:#fff!important; background:linear-gradient(180deg,#c3955d 0%,#a6753c 100%)!important;
    box-shadow:inset 0 -3px 0 #70461f!important;
  }
}
@media (min-width: 992px) {
  body.robba-site > .vdo-mobile-panel { display:none!important; }
}

/* Lisibilité et interaction des menus mobiles — priorité finale */
@media (max-width: 991px) {
  body.robba-site > nav.vdo-mobile-panel,
  body.robba-site > nav.vdo-mobile-panel ul,
  body.robba-site > nav.vdo-mobile-panel li {
    color:#fff!important;
  }
  body.robba-site > nav.vdo-mobile-panel a,
  body.robba-site > nav.vdo-mobile-panel a:link,
  body.robba-site > nav.vdo-mobile-panel a:visited,
  body.robba-site > nav.vdo-mobile-panel li > a,
  body.robba-site > nav.vdo-mobile-panel .sub-menu li > a,
  body.robba-site > nav.vdo-mobile-panel a span,
  body.robba-site > nav.vdo-mobile-panel a i {
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.robba-site > nav.vdo-mobile-panel .robba-submenu-toggle,
  body.robba-site > nav.vdo-mobile-panel .robba-submenu-toggle i {
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body.robba-site > nav.vdo-mobile-panel .robba-submenu-toggle {
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
  }
  body.robba-site > nav.vdo-mobile-panel li.submenu-open > .sub-menu {
    display:block!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
  }
}


/* Correctif navigation mobile : défilement complet et liens fiables */
@media (max-width: 991px) {
  body.robba-site > nav.vdo-mobile-panel {
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    scrollbar-gutter: stable !important;
  }
  body.robba-site > nav.vdo-mobile-panel a,
  body.robba-site > nav.vdo-mobile-panel button {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
}
