/* JAVSPY FILTER + CARD INFO + AGE GATE V3F */

/* =========================================================
   ACCESS FILTER: Todos / Gratis / Premium -> compact dropdown
   ========================================================= */
.javspy-tier-select{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  z-index:70!important
}
.javspy-tier-current{
  min-width:122px!important;
  height:39px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 11px 0 13px!important;
  border:1px solid #292929!important;
  border-radius:0!important;
  background:#090909!important;
  color:#d6d6d6!important;
  box-shadow:none!important;
  font:750 14px/1 "Source Sans 3",Arial,sans-serif!important;
  cursor:pointer!important
}
.javspy-tier-current:hover,
.javspy-tier-select.is-open>.javspy-tier-current{
  border-color:#5b5b5b!important;
  background:#101010!important;
  color:#fff!important
}
.javspy-tier-current span{
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important
}
.javspy-tier-current i{
  color:#676767!important;
  font-size:10px!important;
  transition:transform .12s ease!important
}
.javspy-tier-select.is-open>.javspy-tier-current i{
  transform:rotate(180deg)!important;
  color:#bbb!important
}
.javspy-tier-select>.vp-tier-filter-inline{
  position:absolute!important;
  top:calc(100% + 5px)!important;
  left:0!important;
  width:158px!important;
  display:none!important;
  padding:4px!important;
  border:1px solid #292929!important;
  border-radius:0!important;
  background:#070707!important;
  box-shadow:0 18px 45px rgba(0,0,0,.62)!important;
  z-index:120!important
}
.javspy-tier-select.is-open>.vp-tier-filter-inline{
  display:grid!important;
  gap:2px!important
}
.javspy-tier-select>.vp-tier-filter-inline button{
  width:100%!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#919191!important;
  box-shadow:none!important;
  font:700 13.5px/1 "Source Sans 3",Arial,sans-serif!important;
  text-align:left!important
}
.javspy-tier-select>.vp-tier-filter-inline button:hover{
  background:#111!important;
  color:#fff!important
}
.javspy-tier-select>.vp-tier-filter-inline button.is-active,
.javspy-tier-select>.vp-tier-filter-inline button[aria-pressed="true"]{
  background:#102219!important;
  color:#55df95!important
}
.javspy-tier-select>.vp-tier-filter-inline button.is-active:after,
.javspy-tier-select>.vp-tier-filter-inline button[aria-pressed="true"]:after{
  content:"✓";
  margin-left:auto;
  color:#2ad47b;
  font:800 11px/1 Arial,sans-serif
}

/* =========================================================
   ADVANCED FILTER BUTTON: icon only, no pill
   ========================================================= */
.vp-advanced-filter-wrap .vp-advanced-filter-toggle{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid transparent!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#707070!important;
  box-shadow:none!important
}
.vp-advanced-filter-wrap .vp-advanced-filter-toggle:hover,
.vp-advanced-filter-wrap .vp-advanced-filter-toggle[aria-expanded="true"]{
  border-color:rgba(255,255,255,.05)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important
}
.vp-advanced-filter-wrap .vp-advanced-filter-toggle:active{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important
}

/* =========================================================
   THREE DOTS + FAVORITE UNDER THUMBS: icon only, no pills
   ========================================================= */
.vp-card .javspy-card-info-trigger,
.vp-card .vp-card-info-more,
.vp-card .vp-card-more,
.vp-card .vp-card-menu-toggle,
.vp-card button[data-card-info-toggle],
.vp-card button[data-favorite-key],
.vp-card a[data-favorite-key],
.vp-card .vp-card-bookmark,
.vp-card .vp-card-favorite{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#666!important;
  box-shadow:none!important;
  outline:none!important
}
.vp-card .javspy-card-info-trigger:hover,
.vp-card .vp-card-info-more:hover,
.vp-card .vp-card-more:hover,
.vp-card .vp-card-menu-toggle:hover,
.vp-card button[data-card-info-toggle]:hover,
.vp-card button[data-favorite-key]:hover,
.vp-card a[data-favorite-key]:hover,
.vp-card .vp-card-bookmark:hover,
.vp-card .vp-card-favorite:hover{
  border:0!important;
  background:transparent!important;
  color:#eee!important
}
.vp-card .javspy-card-info-trigger:active,
.vp-card .javspy-card-info-trigger:focus,
.vp-card .javspy-card-info-trigger:focus-visible,
.vp-card .javspy-card-info-trigger[aria-expanded="true"],
.vp-card .vp-card-info-more:active,
.vp-card .vp-card-info-more:focus,
.vp-card .vp-card-info-more[aria-expanded="true"],
.vp-card .vp-card-more:active,
.vp-card .vp-card-menu-toggle:active{
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important
}
.vp-card .javspy-card-info-trigger i,
.vp-card .vp-card-info-more i,
.vp-card .vp-card-more i,
.vp-card .vp-card-menu-toggle i{
  color:currentColor!important
}
.vp-card button[data-favorite-key].is-active,
.vp-card button[data-favorite-key][aria-pressed="true"],
.vp-card .vp-card-bookmark.is-active,
.vp-card .vp-card-favorite.is-active{
  border:0!important;
  background:transparent!important;
  color:#42d98a!important
}

