/* TG Vault v79 — Hauptseiten-Polish: Footer-Fade, Blog/FAQ-Kanten, Sticky-Navi, subtile Easter-Eggs */
:root{
  --v79-cream:#F4EBDD;
  --v79-paper:#FFF8ED;
  --v79-beige:#DCCBB5;
  --v79-gold:#D4B06A;
  --v79-bordeaux:#5B1E2D;
  --v79-bordeaux-soft:#8A3B4D;
  --v79-espresso:#161311;
  --v79-ink:#2D1A16;
}

/* Scroll/Sticky-Sicherheit */
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 .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% - 72px),1180px)!important;max-width:1180px!important;
  border-radius:0 0 28px 28px!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;}
body .tgv-header-v72 .tgv-desktop-nav-v72{gap:clamp(15px,1.45vw,25px)!important;justify-content:center!important;}
body .tgv-header-v72 .tgv-desktop-nav-v72 a:not(.btn-nav){font-size:11px!important;letter-spacing:.08em!important;white-space:nowrap!important;}
body .tgv-header-v72 .brand-mark-full{width:52px!important;max-width:52px!important;max-height:48px!important;object-fit:contain!important;}
body .tgv-header-v72 .btn-nav{white-space:nowrap!important;}

/* Einheitlicher Seitenhintergrund: hell -> helles Bordeaux -> dunkles Bordeaux, ohne harten Footer-Cut. */
body.premium-theme:not(.home-page):not(.vault-page){
  background:
    radial-gradient(circle at 12% 14%,rgba(212,176,106,.115),transparent 31%),
    radial-gradient(circle at 88% 20%,rgba(91,30,45,.08),transparent 34%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 45%,#EAD8C8 57%,#B97C88 70%,#744050 82%,#3B2028 91%,#161311 100%)!important;
  background-attachment:scroll!important;
}
body.vault-page{
  background:
    radial-gradient(circle at 13% 15%,rgba(212,176,106,.13),transparent 30%),
    radial-gradient(circle at 86% 20%,rgba(91,30,45,.055),transparent 34%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 74%,#E8D6C1 100%)!important;
}

/* Keine großen rechteckigen Hintergrundblöcke am Footer-Ende von Blog/FAQ. */
body.blog-page .blog-overview-grid{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:clamp(44px,5vw,70px) max(20px,calc((100vw - 1320px)/2 + 28px)) clamp(86px,10vw,142px)!important;
  background:transparent!important;background-image:none!important;box-shadow:none!important;filter:none!important;border:0!important;
}
body.blog-page .blog-overview-grid::before{inset:0!important;opacity:.16!important;z-index:0!important;}
body.blog-page .v19-blog-intro,
body.blog-page .blog-grid-inner{max-width:1320px!important;margin-left:auto!important;margin-right:auto!important;}
body.blog-page .v19-blog-intro>div,
body.blog-page .blog-card-item,
body.blog-page .blog-card,
body.blog-page .post-card{
  background:linear-gradient(160deg,rgba(255,248,237,.96),rgba(238,224,201,.92))!important;
  border:1px solid rgba(91,30,45,.13)!important;
  box-shadow:0 18px 44px rgba(22,19,17,.10)!important;
}
body.blog-page .blog-grid-inner::before{opacity:.09!important;}

/* Blogartikel: keine harten Kanten, aber Content weiterhin lesbar. */
body.blog-page .blog-layout{
  background:transparent!important;background-image:none!important;box-shadow:none!important;filter:none!important;
  padding-bottom:clamp(70px,9vw,130px)!important;
}
body.blog-page .blog-layout::before{opacity:.10!important;}
body.blog-page .blog-article,
body.blog-page .sidebar-card,
body.blog-page .related-posts,
body.blog-page .related-link-card{
  background:linear-gradient(160deg,rgba(255,248,237,.97),rgba(239,225,204,.94))!important;
  border:1px solid rgba(91,30,45,.13)!important;
  box-shadow:0 18px 46px rgba(22,19,17,.10)!important;
}

/* FAQ: Scroll freigeben und die FAQ nicht als riesige Creme-Wand darstellen. */
body.faq-page main,
body.faq-page .subpage-content,
body.faq-page .faq-section,
body.faq-page .faq-list,
body.faq-page .faq-category{height:auto!important;max-height:none!important;overflow:visible!important;}
body.faq-page .subpage-content.faq-section{
  background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;filter:none!important;
  max-width:1180px!important;margin:0 auto!important;padding:clamp(34px,5vw,58px) 24px clamp(90px,10vw,150px)!important;
  display:block!important;grid-template-columns:none!important;
}
body.faq-page .faq-category,
body.faq-page .faq-item{
  background:linear-gradient(160deg,rgba(255,248,237,.96),rgba(239,225,204,.93))!important;
  border:1px solid rgba(91,30,45,.13)!important;
  box-shadow:0 18px 44px rgba(22,19,17,.09)!important;
}
body.faq-page .faq-answer{overflow:hidden!important;}
body.faq-page .faq-item.open .faq-answer{overflow:visible!important;}

/* Legal/Kontakt: Lesbare Cards, aber kein cremefarbener Overlay-Schleier über die ganze Seite. */
body.legal-page .subpage-content,
body.contact-page .contact-shell-v72{
  background:radial-gradient(circle at 12% 10%,rgba(212,176,106,.10),transparent 26%),linear-gradient(160deg,rgba(255,248,237,.97),rgba(241,229,210,.94))!important;
  border:1px solid rgba(91,30,45,.14)!important;
  box-shadow:0 24px 70px rgba(22,19,17,.12)!important;
}
body.legal-page .subpage-content{margin-bottom:clamp(82px,9vw,130px)!important;}
body.contact-page .contact-shell-v72{margin-bottom:clamp(82px,9vw,130px)!important;}
body.legal-page .subpage-content::after,
body.contact-page .contact-shell-v72::after,
body.blog-page .blog-overview-grid::after,
body.faq-page .subpage-content::after{content:none!important;display:none!important;}

/* Footer: überall gleiche Luxury-Basis, keine Schattenkante, kein linker Farbschnitt. */
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{
  position:relative!important;isolation:isolate!important;width:100%!important;max-width:none!important;margin:0!important;
  padding-top:clamp(90px,8vw,138px)!important;border-top:1px solid rgba(212,176,106,.13)!important;
  box-shadow:none!important;filter:none!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(212,176,106,.12),transparent 34%),
    radial-gradient(circle at 84% 16%,rgba(141,58,76,.24),transparent 38%),
    linear-gradient(180deg,#5B1E2D 0%,#4D2631 22%,#2F1D21 56%,#161311 100%)!important;
}
body .tgv-footer-v72::before,
body.premium-theme .tgv-footer-v72::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;display:block!important;
  background:
    linear-gradient(180deg,rgba(255,248,237,.035) 0%,rgba(212,176,106,.055) 34%,rgba(91,30,45,.05) 56%,rgba(22,19,17,0) 86%),
    radial-gradient(circle at 9% 8%,rgba(212,176,106,.105),transparent 28%)!important;
}
body .tgv-footer-v72::after,
body.premium-theme .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:3!important;}

