/* TG Vault v78 — FAQ scroll fix, smoother global footer fade, Easter-Egg Japanese names
   Ziel: Premium-Optik zuerst, keine harten Footer-Cuts, keine festen schweren Japan-Watermarks. */

:root{
  --v78-cream:#F4EBDD;
  --v78-paper:#FFF8ED;
  --v78-beige:#DCCBB5;
  --v78-gold:#D4B06A;
  --v78-bordeaux:#5B1E2D;
  --v78-bordeaux-light:#8E4B5C;
  --v78-bordeaux-soft:#B9828B;
  --v78-ink:#161311;
}

html,body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
}
body{position:relative!important;}
body.faq-page{
  overflow-y:auto!important;
  height:auto!important;
  min-height:100vh!important;
  background:
    radial-gradient(circle at 14% 18%, rgba(212,176,106,.13), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(91,30,45,.08), transparent 30%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 58%,#DFC6B4 73%,#8B4557 88%,#211618 100%)!important;
}
body.faq-page main,
body.faq-page .subpage-content,
body.faq-page .faq-section,
body.faq-page .faq-category,
body.faq-page .faq-list{
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
}
body.faq-page .subpage-content.faq-section{
  padding-bottom:clamp(70px,9vw,130px)!important;
  box-shadow:none!important;
  filter:none!important;
}
body.faq-page .faq-answer{
  overflow:hidden!important;
}
body.faq-page .faq-item.open .faq-answer{
  overflow:visible!important;
}

/* Alte feste Watermark-Pseudo-Elemente komplett neutralisieren. Neue Namen kommen per JS als kleine Easter Eggs. */
body.premium-theme:not(.home-page)::before,
body.premium-theme:not(.home-page)::after,
body.premium-theme:not(.home-page) main::before,
body.premium-theme:not(.home-page) main::after,
body .tgv-footer-v72::after,
body.premium-theme .tgv-footer-v72::after{
  content:none!important;
  display:none!important;
}

/* Header bleibt sichtbar und mittig, ohne ganzflächigen Balken-Look. */
body .ann-banner,
body .tg-lux-ann{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:99990!important;
}
body .tgv-header-v72,
body.premium-theme .tgv-header-v72{
  position:fixed!important;
  top:36px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  z-index:99980!important;
  width:min(calc(100% - 44px),1120px)!important;
  max-width:1120px!important;
  opacity:1!important;
  visibility:visible!important;
}
body .tgv-mobile-v72,
body.premium-theme .tgv-mobile-v72{
  position:fixed!important;
  top:112px!important;
  z-index:99970!important;
}

/* Einheitlicher Seitenverlauf für Blog/FAQ/Recht/Kontakt: Fade beginnt früher und wird nicht erst direkt vorm Footer hart. */
body.blog-page,
body.faq-page,
body.legal-page,
body.contact-page,
body.premium-theme:not(.home-page):not(.vault-page){
  background:
    radial-gradient(circle at 12% 16%, rgba(212,176,106,.12), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(91,30,45,.10), transparent 32%),
    linear-gradient(180deg,
      #F8F0E4 0%,
      #F4EBDD 46%,
      #EAD5C1 60%,
      #C28D94 72%,
      #874253 83%,
      #4A202A 92%,
      #161311 100%)!important;
  background-attachment:scroll!important;
}

/* Vault/Shop bleibt heller, aber Footer soll trotzdem sauber andocken. */
body.vault-page{
  background:
    radial-gradient(circle at 14% 14%, rgba(212,176,106,.13), transparent 28%),
    radial-gradient(circle at 86% 20%, rgba(91,30,45,.06), transparent 30%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 72%,#E6D4BF 100%)!important;
}

/* Kein rechteckiger Schatten-/Container-Fade mehr. */
body.legal-page .subpage-content::after,
body.contact-page .contact-shell-v72::after,
body.faq-page .subpage-content::after,
body.blog-page .blog-shell::after,
body.blog-page main::after,
body.faq-page main::after{
  content:none!important;
  display:none!important;
}
body .subpage-content,
body .contact-shell-v72,
body .blog-shell,
body .faq-shell{
  box-shadow:none!important;
  filter:none!important;
}

/* Footer: vollbreit, ohne linken Farbschnitt, gleicher dunkler Luxury-Look auf allen Seiten. */
body .tgv-footer-v72,
body.premium-theme .tgv-footer-v72,
body.blog-page .tgv-footer-v72,
body.faq-page .tgv-footer-v72,
body.legal-page .tgv-footer-v72,
body.contact-page .tgv-footer-v72,
body.vault-page .tgv-footer-v72{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:0!important;
  position:relative!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 16% 0%, rgba(212,176,106,.10), transparent 32%),
    radial-gradient(circle at 86% 12%, rgba(91,30,45,.22), transparent 34%),
    linear-gradient(180deg,
      #5B1E2D 0%,
      #43212A 24%,
      #2A1A1B 55%,
      #161311 100%)!important;
  border-top:1px solid rgba(212,176,106,.16)!important;
  box-shadow:none!important;
  overflow:hidden!important;
  padding-top:clamp(88px,8vw,130px)!important;
}
body .tgv-footer-v72::before,
body.premium-theme .tgv-footer-v72::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
  background:
    radial-gradient(circle at 8% 6%, rgba(212,176,106,.10), transparent 25%),
    linear-gradient(180deg, rgba(255,248,237,.045) 0%, rgba(91,30,45,.075) 34%, rgba(22,19,17,0) 72%)!important;
}
body .tgv-footer-v72 .footer-top,
body .tgv-footer-v72 .footer-bottom{
  position:relative!important;
  z-index:3!important;
}

/* Sanfter Übergang direkt über Footer, global und flächig statt als Kasten. */
body.blog-page .tgv-footer-v72,
body.faq-page .tgv-footer-v72,
body.legal-page .tgv-footer-v72,
body.contact-page .tgv-footer-v72{
  box-shadow:0 -80px 130px rgba(91,30,45,.16)!important;
}
body.blog-page .tgv-footer-v72:before,
body.faq-page .tgv-footer-v72:before,
body.legal-page .tgv-footer-v72:before,
body.contact-page .tgv-footer-v72:before{
  background:
    linear-gradient(180deg, rgba(255,248,237,.045) 0%, rgba(160,84,96,.12) 32%, rgba(91,30,45,.09) 54%, rgba(22,19,17,0) 82%),
    radial-gradient(circle at 9% 6%, rgba(212,176,106,.10), transparent 24%)!important;
}

/* Easter-Egg Namen: sehr versteckt, temporär, hinter dem Inhalt. */
.tgv-easter-name{
  position:absolute;
  pointer-events:none;
  z-index:1;
  font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho","Noto Serif JP",serif;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  transform:translate3d(0,10px,0) rotate(var(--rot, -4deg));
  animation:tgvNameGhost var(--dur, 8s) ease-in-out forwards;
  mix-blend-mode:multiply;
  text-shadow:none!important;
  filter:none!important;
}
.tgv-easter-name.is-light{color:rgba(91,30,45,.075);font-size:clamp(34px,5.5vw,98px);}
.tgv-easter-name.is-dark{color:rgba(127,48,66,.18);font-size:clamp(42px,7vw,128px);mix-blend-mode:screen;}
@keyframes tgvNameGhost{
  0%{opacity:0;transform:translate3d(0,16px,0) rotate(var(--rot,-4deg));}
  18%{opacity:1;}
  62%{opacity:.92;}
  100%{opacity:0;transform:translate3d(0,-12px,0) rotate(var(--rot,-4deg));}
}

@media(max-width:760px){
  body .tgv-header-v72,body.premium-theme .tgv-header-v72{width:calc(100% - 20px)!important;top:34px!important;}
  body .tgv-mobile-v72,body.premium-theme .tgv-mobile-v72{top:104px!important;}
  .tgv-easter-name.is-light{font-size:42px;}
  .tgv-easter-name.is-dark{font-size:52px;}
  body .tgv-footer-v72{padding-top:78px!important;}
}
