/* JAVSPY AGE GATE CARD V3K
   Force the CARD itself to true black and undo inherited vertical stretching.
*/

/* Stronger selector than previous patches. */
html body .vp-age-gate .vp-age-card{
  height:auto!important;
  min-height:0!important;
  max-height:min(540px,calc(100vh - 28px))!important;
  width:min(500px,calc(100vw - 28px))!important;

  padding:0!important;
  margin:0!important;

  background:#000!important;
  background-color:#000!important;
  background-image:none!important;
  background-blend-mode:normal!important;

  border:1px solid #1c1c1c!important;
  border-radius:0!important;
  box-shadow:0 22px 60px rgba(0,0,0,.82)!important;

  overflow:auto!important;
}

/* Kill any inherited decorative layer painting over the card background. */
html body .vp-age-gate .vp-age-card::before,
html body .vp-age-gate .vp-age-card::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
  background-image:none!important;
}

/* Undo vertical spacing that made the modal too tall. */
html body .vp-age-gate .vp-age-top{
  min-height:0!important;
  padding:14px 20px 0!important;
  margin:0!important;
}

html body .vp-age-gate .vp-age-card h1{
  margin:8px 20px 0!important;
  padding:0!important;
  font-size:26px!important;
  line-height:1.02!important;
}

html body .vp-age-gate .vp-age-intro{
  margin:6px 20px 0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.38!important;
}

/* This was one of the biggest contributors to height. */
html body .vp-age-gate .vp-age-legal-scroll{
  height:108px!important;
  min-height:0!important;
  max-height:108px!important;
  margin:12px 20px 0!important;
  padding:10px 11px!important;

  background:#030303!important;
  background-color:#030303!important;
  background-image:none!important;

  border:1px solid #181818!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:auto!important;
}

html body .vp-age-gate .vp-age-legal-scroll p{
  margin:0 0 6px!important;
  font-size:10.5px!important;
  line-height:1.38!important;
}

html body .vp-age-gate .vp-age-legal-links{
  min-height:0!important;
  margin:8px 20px 0!important;
  padding:0!important;
  gap:4px 12px!important;
}

html body .vp-age-gate .vp-age-actions{
  min-height:0!important;
  margin:0!important;
  padding:13px 20px 14px!important;
  gap:7px!important;
}

html body .vp-age-gate .vp-age-enter,
html body .vp-age-gate .vp-age-exit{
  min-height:40px!important;
  height:40px!important;
  padding:0 14px!important;
}

html body .vp-age-gate .vp-age-card>small{
  margin:-2px 20px 12px!important;
  padding:0!important;
  font-size:8.5px!important;
  line-height:1.2!important;
}

/* Keep accept label visible. */
html body .vp-age-gate .vp-age-enter,
html body .vp-age-gate .vp-age-enter *,
html body .vp-age-gate .vp-age-enter:hover,
html body .vp-age-gate .vp-age-enter:hover *{
  color:#050505!important;
  -webkit-text-fill-color:#050505!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Mobile remains compact, not stacked into a tall modal. */
@media(max-width:640px){
  html body .vp-age-gate .vp-age-card{
    max-height:calc(100vh - 18px)!important;
    width:min(470px,calc(100vw - 18px))!important;
  }

  html body .vp-age-gate .vp-age-top{
    padding:12px 16px 0!important;
  }

  html body .vp-age-gate .vp-age-card h1{
    margin:7px 16px 0!important;
    font-size:23px!important;
  }

  html body .vp-age-gate .vp-age-intro{
    margin:5px 16px 0!important;
  }

  html body .vp-age-gate .vp-age-legal-scroll{
    height:96px!important;
    max-height:96px!important;
    margin:10px 16px 0!important;
  }

  html body .vp-age-gate .vp-age-legal-links{
    margin:7px 16px 0!important;
  }

  html body .vp-age-gate .vp-age-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,.5fr)!important;
    padding:11px 16px 12px!important;
  }

  html body .vp-age-gate .vp-age-card>small{
    margin:-1px 16px 10px!important;
  }
}
