/* =========================
   LAYOUT GERAL DOS CARDS
   ========================= */
.v-main .v-container,
.v-main [class*="game-list"],
.v-main [class*="game-slider"],
.v-main [class*="provider-game"],
.v-main .widget-provider-game-list,
.v-main .widget-original-game-list,
.v-main .game-slider-popular-games,
.v-main [class*="popular"],
.v-main [class*="provider"] {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

/* containers da home */
.v-slide-group__content,
.v-window__container,
.game-slider-popular-games,
.widget-provider-game-list,
.widget-original-game-list,
.row,
.col,
[class*="game-list"],
[class*="game-slider"],
[class*="popular"],
[class*="provider"] {
  overflow: visible !important;
  padding-top: 12px !important;
}

.v-main .widget-provider-game-list,
.v-main .widget-original-game-list,
.v-main .game-slider-popular-games,
.v-main [class*="game-list"],
.v-main [class*="game-slider"] {
  margin-top: 4px !important;
}

.v-slide-group__content {
  gap: 6px !important;
}

.row {
  row-gap: 8px !important;
}

/* card base */
a.d-block.w-100.h-100.text-decoration-none.position-relative,
a.text-decoration-none.position-relative,
a.position-relative,
.game-thumb,
[class*="game-card"],
[class*="game-item"],
[class*="game-thumb"] {
  transition: transform .25s ease !important;
  will-change: transform !important;
  position: relative !important;
}

/* hover padrão */
a.d-block.w-100.h-100.text-decoration-none.position-relative:hover,
a.text-decoration-none.position-relative:hover,
a.position-relative:hover,
[class*="game-card"]:hover,
[class*="game-item"]:hover {
  transform: translateY(-6px) !important;
  z-index: 30 !important;
}

/* thumb */
.game-thumb,
[class*="game-thumb"],
[class*="game-card"],
[class*="game-item"],
a.d-block.w-100.h-100.text-decoration-none.position-relative {
  overflow: hidden !important;
  border-radius: 16px !important;
  margin-bottom: 4px !important;
}

/* imagem parada */
a.d-block.w-100.h-100.text-decoration-none.position-relative .v-img__img,
a.d-block.w-100.h-100.text-decoration-none.position-relative img,
a.text-decoration-none.position-relative .v-img__img,
a.text-decoration-none.position-relative img,
a.position-relative .v-img__img,
a.position-relative img,
.game-thumb .v-img__img,
.game-thumb img,
[class*="game-card"] img,
[class*="game-item"] img,
[class*="game-thumb"] img {
  transition: none !important;
  transform: none !important;
  filter: none !important;
}

a.d-block.w-100.h-100.text-decoration-none.position-relative:hover .v-img__img,
a.d-block.w-100.h-100.text-decoration-none.position-relative:hover img,
a.text-decoration-none.position-relative:hover .v-img__img,
a.text-decoration-none.position-relative:hover img,
a.position-relative:hover .v-img__img,
a.position-relative:hover img,
.game-thumb:hover .v-img__img,
.game-thumb:hover img,
[class*="game-card"]:hover img,
[class*="game-item"]:hover img {
  transform: none !important;
  filter: none !important;
}

/* esconde overlays/textos */
a.d-block.w-100.h-100.text-decoration-none.position-relative > *:not(.game-thumb),
a.text-decoration-none.position-relative > *:not(.game-thumb),
a.position-relative > *:not(.game-thumb) {
  display: none !important;
}

a.d-block.w-100.h-100.text-decoration-none.position-relative .game-thumb *:not(.v-img__img):not(img):not(.v-responsive__sizer),
a.text-decoration-none.position-relative .game-thumb *:not(.v-img__img):not(img):not(.v-responsive__sizer),
a.position-relative .game-thumb *:not(.v-img__img):not(img):not(.v-responsive__sizer),
[class*="game-card"] *:not(img):not(.v-img__img):not(.v-responsive__sizer),
[class*="game-item"] *:not(img):not(.v-img__img):not(.v-responsive__sizer) {
  display: none !important;
}

a.d-block.w-100.h-100.text-decoration-none.position-relative::before,
a.d-block.w-100.h-100.text-decoration-none.position-relative::after,
a.text-decoration-none.position-relative::before,
a.text-decoration-none.position-relative::after,
a.position-relative::before,
a.position-relative::after,
.game-thumb::before,
.game-thumb::after,
[class*="game-card"]::before,
[class*="game-card"]::after,
[class*="game-item"]::before,
[class*="game-item"]::after {
  display: none !important;
  content: none !important;
}

/* =========================
   PÁGINAS INTERNAS DE LISTAGEM
   ========================= */
body[class*="view-"] .v-virtual-scroll,
body[class*="view-"] .v-virtual-scroll__container,
body[class*="view-"] .v-virtual-scroll__item,
body[class*="view-"] .game-grid,
body[class*="view-"] .game-grid .v-row,
body[class*="view-"] .game-grid .v-col,
body[class*="view-"] .v-row,
body[class*="view-"] .row {
  overflow: visible !important;
}

body[class*="view-"] a.d-block.w-100.h-100.text-decoration-none.position-relative:hover,
body[class*="view-"] a.text-decoration-none.position-relative:hover,
body[class*="view-"] a.position-relative:hover,
body[class*="view-"] [class*="game-card"]:hover,
body[class*="view-"] [class*="game-item"]:hover {
  transform: scale(1.02) !important;
  z-index: 80 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28) !important;
}

/* =========================
   LOGO
   ========================= */
.v-app-bar .v-toolbar-title,
.v-toolbar .v-toolbar-title,
header .v-toolbar-title,
.navbar-brand,
.logo {
  margin-left: 190px !important;
}