/* Aggressive inherited-red neutralization for card utility controls only. */
.vp-card .javspy-card-info-trigger,
.vp-card .javspy-card-info-trigger:hover,
.vp-card .javspy-card-info-trigger:active,
.vp-card .javspy-card-info-trigger:focus,
.vp-card .javspy-card-info-trigger[aria-expanded="true"]{
  --accent:#fff!important;
  --danger:#fff!important;
  --color-accent:#fff!important;
  --red:#fff!important
}

/* =========================================================
   VIDEO INFO PANEL: force functional visible overlay
   ========================================================= */
.vp-card-media{position:relative!important}
.vp-card [data-card-info]{
  position:absolute!important;
  inset:0!important;
  z-index:140!important;
  padding:12px!important;
  border:1px solid #303030!important;
  border-radius:2px!important;
  background:rgba(5,5,5,.97)!important;
  color:#999!important;
  box-shadow:0 18px 50px rgba(0,0,0,.72)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  overflow:auto!important;
  pointer-events:auto!important
}
.vp-card [data-card-info][hidden]{display:none!important}
.vp-card [data-card-info]:not([hidden]){display:block!important}
.vp-card .vp-card-info-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:0 0 10px!important;
  margin:0 0 9px!important;
  border-bottom:1px solid #202020!important;
  color:#d0d0d0!important
}
.vp-card [data-card-info-close]{
  width:27px!important;height:27px!important;
  display:grid!important;place-items:center!important;
  padding:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  color:#707070!important;
  box-shadow:none!important
}
.vp-card [data-card-info-close]:hover{
  background:transparent!important;
  color:#fff!important
}
.vp-card .vp-card-info-actions a,
.vp-card .vp-card-info-actions button{
  border-color:#292929!important;
  border-radius:0!important;
  background:#0c0c0c!important;
  color:#999!important;
  box-shadow:none!important
}
.vp-card .vp-card-info-actions a:hover,
.vp-card .vp-card-info-actions button:hover{
  border-color:#ddd!important;
  background:#ddd!important;
  color:#050505!important
}

/* =========================================================
   AGE GATE: JAVSPY hard monochrome / chrome identity
   ========================================================= */
