/*
Theme Name: VelvetStack Tube
Theme URI: https://velvetstackx.com/
Author: VelvetStackX
Author URI: https://velvetstackx.com/
Description: Original dark video-grid theme for VelvetStackX tube sites. Dense thumbnail grid, full header with search and dropdown menu, single-video layout with sidebar. Built from scratch; no third-party theme code.
Version: 0.3.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary — VelvetStackX internal use.
Text Domain: velvetstack-tube
*/

/* VelvetStack Tube — global stylesheet.
   Palette rule: ONE global treatment, no per-page patches.
   bg dark · text #e8e8e8 · headings #fff · meta #bdbdbd · accent #ff4d5e */

:root{
  --vs-bg:#101010;
  --vs-panel:#1a1a1a;
  --vs-header:#161616;
  --vs-text:#e8e8e8;
  --vs-heading:#ffffff;
  --vs-meta:#bdbdbd;
  --vs-accent:#ff4d5e;
  --vs-accent-hover:#ff5a6a;
  --vs-field-bg:#1c1c1c;
  --vs-border:#444444;
}

*{box-sizing:border-box}
body{margin:0;background:var(--vs-bg);color:var(--vs-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55}
a{color:var(--vs-text);text-decoration:none}
a:hover{color:var(--vs-accent-hover)}
h1,h2,h3,h4{color:var(--vs-heading);line-height:1.25;margin:0 0 .5em}
img{max-width:100%;height:auto;display:block}
.screen-reader-text{position:absolute;left:-9999px}

/* Header */
.site-header{background:var(--vs-header);border-bottom:1px solid #262626}
.site-header .wrap{max-width:1280px;margin:0 auto;padding:12px 16px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.site-branding .custom-logo{max-height:52px;width:auto}
.site-title{font-size:1.5rem;font-weight:800}
.site-title a{color:var(--vs-heading)}
.site-description{color:var(--vs-meta);font-size:.85rem}
.header-search{margin-left:auto}
.header-search input[type="search"]{background:var(--vs-field-bg);
  border:1px solid var(--vs-border);color:#fff;padding:8px 10px;border-radius:4px}
.header-search button{background:var(--vs-accent);border:0;color:#fff;
  padding:8px 14px;border-radius:4px;cursor:pointer}

/* Primary nav + dropdown */
.primary-nav{background:var(--vs-header)}
.primary-nav .wrap{max-width:1280px;margin:0 auto;padding:0 16px}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.primary-nav li{position:relative}
.primary-nav a{display:block;padding:12px 14px;color:#fff;font-weight:600}
.primary-nav a:hover{background:#222;color:#fff}
.primary-nav .sub-menu{display:none;position:absolute;left:0;top:100%;
  min-width:200px;background:var(--vs-header);z-index:50;flex-direction:column;
  box-shadow:0 8px 20px rgba(0,0,0,.5)}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:flex}
.primary-nav .sub-menu a{background:var(--vs-header)}
.primary-nav .sub-menu a:hover{background:#222}
.menu-toggle{display:none;background:none;border:1px solid var(--vs-border);
  color:#fff;padding:8px 12px;border-radius:4px;cursor:pointer}
@media (max-width:820px){
  .menu-toggle{display:block}
  .primary-nav ul{display:none;flex-direction:column}
  .primary-nav ul.open{display:flex}
  .primary-nav .sub-menu{position:static;display:none;box-shadow:none}
  .primary-nav .sub-menu.open{display:flex}
}

/* Layout */
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}
.site-main{padding:24px 0 40px}
.content-sidebar{display:grid;grid-template-columns:1fr 320px;gap:28px}
@media (max-width:960px){.content-sidebar{grid-template-columns:1fr}}

/* Video grid + cards */
.video-grid{display:grid;gap:18px;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.video-card{background:var(--vs-panel);border-radius:6px;overflow:hidden}
.video-card .thumb{position:relative;display:block;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-card .thumb img{width:100%;height:100%;object-fit:cover}
.vs-duration{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.78);
  color:#fff;font-size:.72rem;font-weight:600;line-height:1;
  padding:3px 7px;border-radius:4px;letter-spacing:.02em}
.video-card .card-body{padding:10px 12px 12px}
.video-card .card-title{font-size:.98rem;margin:0 0 4px}
.video-card .card-title a{color:var(--vs-heading)}
.video-card .card-title a:hover{color:var(--vs-accent-hover)}
.video-card .card-meta{color:var(--vs-meta);font-size:.8rem}

/* Front page */
.front-header{margin-bottom:18px}
.front-title{font-size:1.6rem}
.front-intro{color:var(--vs-meta);max-width:720px}
.front-intro p{margin:0 0 .75em}
.front-empty .search-form{margin-top:12px}

/* Search + 404 */
.search-header,.notfound-header{margin-bottom:18px}
.search-title,.notfound-title{font-size:1.6rem;color:var(--vs-heading)}
.search-meta{color:var(--vs-meta);font-size:.9rem;margin-top:4px}
.notfound-intro{color:var(--vs-meta);max-width:720px}
.notfound-header .search-form{margin-top:14px}
.search-empty .search-form{margin-top:12px}
.notfound-subhead{color:var(--vs-heading);font-size:1.2rem;margin:26px 0 14px}

/* Performer pages */
.performer-header{margin-bottom:18px}
.performer-name{font-size:1.6rem;color:var(--vs-heading)}
.performer-bio{color:var(--vs-text);max-width:720px}
.performer-meta{color:var(--vs-meta);font-size:.9rem}

/* Galleries */
.gallery-single .entry-content .gallery{display:grid;gap:10px;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.gallery-single .gallery-item{margin:0}
.gallery-single .gallery-item img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.gallery-tags{margin-top:14px}

/* Visitor suggestions */
.vs-suggest{max-width:560px}
.vs-suggest__heading{color:var(--vs-heading)}
.vs-suggest__ok{color:var(--vs-text)}
.vs-suggest__warn{color:var(--vs-accent)}
.vs-suggest input[type="text"],.vs-suggest input[type="email"],.vs-suggest textarea{width:100%}
.vs-suggest__hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* Safe resurfacing */
.resurface{margin-top:36px}
.resurface-title{color:var(--vs-heading);font-size:1.35rem;margin-bottom:14px}

/* Single video */
.single .entry-title{font-size:1.6rem}
.entry-meta{color:var(--vs-meta);font-size:.85rem;margin-bottom:14px}
.player-frame{background:#000;border-radius:6px;overflow:hidden}
.player-frame iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.entry-content{margin-top:16px}
.entry-tags a{display:inline-block;background:#262626;color:#fff;
  border:1px solid var(--vs-border);border-radius:20px;
  padding:3px 12px;margin:0 6px 6px 0;font-size:.8rem}

/* Sidebar / widgets */
.widget{background:var(--vs-panel);border-radius:6px;padding:16px;margin-bottom:20px}
.widget-title,.widget h2,.widget h3{color:var(--vs-heading);font-size:1.05rem}
.widget,.widget p,.widget li{color:#d8d8d8}
.widget a{color:#fff}
.widget a:hover{color:var(--vs-accent)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:6px 0;border-bottom:1px solid #262626}

/* Forms (WPForms + comments inherit the palette) */
label{color:var(--vs-text)}
input[type="text"],input[type="email"],input[type="url"],input[type="search"],
textarea,select{background:var(--vs-field-bg);color:#fff;
  border:1px solid var(--vs-border);border-radius:4px;padding:9px 10px}
.required{color:var(--vs-accent)}
.comment-notes{color:var(--vs-meta);font-size:.85rem}
button,input[type="submit"]{background:var(--vs-accent);color:#fff;border:0;
  padding:10px 18px;border-radius:4px;cursor:pointer;font-weight:600}

/* Ad slots */
.vs-ad-slot{margin:16px 0;text-align:center}
.vs-ad-slot:empty{display:none}
.vs-ad-ingrid{grid-column:1/-1}
.vs-ad-sticky{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:80;
  background:var(--vs-panel);padding:6px 8px}

/* Mobile layout options */
@media (max-width:820px){
  body.vs-mcols-1 .video-grid{grid-template-columns:1fr}
}

/* Pagination */
.pagination,.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.page-numbers{padding:7px 12px;background:var(--vs-panel);
  border:1px solid var(--vs-border);border-radius:4px;color:#fff}
.page-numbers.current{background:var(--vs-accent);border-color:var(--vs-accent)}

/* Footer */
.site-footer{background:var(--vs-header);color:#cfcfcf;
  border-top:1px solid #262626;padding:28px 0;margin-top:40px}
.site-footer a{color:#cfcfcf}
.site-footer a:hover{color:var(--vs-accent-hover)}
.footer-widgets{display:grid;gap:24px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.site-info{color:var(--vs-meta);font-size:.85rem;margin-top:18px}

/* Membership gate + join (inc/membership.php) */
.vs-gate,.vs-join{background:var(--vs-panel);border:1px solid var(--vs-border);
  border-radius:6px;padding:28px 22px;text-align:center;margin:18px 0}
.vs-gate__msg,.vs-join__pitch{color:var(--vs-text);margin:0 0 12px}
.vs-join__price{color:var(--vs-heading);font-size:1.4rem;font-weight:700;margin:0 0 12px}
.vs-gate__cta,.vs-join__cta{display:inline-block;background:var(--vs-accent);color:#fff;
  padding:10px 26px;border-radius:4px;font-weight:600}
.vs-gate__cta:hover,.vs-join__cta:hover{background:var(--vs-accent-hover);color:#fff}
.vs-gate__login{margin:12px 0 0;font-size:.9rem}
.vs-gate__login a{color:var(--vs-meta)}
.vs-join__soon{color:var(--vs-meta);margin:0}
