/* JAVSPY MONO TOPNAV V2
   Hard monochrome, no lateral sidebar.
*/
:root{
  --jm-bg:#050505;
  --jm-bg2:#090909;
  --jm-bg3:#0d0d0d;
  --jm-line:#1b1b1b;
  --jm-line2:#262626;
  --jm-text:#f3f3f3;
  --jm-mid:#a1a1a1;
  --jm-dim:#626262;
  --jm-white:#fff;
}
html,body{background:var(--jm-bg)!important;color:var(--jm-text)!important}
body{font-family:"Source Sans 3",Arial,sans-serif!important}
.vp-shell{max-width:1840px!important;padding-left:24px!important;padding-right:24px!important}

/* HEADER: hard, thin, monochrome */
.vp-header{
  background:#050505!important;
  border:0!important;
  border-bottom:1px solid var(--jm-line)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  position:sticky!important;
  top:0!important;
  z-index:1600!important;
}
.vp-header-row{min-height:58px!important;gap:14px!important}
.vp-menu-toggle{
  order:2!important;
  margin-left:4px!important;
  width:38px!important;height:38px!important;
  border:1px solid var(--jm-line2)!important;
  border-radius:0!important;
  background:#050505!important;
  color:#bcbcbc!important;
  box-shadow:none!important;
}
.vp-menu-toggle:hover,.vp-menu-toggle.is-open{
  background:#f2f2f2!important;color:#050505!important;border-color:#f2f2f2!important
}
.vp-menu-toggle span i{background:currentColor!important}
.vp-logo-svg,.vp-footer-logo-svg,.vp-logo-beta{display:none!important}
.vp-header-row .vp-logo,.vp-footer-logo{
  order:1!important;
  display:inline-flex!important;align-items:center!important;
  width:auto!important;min-width:0!important;height:auto!important;
  gap:0!important;text-decoration:none!important;transform:none!important;filter:none!important
}
.vp-header-row .vp-logo:before,.vp-footer-logo:before{
  content:"JAV";color:#fff!important;
  font:900 23px/1 Inter,"Plus Jakarta Sans",Arial,sans-serif!important;
  letter-spacing:-1.35px!important
}
.vp-header-row .vp-logo:after,.vp-footer-logo:after{
  content:"SPY";color:#888!important;
  font:900 23px/1 Inter,"Plus Jakarta Sans",Arial,sans-serif!important;
  letter-spacing:-1.35px!important
}
.vp-footer-logo:before,.vp-footer-logo:after{font-size:20px!important}
.vp-header-row .vp-search{
  order:3!important;
  margin-left:auto!important;margin-right:auto!important;
  max-width:620px!important;
  min-height:38px!important;
  border:1px solid var(--jm-line2)!important;
  border-radius:0!important;
  background:#090909!important;
  box-shadow:none!important
}
.vp-header-row .vp-search:focus-within{
  border-color:#777!important;background:#0c0c0c!important;box-shadow:none!important
}
.vp-header-row .vp-search input{background:transparent!important;color:#eee!important}
.vp-header-row .vp-search input::placeholder{color:#666!important}
.vp-header-row .vp-search button,.vp-header-row .vp-search i{color:#777!important}
.vp-header-row .vp-search button:hover,.vp-header-row .vp-search button:hover i{color:#fff!important}
.vp-live-cams-cta{display:none!important}

/* Remove the lateral architecture entirely. */
.vp-layout{
  display:block!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.vp-layout-main{width:100%!important;max-width:none!important;min-width:0!important}
.vp-page{padding-top:22px!important}

/* TOP DROPDOWN NAV. Existing body open/closed state is reused. */
.vp-sidebar.javspy-nav-panel{
  position:fixed!important;
  top:58px!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;
  height:auto!important;max-height:calc(100vh - 58px)!important;
  margin:0!important;padding:0!important;
  overflow:auto!important;
  border:0!important;border-bottom:1px solid #292929!important;
  border-radius:0!important;
  background:#070707!important;
  box-shadow:0 24px 50px rgba(0,0,0,.55)!important;
  z-index:1590!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-10px)!important;
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important
}
html body.vp-sidebar-open .vp-sidebar.javspy-nav-panel{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translateY(0)!important
}
html body.vp-sidebar-closed .vp-sidebar.javspy-nav-panel{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(-10px)!important
}
.javspy-nav-shell{padding-top:20px!important;padding-bottom:24px!important}
.javspy-nav-head{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  padding-bottom:16px!important;border-bottom:1px solid var(--jm-line)!important
}
.javspy-nav-head>div{display:flex!important;align-items:baseline!important;gap:14px!important}
.javspy-nav-head span,.javspy-nav-label{
  font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.15em!important;text-transform:uppercase!important;color:#5e5e5e!important
}
.javspy-nav-head strong{
  color:#e8e8e8!important;font-size:18px!important;line-height:1!important;font-weight:700!important
}
.javspy-nav-head button{
  width:34px!important;height:34px!important;border:1px solid #252525!important;border-radius:0!important;
  background:#0a0a0a!important;color:#888!important;box-shadow:none!important
}
.javspy-nav-head button:hover{background:#eee!important;color:#050505!important;border-color:#eee!important}
.javspy-nav-grid{
  display:grid!important;
  grid-template-columns:minmax(340px,.9fr) minmax(420px,1.4fr) minmax(220px,.6fr)!important;
  gap:34px!important;
  padding-top:20px!important
}
.javspy-nav-section{min-width:0!important}
.javspy-nav-label{display:block!important;margin-bottom:12px!important}
.javspy-nav-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border-top:1px solid #191919!important;border-left:1px solid #191919!important
}
.javspy-nav-links a{
  min-height:43px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:9px 12px!important;
  border-right:1px solid #191919!important;border-bottom:1px solid #191919!important;
  border-radius:0!important;background:#080808!important;color:#a8a8a8!important;
  text-decoration:none!important;box-shadow:none!important
}
.javspy-nav-links a i{width:15px!important;color:#585858!important;text-align:center!important}
.javspy-nav-links a:hover{background:#f0f0f0!important;color:#050505!important}
.javspy-nav-links a:hover i{color:#050505!important}
.javspy-nav-links a b{
  margin-left:auto!important;min-width:19px!important;padding:1px 5px!important;
  border-radius:0!important;background:#222!important;color:#aaa!important;font-size:10px!important;text-align:center!important
}
.javspy-category-links{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid #191919!important;border-left:1px solid #191919!important
}
.javspy-category-links a{
  min-width:0!important;min-height:35px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  padding:7px 9px!important;
  border-right:1px solid #191919!important;border-bottom:1px solid #191919!important;
  border-radius:0!important;background:#080808!important;color:#8d8d8d!important;text-decoration:none!important
}
.javspy-category-links a span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.javspy-category-links a b{font:600 10px/1 ui-monospace,monospace!important;color:#4f4f4f!important}
.javspy-category-links a:hover,.javspy-category-links a.is-active{
  background:#eee!important;color:#050505!important
}
.javspy-category-links a:hover b,.javspy-category-links a.is-active b{color:#555!important}
.javspy-network-links{display:grid!important;border-top:1px solid #191919!important}
.javspy-network-links a{
  display:flex!important;justify-content:space-between!important;align-items:center!important;
  min-height:36px!important;padding:7px 3px!important;
  border-bottom:1px solid #191919!important;color:#777!important;text-decoration:none!important
}
.javspy-network-links a:hover{color:#fff!important}.javspy-network-links i{font-size:10px!important;color:#444!important}

/* no side overlay: dropdown itself is enough */
.vp-sidebar-overlay{display:none!important}

/* HOME: not the SitesXXX hero/description pattern */
.javspy-index-hero{display:none!important}
.javspy-mono-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;gap:24px!important;
  margin:0 0 24px!important;padding:6px 0 18px!important;
  border:0!important;border-bottom:1px solid var(--jm-line)!important;background:transparent!important
}
.javspy-mono-intro .jm-kicker{
  display:block!important;margin-bottom:8px!important;
  font:700 10px/1 ui-monospace,monospace!important;letter-spacing:.16em!important;
  text-transform:uppercase!important;color:#555!important
}
.javspy-mono-intro h1{
  margin:0!important;color:#f5f5f5!important;
  font-size:40px!important;line-height:.95!important;font-weight:900!important;letter-spacing:-.05em!important
}
.javspy-mono-intro p{
  max-width:540px!important;margin:10px 0 0!important;color:#7d7d7d!important;font-size:14px!important;line-height:1.4!important
}
.javspy-mono-intro nav{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:6px!important}
.javspy-mono-intro nav a{
  min-height:32px!important;display:inline-flex!important;align-items:center!important;
  padding:6px 10px!important;border:1px solid #252525!important;border-radius:0!important;
  background:#080808!important;color:#898989!important;text-decoration:none!important;font-size:12px!important;font-weight:700!important
}
.javspy-mono-intro nav a:hover{background:#eee!important;color:#050505!important;border-color:#eee!important}

/* Strip out the old visible descriptive furniture */
.vp-home-faq{display:none!important}
.vp-footer-brand p{display:none!important}

/* Catalog bar as a technical line */
.vp-catalog-bar{
  min-height:42px!important;margin-bottom:14px!important;padding:0!important;
  border:0!important;border-bottom:1px solid var(--jm-line)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important
}
.vp-catalog-bar-title,.vp-taxonomy-title,.vp-section-head h1{
  color:#eee!important;font-weight:800!important;letter-spacing:-.025em!important
}
.vp-catalog-bar-title{font-size:15px!important;text-transform:uppercase!important}
.vp-catalog-bar-count,.vp-taxonomy-meta b{
  color:#5f5f5f!important;background:transparent!important;border:0!important;box-shadow:none!important;
  font:600 11px/1 ui-monospace,monospace!important
}
.vp-tier-filter-inline button,.vp-tier-filter-settings button{
  border:0!important;border-bottom:1px solid transparent!important;border-radius:0!important;
  background:transparent!important;color:#666!important;box-shadow:none!important
}
.vp-tier-filter-inline button:hover,.vp-tier-filter-settings button:hover{color:#ddd!important}
.vp-tier-filter-inline button.is-active,.vp-tier-filter-settings button.is-active{
  color:#eee!important;border-bottom-color:#eee!important;background:transparent!important
}
.vp-advanced-filter-panel,.vp-settings,.vp-search-panel{
  border:1px solid #242424!important;border-radius:0!important;background:#090909!important;box-shadow:0 25px 60px rgba(0,0,0,.6)!important
}

/* FULL-WIDTH GRID: visually distinct and mathematically clean for 60-card pages */
.vp-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:24px 12px!important
}
.vp-grid>*,.vp-card{background:transparent!important;border:0!important;box-shadow:none!important}
.vp-card-media,.vp-card-image{
  border-radius:2px!important;overflow:hidden!important;background:#0a0a0a!important;box-shadow:none!important
}
.vp-card-image img{border-radius:2px!important;filter:grayscale(.06) contrast(1.03)!important;transition:filter .14s ease,opacity .14s ease!important}
.vp-card:hover .vp-card-image img,.vp-grid>*:hover .vp-card-image img{transform:none!important;filter:grayscale(0) contrast(1.06)!important;opacity:.93!important}
.vp-card-title,.vp-card-title a{color:#cecece!important;font-weight:650!important}
.vp-card:hover .vp-card-title,.vp-card:hover .vp-card-title a,.vp-grid>*:hover .vp-card-title,.vp-grid>*:hover .vp-card-title a{color:#fff!important}
.vp-card-meta,.vp-card-meta span,.vp-card-source,.vp-card-stats{color:#575757!important}
.vp-card-duration,.vp-duration,.vp-card-media time{
  border:0!important;border-radius:0!important;background:rgba(0,0,0,.86)!important;color:#ddd!important;box-shadow:none!important
}
.vp-rating-badge{
  border:0!important;border-radius:0!important;background:rgba(0,0,0,.88)!important;color:#aaa!important;box-shadow:none!important
}
.vp-rating-badge.is-good,.vp-rating-badge.is-warn,.vp-rating-badge.is-bad{color:#d4d4d4!important;background:rgba(0,0,0,.88)!important}
.vp-card-info{border:1px solid #252525!important;border-radius:0!important;background:#080808!important}

/* Taxonomy index: hard table-like directory */
.vp-page-head{border:0!important;border-bottom:1px solid var(--jm-line)!important;background:transparent!important;box-shadow:none!important}
.vp-page-head>div>span,.vp-home-block-head>span{color:#555!important;font:700 10px/1 ui-monospace,monospace!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.vp-alpha-nav{
  border:1px solid #202020!important;border-radius:0!important;background:#080808!important;box-shadow:none!important
}
.vp-alpha-nav a{border-radius:0!important;color:#707070!important}
.vp-alpha-nav a:hover{background:#eee!important;color:#050505!important}
.vp-category-group{
  border:0!important;border-top:1px solid #1a1a1a!important;border-radius:0!important;background:transparent!important;box-shadow:none!important
}
.vp-category-group h2{color:#ddd!important;font-family:ui-monospace,monospace!important}
.vp-category-list a{
  border:0!important;border-bottom:1px solid #141414!important;border-radius:0!important;background:transparent!important;color:#888!important
}
.vp-category-list a:hover{background:#0b0b0b!important;color:#fff!important}.vp-category-list a b{color:#494949!important}

/* Single page: borderless editorial */
.vp-single-card{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.vp-single-media{border:1px solid #151515!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
.vp-single-copy{border:0!important;background:transparent!important}
.vp-single-kicker{color:#5d5d5d!important;font-family:ui-monospace,monospace!important}
.vp-single-copy h1{color:#eee!important;letter-spacing:-.03em!important}
.vp-single-meta,.vp-single-description{color:#6f6f6f!important}
.vp-single-actions button,.vp-single-actions a,.vp-single-terms a{
  border:1px solid #252525!important;border-radius:0!important;background:#080808!important;color:#8a8a8a!important;box-shadow:none!important
}
.vp-single-actions button:hover,.vp-single-actions a:hover,.vp-single-terms a:hover{background:#eee!important;color:#050505!important;border-color:#eee!important}
.vp-related{border-top:1px solid #1a1a1a!important}

/* Pagination */
.vp-pagination-flat{margin-top:30px!important;padding-top:18px!important;border-top:1px solid #1a1a1a!important}
.vp-pagination-link{
  border:1px solid #252525!important;border-radius:0!important;background:#080808!important;color:#777!important;box-shadow:none!important
}
.vp-pagination-link:hover{background:#eee!important;color:#050505!important;border-color:#eee!important}
.vp-pagination-current{border:0!important;background:transparent!important;color:#555!important;font-family:ui-monospace,monospace!important}

/* Footer is a low horizontal index, not the SitesXXX columns. */
.vp-footer{margin-top:48px!important;border-top:1px solid #1b1b1b!important;background:#030303!important}
.vp-footer-grid{
  display:flex!important;align-items:flex-start!important;flex-wrap:wrap!important;
  gap:18px 38px!important;padding-top:28px!important;padding-bottom:22px!important
}
.vp-footer-brand{flex:0 0 auto!important;min-width:130px!important}
.vp-footer-col{
  display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;
  gap:5px 14px!important;transform:none!important
}
.vp-footer-col strong{
  width:auto!important;margin-right:4px!important;color:#444!important;
  font:700 9.5px/1 ui-monospace,monospace!important;letter-spacing:.13em!important;text-transform:uppercase!important
}
.vp-footer-col a{color:#686868!important;font-size:12px!important}.vp-footer-col a:hover{color:#fff!important}
.vp-footer-bottom{border-top:1px solid #121212!important;color:#3e3e3e!important;font-family:ui-monospace,monospace!important;font-size:10px!important}

/* Keep dark even if legacy Auto/Light toggles try to recolor the inherited theme. */
html[data-theme="light"] body,html[data-theme="light"]{background:#050505!important;color:#f3f3f3!important}
html[data-theme="light"] .vp-header{background:#050505!important;border-bottom-color:#1b1b1b!important}
html[data-theme="light"] .vp-header-row .vp-logo:before{color:#fff!important}
html[data-theme="light"] .vp-header-row .vp-search{background:#090909!important;border-color:#262626!important}
html[data-theme="light"] .vp-header-row .vp-search input{color:#eee!important}
html[data-theme="light"] .vp-sidebar.javspy-nav-panel{background:#070707!important}
html[data-theme="light"] .vp-card-image,html[data-theme="light"] .vp-card-media{background:#0a0a0a!important}
html[data-theme="light"] .vp-footer{background:#030303!important}

/* Responsive */
@media(max-width:1399px){
  .vp-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .javspy-nav-grid{grid-template-columns:1fr 1.35fr!important}
  .javspy-nav-network{grid-column:1/-1!important}
  .javspy-network-links{grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:22px!important}
}
@media(max-width:980px){
  .vp-shell{padding-left:14px!important;padding-right:14px!important}
  .vp-header-row{min-height:54px!important;gap:9px!important}
  .vp-sidebar.javspy-nav-panel{top:54px!important;max-height:calc(100vh - 54px)!important}
  .vp-header-row .vp-logo:before,.vp-header-row .vp-logo:after{font-size:20px!important}
  .vp-menu-toggle{order:4!important;margin-left:0!important}
  .vp-header-row .vp-search{order:3!important;width:auto!important;flex:1 1 auto!important;min-width:90px!important;margin:0!important}
  .javspy-nav-shell{padding-top:15px!important;padding-bottom:18px!important}
  .javspy-nav-grid{grid-template-columns:1fr!important;gap:22px!important}
  .javspy-nav-network{grid-column:auto!important}
  .javspy-category-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .javspy-network-links{grid-template-columns:1fr!important}
  .javspy-mono-intro{grid-template-columns:1fr!important;gap:14px!important}
  .javspy-mono-intro nav{justify-content:flex-start!important}
  .javspy-mono-intro h1{font-size:31px!important}
  .vp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px 9px!important}
}
@media(max-width:720px){
  .vp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .javspy-nav-links{grid-template-columns:1fr!important}
  .javspy-category-links{grid-template-columns:1fr!important}
  .vp-footer-grid{display:block!important}
  .vp-footer-col{margin-top:18px!important}
}
