/* RECODET — premium main hub control panel */
:root{
  --hub-gold-1:#ffe27a;
  --hub-gold-2:#efb92f;
  --hub-gold-3:#c97909;
  --hub-ink:#151006;
  --hub-glow:rgba(239,185,47,.30);
}

/* Keep the overall application dark; use gold as a controlled focal layer. */
#viewHub{
  background:
    radial-gradient(circle at 50% 10%,rgba(239,185,47,.08),transparent 33%),
    linear-gradient(180deg,#080907 0%,#050605 100%)!important;
}
#viewHub .hubModulesHead{
  margin:16px 1px 9px!important;
  align-items:end!important;
}
#viewHub .hubModulesHead .sectionTitle{
  color:#f8f1df!important;
  font-size:17px!important;
  letter-spacing:.01em!important;
}
#viewHub .hubModulesHint{display:none!important}

/* A balanced 3-column mobile control panel gives each icon room to feel intentional. */
#viewHub .hubModuleGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
  perspective:900px;
}
#viewHub .hubModuleTile{
  position:relative!important;
  isolation:isolate;
  min-height:112px!important;
  padding:13px 7px 11px!important;
  gap:7px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,226,122,.55)!important;
  border-radius:19px!important;
  color:var(--hub-ink)!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.32) 0%,rgba(255,255,255,0) 25%),
    linear-gradient(160deg,var(--hub-gold-1) 0%,var(--hub-gold-2) 51%,var(--hub-gold-3) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -2px 0 rgba(94,48,0,.20),
    0 8px 0 #6d4107,
    0 15px 25px rgba(0,0,0,.42),
    0 0 0 1px rgba(0,0,0,.16)!important;
  transform:translateY(0) scale(1);
  transform-origin:center bottom;
  transition:transform 180ms cubic-bezier(.2,.8,.2,1),box-shadow 180ms ease,filter 180ms ease!important;
  animation:hubTileArrive 420ms cubic-bezier(.16,1,.3,1) both;
  -webkit-tap-highlight-color:transparent;
}
#viewHub .hubModuleTile::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.32) 40%,transparent 63%);
  transform:translateX(-130%);
  transition:transform 440ms ease;
  pointer-events:none;
}
#viewHub .hubModuleTile::after{
  content:"";
  position:absolute;
  left:14%;right:14%;bottom:-11px;height:18px;
  z-index:-2;
  border-radius:50%;
  background:var(--hub-glow);
  filter:blur(12px);
  opacity:.48;
  pointer-events:none;
}
#viewHub .hubModuleTile:hover,
#viewHub .hubModuleTile:focus-visible{
  transform:translateY(-4px) scale(1.025)!important;
  filter:saturate(1.07) brightness(1.035);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -2px 0 rgba(94,48,0,.18),
    0 11px 0 #6d4107,
    0 20px 34px rgba(0,0,0,.48),
    0 0 25px rgba(239,185,47,.22)!important;
  outline:2px solid rgba(255,235,155,.72)!important;
  outline-offset:2px!important;
}
#viewHub .hubModuleTile:hover::before,
#viewHub .hubModuleTile:focus-visible::before{transform:translateX(130%)}
#viewHub .hubModuleTile:active{
  transform:translateY(5px) scale(.985)!important;
  filter:saturate(.98) brightness(.96);
  box-shadow:
    inset 0 2px 7px rgba(70,35,0,.24),
    0 3px 0 #6d4107,
    0 7px 13px rgba(0,0,0,.35)!important;
  transition-duration:80ms!important;
}

#viewHub .hubModuleIcon{
  width:67px!important;
  height:67px!important;
  flex:0 0 67px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 3px 1px rgba(255,255,255,.22)) drop-shadow(0 4px 4px rgba(65,33,0,.24));
  transform:translateZ(0);
  transition:transform 180ms cubic-bezier(.2,.8,.2,1)!important;
}
#viewHub .hubModuleTile:hover .hubModuleIcon,
#viewHub .hubModuleTile:focus-visible .hubModuleIcon{transform:translateY(-2px) scale(1.08)}
#viewHub .hubModuleTile:active .hubModuleIcon{transform:translateY(1px) scale(.97)}
#viewHub .hubModuleIcon img,
#viewHub .hubModuleIcon svg,
#viewHub .hubMainIconImage{
  width:67px!important;
  height:67px!important;
  object-fit:contain!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#viewHub .hubModuleTile>span:last-child{
  color:var(--hub-ink)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.30);
}

