/* ==========================================================================
   HEX OFFICIAL - GAMEZONE RESPONSIVE LAYOUT & CONTAINER SYSTEM
   ========================================================================== */

/* Main Content Wrapper (Full-width for GameZone Store View) */
.hex-main-wrapper {
  padding-left: 0 !important;
  min-height: calc(100vh - 72px) !important;
  background-color: #050607 !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Hide fixed sidebar on customer store view to allow cinematic full-width layout */
#desktop-sidebar {
  display: none !important;
}

/* Store View Root Container (Max 1440px Centered) */
#store-view-root {
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 24px 32px 48px 32px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 48px !important;
}

@media (max-width: 1024px) {
  #store-view-root {
    padding: 16px 20px 36px 20px !important;
    gap: 36px !important;
  }
}

@media (max-width: 640px) {
  #store-view-root {
    padding: 12px 14px 28px 14px !important;
    gap: 28px !important;
  }
}

/* ==========================================================================
   CINEMATIC HERO BANNER (Reference-Matched Pixel-Precise Design)
   ========================================================================== */
#main-hero-banner {
  width: 100% !important;
  min-height: 520px !important;
  border-radius: 24px !important;
  background-color: #050608 !important;
  border: 1px solid rgba(255, 21, 56, 0.35) !important;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.9), 0 0 35px rgba(255, 21, 56, 0.2) !important;
  display: flex !important;
  align-items: stretch !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  #main-hero-banner {
    flex-direction: column !important;
    min-height: auto !important;
  }
}

/* ==========================================================================
   CATEGORIES GRID (8 Cards on Desktop matching Reference)
   ========================================================================== */
.gz-categories-grid {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

@media (max-width: 1366px) {
  .gz-categories-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 640px) {
  .gz-categories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   POPULAR PRODUCTS GRID (5 Columns on Desktop matching GameZone)
   ========================================================================== */
.hex-products-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

@media (max-width: 1280px) {
  .hex-products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 1024px) {
  .hex-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 680px) {
  .hex-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   SPECIAL OFFER BANNER
   ========================================================================== */
.gz-special-offer {
  width: 100% !important;
  min-height: 280px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 21, 56, 0.25) !important;
  background: radial-gradient(circle at 75% 50%, rgba(255, 21, 56, 0.2) 0%, rgba(10, 12, 16, 0.98) 70%), #07090D !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8), 0 0 30px rgba(255, 21, 56, 0.15) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 36px 48px !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .gz-special-offer {
    flex-direction: column !important;
    padding: 32px 24px !important;
    gap: 28px !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   TRUST BADGES SECTION (4 Badges)
   ========================================================================== */
.gz-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  padding: 24px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

@media (max-width: 1024px) {
  .gz-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 540px) {
  .gz-trust-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

/* ==========================================================================
   FOOTER (5 Columns)
   ========================================================================== */
#app-footer {
  width: 100% !important;
  background-color: #050607 !important;
  border-top: 1px solid rgba(255, 21, 56, 0.15) !important;
  padding: 56px 32px 32px 32px !important;
  box-sizing: border-box !important;
}

.gz-footer-grid {
  max-width: 1440px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1.5fr 1.8fr !important;
  gap: 36px !important;
}

@media (max-width: 1200px) {
  .gz-footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }
}

@media (max-width: 768px) {
  .gz-footer-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
  #app-footer {
    padding: 36px 16px 24px 16px !important;
  }
}

/* Admin Sidebar Layout */
#ds-admin-sidebar {
  width: 16rem !important;
  flex-shrink: 0 !important;
  background-color: #0A0C10 !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
}

@media (min-width: 1024px) {
  #ds-admin-sidebar {
    position: relative !important;
    inset: auto !important;
    height: calc(100vh - 4rem) !important;
    transform: none !important;
    display: flex !important;
  }
}