.v-app-bar .v-toolbar-title img,
.v-toolbar .v-toolbar-title img,
.navbar-brand img,
.logo img {
  height: 44px !important;
  width: auto !important;
  max-height: none !important;
  display: block !important;
}

@media (max-width: 768px) {
  .v-app-bar .v-toolbar-title,
  .v-toolbar .v-toolbar-title,
  header .v-toolbar-title,
  .navbar-brand,
  .logo {
    margin-left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: unset !important;
    max-width: 140px !important;
    width: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .v-app-bar .v-toolbar-title img,
  .v-toolbar .v-toolbar-title img,
  .navbar-brand img,
  .logo img {
    display: block !important;
    height: 32px !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 32px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* =========================
   BOTÃO FULLSCREEN
   ========================= */
#slot-fullscreen-btn {
  position: fixed;
  top: 72px;
  right: 18px;
  z-index: 999999;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.88);
  color: #fff;
  border: 0 !important;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: transform .2s ease, opacity .2s ease, background .2s ease !important;
}

#slot-fullscreen-btn:hover {
  transform: scale(1.06);
  opacity: 0.96;
  background: rgba(30, 41, 59, 0.95);
}

#slot-fullscreen-btn:active {
  transform: scale(0.98);
}

#slot-fullscreen-btn:focus {
  outline: none;
}

#slot-fullscreen-btn svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
  display: block;
  pointer-events: none;
}

@media (max-width: 768px) {
  #slot-fullscreen-btn {
    top: 66px;
    right: 10px;
    width: 38px;
    height: 38px;
    border-radius: 9px;
  }

  #slot-fullscreen-btn svg {
    width: 18px;
    height: 18px;
  }
}

/* =========================
   FULLSCREEN
   ========================= */
html.fullscreen-transition,
html.fullscreen-transition body,
html.fullscreen-transition #app,
html.fullscreen-transition .v-application,
html.fullscreen-transition .v-application__wrap,
html.fullscreen-transition main#main,
html.fullscreen-transition .v-main {
  transition: opacity .18s ease !important;
}

html.fullscreen-transition main#main,
html.fullscreen-transition .v-main {
  opacity: 0.92 !important;
}

html:fullscreen #slot-fullscreen-btn,
html:-webkit-full-screen #slot-fullscreen-btn {
  opacity: 0.85;
}

html:fullscreen,
body:fullscreen,
html:-webkit-full-screen,
body:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}

html:fullscreen header,
html:fullscreen nav,
html:fullscreen footer,
html:fullscreen #primary-footer,
html:fullscreen .v-app-bar,
html:fullscreen .v-navigation-drawer,
html:fullscreen .v-footer,
html:-webkit-full-screen header,
html:-webkit-full-screen nav,
html:-webkit-full-screen footer,
html:-webkit-full-screen #primary-footer,
html:-webkit-full-screen .v-app-bar,
html:-webkit-full-screen .v-navigation-drawer,
html:-webkit-full-screen .v-footer {
  display: none !important;
}

html:fullscreen #app,
html:fullscreen .v-application,
html:fullscreen .v-application__wrap,
html:fullscreen main#main,
html:fullscreen .v-main,
html:-webkit-full-screen #app,
html:-webkit-full-screen .v-application,
html:-webkit-full-screen .v-application__wrap,
html:-webkit-full-screen main#main,
html:-webkit-full-screen .v-main {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  --v-layout-top: 0px !important;
  --v-layout-left: 0px !important;
  --v-layout-right: 0px !important;
  --v-layout-bottom: 0px !important;
}

html:fullscreen canvas,
html:fullscreen img,
html:-webkit-full-screen canvas,
html:-webkit-full-screen img {
  max-width: 100vw !important;
  max-height: 100vh !important;
  width: auto !important;
  height: auto !important;
  margin: auto !important;
  display: block !important;
}

html:fullscreen iframe,
html:fullscreen embed,
html:fullscreen object,
html:fullscreen video,
html:-webkit-full-screen iframe,
html:-webkit-full-screen embed,
html:-webkit-full-screen object,
html:-webkit-full-screen video {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  border: 0 !important;
  display: block !important;
  background: #000 !important;
}

html:fullscreen [class*="game"],
html:fullscreen [class*="slot"],
html:fullscreen [class*="provider"],
html:fullscreen [class*="launcher"],
html:fullscreen [id*="game"],
html:fullscreen [id*="slot"],
html:fullscreen [id*="provider"],
html:-webkit-full-screen [class*="game"],
html:-webkit-full-screen [class*="slot"],
html:-webkit-full-screen [class*="provider"],
html:-webkit-full-screen [class*="launcher"],
html:-webkit-full-screen [id*="game"],
html:-webkit-full-screen [id*="slot"],
html:-webkit-full-screen [id*="provider"] {
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* =========================
   CORRIGE CORTE NO HOVER
   ========================= */
.v-slide-group,
.v-slide-group__wrapper,
.v-slide-group__content,
.v-window,
.v-window__container,
.game-slider-popular-games,
.widget-provider-game-list,
.widget-original-game-list,
[class*="game-list"],
[class*="game-slider"],
[class*="popular"],
[class*="provider"] {
  overflow: visible !important;
}

.v-virtual-scroll,
.v-virtual-scroll__container,
.v-virtual-scroll__item,
.v-row,
.v-col,
.row,
.col,
[class*="game-grid"],
[class*="game-list"],
[class*="game-wrapper"] {
  overflow: visible !important;
}

.v-app-bar,
.v-navigation-drawer {
  overflow: hidden !important;
}

/* =========================
   MARGEM LATERAL DO EXPLORE
   ========================= */
.v-overlay__content .v-sheet {
  padding-left: 48px !important;
  padding-right: 48px !important;
}