/*
Theme Name: Best NSFW Tools
Description: One-project directory theme. Black, cyan, fuchsia. Seeds demo listings on activate.
Version: 2.8.0
*/
:root{--bg:#000000;--card:#000000;--white:#fff;--muted:#b8b8b8;--cyan:#22d3ee;--fuchsia:#c026d3;--gold:#FFD54A;--line:#2a2a2a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.top{background:#000;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-inner{display:flex;gap:20px;align-items:center;min-height:76px;flex-wrap:wrap}
.logo img{height:96px;width:auto;display:block;max-width:220px;object-fit:contain}
.neon{text-shadow:0 0 25px #22D3EE,0 0 50px #22D3EE}
.hero-full{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:#000 center/cover no-repeat;position:relative;margin:0 calc(50% - 50vw);width:100vw}
.hero-full:before{content:"";position:absolute;inset:0;background:#000a}
.hero-full .inner{position:relative;z-index:1;max-width:900px;padding:40px 24px}
.hero-full h1{font-size:clamp(36px,6vw,64px);margin:0 0 16px}
.cta{display:inline-block;padding:18px 32px;border-radius:24px;font-weight:800;margin:8px}
.cta-pink{background:linear-gradient(90deg,#c026d3,#7c3aed)}
.cta-line{border:2px solid rgba(255,255,255,.7)}
.age{position:fixed;inset:0;z-index:80;background:#000d;display:none;place-items:center}
.age.show{display:grid}
.age-box{background:#000;border:1px solid #2a2a2a;border-radius:24px;padding:32px;max-width:400px;text-align:center}
.nav{display:flex;gap:16px;flex:1;flex-wrap:wrap}
.nav a{color:var(--muted);font-size:14px}.nav a:hover{color:var(--cyan)}
.search{display:flex;gap:8px}
.search input{background:#000;border:1px solid var(--line);color:#fff;padding:10px 12px;border-radius:999px;min-width:220px}
.search button{border:0;border-radius:999px;padding:10px 16px;background:linear-gradient(90deg,var(--fuchsia),var(--cyan));color:#000;font-weight:700;cursor:pointer}
.hero{padding:56px 0 28px}
.hero h1{font-size:clamp(32px,5vw,52px);margin:0 0 12px;line-height:1.05}
.kicker{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.section{padding:12px 0 48px}
.tile{position:relative;min-height:280px;background:#000 center/cover no-repeat;color:#fff;border-radius:16px;overflow:hidden;border:1px solid #1a1a1a;display:flex;flex-direction:column;justify-content:flex-end}
.tile .stars{position:absolute;top:12px;right:12px;margin:0;text-shadow:0 1px 4px #000}
.tile .barline{background:#000;padding:10px 12px 12px}
.tile .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.tile h3{margin:0;font-size:16px}
.tile .price{margin:0;font-weight:700;white-space:nowrap}
.tile .one{margin:6px 0 8px;color:#b8b8b8;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ad-slot{border:1px dashed #C026D3;color:#b8b8b8;text-align:center;padding:18px;border-radius:12px;margin:16px 0}
.mail{background-color:#000;border:1px solid #2a2a2a;border-radius:20px;padding:28px;margin:24px 0}
.rank{display:grid;gap:10px}
.rank a{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;background:#000;border:1px solid #2a2a2a;border-radius:12px;padding:12px 16px}
.soc a{margin-right:12px;color:#22d3ee}
.badge{position:absolute;top:10px;left:10px;background:var(--fuchsia);color:#fff;font-size:12px;padding:4px 8px;border-radius:999px}
.btns{display:flex;gap:8px;margin-top:10px}
.btn{flex:1;text-align:center;padding:10px;border-radius:999px;font-weight:700;font-size:13px;background:#000}
.btn-visit{color:var(--fuchsia)}.btn-review{color:var(--cyan)}
.stars{color:var(--gold)}
.collect{position:relative;min-height:180px;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.collect .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:.25s}
.collect:hover .bg{opacity:.4}
.collect h3,.collect p{position:relative;margin:4px 0}
.collect p{color:var(--muted)}
.profile{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:32px 0}
.side{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}
.offer{background:#000;border-radius:12px;padding:12px;margin:12px 0}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pc div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
@media(max-width:800px){.profile,.pc{grid-template-columns:1fr}}
.footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:13px}
.bar{height:8px;background:#2a2a2a;border-radius:99px;overflow:hidden}
.fill{height:100%;background:linear-gradient(90deg,var(--fuchsia),var(--cyan))}
.score{display:grid;grid-template-columns:110px 1fr 20px;gap:8px;align-items:center;margin:8px 0;font-size:13px;color:var(--muted)}
.dir{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dir li{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;background:#000;border:1px solid #2a2a2a;border-radius:14px;padding:16px 18px}
.dir .num{font-size:22px;font-weight:800;color:#22d3ee}
.dir h3{margin:0 0 4px;font-size:20px;color:#fff}
.dir p{margin:0 0 8px;color:#b8b8b8}
.go-visit{color:#c026d3;font-weight:700;margin-right:14px}
.go-review{color:#22d3ee;font-weight:700}
.go-score{color:#c9a227;margin-left:12px}
.dir-block{border-top:1px solid #2a2a2a}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.tab{padding:8px 14px;border-radius:999px;border:1px solid #2a2a2a;color:#b8b8b8;font-size:13px}
.tab:hover{color:#22d3ee;border-color:#22d3ee}
.tab.on{background:#000;color:#fff;border-color:#c026d3}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-4{grid-template-columns:1fr}}
.mail-hero{min-height:520px;display:grid;place-items:center;text-align:center;background-color:#000;background-size:cover;background-position:center;background-repeat:no-repeat;border:0;border-radius:0;margin:0 calc(50% - 50vw);width:100vw;padding:64px 24px}
.tile-port{min-height:420px;aspect-ratio:3/4}
.mail-hero{position:relative;background-size:cover;background-position:center}
.mail-hero:before{content:"";position:absolute;inset:0;background:#0004}
.mail-hero>div{position:relative;z-index:1}
.hero-full+.hero-full,.hero-full+.wp-block-image{display:none}
.mail-box{background:rgba(0,0,0,.78);border:1px solid #c026d3;border-radius:20px;padding:36px 28px;max-width:640px;margin:0 auto;text-align:center}
.wp-block-cover.alignfull{left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}
.bnst-hero-cover h1{text-shadow:0 0 25px #22D3EE}
.home main.wrap{width:100%;max-width:none;padding:0}
.home .wp-block-cover{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:520px !important;
}
.home .section,.home .ad-slot{width:min(1180px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.home .mail-box,.home .wp-block-group.mail-box{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
.mail-cta-wrap{display:flex;justify-content:center;margin-top:22px}
.mail-cta{width:min(560px,90%);padding:16px 28px;border:0;border-radius:999px;background:rgba(255,255,255,.22);color:#4ade80;font-weight:700;font-size:16px;text-align:center}
.mail-cta::placeholder{color:#4ade80;opacity:1}
.home .bnst-mail-cover .wp-block-heading{font-size:clamp(32px,4.5vw,52px);font-style:italic;font-weight:700;color:#fff!important}
.home .bnst-mail-cover p{color:#fff!important}
.profile{max-width:1180px;margin:0 auto}
.profile article{min-width:0;overflow:hidden}
.profile article img,.profile article figure,.profile article .wp-block-image img{max-width:100%!important;height:auto!important}
.logo-frame{position:relative;overflow:hidden;border-radius:12px;background:#000}
.logo-frame img{width:100%;height:auto;display:block;object-fit:contain}
.logo-frame .hover-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}
.logo-frame.has-hover:hover .hover-shot{opacity:1}
.side-video{margin-top:14px}
.side-video iframe,.side-video video{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000}
.side-shots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.side-shots img{width:100%;height:72px;object-fit:cover;border-radius:8px;border:1px solid #222}
.tile .media{position:relative;min-height:180px;background:#000;overflow:hidden}
.tile .media .shot,.tile .media .hover-shot{width:100%;height:180px;object-fit:contain;display:block;background:#000}
.tile .media .hover-shot{position:absolute;inset:0;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}
.tile:hover .media .hover-shot{opacity:1}
.tile-port .media,.tile-port .media .shot{min-height:280px;height:280px}
.gal-item{border:0;padding:0;background:#111;border-radius:8px;overflow:hidden;cursor:pointer}
.gal-item img{width:100%;height:72px;object-fit:cover;display:block}
.gal-item.is-video{height:72px;color:#fff;font-size:22px}
.lb{position:fixed;inset:0;background:#000c;z-index:80;display:flex;align-items:center;justify-content:center;padding:40px}
.lb[hidden]{display:none}
.lb-stage img,.lb-stage video{max-width:min(92vw,1100px);max-height:82vh;border-radius:12px}
.lb-x,.lb-nav{position:absolute;background:#000a;color:#fff;border:0;font-size:32px;width:48px;height:48px;border-radius:50%;cursor:pointer}
.lb-x{top:16px;right:16px}
.lb-prev{left:16px}
.lb-next{right:16px}
body,.tile,.collect,.dir li,.mail,.rank a,.side,.age-box{background:#000000!important}
.mail-cta-wrap{display:flex;justify-content:center;margin-top:22px}
.mail-cta{width:min(560px,90%);padding:16px 28px;border:0;border-radius:999px;background:rgba(255,255,255,.22);color:#4ade80;font-weight:700;text-align:center}
.mail-cta::placeholder{color:#4ade80;opacity:1}
.home .bnst-mail-cover .wp-block-heading{font-size:clamp(32px,4.5vw,52px);font-style:italic;color:#fff!important}
.home .bnst-mail-cover p{color:#fff!important}
.side{text-align:center}
.side img{max-width:100%;height:auto;object-fit:contain}
.side h1,.side p,.side .offer{text-align:center!important}
.side .score{text-align:left}
.stars{color:#FFD54A!important;text-shadow:0 0 10px #FFD54A88}
.side a.btn-visit{
  display:block;width:100%;margin:14px 0 16px;padding:14px 18px;border-radius:999px;
  background:#c026d3!important;background-image:none!important;color:#fff!important;
  font-size:16px;font-weight:800;text-align:center
}
.tile .one{position:absolute;top:10px;right:12px;margin:0!important;color:#22d3ee!important;font-size:13px;font-weight:700;text-align:right;z-index:3;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile .stars{top:34px!important;right:12px}
.tile .btns .btn{font-size:16px!important;padding:14px 12px!important}
.search input{border:1px solid #22d3ee!important}
.search input:focus{outline:none;border-color:#22d3ee!important;box-shadow:0 0 0 2px #22d3ee44}
.search button{background:transparent!important;background-image:none!important;border:1px solid #c026d3!important;color:#fff!important}
.col-list{background:#000;border:1px solid #c026d3;border-radius:16px;padding:16px 16px 10px}
.col-head{display:block;text-align:center}
.col-head h3{margin:0 0 4px;color:#fff;text-align:center}
.col-head span{display:block;text-align:center;color:#22d3ee!important;font-size:13px;margin-bottom:10px}
.col-list ol{list-style:none;margin:0;padding:0}
.col-list li{display:flex;align-items:center;gap:8px;position:relative;padding:10px 0;border-top:1px solid #2a2a2a}
.col-num{color:#22d3ee;font-weight:800;font-size:16px;line-height:1}
.col-list li img,.col-ph{width:48px;height:22px;flex:0 0 48px;object-fit:contain!important;object-position:center;background:transparent}
.col-name{position:absolute;left:0;right:0;text-align:center;color:#fff;font-weight:700;pointer-events:none}
.col-view{margin-left:auto;z-index:1;background:#c026d3!important;color:#fff!important;font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;white-space:nowrap}
.col-empty{color:#666;font-size:13px}
.dir{gap:10px!important}
.dir-head,.dir li.dir-row{
  display:grid!important;
  grid-template-columns:48px minmax(220px,1.4fr) minmax(120px,.9fr) minmax(160px,1.1fr) 120px auto!important;
  gap:16px!important;align-items:center!important;width:100%
}
.dir-head{color:#b8b8b8;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:0 20px 8px}
.dir li.dir-row{min-height:92px!important;padding:14px 20px!important;border:1px solid #c026d3!important;border-radius:16px!important;background:#000!important}
.dir-row .num{font-size:22px;color:#22d3ee;font-weight:800}
.dir-id{display:flex;align-items:center;gap:12px;min-width:0}
.dir-logo{width:40px;height:40px;object-fit:contain;flex:0 0 40px}
.dir-shot{width:72px;height:44px;object-fit:cover;border-radius:6px;flex:0 0 72px}
.dir-cat{color:#22d3ee;font-size:12px;font-weight:800;text-transform:uppercase}
.dir-best{color:#b8b8b8;font-size:13px}
.dir-meta{text-align:right}
.dir-plan{display:block;color:#c026d3;font-size:11px;font-weight:800}
.dir-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dir-btn{border:1px solid #c026d3;color:#fff!important;background:#c026d3;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}
.dir-btn-ghost{background:transparent;color:#22d3ee!important;border-color:#22d3ee}
.compare-pick{margin:20px 0 28px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.compare-pick select,.compare-pick button{padding:12px 14px;border-radius:999px;border:1px solid #c026d3;background:#000;color:#fff}
.compare-pick button{background:#c026d3;font-weight:800}
.cmp-vs,.cmp-vs-big{color:#22d3ee;font-weight:800}
.cmp-top{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;border:1px solid #c026d3;border-radius:16px;padding:18px;margin:20px 0}
.cmp-mini{display:flex;gap:12px;align-items:center}
.cmp-mini img{width:48px;height:48px;object-fit:contain}
.cmp-score{font-size:28px;color:#c026d3;font-weight:800}
.cmp{width:100%;border-collapse:collapse}
.cmp th{color:#22d3ee;width:160px;text-align:left}
.cmp td,.cmp th{border-bottom:1px solid #222;padding:12px;vertical-align:top}
.cmp-list{margin:0;padding-left:18px}
@media(max-width:800px){
  .dir-head{display:none!important}
  .dir li.dir-row{grid-template-columns:1fr!important}
}
.top-inner {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px 24px;
  min-height: 76px;
}
.nav {
  display: flex !important;
  flex: unset !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}
.nav a {
  font-size: 14px;
  white-space: nowrap;
}
.logo img {
  height: 72px;
  max-width: 200px;
}
.search {
  justify-self: end;
}
@media (max-width: 1100px) {
  .top-inner {
    grid-template-columns: auto 1fr;
  }
  .search {
    grid-column: 1 / -1;
    justify-content: center;
  }
}
.dir-letter{margin:36px 0 14px;font-size:28px;border-bottom:1px solid #333;padding-bottom:6px}
.dir-grid{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:14px!important;margin-bottom:8px}
.dir-tile{background:#000!important;border:1px solid #2a2a2a!important;border-radius:12px!important;padding:10px!important;text-align:center;max-width:100%}
.dir-media{display:block!important;position:relative!important;height:100px!important;overflow:hidden!important;border-radius:8px!important;background:#000!important}
.dir-logo,.dir-photo{width:100%!important;height:100%!important;object-fit:contain!important;position:absolute!important;top:0;left:0;right:0;bottom:0;transition:opacity .2s}
.dir-photo{opacity:0!important;object-fit:cover!important}
.dir-media.has-hover:hover .dir-logo{opacity:0!important}
.dir-media.has-hover:hover .dir-photo{opacity:1!important}
.dir-btns{display:flex;gap:6px;margin-top:8px;justify-content:center}
.dir-btn-visit,.dir-btn-review{flex:1;padding:7px 6px;border-radius:6px;font-size:11px;font-weight:700;text-decoration:none;text-align:center}
.dir-btn-visit{background:#c026d3;color:#fff}
.dir-btn-review{background:#22d3ee;color:#000}
@media(max-width:1100px){.dir-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:640px){.dir-grid{grid-template-columns:repeat(2,1fr)!important}}