/* R43 — menu CATÁLOGO restaurado em desktop e mobile */

/* Desktop/notebook: menu suspenso em cascata, como no fluxo original. */
.r43-mobile-head{display:none}
.gg-catalog-menu.r29-menu{
  z-index:2500!important;
}
.gg-catalog-menu.r29-menu.open{
  display:grid!important;
}

/* Mobile: o mesmo fluxo em etapas, sem remover o menu.
   Categoria -> Tipo -> (Gênero/Público quando aplicável) -> Marca. */
@media(max-width:820px){
  .gg-catalog-menu.r29-menu,
  .gg-catalog-menu.r29-menu.r29-perfumaria{
    position:fixed!important;
    top:calc(env(safe-area-inset-top,0px) + 68px)!important;
    left:10px!important;
    right:10px!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - env(safe-area-inset-top,0px) - 82px)!important;
    padding:0 14px 16px!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 22px 60px rgba(0,0,0,.22)!important;
  }

  .gg-catalog-menu.r29-menu .r43-mobile-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 42px!important;
    align-items:center!important;
    gap:8px!important;
    min-height:58px!important;
    margin:0 -14px 8px!important;
    padding:8px 12px!important;
    background:rgba(255,255,255,.98)!important;
    border-bottom:1px solid #ece7e1!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  .r43-mobile-head strong{
    text-align:center!important;
    font-size:15px!important;
    color:#241d17!important;
  }
  #r43MenuBack,#r43MenuClose{
    width:42px!important;
    height:42px!important;
    border:1px solid #e5ded5!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#3a2f26!important;
    font-size:27px!important;
    line-height:1!important;
    display:grid!important;
    place-items:center!important;
  }

  .gg-catalog-menu.r29-menu .gg-menu-col{
    display:none!important;
    min-height:0!important;
    padding:4px 0 6px!important;
    border:0!important;
  }
  .gg-catalog-menu.r29-menu[data-r43-step="cat"] .r43-col-cat,
  .gg-catalog-menu.r29-menu[data-r43-step="type"] .r43-col-type,
  .gg-catalog-menu.r29-menu[data-r43-step="profile"] .r43-col-profile,
  .gg-catalog-menu.r29-menu[data-r43-step="brand"] .r43-col-brand{
    display:block!important;
  }

  .gg-catalog-menu.r29-menu .gg-menu-title{
    padding:8px 6px 10px!important;
    font-size:10px!important;
    letter-spacing:.14em!important;
  }
  .gg-catalog-menu.r29-menu .gg-menu-item{
    min-height:48px!important;
    padding:13px 12px!important;
    border-radius:12px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
}

/* Dark mode: o menu também precisa permanecer legível. */
body.dark .gg-catalog-menu.r29-menu{
  background:#171411!important;
  border-color:#40372e!important;
}
body.dark .gg-catalog-menu.r29-menu .r43-mobile-head{
  background:rgba(23,20,17,.98)!important;
  border-bottom-color:#40372e!important;
}
body.dark .r43-mobile-head strong{color:#f4eadf!important}
body.dark #r43MenuBack,
body.dark #r43MenuClose{
  background:#211d19!important;
  color:#f4eadf!important;
  border-color:#4a4035!important;
}
body.dark .gg-catalog-menu.r29-menu .gg-menu-title{color:#b7a899!important}
body.dark .gg-catalog-menu.r29-menu .gg-menu-item{color:#eee3d8!important}
body.dark .gg-catalog-menu.r29-menu .gg-menu-item:hover,
body.dark .gg-catalog-menu.r29-menu .gg-menu-item.active{
  background:#2b251f!important;
  color:#e1b45b!important;
}
