/* ============================================================
   VideoTube — Main Stylesheet
   Dark premium tube site design
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Variables ───────────────────────────────────────────── */
:root {
  --bg       : #0a0a0a;
  --bg-card  : #151515;
  --bg-srf   : #1c1c1c;
  --bg-hover : #232323;
  --bg-input : #181818;
  --border   : #262626;
  --border-l : #333;
  --accent   : #e53935;
  --accent-h : #ef5350;
  --glow     : rgba(229,57,53,.25);
  --txt      : #eee;
  --txt2     : #999;
  --txt3     : #555;
  --radius   : 8px;
  --rad-lg   : 12px;
  --shadow   : 0 4px 20px rgba(0,0,0,.6);
  --hdr-h    : 60px;
  --trans    : .2s ease;
  --sidebar  : 360px;
}

/* ── Reset ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5;min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}
ul,ol{list-style:none}
input,select{font-family:inherit}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#333;border-radius:3px}

/* ============================================================
   AGE GATE (18+ splash)
   ============================================================ */
.age-gate{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.96);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(20px);
}
.age-gate.hidden{display:none}
.age-box{
  text-align:center;padding:48px 36px;max-width:420px;
  background:var(--bg-srf);border:1px solid var(--border);border-radius:16px;
}
.age-box .age-icon{font-size:56px;margin-bottom:16px}
.age-box h2{font-size:24px;font-weight:700;margin-bottom:8px}
.age-box p{font-size:14px;color:var(--txt2);margin-bottom:28px;line-height:1.7}
.age-box .age-actions{display:flex;gap:12px;justify-content:center}
.age-btn{
  padding:12px 32px;border-radius:var(--radius);
  font-size:15px;font-weight:600;transition:all var(--trans);
}
.age-btn-enter{background:var(--accent);color:#fff}
.age-btn-enter:hover{background:var(--accent-h);transform:translateY(-1px);box-shadow:0 4px 16px var(--glow)}
.age-btn-leave{background:var(--bg-hover);border:1px solid var(--border-l)}
.age-btn-leave:hover{border-color:var(--txt3)}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;height:var(--hdr-h);
  background:rgba(10,10,10,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:14px;padding:0 16px;z-index:1000;
}
.site-header.scrolled{background:rgba(10,10,10,.98)}

.logo{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:20px;font-weight:700;letter-spacing:-.5px;white-space:nowrap}
.logo-icon{width:34px;height:34px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center}
.logo-icon svg{fill:#fff}
.logo span{color:var(--accent)}

.search-form{flex:1;max-width:520px;margin:0 auto}
.search-wrap{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:border-color var(--trans),box-shadow var(--trans)}
.search-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}
.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--txt);padding:9px 14px;font-size:13px}
.search-input::placeholder{color:var(--txt3)}
.search-btn{padding:9px 14px;color:var(--txt2);display:flex;align-items:center}
.search-btn:hover{color:var(--txt)}

.header-nav{display:flex;align-items:center;gap:2px;flex-shrink:0}
.nav-link{display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:var(--radius);color:var(--txt2);font-size:13px;font-weight:500;transition:all var(--trans)}
.nav-link:hover{color:var(--txt);background:var(--bg-hover)}
.nav-link.active{color:var(--accent)}
.nav-link .lbl{display:none}
@media(min-width:860px){.nav-link .lbl{display:inline}}

/* ============================================================
   PAGE LAYOUT
   ============================================================ */
.page-wrap{padding-top:var(--hdr-h);min-height:100vh}

/* ============================================================
   AD SLOTS
   ============================================================ */
.ad-slot{
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);
  overflow:hidden;color:var(--txt3);font-size:10px;text-transform:uppercase;letter-spacing:1px;
  min-height:50px;
}
.ad-slot.ad-filled{border-color:transparent;color:transparent}
.ad-banner-wrap{padding:8px 0;text-align:center;background:var(--bg-card);border-bottom:1px solid var(--border)}
.ad-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--txt3);margin-bottom:3px;text-align:center}
.ad-header{width:100%;min-height:90px}
.ad-footer{width:100%;min-height:90px}
.ad-sidebar-rect{width:300px;min-height:250px}
.ad-sidebar-sky{width:160px;min-height:600px}
.ad-mobile-sticky{display:none;position:fixed;bottom:0;left:0;right:0;height:50px;z-index:999;background:var(--bg-card);border-top:1px solid var(--border)}
@media(max-width:768px){.ad-mobile-sticky{display:flex}}
.ad-in-feed{grid-column:1/-1;min-height:90px;margin:4px 0}

/* ============================================================
   CATEGORY STRIP
   ============================================================ */