/* Staggered entrance makes the panel feel assembled, not dumped on screen. */
#viewHub .hubModuleTile:nth-child(1){animation-delay:20ms}
#viewHub .hubModuleTile:nth-child(2){animation-delay:45ms}
#viewHub .hubModuleTile:nth-child(3){animation-delay:70ms}
#viewHub .hubModuleTile:nth-child(4){animation-delay:95ms}
#viewHub .hubModuleTile:nth-child(5){animation-delay:120ms}
#viewHub .hubModuleTile:nth-child(6){animation-delay:145ms}
#viewHub .hubModuleTile:nth-child(7){animation-delay:170ms}
#viewHub .hubModuleTile:nth-child(8){animation-delay:195ms}
#viewHub .hubModuleTile:nth-child(9){animation-delay:220ms}
#viewHub .hubModuleTile:nth-child(10){animation-delay:245ms}
#viewHub .hubModuleTile:nth-child(11){animation-delay:270ms}
#viewHub .hubModuleTile:nth-child(12){animation-delay:295ms}
#viewHub .hubModuleTile:nth-child(13){animation-delay:320ms}
#viewHub .hubModuleTile:nth-child(14){animation-delay:345ms}
@keyframes hubTileArrive{
  from{opacity:0;transform:translateY(14px) scale(.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Bottom navigation remains dark so it does not compete with the hub. */
#bottomBar.bottombar{
  background:rgba(8,9,7,.97)!important;
  border-color:rgba(239,185,47,.34)!important;
}
#bottomBar.bottombar button:not(.active){color:#d4cbb9!important}
#bottomBar.bottombar button.active{
  background:linear-gradient(155deg,var(--hub-gold-1),var(--hub-gold-2) 60%,var(--hub-gold-3))!important;
  color:var(--hub-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 5px 12px rgba(0,0,0,.28)!important;
}
#bottomBar.bottombar button{
  transition:transform 150ms ease,background 150ms ease!important;
}
#bottomBar.bottombar button:active{transform:scale(.94)!important}

@media(max-width:350px){
  #viewHub .hubModuleGrid{gap:8px!important}
  #viewHub .hubModuleTile{min-height:101px!important;padding:10px 5px 9px!important;border-radius:16px!important}
  #viewHub .hubModuleIcon,#viewHub .hubModuleIcon img,#viewHub .hubModuleIcon svg,#viewHub .hubMainIconImage{width:59px!important;height:59px!important;flex-basis:59px!important}
}
@media(min-width:700px){
  #viewHub .hubModuleGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
  #viewHub .hubModuleTile{min-height:126px!important}
}
@media(prefers-reduced-motion:reduce){
  #viewHub .hubModuleTile{animation:none!important;transition:none!important}
  #viewHub .hubModuleTile::before{display:none!important}
}

/* ===== Round 14 — Premium bottom bar ===== */
#bottomBar.bottombar{
  left:max(8px, env(safe-area-inset-left))!important;
  right:max(8px, env(safe-area-inset-right))!important;
  bottom:calc(10px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  min-height:82px!important;
  padding:7px 8px calc(8px + env(safe-area-inset-bottom))!important;
  border-radius:28px!important;
  background:
    linear-gradient(180deg,rgba(29,24,14,.98),rgba(8,8,8,.98))!important;
  border:1px solid rgba(230,185,61,.38)!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,225,145,.05) inset,
    inset 0 1px 0 rgba(255,240,188,.14)!important;
  backdrop-filter:blur(18px)!important;
  overflow:visible!important;
}
#bottomBar.bottombar::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:27px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,221,122,.06),transparent 28%,transparent 72%,rgba(255,204,87,.04));
}
#bottomBar.bottombar button{
  position:relative!important;
  isolation:isolate!important;
  min-height:66px!important;
  height:66px!important;
  border-radius:20px!important;
  padding:7px 4px!important;
  gap:5px!important;
  color:#d8cfbd!important;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0))!important;
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease!important;
}
#bottomBar.bottombar button::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  opacity:0;
  transition:opacity .18s ease;
  background:linear-gradient(180deg,rgba(255,215,106,.10),rgba(255,215,106,.03));
  box-shadow:inset 0 0 0 1px rgba(236,193,84,.14);
  z-index:-1;
}
#bottomBar.bottombar button:hover,
#bottomBar.bottombar button:focus-visible{
  transform:translateY(-2px) scale(1.01)!important;
  color:#f2ead8!important;
}
#bottomBar.bottombar button:hover::before,
#bottomBar.bottombar button:focus-visible::before{
  opacity:1;
}
#bottomBar.bottombar button:active{
  transform:translateY(1px) scale(.97)!important;
}
#bottomBar.bottombar button.active{
  color:#171209!important;
  background:linear-gradient(180deg,#f7d46f 0%,#e1b13d 52%,#b97b12 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,248,220,.75),
    0 10px 20px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,212,117,.18)!important;
}
#bottomBar.bottombar button.active::before{display:none!important}
#bottomBar.bottombar button.active::after{
  content:"";
  position:absolute;
  left:18px; right:18px; bottom:5px;
  height:3px;
  border-radius:999px;
  background:rgba(60,37,0,.30);
}
#bottomBar .tabIcon{
  width:40px!important;
  height:40px!important;
  flex:0 0 40px!important;
  margin:0 auto!important;
  display:grid!important;
  place-items:center!important;
  color:inherit!important;
  transform:translateZ(0);
}
#bottomBar .tabIcon img,
#bottomBar .tabIcon svg,
#bottomBar .moduleIconImage{
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
  filter:none!important;
}
#bottomBar .tabLabel{
  font-size:10px!important;
  letter-spacing:.02em!important;
  font-weight:850!important;
  color:inherit!important;
}
#bottomBar .tabBadge{
  top:8px!important;
  right:10px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#f7d46f,#d89c12)!important;
  color:#1a1308!important;
  border:1px solid rgba(255,227,152,.45)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.28)!important;
  font-size:10px!important;
  font-weight:900!important;
}
@media (max-width:390px){
  #bottomBar.bottombar{border-radius:24px!important;min-height:78px!important;padding-left:6px!important;padding-right:6px!important}
  #bottomBar.bottombar::after{border-radius:23px!important}
  #bottomBar.bottombar button{min-height:62px!important;height:62px!important;border-radius:18px!important;padding-left:2px!important;padding-right:2px!important}
  #bottomBar .tabIcon{width:36px!important;height:36px!important;flex-basis:36px!important}
  #bottomBar .tabIcon img,#bottomBar .tabIcon svg,#bottomBar .moduleIconImage{width:30px!important;height:30px!important}
  #bottomBar .tabLabel{font-size:9px!important}
}
@media (prefers-reduced-motion:reduce){
  #bottomBar.bottombar,
  #bottomBar.bottombar button,
  #bottomBar.bottombar button::before{transition:none!important}
}