/* Subtile japanische Namen: nur als kurze Easter Eggs IN Bereichen, nie als harte Watermark-Blöcke. */
.tgv-easter-name{position:absolute!important;pointer-events:none!important;z-index:0!important;font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho","Noto Serif JP",serif!important;font-weight:800!important;letter-spacing:.14em!important;white-space:nowrap!important;line-height:1!important;opacity:0;filter:none!important;text-shadow:none!important;transform:translate3d(0,12px,0) rotate(var(--rot,-3deg));animation:tgv79NameGhost var(--dur,7.5s) ease-in-out forwards!important;}
.tgv-easter-name.is-light{color:rgba(91,30,45,.055)!important;font-size:clamp(28px,4.5vw,86px)!important;mix-blend-mode:multiply!important;}
.tgv-easter-name.is-dark{color:rgba(212,176,106,.12)!important;font-size:clamp(34px,5.5vw,104px)!important;mix-blend-mode:screen!important;}
body.premium-theme:not(.home-page) .subpage-hero,
body.premium-theme:not(.home-page) .subpage-content,
body.premium-theme:not(.home-page) .blog-overview-grid,
body.premium-theme:not(.home-page) .blog-layout,
body.premium-theme:not(.home-page) .contact-shell-v72,
body.premium-theme:not(.home-page) .tgv-footer-v72{position:relative!important;overflow:hidden;}
body.premium-theme:not(.home-page) .subpage-hero>*,
body.premium-theme:not(.home-page) .subpage-content>*,
body.premium-theme:not(.home-page) .blog-overview-grid>*,
body.premium-theme:not(.home-page) .blog-layout>*,
body.premium-theme:not(.home-page) .contact-shell-v72>*,
body.premium-theme:not(.home-page) .tgv-footer-v72>*{position:relative;z-index:2;}
@keyframes tgv79NameGhost{0%{opacity:0;transform:translate3d(0,12px,0) rotate(var(--rot,-3deg));}18%{opacity:1;}62%{opacity:.82;}100%{opacity:0;transform:translate3d(0,-10px,0) rotate(var(--rot,-3deg));}}

@media(max-width:1120px){body .tgv-header-v72 .tgv-desktop-nav-v72{gap:12px!important;}body .tgv-header-v72 .tgv-desktop-nav-v72 a:not(.btn-nav){font-size:10px!important;}}
@media(max-width:1000px){body .tgv-header-v72,body.premium-theme .tgv-header-v72{width:calc(100% - 28px)!important;top:34px!important;}body .tgv-mobile-v72,body.premium-theme .tgv-mobile-v72{top:104px!important;}body .tgv-header-v72 .brand-mark-full{width:46px!important;max-width:46px!important;}}
@media(max-width:760px){body.blog-page .blog-overview-grid{padding-left:16px!important;padding-right:16px!important;}body.faq-page .subpage-content.faq-section{padding-left:14px!important;padding-right:14px!important;}.tgv-easter-name.is-light{font-size:38px!important}.tgv-easter-name.is-dark{font-size:46px!important}}

/* Extra specificity against older legal/contact fade snippets: no negative shadow bands, no floating cut layers. */
body.blog-page .tgv-footer-v72::before,
body.faq-page .tgv-footer-v72::before,
body.legal-page .tgv-footer-v72::before,
body.vault-page.legal-page .tgv-footer-v72::before,
body.contact-page .tgv-footer-v72::before,
body.vault-page .tgv-footer-v72::before{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;top:0!important;bottom:0!important;left:0!important;right:0!important;width:auto!important;height:auto!important;z-index:0!important;pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(255,248,237,.035) 0%,rgba(212,176,106,.055) 34%,rgba(91,30,45,.05) 56%,rgba(22,19,17,0) 86%),
    radial-gradient(circle at 9% 8%,rgba(212,176,106,.105),transparent 28%)!important;
  box-shadow:none!important;filter:none!important;
}
body.blog-page .tgv-footer-v72::after,
body.faq-page .tgv-footer-v72::after,
body.legal-page .tgv-footer-v72::after,
body.vault-page.legal-page .tgv-footer-v72::after,
body.contact-page .tgv-footer-v72::after,
body.vault-page .tgv-footer-v72::after{content:none!important;display:none!important;box-shadow:none!important;filter:none!important;}
/* Header consistency with enough specificity for older contact/legal overrides. */
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,
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% - 72px),1180px)!important;max-width:1180px!important;
  border-radius:0 0 28px 28px!important;margin:0!important;
}
body.home-page .tgv-header-v72 .tgv-desktop-nav-v72,
body.blog-page .tgv-header-v72 .tgv-desktop-nav-v72,
body.faq-page .tgv-header-v72 .tgv-desktop-nav-v72,
body.legal-page .tgv-header-v72 .tgv-desktop-nav-v72,
body.contact-page .tgv-header-v72 .tgv-desktop-nav-v72,
body.vault-page .tgv-header-v72 .tgv-desktop-nav-v72{
  justify-content:center!important;gap:clamp(13px,1.28vw,22px)!important;
}
@media(max-width:1000px){
  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,
  body.premium-theme .tgv-header-v72{width:calc(100% - 28px)!important;top:34px!important;}
}