.cat-strip-wrap{
  position:sticky;top:var(--hdr-h);z-index:900;
  background:rgba(10,10,10,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.cat-strip{display:flex;align-items:center;gap:7px;padding:8px 16px;overflow-x:auto;scrollbar-width:none}
.cat-strip::-webkit-scrollbar{display:none}
.cat-pill{
  display:inline-flex;align-items:center;padding:5px 13px;border-radius:20px;
  border:1px solid var(--border);background:var(--bg-card);
  color:var(--txt2);font-size:12px;font-weight:500;white-space:nowrap;flex-shrink:0;
  transition:all var(--trans);
}
.cat-pill:hover{border-color:var(--accent);color:var(--txt)}
.cat-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}

/* ============================================================
   VIDEO GRID
   ============================================================ */
.video-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:16px;padding:0 16px 20px;
}

/* ── Video Card ─────────────────────────────────────────── */
.video-card{
  background:var(--bg-card);border-radius:var(--rad-lg);
  overflow:hidden;transition:transform var(--trans),box-shadow var(--trans);cursor:pointer;
}
.video-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.video-card:hover .thumb-img{transform:scale(1.05)}
.video-card:hover .card-title{color:#fff}

.thumb-wrap{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden;background:var(--bg-srf)}
.thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);transition:background var(--trans)}
.play-overlay svg{opacity:0;transition:opacity var(--trans)}
.video-card:hover .play-overlay{background:rgba(0,0,0,.3)}
.video-card:hover .play-overlay svg{opacity:1}
.duration-badge{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.85);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}