/* ===== Screenshot correction — desktop Shop + complete premium bar ===== */
#viewModule:has(.shopPremiumHero){
  max-width:1180px!important;
  margin:0 auto!important;
}
.shopPremiumHero{margin-top:4px!important}
.shopPremiumCategoryGrid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.shopPremiumCategoryTile{
  min-height:126px!important;
  grid-template-columns:72px minmax(0,1fr) 24px!important;
  padding:18px!important;
  border-radius:22px!important;
}
.shopPremiumCategoryIcon{
  width:72px!important;
  height:72px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.shopPremiumCategoryIcon .imgReal,
.shopPremiumCategoryIcon img,
.shopPremiumCategoryIcon svg{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
}
.shopPremiumCategoryTile .premiumCategoryCopy strong{font-size:16px!important}
.shopPremiumCategoryTile .premiumCategoryCopy small{font-size:11px!important}

/* Re-centre the complete module bar on desktop, clear of the sidebar. */
@media(min-width:700px){
  #bottomBar.bottombar{
    left:calc(50% + 41px)!important;
    right:auto!important;
    width:min(760px,calc(100vw - 130px))!important;
    transform:translateX(-50%)!important;
    display:grid!important;
    grid-template-columns:repeat(var(--nav-count),minmax(0,1fr))!important;
  }
  #bottomBar.bottombar button{
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:900px){
  .shopPremiumCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .shopPremiumCategoryGrid{grid-template-columns:1fr!important;gap:10px!important}
  .shopPremiumCategoryTile{min-height:102px!important;grid-template-columns:58px minmax(0,1fr) 18px!important;padding:14px!important}
  .shopPremiumCategoryIcon{width:58px!important;height:58px!important;border-radius:17px!important}
  .shopPremiumCategoryIcon .imgReal,.shopPremiumCategoryIcon img,.shopPremiumCategoryIcon svg{width:48px!important;height:48px!important}
  #bottomBar.bottombar{display:grid!important;grid-template-columns:repeat(var(--nav-count),minmax(0,1fr))!important}
}

