/* TG Vault v151 — Public layout, contrast and footer repair
   Scope: loaded only on public non-blog pages. Blog article/overview design stays untouched. */
:root{
  --tgv151-bordeaux:#5B1E2D;
  --tgv151-bordeaux-2:#7C3045;
  --tgv151-rose:#A85F72;
  --tgv151-cream:#F4EBDD;
  --tgv151-paper:#FFF8ED;
  --tgv151-paper-2:#EAD7C3;
  --tgv151-gold:#D4B06A;
  --tgv151-ink:#24130F;
  --tgv151-muted:#684E40;
  --tgv151-deep:#161311;
}

/* Smooth page backgrounds instead of hard color breaks. */
body.premium-theme:not(.blog-page){
  background-color:var(--tgv151-deep)!important;
  background-image:
    radial-gradient(circle at 18% 8%,rgba(212,176,106,.14),transparent 28%),
    radial-gradient(circle at 84% 18%,rgba(91,30,45,.16),transparent 34%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 45%,#E8D2C2 64%,#B36D7C 78%,#5B1E2D 91%,#161311 100%)!important;
  background-attachment:fixed!important;
  color:var(--tgv151-ink)!important;
}
body.home-page{
  background-image:
    radial-gradient(circle at 48% 0%,rgba(212,176,106,.18),transparent 26%),
    radial-gradient(circle at 14% 15%,rgba(91,30,45,.38),transparent 36%),
    linear-gradient(180deg,#260911 0%,#39101B 34%,#6D2D40 62%,#8B4A5A 74%,#5B1E2D 88%,#161311 100%)!important;
}
body.premium-theme:not(.blog-page)::before,
body.premium-theme:not(.blog-page)::after{
  pointer-events:none!important;
}

/* Subpage shell: full height, centered, readable. */
body.premium-theme:not(.blog-page) .subpage-hero{
  margin-top:100px!important;
  padding:clamp(88px,9vw,128px) 24px clamp(34px,4vw,56px)!important;
  background:transparent!important;
  position:relative!important;
  z-index:2!important;
}
body.premium-theme:not(.blog-page) .subpage-hero-title,
body.premium-theme:not(.blog-page) .subpage-hero h1{
  color:#FFF8ED!important;
  text-shadow:0 18px 44px rgba(22,9,10,.34)!important;
}
body.premium-theme:not(.blog-page) .subpage-hero-title span,
body.premium-theme:not(.blog-page) .subpage-hero h1 span,
body.premium-theme:not(.blog-page) h2 em{
  color:#F2D891!important;
}
body.premium-theme:not(.blog-page) .subpage-hero-sub{
  color:rgba(255,248,237,.82)!important;
}
body.premium-theme:not(.blog-page) .subpage-bg-word{
  opacity:.045!important;
  color:#FFF8ED!important;
}

body.premium-theme:not(.blog-page) .subpage-content,
body.premium-theme:not(.blog-page) .faq-wrap,
body.premium-theme:not(.blog-page) .legal-wrap,
body.premium-theme:not(.blog-page) .contact-wrap{
  position:relative!important;
  z-index:2!important;
  width:min(1040px,calc(100vw - 48px))!important;
  max-width:min(1040px,calc(100vw - 48px))!important;
  margin:0 auto!important;
  padding:clamp(44px,5.5vw,72px) clamp(24px,4vw,56px) clamp(66px,7vw,96px)!important;
  border-radius:34px!important;
  background:
    linear-gradient(135deg,rgba(255,251,245,.97),rgba(244,235,221,.90)),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E")!important;
  background-blend-mode:normal,multiply!important;
  border:1px solid rgba(91,30,45,.15)!important;
  box-shadow:0 30px 90px rgba(44,18,20,.14), inset 0 1px 0 rgba(255,255,255,.65)!important;
  color:var(--tgv151-ink)!important;
  overflow:visible!important;
}
body.premium-theme:not(.blog-page) .subpage-content::after,
body.premium-theme:not(.blog-page) .faq-wrap::after,
body.premium-theme:not(.blog-page) .legal-wrap::after,
body.premium-theme:not(.blog-page) .contact-wrap::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-190px!important;
  transform:translateX(-50%)!important;
  width:100vw!important;
  height:260px!important;
  z-index:-1!important;
  background:linear-gradient(180deg,rgba(244,235,221,0) 0%,rgba(173,93,111,.34) 42%,rgba(91,30,45,.84) 78%,rgba(91,30,45,0) 100%)!important;
  pointer-events:none!important;
}

/* Text contrast inside the light pages. */
body.premium-theme:not(.blog-page) .subpage-content p,
body.premium-theme:not(.blog-page) .subpage-content li,
body.premium-theme:not(.blog-page) .faq-wrap p,
body.premium-theme:not(.blog-page) .legal-wrap p,
body.premium-theme:not(.blog-page) .legal-section p,
body.premium-theme:not(.blog-page) .legal-section li,
body.premium-theme:not(.blog-page) .legal-section address,
body.premium-theme:not(.blog-page) .contact-wrap p{
  color:var(--tgv151-muted)!important;
  font-weight:650!important;
}
body.premium-theme:not(.blog-page) .subpage-content h2,
body.premium-theme:not(.blog-page) .subpage-content h3,
body.premium-theme:not(.blog-page) .legal-section h2,
body.premium-theme:not(.blog-page) .legal-section h3,
body.premium-theme:not(.blog-page) .faq-wrap h2,
body.premium-theme:not(.blog-page) .faq-wrap h3,
body.premium-theme:not(.blog-page) .contact-wrap h2,
body.premium-theme:not(.blog-page) .contact-wrap h3{
  color:var(--tgv151-ink)!important;
  text-shadow:none!important;
}
body.premium-theme:not(.blog-page) .label,
body.premium-theme:not(.blog-page) .back-btn,
body.premium-theme:not(.blog-page) .custom-hero-badge{
  color:#7B2034!important;
}
body.premium-theme:not(.blog-page) .label::before{background:#7B2034!important;}
body.premium-theme:not(.blog-page) .back-btn:hover{color:#A93A58!important;}
body.premium-theme:not(.blog-page) a:not(.btn-nav):not(.mobile-nav-cta):not(.tgv5-btn):not(.btn-primary):not(.vault-btn){
  color:#7B2034;
}

/* Custom Cards readability and spacing. */
body.premium-theme:not(.blog-page) .custom-intro,
body.premium-theme:not(.blog-page) .custom-feat,
body.premium-theme:not(.blog-page) .custom-for-tag,
body.premium-theme:not(.blog-page) .custom-notice,
body.premium-theme:not(.blog-page) .custom-cta-box{
  background:linear-gradient(145deg,rgba(255,248,237,.98),rgba(239,225,205,.92))!important;
  border:1px solid rgba(91,30,45,.14)!important;
  box-shadow:0 18px 46px rgba(37,18,17,.08), inset 0 1px 0 rgba(255,255,255,.56)!important;
  color:var(--tgv151-ink)!important;
}
body.premium-theme:not(.blog-page) .custom-feat-title,
body.premium-theme:not(.blog-page) .custom-notice h3,
body.premium-theme:not(.blog-page) .custom-notice-list li,
body.premium-theme:not(.blog-page) .custom-for-tag,
body.premium-theme:not(.blog-page) .custom-cta-box strong{
  color:#25110D!important;
}
body.premium-theme:not(.blog-page) .custom-feat-desc,
body.premium-theme:not(.blog-page) .custom-cta-box p{
  color:#654D40!important;
}
body.premium-theme:not(.blog-page) .tgv-vaultdrops-inline-cta,
body.premium-theme:not(.blog-page) .blog-vaultdrops-cta{
  background:
    radial-gradient(circle at 14% 6%,rgba(212,176,106,.17),transparent 32%),
    linear-gradient(135deg,#5B1E2D 0%,#32111C 62%,#161311 100%)!important;
  border:1px solid rgba(212,176,106,.32)!important;
  box-shadow:0 24px 70px rgba(43,13,22,.22), inset 0 1px 0 rgba(255,255,255,.08)!important;
  color:#FFF8ED!important;
}
body.premium-theme:not(.blog-page) .tgv-vaultdrops-inline-cta strong,
body.premium-theme:not(.blog-page) .blog-vaultdrops-cta strong{color:#FFF8ED!important;}
body.premium-theme:not(.blog-page) .tgv-vaultdrops-inline-cta p,
body.premium-theme:not(.blog-page) .blog-vaultdrops-cta p{color:#F0DDBF!important;}
body.premium-theme:not(.blog-page) .tgv-vaultdrops-inline-cta a,
body.premium-theme:not(.blog-page) .blog-vaultdrops-cta a,
body.premium-theme:not(.blog-page) .btn-primary{
  background:linear-gradient(135deg,#7B2034,#B44563)!important;
  color:#FFF8ED!important;
  border:1px solid rgba(212,176,106,.25)!important;
  box-shadow:0 14px 34px rgba(91,30,45,.26)!important;
}
body.premium-theme:not(.blog-page) .custom-why{
  background:
    radial-gradient(circle at 14% 8%,rgba(212,176,106,.16),transparent 30%),
    linear-gradient(135deg,#160B0B 0%,#2A101A 58%,#461827 100%)!important;
  border:1px solid rgba(212,176,106,.26)!important;
  box-shadow:0 26px 72px rgba(22,8,12,.24)!important;
  color:#F4EBDD!important;
}
body.premium-theme:not(.blog-page) .custom-why h3,
body.premium-theme:not(.blog-page) .custom-why h3 span{color:#FFF4DF!important;}
body.premium-theme:not(.blog-page) .custom-why-list li{color:#F0DDBF!important;font-weight:850!important;}

/* Homepage: stabilize the premium paper sections and remove broken hard bands. */
body.home-page .tgv5-hero{
  min-height:min(880px,96svh)!important;
  padding-top:clamp(126px,13vh,168px)!important;
  padding-bottom:clamp(84px,10vh,120px)!important;
  background:transparent!important;
}
body.home-page .tgv5-hero-bg{
  background:
    linear-gradient(90deg,rgba(42,10,18,.84),rgba(57,16,28,.56) 45%,rgba(42,10,18,.78)),
    url('/assets/header-japan-v11.webp') center top/cover no-repeat!important;
}
body.home-page .tgv5-hero-veil{
  background:linear-gradient(180deg,rgba(22,8,12,.05),rgba(58,16,28,.34) 58%,rgba(91,30,45,.78) 100%)!important;
}
body.home-page .tgv5-hero-inner{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:min(1240px,100%)!important;
}
body.home-page .tgv5-hero-copy{
  width:min(920px,100%)!important;
  max-width:920px!important;
}
body.home-page .tgv5-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
body.home-page .tgv5-stat-card{
  color:#2A1510!important;
  background:linear-gradient(180deg,rgba(255,251,245,.84),rgba(244,235,221,.68))!important;
  border:1px solid rgba(91,30,45,.12)!important;
}
body.home-page .tgv5-stat-card strong{color:#27120D!important;text-shadow:none!important;}
body.home-page .tgv5-stat-card span{color:#6B4D3F!important;}
body.home-page .tgv5-signature-strip,
body.home-page .tgv5-boutique-intro,
body.home-page .tgv7-editorial-grid,
body.home-page .vault-note-grid,
body.home-page .section,
body.home-page .home-blog-showcase{
  position:relative!important;
  z-index:2!important;
}
body.home-page .tgv5-signature-strip{margin-top:clamp(-54px,-4vw,-26px)!important;margin-bottom:58px!important;}
body.home-page .tgv5-boutique-intro,
body.home-page .tgv7-editorial-grid,
body.home-page .section,
body.home-page .home-blog-showcase{
  width:min(1180px,calc(100vw - 48px))!important;
  max-width:min(1180px,calc(100vw - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:34px!important;
  background:
    linear-gradient(135deg,rgba(255,251,245,.97),rgba(244,235,221,.88)),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")!important;
  background-blend-mode:normal,multiply!important;
  border:1px solid rgba(91,30,45,.13)!important;
  box-shadow:0 28px 82px rgba(37,18,17,.11), inset 0 1px 0 rgba(255,255,255,.60)!important;
  color:var(--tgv151-ink)!important;
}
body.home-page .section{padding:clamp(64px,7vw,92px) clamp(24px,4vw,56px)!important;}
body.home-page .section + .section,
body.home-page .home-blog-showcase{margin-top:44px!important;}
body.home-page .tgv5-boutique-intro p,
body.home-page .tgv7-editorial-grid p,
body.home-page .section p,
body.home-page .perk-desc,
body.home-page .about-text p,
body.home-page .hs-desc{color:#60493D!important;font-weight:650!important;}
body.home-page .tgv5-boutique-intro h2,
body.home-page .tgv7-editorial-grid h2,
body.home-page .section h2,
body.home-page .perk-title,
body.home-page .hs-title{color:var(--tgv151-ink)!important;text-shadow:none!important;}
body.home-page .tgv5-section-label,
body.home-page .label,
body.home-page .hs-cat{color:#7B2034!important;}
body.home-page .tgv7-paper-card,
body.home-page .perk-card,
body.home-page .vault-legal-box,
body.home-page .hs-card{
  background:linear-gradient(145deg,rgba(255,248,237,.98),rgba(239,225,205,.92))!important;
  border:1px solid rgba(91,30,45,.13)!important;
  box-shadow:0 18px 46px rgba(37,18,17,.08)!important;
}
body.home-page .hs-thumb{background:#EAD7C3!important;}

/* Footer: compact, full-width and no central cut/rectangle. */
body.premium-theme:not(.blog-page) .tgv-footer-v72,
body.vault-page.premium-theme .tgv-footer-v72{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  margin-top:0!important;
  padding:clamp(62px,7vw,92px) 24px clamp(34px,4vw,46px)!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 20% 0%,rgba(212,176,106,.14),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(168,95,114,.18),transparent 38%),
    linear-gradient(180deg,#5B1E2D 0%,#3C1E26 42%,#1F1818 78%,#161311 100%)!important;
  border-top:1px solid rgba(212,176,106,.16)!important;
  box-shadow:none!important;
  color:#F4EBDD!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72::before,
body.premium-theme:not(.blog-page) .tgv-footer-v72::after{
  content:none!important;
  display:none!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-top,
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-bottom{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  position:relative!important;
  z-index:2!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-top{
  display:grid!important;
  grid-template-columns:minmax(250px,1.3fr) repeat(3,minmax(150px,.7fr))!important;
  gap:clamp(26px,4vw,58px)!important;
  align-items:start!important;
  padding-bottom:34px!important;
  border-bottom:1px solid rgba(212,176,106,.16)!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-brand{max-width:330px!important;}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-brand-full{
  width:132px!important;
  max-width:132px!important;
  height:auto!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 p,
body.premium-theme:not(.blog-page) .tgv-footer-v72 li,
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-copy,
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-disclaimer{
  color:rgba(244,235,221,.78)!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 h3,
body.premium-theme:not(.blog-page) .tgv-footer-v72 h4,
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-links-title{
  color:#F2D891!important;
  font-family:Georgia,'Times New Roman',serif!important;
  letter-spacing:.02em!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 a{
  color:#F0DDBF!important;
  text-decoration:none!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 a:hover{color:#FFF8ED!important;}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-badge{
  color:#F2D891!important;
  background:rgba(255,248,237,.07)!important;
  border-color:rgba(212,176,106,.22)!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-badge-dot,
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-col-line{
  background:#D4B06A!important;
}
body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-bottom{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,460px)!important;
  gap:24px!important;
  align-items:start!important;
  padding-top:26px!important;
}
body.premium-theme:not(.blog-page) .tgv-cookie-footer-link{
  display:inline-flex!important;
  margin-left:.35rem!important;
  font-weight:800!important;
  color:#F2D891!important;
}

/* Vault/legal/contact small repairs. */
body.vault-page.premium-theme{
  background-image:
    radial-gradient(circle at 12% 10%,rgba(212,176,106,.14),transparent 30%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 64%,#EAD7C3 82%,#8B4052 95%,#161311 100%)!important;
}
body.vault-page .vault-hero,
body.vault-page .vault-toolbar,
body.vault-page .vault-filter-panel{color:#2C1712!important;}

@media(max-width:980px){
  body.home-page .tgv5-stats{grid-template-columns:1fr!important;}
  body.home-page .tgv5-signature-strip{margin-top:24px!important;}
  body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-top{grid-template-columns:1fr 1fr!important;}
  body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-bottom{grid-template-columns:1fr!important;}
  body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-disclaimer{text-align:left!important;max-width:100%!important;}
}
@media(max-width:680px){
  body.premium-theme:not(.blog-page) .subpage-content,
  body.premium-theme:not(.blog-page) .faq-wrap,
  body.premium-theme:not(.blog-page) .legal-wrap,
  body.premium-theme:not(.blog-page) .contact-wrap,
  body.home-page .tgv5-boutique-intro,
  body.home-page .tgv7-editorial-grid,
  body.home-page .section,
  body.home-page .home-blog-showcase{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    border-radius:26px!important;
  }
  body.premium-theme:not(.blog-page) .tgv-footer-v72 .footer-top{grid-template-columns:1fr!important;gap:28px!important;}
  body.premium-theme:not(.blog-page) .custom-for-grid{grid-template-columns:1fr!important;}
  body.premium-theme:not(.blog-page) .custom-cta-box{align-items:stretch!important;}
  body.premium-theme:not(.blog-page) .custom-cta-box .btn-primary{width:100%!important;justify-content:center!important;}
}
