/* R35 — correções globais de UX/mobile, tema escuro, paletas e relevo */

/* Nunca deixar a página pública permanentemente travada por locks legados. */
html,body{scroll-behavior:auto!important;overflow-x:hidden}
html{overflow-y:auto!important}
body{overflow-y:auto!important}
#ggCatalogBrowse,#ggCatalogBrowse .r27-results,#ggCatalogBrowse .r27-results .grid{max-height:none!important;overflow:visible!important}
@media(max-width:720px){#ggCatalogBrowse{padding-bottom:120px!important}}

/* Menu em cascata: sempre rolável quando ultrapassar a tela. */
.gg-catalog-menu{
  max-height:calc(100dvh - 92px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.gg-catalog-menu .gg-menu-col>div:not(.gg-menu-title){
  max-height:min(60dvh,560px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:820px){
  .gg-catalog-menu,.gg-catalog-menu.r29-menu,.gg-catalog-menu.r29-menu.r29-perfumaria{
    top:118px!important;
    bottom:12px!important;
    max-height:none!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .gg-catalog-menu .gg-menu-col>div:not(.gg-menu-title){max-height:none!important;overflow:visible!important}
}

/* Filtros mobile: o conteúdo do próprio painel rola; a grade continua normal ao fechar. */
.r29-filter-backdrop{overscroll-behavior:contain}
.r29-filter-modal{max-height:min(86dvh,780px)!important}
.r29-filter-body{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
@media(max-width:620px){
  .r29-filter-modal{max-height:88dvh!important}
  .r29-filter-body{padding-bottom:28px!important}
}

/* Ficha do produto: Voltar/X pertencem ao conteúdo e sobem com a rolagem. */
#detailModal .modal-card{
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
#detailModal .close-row{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#detailModal #detailBack,#detailModal #detailClose{position:static!important}

/* Selo da categoria/perfil na ficha. */
#detailModal .detail .meta{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%;
  align-items:center;
  gap:6px;
  border:1px solid var(--r35-cat-border,#dccdb8)!important;
  background:var(--r35-cat-soft,#fbf4e8)!important;
  color:var(--r35-cat-ink,#73562c)!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
#detailModal.r35-cat-perfumaria{--r35-cat-soft:#f8e9ed;--r35-cat-border:#dcbac4;--r35-cat-ink:#8c4960}
#detailModal.r35-cat-perfumaria.r35-profile-feminino{--r35-cat-soft:#f9e4eb;--r35-cat-border:#dca9ba;--r35-cat-ink:#93445f}
#detailModal.r35-cat-perfumaria.r35-profile-masculino{--r35-cat-soft:#e8eef3;--r35-cat-border:#b9c8d3;--r35-cat-ink:#405b70}
#detailModal.r35-cat-perfumaria.r35-profile-unissex{--r35-cat-soft:#f1eaf3;--r35-cat-border:#cfbdd4;--r35-cat-ink:#6f5378}
#detailModal.r35-cat-skincare{--r35-cat-soft:#e8f0eb;--r35-cat-border:#bfd0c5;--r35-cat-ink:#4e705a}
#detailModal.r35-cat-hair-beauty{--r35-cat-soft:#f5e8ec;--r35-cat-border:#dec1c8;--r35-cat-ink:#895467}
#detailModal.r35-cat-tecnologia{--r35-cat-soft:#e9eff5;--r35-cat-border:#bdcad7;--r35-cat-ink:#49627a}
#detailModal.r35-cat-casa-inteligente{--r35-cat-soft:#eef0e4;--r35-cat-border:#ccd0b9;--r35-cat-ink:#65704b}
#detailModal.r35-cat-games{--r35-cat-soft:#eee9f2;--r35-cat-border:#c9bfd1;--r35-cat-ink:#685476}
#detailModal.r35-cat-audio-fones{--r35-cat-soft:#e7f0f0;--r35-cat-border:#bcd0d0;--r35-cat-ink:#45696b}
#detailModal.r35-cat-imagem-conteudo{--r35-cat-soft:#f3e9e3;--r35-cat-border:#d8c1b5;--r35-cat-ink:#795b4b}
#detailModal.r35-cat-informatica{--r35-cat-soft:#eceff1;--r35-cat-border:#c7cdd2;--r35-cat-ink:#53606a}

/* Perfil olfativo estruturado (quando houver dados). */
.r35-fragrance-profile{margin:18px 0 0;padding:16px;border:1px solid var(--r35-cat-border,#e1d4c6);background:var(--r35-cat-soft,#fffaf4);border-radius:16px}
.r35-fragrance-profile h4{margin:0 0 11px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--r35-cat-ink,#78592f)}
.r35-fragrance-family{font-size:13px;margin-bottom:12px;color:var(--ink)}
.r35-note-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.r35-note-card{background:rgba(255,255,255,.72);border:1px solid var(--r35-cat-border,#e1d4c6);border-radius:12px;padding:10px;min-width:0}
.r35-note-card b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px;color:var(--r35-cat-ink,#78592f)}
.r35-note-card span{font-size:12px;line-height:1.45;color:var(--ink)}
@media(max-width:620px){.r35-note-grid{grid-template-columns:1fr}}

/* Tema escuro completo G&G. */
body.dark{
  --bg:#11100f;
  --paper:#191714;
  --paper2:#211d19;
  --ink:#f4eee5;
  --muted:#b6aa9d;
  --line:#3b332b;
  --brown:#e0b65f;
  --brown2:#c99a3b;
  --gold:#d6aa4d;
  --gold2:#e0c07a;
  background:#11100f!important;
  color:var(--ink)!important;
}
body.dark .top{background:rgba(17,16,15,.94)!important;border-color:#3b332b!important}
body.dark #publicApp,body.dark main,body.dark #ggCatalogBrowse{background:#11100f!important;color:var(--ink)!important}
body.dark .panel,body.dark .card,body.dark .modal-card,body.dark .box,body.dark .r29-filter-modal,
body.dark .gg-catalog-menu,body.dark .r34-admin-card,body.dark .r30-note-card{
  background:#191714!important;color:var(--ink)!important;border-color:#3b332b!important
}
body.dark .card .thumb,body.dark .r30-main-image,body.dark .detail-gallery{background:#211f1c!important}
body.dark .card .thumb img,body.dark .r30-main-image img{background:#fff!important}
body.dark input,body.dark select,body.dark textarea,body.dark .btn,body.dark .r29-filter-close{
  background:#211d19!important;color:var(--ink)!important;border-color:#4a4035!important
}
body.dark .btn.primary,body.dark .btn.gold,body.dark .r29-filter-apply{background:#c99934!important;color:#17120b!important;border-color:#c99934!important}
body.dark .meta,body.dark .mini,body.dark .ref,body.dark .toolbar span,body.dark .r27-count{color:var(--muted)}
body.dark .detail h2,body.dark .card-body h3,body.dark h1,body.dark h2,body.dark h3{color:var(--ink)!important}
body.dark .detail-desc,body.dark .r30-specs span{color:#e2d8ce!important}
body.dark .r30-specs>div,body.dark .install-row{border-color:#3b332b!important}
body.dark .r29-filter-footer,body.dark .r29-filter-head{background:#191714!important;border-color:#3b332b!important}
body.dark .gg-menu-col{border-color:#3b332b!important}
body.dark .gg-menu-item{color:#eee3d8!important}
body.dark .gg-menu-item:hover,body.dark .gg-menu-item.active{background:#2b251f!important;color:#e1b45b!important}
body.dark #detailModal{background:#11100f!important}
body.dark #detailModal .modal-card{background:#11100f!important}
body.dark .r35-note-card{background:rgba(25,23,20,.82)!important}

/* Alto-relevo em todos os elementos interativos, sem depender de hover no mobile. */
button,.btn,a,[role="button"],.card[data-card-open],.gg-type-card,.gg-menu-item,.r30-choice,.install-row,.r29-filter-btn,.r34-admin-card{
  transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease,filter .17s ease;
}
button:active,.btn:active,a:active,[role="button"]:active,.card[data-card-open]:active,.gg-type-card:active,.gg-menu-item:active,.r30-choice:active,.install-row:active{
  transform:translateY(1px) scale(.995)
}
@media(hover:hover) and (pointer:fine){
  button:hover,.btn:hover,a:hover,[role="button"]:hover,.gg-menu-item:hover,.r30-choice:hover,.install-row:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 22px rgba(61,45,30,.12)
  }
  .card[data-card-open]:hover,.gg-type-card:hover,.r34-admin-card:hover{
    transform:translateY(-5px);
    box-shadow:0 16px 34px rgba(61,45,30,.15)
  }
}
@media(prefers-reduced-motion:reduce){
  button,.btn,a,[role="button"],.card[data-card-open],.gg-type-card,.gg-menu-item,.r30-choice,.install-row,.r29-filter-btn,.r34-admin-card{transition:none!important}
}