/* ===== Mobile bar correction + clean action icons ===== */
@media(max-width:699px){
  #bottomBar.bottombar{
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    grid-template-columns:repeat(var(--nav-count),minmax(0,1fr))!important;
    gap:3px!important;
    padding:6px 5px calc(7px + env(safe-area-inset-bottom))!important;
    border-radius:22px!important;
  }
  #bottomBar.bottombar button{
    width:100%!important;
    min-width:0!important;
    height:60px!important;
    min-height:60px!important;
    padding:5px 1px!important;
    border-radius:16px!important;
  }
  #bottomBar .tabIcon{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px!important;
  }
  #bottomBar .tabIcon svg{
    width:27px!important;
    height:27px!important;
  }
  #bottomBar .tabLabel{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:8.5px!important;
  }
}

/* Premium category actions use native gold line icons, never image thumbnails. */
.premiumCategoryTile:not(.shopPremiumCategoryTile) .premiumCategoryIcon{
  background:linear-gradient(145deg,#2b2313,#17140d)!important;
  color:#efc34f!important;
  border:1px solid rgba(229,183,60,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,229,153,.12),0 7px 16px rgba(0,0,0,.24)!important;
}
.premiumCategoryTile:not(.shopPremiumCategoryTile) .premiumCategoryIcon svg{
  width:30px!important;
  height:30px!important;
}

/* ===== Unified premium category screens ===== */
.unifiedCategoryHero{
  width:100%!important;
  max-width:none!important;
  margin:0 0 14px!important;
  padding:20px!important;
  min-height:150px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.unifiedCategoryGrid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0 0 110px!important;
}
.unifiedCategoryTile{
  width:100%!important;
  min-width:0!important;
  min-height:104px!important;
  grid-template-columns:58px minmax(0,1fr) 18px!important;
  gap:12px!important;
  padding:14px!important;
  border-radius:19px!important;
}
.unifiedCategoryIcon{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.unifiedCategoryIcon img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.unifiedCategoryIcon svg{width:29px!important;height:29px!important}
.unifiedCategoryTile .premiumCategoryCopy strong{font-size:15px!important;line-height:1.2!important}
.unifiedCategoryTile .premiumCategoryCopy small{font-size:11px!important;line-height:1.35!important;margin-top:4px!important}
@media(max-width:620px){
  .unifiedCategoryHero{min-height:0!important;padding:19px 17px!important;margin-bottom:12px!important}
  .unifiedCategoryHero h2{font-size:27px!important}
  .unifiedCategoryHero p{font-size:13px!important}
  .unifiedCategoryGrid{grid-template-columns:1fr!important;gap:10px!important;padding-bottom:112px!important}
  .unifiedCategoryTile{min-height:112px!important;grid-template-columns:64px minmax(0,1fr) 18px!important;padding:14px 13px!important}
  .unifiedCategoryIcon{width:64px!important;height:64px!important;min-width:64px!important}
  .unifiedCategoryIcon svg{width:31px!important;height:31px!important}
  .unifiedCategoryTile .premiumCategoryCopy strong{font-size:16px!important}
  .unifiedCategoryTile .premiumCategoryCopy small{font-size:12px!important}
}
@media(min-width:900px){
  .unifiedCategoryGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