.card-body{padding:10px 12px}
.card-info{min-width:0}
.card-title{font-size:13px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;transition:color var(--trans);margin-bottom:4px}
.card-meta{font-size:11px;color:var(--txt3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dot-sep::before{content:"•";margin-right:6px}

/* ── Skeleton ────────────────────────────────────────────── */
@keyframes shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.skeleton{background:linear-gradient(90deg,var(--bg-srf) 25%,var(--bg-hover) 50%,var(--bg-srf) 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:4px}
.skeleton-card{background:var(--bg-card);border-radius:var(--rad-lg);overflow:hidden}
.skeleton-thumb{width:100%;padding-bottom:56.25%;position:relative}
.skeleton-thumb .skeleton{position:absolute;inset:0;border-radius:0}
.skeleton-body{padding:12px;display:flex;flex-direction:column;gap:6px}
.skeleton-line{height:12px}
.w-full{width:100%}.w-3q{width:75%}.w-half{width:50%}

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.section-hdr{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 10px}
.section-title{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.section-title .bar{width:4px;height:20px;background:var(--accent);border-radius:2px}
.section-more{font-size:12px;color:var(--accent);font-weight:500}

/* ============================================================
   VIDEO PLAYER PAGE
   ============================================================ */
.player-layout{display:grid;grid-template-columns:1fr var(--sidebar);gap:0;padding:16px 16px 0;max-width:1560px;margin:0 auto}
.player-main{min-width:0}

.player-box{position:relative;width:100%;padding-bottom:56.25%;background:#000;border-radius:var(--rad-lg);overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.8)}
.player-box iframe{position:absolute;inset:0;width:100%;height:100%;border:none}

.vid-info{padding:14px 0}
.vid-title{font-size:18px;font-weight:700;line-height:1.35;margin-bottom:10px}
.vid-stats{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:14px;flex-wrap:wrap}
.vid-stat{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--txt2)}
.vid-stat svg{color:var(--txt3);flex-shrink:0}

.vid-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.vid-tag{padding:4px 12px;background:var(--bg-srf);border-radius:14px;font-size:11px;color:var(--txt2);border:1px solid var(--border);transition:all var(--trans)}
.vid-tag:hover{border-color:var(--accent);color:var(--accent)}

.vid-pornstars{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.vid-ps-chip{padding:4px 12px;background:var(--glow);border-radius:14px;font-size:11px;color:var(--accent-h);border:1px solid rgba(229,57,53,.3);font-weight:500;transition:all var(--trans)}
.vid-ps-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Sidebar */
.player-sidebar{padding:0 0 0 20px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:20px;overflow-y:auto;max-height:calc(100vh - var(--hdr-h) - 16px);position:sticky;top:calc(var(--hdr-h) + 16px)}
.sidebar-title{font-size:14px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}

.rel-item{display:flex;gap:8px;padding:6px;border-radius:var(--radius);cursor:pointer;transition:background var(--trans)}
.rel-item:hover{background:var(--bg-hover)}
.rel-thumb{width:150px;flex-shrink:0;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--bg-srf);position:relative}
.rel-thumb img{width:100%;height:100%;object-fit:cover}
.rel-dur{position:absolute;bottom:3px;right:3px;background:rgba(0,0,0,.85);color:#fff;font-size:10px;font-weight:600;padding:1px 4px;border-radius:3px}
.rel-info{flex:1;min-width:0}
.rel-title{font-size:12px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:3px}
.rel-meta{font-size:10px;color:var(--txt3)}

/* ============================================================
   INTERSTITIAL OVERLAY
   ============================================================ */
.interstitial-overlay{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center}
.interstitial-overlay.hidden{display:none}
.interstitial-inner{text-align:center;max-width:640px;width:90%}
.interstitial-ad{min-height:250px;margin-bottom:16px}
.interstitial-close{padding:10px 24px;background:var(--bg-srf);border:1px solid var(--border-l);border-radius:var(--radius);color:var(--txt);font-size:13px;font-weight:600;transition:all var(--trans)}
.interstitial-close:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.interstitial-close:disabled{opacity:.5;cursor:not-allowed}

/* ============================================================
   SEARCH / CATEGORY PAGE
   ============================================================ */
.page-content{padding:20px 16px;max-width:1400px;margin:0 auto}
.page-header{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.page-title{font-size:22px;font-weight:700;margin-bottom:4px}
.page-title span{color:var(--accent)}
.page-subtitle{font-size:12px;color:var(--txt3)}

.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.filter-label{font-size:12px;color:var(--txt3);margin-right:2px}
.filter-btn{padding:5px 12px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card);color:var(--txt2);font-size:12px;font-weight:500;transition:all var(--trans)}
.filter-btn:hover{border-color:var(--border-l);color:var(--txt)}
.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}

.cat-header-card{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:20px;background:var(--bg-card);border-radius:var(--rad-lg);border:1px solid var(--border)}
.cat-icon{width:56px;height:56px;border-radius:var(--rad-lg);background:var(--glow);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}
.cat-name{font-size:22px;font-weight:700}
.cat-count{font-size:12px;color:var(--txt2);margin-top:2px}

/* ============================================================
   PAGINATION / LOAD MORE
   ============================================================ */
.load-more-wrap{display:flex;justify-content:center;padding:20px 16px}
.load-more{
  display:flex;align-items:center;gap:8px;padding:10px 28px;
  background:var(--bg-srf);border:1px solid var(--border-l);border-radius:var(--radius);
  color:var(--txt);font-size:13px;font-weight:600;transition:all var(--trans);
}
.load-more:hover{border-color:var(--accent);color:var(--accent)}
.load-more:disabled{opacity:.5;cursor:not-allowed}
.load-more.spin svg{animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============================================================
   EMPTY / ERROR
   ============================================================ */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 16px;color:var(--txt3);text-align:center;grid-column:1/-1}
.empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}
.empty-title{font-size:18px;font-weight:700;color:var(--txt2);margin-bottom:6px}
.empty-sub{font-size:13px;max-width:320px;line-height:1.6}
.error-box{margin:16px;padding:14px 16px;background:rgba(229,57,53,.1);border:1px solid rgba(229,57,53,.3);border-radius:var(--radius);color:var(--accent-h);font-size:13px;display:flex;align-items:flex-start;gap:8px}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{border-top:1px solid var(--border);margin-top:32px;padding:32px 16px 20px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;max-width:1100px;margin:0 auto 24px}
.footer-brand .logo{margin-bottom:10px}
.footer-tagline{font-size:12px;color:var(--txt3);line-height:1.6;max-width:220px}
.footer-col-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a{font-size:12px;color:var(--txt3);transition:color var(--trans)}
.footer-links a:hover{color:var(--txt)}
.footer-bottom{max-width:1100px;margin:0 auto;padding-top:16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--txt3)}

/* ============================================================
   BACK TO TOP
   ============================================================ */
.back-to-top{
  position:fixed;bottom:70px;right:16px;width:38px;height:38px;
  background:var(--bg-srf);border:1px solid var(--border-l);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--txt2);
  box-shadow:0 2px 8px rgba(0,0,0,.4);transition:all var(--trans);
  opacity:0;pointer-events:none;z-index:800;
}
.back-to-top.visible{opacity:1;pointer-events:all}
.back-to-top:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

/* ============================================================
   TAG CLOUD (search page)
   ============================================================ */
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.tag-cloud-item{
  padding:6px 14px;background:var(--bg-card);border:1px solid var(--border);
  border-radius:20px;font-size:12px;color:var(--txt2);transition:all var(--trans);
}
.tag-cloud-item:hover{border-color:var(--accent);color:var(--accent)}
.tag-cloud-item .tag-count{margin-left:4px;font-size:10px;color:var(--txt3)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  :root{--sidebar:300px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .player-layout{grid-template-columns:1fr}
  .player-sidebar{padding:0;border-left:none;border-top:1px solid var(--border);padding-top:16px;max-height:none;position:static}
}
@media(max-width:768px){
  .vid-title{font-size:15px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .search-form{max-width:none}
  .header-nav .nav-link:not(:first-child){display:none}
  .video-grid{grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 16px}
  .card-title{font-size:11px}
  .footer-grid{grid-template-columns:1fr}
  .cat-header-card{flex-direction:column;text-align:center}
}
@media(max-width:360px){
  .video-grid{grid-template-columns:1fr}
}
