
/* =====================================================================
   V9.6.19 SAFE — MENU RESPONSIVE COMPACT
   Objectif : réduire la taille des "cases" et du menu sur petits écrans
   d'ordinateur, tablette et téléphone sans changer la direction visuelle.
   ===================================================================== */

/* Petits ordinateurs / laptops */
@media(max-width:1280px){
  .v9-header-inner{
    height:72px;
  }
  .v9-overlay-menu{
    inset:72px 0 0;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .v9-menu-panel{
    width:min(calc(100% - 48px),860px);
    margin:32px auto 48px;
    gap:10px 56px;
  }
  .v9-menu-panel>a{
    font-size:31px;
    line-height:1.04;
    padding:6px 0;
  }
  .v9-menu-panel .v9-menu-reserve{
    font-size:10px;
    padding:14px 18px;
  }
  .v9-reserve{
    height:48px;
    padding:0 21px;
    font-size:10px;
  }
  .v9-menu-btn{
    width:54px;
    height:48px;
  }
}

/* Tablettes et petits écrans */
@media(max-width:1019px){
  .v9-header-inner{
    width:calc(100% - 22px);
    height:64px;
  }
  .v9-logo{
    width:94px;
    font-size:20px;
  }
  .v9-logo em{
    font-size:18px;
    margin-left:12px;
    margin-top:4px;
  }
  .v9-overlay-menu{
    inset:64px 0 0;
  }
  .v9-menu-panel{
    width:calc(100% - 32px);
    max-width:660px;
    margin:22px auto 34px;
    grid-template-columns:1fr;
    gap:2px;
  }
  .v9-menu-panel>a{
    font-size:24px;
    line-height:1.02;
    padding:6px 2px;
  }
  .v9-menu-panel .v9-menu-reserve{
    margin-top:8px;
    font-size:9px;
    padding:12px 15px;
  }
  .v9-reserve{
    height:40px;
    padding:0 12px;
    font-size:8px;
    letter-spacing:.12em;
  }
  .v9-menu-btn{
    width:40px;
    height:40px;
    gap:5px;
  }
  .v9-menu-btn span{
    width:19px;
  }
}

/* Téléphones */
@media(max-width:540px){
  .v9-header-inner{
    width:calc(100% - 16px);
    height:58px;
  }
  .v9-logo{
    width:82px;
    font-size:18px;
    line-height:.88;
  }
  .v9-logo em{
    font-size:16px;
    margin-left:10px;
    margin-top:3px;
  }
  .v9-overlay-menu{
    inset:58px 0 0;
  }
  .v9-menu-panel{
    width:calc(100% - 24px);
    margin:12px auto 26px;
    gap:0;
  }
  .v9-menu-panel>a{
    font-size:20px;
    line-height:1;
    padding:5px 2px;
  }
  .v9-menu-panel .v9-menu-reserve{
    margin-top:7px;
    padding:11px 14px;
    font-size:8px;
    letter-spacing:.13em;
  }
  .v9-reserve{
    height:36px;
    padding:0 10px;
    font-size:8px;
  }
  .v9-menu-btn{
    width:36px;
    height:36px;
  }
  .v9-menu-btn span{
    width:18px;
  }
}

/* Très petits téléphones */
@media(max-width:390px){
  .v9-menu-panel>a{
    font-size:18px;
    padding:4px 2px;
  }
  .v9-menu-panel{
    margin-top:9px;
  }
}
