/*
 * TFJP age gate final polish.
 * Override the custom TFJP age gate into the same approved Hentai Stream layout:
 * title -> text -> primary -> secondary. No logo, no BETA, no 18+, no kicker.
 */
.vv-age-gate{
  padding:28px!important;
}

.vv-age-card.vv-age-card-tfjp{
  position:relative!important;
  overflow:hidden!important;
  width:min(540px,100%)!important;
  padding:46px 44px 40px!important;
  text-align:center!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:16px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0) 34%),
    #090909!important;
  box-shadow:0 34px 110px rgba(0,0,0,.72)!important;
}

.vv-age-card.vv-age-card-tfjp::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  width:58px!important;
  height:3px!important;
  transform:translateX(-50%)!important;
  border-radius:0 0 4px 4px!important;
  background:var(--vv-accent)!important;
  opacity:.92!important;
}

/* Remove TFJP logo/BETA/18+ row and the ADULT CONTENT kicker. */
.vv-age-card-tfjp .vv-age-top,
.vv-age-card-tfjp .vv-age-kicker{
  display:none!important;
}

.vv-age-card-tfjp .vv-age-copy{
  padding:0!important;
}

.vv-age-card-tfjp h1{
  margin:0!important;
  color:#f2f2f2!important;
  font-size:34px!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
}

.vv-age-card-tfjp p{
  max-width:430px!important;
  margin:14px auto 28px!important;
  color:#929292!important;
  font-size:15px!important;
  line-height:1.6!important;
  text-align:center!important;
}

.vv-age-card-tfjp .vv-age-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-top:0!important;
}

.vv-age-card-tfjp .vv-age-enter{
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:var(--vv-accent)!important;
  color:#fff!important;
  font:800 13px/1 "Source Sans 3",sans-serif!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease!important;
}

.vv-age-card-tfjp .vv-age-enter:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05)!important;
  background:var(--vv-accent)!important;
  border-color:transparent!important;
  box-shadow:0 13px 32px rgba(0,0,0,.28)!important;
}

.vv-age-card-tfjp .vv-age-exit{
  width:100%!important;
  min-height:46px!important;
  margin:10px 0 0!important;
  padding:0 18px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.035)!important;
  color:#b8b8b8!important;
  font:700 12px/1 "Source Sans 3",sans-serif!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease!important;
}

.vv-age-card-tfjp .vv-age-exit:hover{
  transform:translateY(-1px)!important;
  background:rgba(255,255,255,.065)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#ededed!important;
}

.vv-age-card-tfjp .vv-age-enter:focus-visible,
.vv-age-card-tfjp .vv-age-exit:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 0 4px color-mix(in srgb,var(--vv-accent) 38%,transparent)!important;
}

@media(max-width:620px){
  .vv-age-gate{
    padding:16px!important;
  }

  .vv-age-card.vv-age-card-tfjp{
    width:min(100%,420px)!important;
    padding:31px 23px 27px!important;
    border-radius:14px!important;
  }

  .vv-age-card.vv-age-card-tfjp::before{
    width:48px!important;
  }

  .vv-age-card-tfjp h1{
    font-size:27px!important;
  }

  .vv-age-card-tfjp p{
    max-width:350px!important;
    margin:11px auto 22px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }

  .vv-age-card-tfjp .vv-age-enter{
    min-height:46px!important;
    font-size:12px!important;
  }

  .vv-age-card-tfjp .vv-age-exit{
    min-height:43px!important;
    margin-top:8px!important;
    font-size:11px!important;
  }
}