.vp-age-gate{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:grid!important;
  place-items:center!important;
  padding:22px!important;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,255,255,.035),transparent 34%),
    rgba(0,0,0,.94)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important
}
.vp-age-gate[aria-hidden="true"]{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important
}
.vp-age-gate[aria-hidden="false"],
html.vp-age-required .vp-age-gate{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important
}
.vp-age-card{
  width:min(540px,100%)!important;
  max-height:min(760px,calc(100vh - 44px))!important;
  overflow:auto!important;
  padding:0!important;
  border:1px solid #2a2a2a!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#0a0a0a 0%,#060606 100%)!important;
  color:#eee!important;
  box-shadow:0 34px 90px rgba(0,0,0,.76)!important
}
.javspy-age-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:27px 28px 21px!important;
  border-bottom:1px solid #181818!important
}
.javspy-age-logo span,
.javspy-age-logo b{
  font:900 29px/1 Inter,"Plus Jakarta Sans",Arial,sans-serif!important;
  letter-spacing:-2.1px!important
}
.javspy-age-logo span{
  background:linear-gradient(180deg,#fff 0%,#d8d8d8 48%,#8d8d8d 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important
}
.javspy-age-logo b{
  margin-left:1px!important;
  background:linear-gradient(180deg,#bdbdbd 0%,#777 48%,#3d3d3d 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important
}
.vp-age-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:23px 28px 0!important
}
.vp-age-kicker{
  color:#666!important;
  font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important
}
.vp-age-badge{
  min-width:44px!important;
  height:28px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 8px!important;
  border:1px solid #303030!important;
  border-radius:0!important;
  background:#0b0b0b!important;
  color:#bcbcbc!important;
  font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important
}
.vp-age-card h1{
  margin:14px 28px 0!important;
  color:#f3f3f3!important;
  font-size:30px!important;
  line-height:1.06!important;
  font-weight:850!important;
  letter-spacing:-.035em!important
}
.vp-age-intro{
  margin:11px 28px 0!important;
  color:#858585!important;
  font-size:14.5px!important;
  line-height:1.55!important
}
.vp-age-legal-scroll{
  max-height:180px!important;
  margin:21px 28px 0!important;
  padding:15px 16px!important;
  overflow:auto!important;
  border:1px solid #1f1f1f!important;
  border-radius:0!important;
  background:#070707!important;
  color:#696969!important;
  box-shadow:none!important;
  scrollbar-color:#353535 #090909!important;
  scrollbar-width:thin!important
}
.vp-age-legal-scroll p{
  margin:0 0 10px!important;
  color:#6f6f6f!important;
  font-size:12px!important;
  line-height:1.55!important
}
.vp-age-legal-scroll p:last-child{margin-bottom:0!important}
.vp-age-legal-scroll strong{color:#a6a6a6!important}
.vp-age-legal-links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px 16px!important;
  margin:15px 28px 0!important;
  padding:0!important
}
.vp-age-legal-links a{
  color:#656565!important;
  font:650 10.5px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  text-decoration:none!important
}
.vp-age-legal-links a:hover{color:#fff!important}
.vp-age-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.55fr)!important;
  gap:8px!important;
  padding:22px 28px 28px!important
}
.vp-age-enter,
.vp-age-exit{
  min-height:48px!important;
  padding:0 16px!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.01em!important
}
.vp-age-enter{
  border:1px solid #ececec!important;
  background:linear-gradient(180deg,#fff 0%,#e3e3e3 100%)!important;
  color:#050505!important
}
.vp-age-enter:hover{
  border-color:#fff!important;
  background:#fff!important;
  color:#000!important
}
.vp-age-exit{
  border:1px solid #292929!important;
  background:#090909!important;
  color:#737373!important
}
.vp-age-exit:hover{
  border-color:#555!important;
  background:#101010!important;
  color:#ddd!important
}
.vp-age-card>small{
  display:block!important;
  margin:-12px 28px 24px!important;
  color:#484848!important;
  font:600 9.5px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace!important
}

/* Remove inherited red from every age-gate interactive state. */
.vp-age-gate button:focus,
.vp-age-gate button:active,
.vp-age-gate a:focus,
.vp-age-gate a:active{
  outline:none!important;
  box-shadow:none!important
}

/* Mobile */
@media(max-width:720px){
  .javspy-tier-current{
    min-width:108px!important;
    height:36px!important;
    font-size:13px!important
  }
  .javspy-tier-select>.vp-tier-filter-inline{width:145px!important}
  .vp-age-gate{padding:12px!important}
  .vp-age-card{max-height:calc(100vh - 24px)!important}
  .javspy-age-logo{padding:22px 20px 17px!important}
  .javspy-age-logo span,.javspy-age-logo b{font-size:25px!important;letter-spacing:-1.85px!important}
  .vp-age-top{padding:20px 20px 0!important}
  .vp-age-card h1{margin-left:20px!important;margin-right:20px!important;font-size:26px!important}
  .vp-age-intro{margin-left:20px!important;margin-right:20px!important}
  .vp-age-legal-scroll{margin-left:20px!important;margin-right:20px!important;max-height:145px!important}
  .vp-age-legal-links{margin-left:20px!important;margin-right:20px!important}
  .vp-age-actions{grid-template-columns:1fr!important;padding:20px!important}
  .vp-age-card>small{margin-left:20px!important;margin-right:20px!important}
}
