
/* TG Vault v81 — final mainpage stability pass
   Fixes: sticky navigation, FAQ scroll, full-width footer fade, no center color cut,
   Japanese names only as subtle Easter eggs. */

:root{
  --tgv81-bordeaux:#5B1E2D;
  --tgv81-bordeaux-light:#8A4054;
  --tgv81-bordeaux-mid:#68293A;
  --tgv81-dark:#161311;
  --tgv81-dark-soft:#231A18;
  --tgv81-cream:#F4EBDD;
  --tgv81-gold:#D4B06A;
}

/* Global scroll safety */
html,
body{
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
body:not(.tgv-menu-open){
  overflow-y:auto!important;
}
body.faq-page,
body.blog-page,
body.legal-page,
body.contact-page,
body.vault-page{
  overscroll-behavior-y:auto!important;
}

/* Navigation must always stay visible */
body .ann-banner,
body .tg-lux-ann{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:2147483000!important;
  transform:none!important;
  will-change:transform!important;
}

body .tgv-header-v72,
body.premium-theme .tgv-header-v72,
body.home-page .tgv-header-v72,
body.blog-page .tgv-header-v72,
body.faq-page .tgv-header-v72,
body.legal-page .tgv-header-v72,
body.contact-page .tgv-header-v72,
body.vault-page .tgv-header-v72{
  position:fixed!important;
  top:32px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(calc(100vw - 44px), 1120px)!important;
  max-width:1120px!important;
  min-height:58px!important;
  height:58px!important;
  z-index:2147483001!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  pointer-events:auto!important;
  opacity:1!important;
  visibility:visible!important;
  background:
    radial-gradient(circle at 50% -30%, rgba(212,176,106,.18), transparent 42%),
    linear-gradient(135deg, rgba(46,27,22,.96), rgba(26,18,17,.98) 55%, rgba(91,30,45,.92))!important;
  border:1px solid rgba(212,176,106,.25)!important;
  border-radius:0 0 32px 32px!important;
  box-shadow:0 14px 42px rgba(22,10,10,.24), inset 0 1px 0 rgba(255,255,255,.07)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

body .tgv-header-v72 .tgv-desktop-nav-v72,
body.premium-theme .tgv-header-v72 .tgv-desktop-nav-v72{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(14px,1.7vw,24px)!important;
  width:100%!important;
  max-width:calc(100% - 150px)!important;
  margin:0 auto!important;
  white-space:nowrap!important;
}

body .tgv-header-v72 .logo-wrap{
  position:absolute!important;
  left:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:84px!important;
  height:84px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
body .tgv-header-v72 .brand-mark-full{
  max-width:84px!important;
  max-height:84px!important;
  object-fit:contain!important;
}

/* Make anchors not hide below sticky nav */
html{scroll-padding-top:118px!important;}

/* Remove the old fixed Japanese watermark layers completely */
body.premium-theme:not(.home-page)::before,
body.premium-theme:not(.home-page)::after{
  content:none!important;
  display:none!important;
}

/* Page background: keep main content calm; fade only toward footer */
body.premium-theme:not(.home-page){
  background:
    radial-gradient(circle at 12% 10%, rgba(212,176,106,.12), transparent 26%),
    radial-gradient(circle at 85% 22%, rgba(91,30,45,.08), transparent 30%),
    linear-gradient(180deg, #F8F0E4 0%, #F4EBDD 58%, #EAD7C6 74%, #C9919E 88%, #5B1E2D 97%, #161311 100%)!important;
}

/* Vault drops may stay brighter in the shop area */
body.vault-page{
  background:
    radial-gradient(circle at 14% 8%, rgba(212,176,106,.12), transparent 30%),
    linear-gradient(180deg, #F7EBDD 0%, #F4EBDD 70%, #E4CDB9 83%, #8B4052 95%, #161311 100%)!important;
}

/* Smooth full-bleed footer without central cut or rectangular shadow */
body .tgv-footer-v72,
body.premium-theme .tgv-footer-v72{
  position:relative!important;
  isolation:isolate!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:clamp(76px,8vw,132px)!important;
  padding-top:clamp(82px,9vw,130px)!important;
  overflow:hidden!important;
  color:rgba(255,248,237,.88)!important;
  background:
    radial-gradient(circle at 20% 0%, rgba(212,176,106,.12), transparent 34%),
    radial-gradient(circle at 76% 8%, rgba(142,64,84,.22), transparent 36%),
    linear-gradient(180deg,
      rgba(136,62,82,.98) 0%,
      rgba(91,30,45,.98) 24%,
      rgba(54,25,28,.99) 58%,
      rgba(22,19,17,1) 100%)!important;
  border-top:1px solid rgba(212,176,106,.18)!important;
  box-shadow:none!important;
}

/* kill all previous pseudo fade/shadow fragments that caused the center cut */
body .tgv-footer-v72::before,
body .tgv-footer-v72::after,
body.premium-theme .tgv-footer-v72::before,
body.premium-theme .tgv-footer-v72::after,
body.blog-page .tgv-footer-v72::before,
body.blog-page .tgv-footer-v72::after,
body.faq-page .tgv-footer-v72::before,
body.faq-page .tgv-footer-v72::after,
body.legal-page .tgv-footer-v72::before,
body.legal-page .tgv-footer-v72::after,
body.contact-page .tgv-footer-v72::before,
body.contact-page .tgv-footer-v72::after{
  content:none!important;
  display:none!important;
}

body .tgv-footer-v72 .footer-top,
body .tgv-footer-v72 .footer-bottom{
  position:relative!important;
  z-index:2!important;
  width:min(100% - 44px, 1180px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Create the pre-footer fade as a full-width page layer, not attached to cards */
body.blog-page main,
body.faq-page main,
body.legal-page main,
body.contact-page main,
body.premium-theme:not(.home-page):not(.vault-page) main{
  position:relative!important;
  z-index:1!important;
}

body.blog-page main::after,
body.faq-page main::after,
body.legal-page main::after,
body.contact-page main::after,
body.premium-theme:not(.home-page):not(.vault-page) main::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:calc(-1 * clamp(76px,8vw,132px))!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  height:clamp(240px,24vw,390px)!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:
    linear-gradient(180deg,
      rgba(244,235,221,0) 0%,
      rgba(219,178,157,.18) 18%,
      rgba(183,104,121,.36) 42%,
      rgba(115,46,61,.65) 68%,
      rgba(91,30,45,.88) 84%,
      rgba(22,19,17,0) 100%)!important;
}

/* Shop/Vault drops footer transition a little lighter and calmer */
body.vault-page main::after{
  content:none!important;
}

/* FAQ scroll and accordion safety */
body.faq-page,
body.faq-page main,
body.faq-page .faq-shell,
body.faq-page .faq-section,
body.faq-page .faq-list{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body.faq-page .faq-answer{
  overflow:hidden!important;
}
body.faq-page .faq-item.open .faq-answer{
  overflow:visible!important;
}

/* Blog: remove artificial boxed background edges near footer */
body.blog-page .blog-section,
body.blog-page .blog-overview,
body.blog-page .blog-layout,
body.blog-page .blog-grid-section,
body.blog-page .blog-grid-inner{
  box-shadow:none!important;
}
body.blog-page .blog-grid-section,
body.blog-page .blog-grid-inner{
  background:transparent!important;
}

/* Japanese name Easter eggs: tiny, subtle, no shadow, no heavy fixed watermark */
.tgv-easter-name{
  position:fixed!important;
  z-index:4!important;
  pointer-events:none!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho","Noto Serif JP",serif!important;
  font-size:clamp(15px,1.6vw,26px)!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  opacity:0!important;
  color:rgba(91,30,45,.20)!important;
  text-shadow:none!important;
  filter:none!important;
  mix-blend-mode:multiply!important;
  animation:tgv81NameEaster 4.8s ease-in-out forwards!important;
}
body .tgv-footer-v72 .tgv-easter-name,
.tgv-easter-name.dark-zone{
  color:rgba(212,176,106,.12)!important;
  mix-blend-mode:screen!important;
}

@keyframes tgv81NameEaster{
  0%{opacity:0;transform:translate3d(0,8px,0) scale(.98);}
  16%{opacity:.18;}
  68%{opacity:.15;}
  100%{opacity:0;transform:translate3d(0,-10px,0) scale(1.02);}
}

@media (max-width:980px){
  body .tgv-header-v72,
  body.premium-theme .tgv-header-v72{
    width:calc(100vw - 24px)!important;
    top:32px!important;
    height:58px!important;
    min-height:58px!important;
  }
  body .tgv-header-v72 .tgv-desktop-nav-v72{display:none!important;}
  body .tgv-header-v72 .logo-wrap{left:14px!important;width:74px!important;height:74px!important;}
  body .tgv-header-v72 .brand-mark-full{max-width:74px!important;max-height:74px!important;}
}
@media (max-width:620px){
  body .ann-banner,body .tg-lux-ann{min-height:30px!important;}
  body .tgv-header-v72,body.premium-theme .tgv-header-v72{top:30px!important;width:calc(100vw - 18px)!important;}
  body .tgv-footer-v72,body.premium-theme .tgv-footer-v72{margin-top:72px!important;padding-top:76px!important;}
  .tgv-easter-name{font-size:18px!important;opacity:0!important;}
}
