/* ============================================================================
   CuratedSmut design system
   Layered over UltimaTube. No vendor file is modified; everything here is
   additive and scoped to markup the theme already emits.
   ========================================================================= */

:root{
  --cs-bg:#08080B;
  --cs-surface:#121218;
  --cs-surface-2:#1A1A22;
  --cs-surface-3:#22222C;
  --cs-line:#25252F;
  --cs-line-soft:#1D1D25;
  --cs-text:#F4F4F7;
  --cs-text-dim:#C3C3CE;
  --cs-muted:#8E8E9E;
  --cs-accent:#FF2D6F;
  --cs-accent-hi:#FF5C8D;
  --cs-accent-dim:rgba(255,45,111,.14);
  --cs-violet:#8B5CF6;
  --cs-radius:10px;
  --cs-radius-lg:14px;
  --cs-shadow:0 8px 28px rgba(0,0,0,.55);
  --cs-gutter:clamp(14px,2.2vw,32px);
  --cs-maxw:2480px;
  --cs-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

/* ---------------------------------------------------------------- reset-ish */
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{overflow-x:clip}
body,body.custom-background{
  background:var(--cs-bg)!important;
  color:var(--cs-text);
  font-family:var(--cs-font);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body::before{ /* subtle top glow, keeps the page from reading as flat black */
  content:"";position:fixed;inset:0 0 auto 0;height:420px;pointer-events:none;z-index:0;
  background:radial-gradient(1200px 380px at 50% -160px,rgba(255,45,111,.10),transparent 70%);
}
#page{position:relative;z-index:1}
a{color:var(--cs-text);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--cs-accent)}
img{max-width:100%;height:auto}
::selection{background:var(--cs-accent);color:#fff}

/* Width: the theme's .row is narrow. Open it up for real density. */
.row,.site-content.row,.header.row{max-width:var(--cs-maxw)!important;width:auto!important;
  margin-left:auto;margin-right:auto;padding-left:var(--cs-gutter);padding-right:var(--cs-gutter)}

/* ======================================================================
   HEADER
   Real DOM (UltimaTube): .header.row > [ .site-branding | .search-menu-mobile |
   .header-search > form | nav#site-navigation > .membership + ul.menu ]
   Row 1: wordmark + search.   Row 2: nav pills ......... member buttons.
   ==================================================================== */
.header.row{
  position:sticky;top:0;z-index:300;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:20px;row-gap:0;
  padding-top:11px;padding-bottom:0;
  background:rgba(8,8,11,.88);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--cs-line-soft);
  max-width:none!important;
}
.header.row::after,.header.row::before{content:none}

/* --- wordmark ------------------------------------------------------- */
.site-branding{grid-column:1;grid-row:1;margin:0;padding:0;float:none;display:flex;align-items:center;min-width:0}
.site-branding .logo{margin:0;padding:0}
.site-title{margin:0!important;padding:0!important;font-size:0!important;line-height:1!important}
.site-title a{display:inline-flex;align-items:center;gap:9px;font-size:0;white-space:nowrap}
.site-title a i{display:none!important}
.site-title a::before{
  content:"";width:26px;height:26px;border-radius:8px;flex:0 0 26px;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
  box-shadow:0 3px 12px rgba(255,45,111,.42);
}
.site-title a::after{
  content:"CURATED SMUT";
  font-family:var(--cs-font);font-size:18px;font-weight:800;letter-spacing:.14em;
  color:var(--cs-text);white-space:nowrap;
}
.site-description,p.site-description{display:none!important}

/* --- search --------------------------------------------------------- */
.header-search{
  grid-column:2;grid-row:1;
  position:static!important;top:auto!important;left:auto!important;transform:none!important;
  float:none!important;width:auto!important;margin:0!important;min-width:0;display:block!important;
}
.header-search #searchform{position:relative;display:block;width:100%;max-width:640px;margin:0 auto}
.header-search #searchform input#s{
  width:100%;height:40px;box-sizing:border-box;padding:0 46px 0 40px;margin:0;
  background:var(--cs-surface-2);border:1px solid var(--cs-line);border-radius:999px;
  color:var(--cs-text);font-family:var(--cs-font);font-size:14px;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.header-search #searchform input#s::placeholder{color:var(--cs-muted)}
.header-search #searchform input#s:focus{
  outline:none;background:var(--cs-surface-3);
  border-color:var(--cs-accent);box-shadow:0 0 0 4px var(--cs-accent-dim);
}
.header-search #searchform::before{
  content:"";position:absolute;left:15px;top:50%;width:14px;height:14px;margin-top:-8px;
  border:2px solid var(--cs-muted);border-radius:50%;pointer-events:none;z-index:2;
}
.header-search #searchform::after{
  content:"";position:absolute;left:25px;top:50%;width:7px;height:2px;margin-top:3px;
  background:var(--cs-muted);transform:rotate(45deg);pointer-events:none;z-index:2;
}
.header-search #searchform input#searchsubmit{
  position:absolute;right:4px;top:4px;width:32px;height:32px;padding:0;margin:0;
  border:0;border-radius:50%;cursor:pointer;color:#fff;font-size:12px;line-height:32px;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
}
.header-search #searchform input#searchsubmit:hover{filter:brightness(1.12)}

/* --- nav row (row 2, full width) ------------------------------------ */
nav#site-navigation.main-navigation{
  grid-column:1/-1;grid-row:2;
  position:static!important;right:auto!important;top:auto!important;height:auto!important;
  background:none!important;box-shadow:none!important;border-left:0!important;overflow:visible!important;
  float:none!important;width:auto!important;margin:10px 0 0!important;padding:0 0 9px;
  display:flex;align-items:center;gap:14px;min-width:0;
  border-top:1px solid var(--cs-line-soft);padding-top:9px;
}
#menu-main-navigation,.main-navigation ul.menu{
  order:1;flex:1 1 auto;min-width:0;
  display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;float:none;
}
#menu-main-navigation li,.main-navigation ul.menu li{float:none;margin:0;position:relative}
#menu-main-navigation li a,.main-navigation ul.menu li a{
  display:block;padding:7px 14px;border-radius:999px;
  font-size:13.5px;font-weight:650;letter-spacing:.015em;color:var(--cs-text-dim);
  transition:background .15s ease,color .15s ease;line-height:1.2;white-space:nowrap;
}
#menu-main-navigation li a:hover,.main-navigation ul.menu li a:hover{background:var(--cs-surface-2);color:var(--cs-text)}
#menu-main-navigation li.current-menu-item>a{background:var(--cs-accent-dim);color:var(--cs-accent-hi)}

/* --- member buttons: pushed to the right of the nav row -------------- */
.membership{
  order:2;margin-left:auto!important;flex:0 0 auto;
  position:static!important;top:auto!important;right:auto!important;
  float:none!important;display:flex;align-items:center;gap:8px;white-space:nowrap;padding:0!important;border:0!important;
}
.membership span.login{display:inline-flex;margin:0}
.membership a{color:var(--cs-text-dim);font-size:13px;font-weight:650;padding:7px 10px;border-radius:999px}
.membership a:hover{color:var(--cs-text);background:var(--cs-surface-2)}
.membership a.button{
  display:inline-flex;align-items:center;height:34px;padding:0 16px;
  border-radius:999px;font-weight:700;font-size:13px;color:#fff!important;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
  border:0;box-shadow:0 3px 14px rgba(255,45,111,.3);
}
.membership a.button:hover{filter:brightness(1.1);color:#fff!important;background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet))}

/* mobile-only chrome hidden on desktop */
.search-menu-mobile{grid-column:3;grid-row:1;display:none}
#head-mobile,.button-nav{display:none}
.header.row + .clear{display:none}

/* ======================================================================
   SECTION HEADINGS + FILTERS
   ==================================================================== */
#content.site-content{padding-top:24px}
.archive-content>h2.widget-title,h1.widget-title,.widget-title{
  font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--cs-text);
  margin:0 0 14px;padding:0;border:0;position:relative;padding-left:13px;
}
.widget-title::before{
  content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:2px;
  background:linear-gradient(180deg,var(--cs-accent),var(--cs-violet));
}
.archive-content{margin:0}
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;float:none}
.filters .filter-title{color:var(--cs-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.filters-list{display:flex;gap:6px;flex-wrap:wrap}
.filters-list a,.filters a{
  padding:7px 14px;border-radius:999px;font-size:13px;font-weight:650;
  color:var(--cs-text-dim);background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  transition:all .15s ease;
}
.filters-list a:hover{background:var(--cs-surface-2);color:var(--cs-text);border-color:var(--cs-line)}
.filters-list a.active,.filters a.active{
  background:var(--cs-accent);border-color:var(--cs-accent);color:#fff;
  box-shadow:0 3px 14px rgba(255,45,111,.3);
}

/* ======================================================================
   VIDEO GRID
   ==================================================================== */
main#main,main#main.with-aside{width:100%!important;float:none!important;margin:0!important}
.archive-aside{display:none!important}          /* full-width density */
.video-list-content{width:100%}
.videos-list,.videos-list.row{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(232px,1fr));
  gap:26px 16px;
  margin:0!important;padding:0!important;width:100%!important;float:none!important;
}
.videos-list::after,.videos-list::before{content:none!important}

article.thumb-block,.thumb-block{
  width:auto!important;margin:0!important;padding:0!important;float:none!important;
  background:none;border:0;position:relative;
}

/* The theme's aspect box is .post-thumbnail itself:
   `height:0; padding-bottom:56.25%; overflow:hidden`.
   Zeroing its padding without also clearing height:0 collapsed the whole card
   and the title painted over the image. Take the box over properly. */
.thumb-block .post-thumbnail{
  position:relative!important;
  display:block;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  padding-bottom:0!important;
  aspect-ratio:16/9;
  margin:0;
  line-height:0;
  overflow:hidden;
  border-radius:var(--cs-radius);
  background:var(--cs-surface-2)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.4);
  transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease;
}
.thumb-block .post-thumbnail-container{
  position:absolute!important;inset:0;display:block;width:100%;height:100%;
  padding:0!important;margin:0!important;border-radius:inherit;overflow:hidden;
}
.thumb-block img.video-main-thumb,
.thumb-block .post-thumbnail img{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;display:block;max-width:none;
  transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.thumb-block:hover .post-thumbnail{
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(0,0,0,.6),0 0 0 2px var(--cs-accent);
}
.thumb-block:hover img.video-main-thumb{transform:scale(1.06)}

/* gradient scrim so the duration pill always reads */
.thumb-block .post-thumbnail::after{
  content:"";position:absolute;inset:auto 0 0 0;height:54%;pointer-events:none;z-index:2;
  background:linear-gradient(to top,rgba(0,0,0,.72),transparent);
}
.thumb-block .video-overlay{position:absolute;inset:0;z-index:3}

/* play affordance on hover */
.thumb-block .cs-play{
  position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;z-index:4;
  border-radius:50%;background:rgba(10,10,14,.6);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.82);transition:opacity .2s ease,transform .2s ease;pointer-events:none;
  border:1px solid rgba(255,255,255,.22);
}
.thumb-block:hover .cs-play{opacity:1;transform:scale(1)}
.thumb-block .cs-play::before{
  content:"";width:0;height:0;margin-left:3px;
  border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;
}

.thumb-block span.duration{
  position:absolute;right:7px;bottom:7px;z-index:5;
  background:rgba(6,6,9,.82);color:#fff;
  padding:2px 7px;border-radius:5px;
  font-size:11.5px;font-weight:700;letter-spacing:.02em;line-height:1.45;
  font-variant-numeric:tabular-nums;
  border:1px solid rgba(255,255,255,.1);
}
.thumb-block .hd-video,.thumb-block .hd{
  position:absolute;left:7px;top:7px;z-index:5;background:var(--cs-accent);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:4px;
}

.thumb-block .entry-header{padding:9px 2px 0;margin:0;background:none;border:0}
.thumb-block span.title,.thumb-block .title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:13.5px;line-height:1.38;font-weight:650;color:var(--cs-text);
  margin:0 0 5px;min-height:2.76em;transition:color .15s ease;
}
.thumb-block:hover span.title{color:var(--cs-accent-hi)}
.thumb-block .under-thumb{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:11.5px;color:var(--cs-muted);font-weight:600;letter-spacing:.01em;
}
.thumb-block .under-thumb span{display:inline-flex;align-items:center;gap:4px}
.thumb-block .under-thumb .rating{color:var(--cs-accent)}
.thumb-block .under-thumb i{font-size:11px;opacity:.8}

/* ======================================================================
   CATEGORY / MODEL CARDS
   ==================================================================== */
.categories-list .videos-list,.actors-list .videos-list{
  grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:22px 16px;
}
.categories-list .videos-list .thumb-block .post-thumbnail{aspect-ratio:16/10}
.actors-list .videos-list .thumb-block .post-thumbnail{aspect-ratio:3/4}
.categories-list .videos-list .thumb-block .entry-header,
.actors-list .videos-list .thumb-block .entry-header{text-align:left}
.cat-title,.actor-title{font-size:14px;font-weight:700;color:var(--cs-text)}
.videos-count,.photos-count{color:var(--cs-muted);font-size:11.5px;font-weight:600}

/* ======================================================================
   PAGINATION
   ==================================================================== */
.pagination,.wp-pagenavi,nav.navigation{
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:34px 0 8px;float:none;clear:both
}
.pagination a,.pagination span,.wp-pagenavi a,.wp-pagenavi span,
.nav-links a,.nav-links span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 12px;border-radius:9px;
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  color:var(--cs-text-dim);font-size:13.5px;font-weight:700;transition:all .15s ease;
}
.pagination a:hover,.wp-pagenavi a:hover,.nav-links a:hover{
  background:var(--cs-surface-2);color:var(--cs-text);border-color:var(--cs-line)
}
.pagination .current,.wp-pagenavi .current,.nav-links .current{
  background:var(--cs-accent);border-color:var(--cs-accent);color:#fff
}

/* ======================================================================
   FOOTER
   ==================================================================== */
.site-footer,footer.site-footer{
  margin-top:52px;padding:34px 0 26px;
  background:var(--cs-surface);border-top:1px solid var(--cs-line-soft);color:var(--cs-muted)
}
.site-footer a{color:var(--cs-text-dim);font-size:13.5px}
.site-footer a:hover{color:var(--cs-accent)}
.site-footer .widget-title,.site-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--cs-text)}
.copyright-bar{border-top:1px solid var(--cs-line-soft);margin-top:24px;padding-top:18px;font-size:12.5px}

/* ======================================================================
   FORMS / BUTTONS (login, register, profile, submit)
   ==================================================================== */
input[type=text],input[type=password],input[type=email],input[type=url],input[type=search],
input[type=number],textarea,select{
  background:var(--cs-surface-2);border:1px solid var(--cs-line);border-radius:9px;
  color:var(--cs-text);padding:10px 13px;font-family:var(--cs-font);font-size:14px;
  width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--cs-accent);box-shadow:0 0 0 4px var(--cs-accent-dim)
}
button,input[type=submit],.button,a.button{
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
  color:#fff;border:0;border-radius:999px;padding:11px 22px;
  font-family:var(--cs-font);font-weight:700;font-size:14px;cursor:pointer;
  transition:filter .15s ease,transform .1s ease;
}
button:hover,input[type=submit]:hover,.button:hover{filter:brightness(1.1)}
button:active,input[type=submit]:active{transform:translateY(1px)}
label{color:var(--cs-text-dim);font-size:13px;font-weight:650;margin-bottom:6px;display:block}

/* modal */
.modal-content,#login-form,#register-form,.wpst-modal{
  background:var(--cs-surface);border:1px solid var(--cs-line);border-radius:var(--cs-radius-lg);
  box-shadow:var(--cs-shadow);
}
.alert{border-radius:9px;padding:11px 14px;font-size:13.5px;border:1px solid transparent}
.alert-danger{background:rgba(255,45,111,.1);border-color:rgba(255,45,111,.3);color:#FF8FB0}
.alert-success{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.3);color:#6EE7B7}
.alert-warning{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.3);color:#FCD34D}

/* ======================================================================
   EMPTY / LOADING STATES
   ==================================================================== */
.cs-empty{
  text-align:center;padding:64px 20px;background:var(--cs-surface);
  border:1px solid var(--cs-line-soft);border-radius:var(--cs-radius-lg);margin:10px 0 30px
}
.cs-empty h2{font-size:19px;font-weight:800;margin:0 0 8px;color:var(--cs-text);padding:0}
.cs-empty h2::before{content:none}
.cs-empty p{color:var(--cs-muted);font-size:14px;margin:0 auto 18px;max-width:460px}
.cs-skeleton{
  background:linear-gradient(90deg,var(--cs-surface-2) 25%,var(--cs-surface-3) 37%,var(--cs-surface-2) 63%);
  background-size:400% 100%;animation:cs-shimmer 1.3s ease infinite;border-radius:var(--cs-radius)
}
@keyframes cs-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ======================================================================
   AD SLOTS
   ==================================================================== */
.cs-ad{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.cs-ad--placeholder{
  background:var(--cs-surface);border:1px dashed var(--cs-line);border-radius:var(--cs-radius);
  color:#4A4A58;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
}
.cs-ad--leaderboard{min-height:90px;margin:0 0 22px}
.cs-ad--infeed{grid-column:span 2;min-height:150px}
.cs-ad--companion{min-height:250px;margin:0 0 20px}
.cs-ad--underplayer{min-height:90px;margin:16px 0 4px}
@media(max-width:700px){.cs-ad--infeed{grid-column:span 2}.cs-ad--leaderboard{min-height:60px}}

/* ======================================================================
   RESPONSIVE
   ==================================================================== */
/* ultrawide: more columns, never stretched cards */
@media(min-width:2100px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px 18px}
}
@media(min-width:1600px) and (max-width:2099px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
}
@media(max-width:1200px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}
/* tablet */
@media(min-width:992px) and (max-width:1199px){
  .header.row{column-gap:14px}
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:22px 14px}
  .categories-list .videos-list,.actors-list .videos-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
}
/* mobile */
@media(max-width:991px){
  body{font-size:14px}

  /* Header: wordmark + hamburger on row 1, full-width search on row 2.
     The theme's off-canvas drawer (right:-250 -> right:0 via #menu-toggle)
     is kept and restyled rather than replaced, so its JS keeps working. */
  .header.row{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;padding-top:9px;padding-bottom:9px}
  .site-branding{grid-column:1;grid-row:1}
  .site-title a::after{font-size:15px;letter-spacing:.1em}
  .site-title a::before{width:22px;height:22px;flex-basis:22px}

  .search-menu-mobile{
    grid-column:2;grid-row:1;display:flex!important;align-items:center;gap:6px;float:none;
    position:static!important;top:auto!important;right:auto!important;margin:0!important;
  }
  .search-menu-mobile .header-search-mobile{display:none}   /* search is always visible below */
  .search-menu-mobile #menu-toggle{
    display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;
    border-radius:10px;background:var(--cs-surface-2);border:1px solid var(--cs-line);color:var(--cs-text);
  }
  .search-menu-mobile #menu-toggle i{font-size:16px;color:var(--cs-text)}

  /* search always on, full width */
  .header-search{display:block!important;grid-column:1/-1;grid-row:2;margin-top:9px!important}
  .header-search #searchform{max-width:none}
  .header-search #searchform input#s{height:38px}

  /* --- off-canvas drawer --------------------------------------------- */
  nav#site-navigation.main-navigation{
    position:fixed!important;top:0!important;right:-250px;bottom:0;left:auto!important;
    width:250px;max-width:82vw;height:100vh;z-index:900;
    display:block;margin:0!important;padding:18px 14px 26px!important;
    background:var(--cs-surface);border-left:1px solid var(--cs-line);
    box-shadow:-18px 0 40px rgba(0,0,0,.5);
    overflow-y:auto;overflow-x:hidden;border-top:0;
  }
  #menu-main-navigation,.main-navigation ul.menu{
    display:block;width:auto;min-width:0;flex:none;margin:0;padding:0
  }
  #menu-main-navigation li{display:block;width:100%}
  #menu-main-navigation li a{
    display:block;width:100%;box-sizing:border-box;white-space:normal;
    padding:11px 13px;margin-bottom:4px;border-radius:9px;font-size:14.5px;
  }
  .membership{
    position:static!important;order:0;display:flex;gap:8px;margin:0 0 14px!important;
    padding-bottom:14px;border-bottom:1px solid var(--cs-line-soft);
  }
  .membership a,.membership a.button{flex:1 1 0;justify-content:center;text-align:center}
  body.scroll-disabled{overflow:hidden}

  /* grid density is handled separately below - see the grid scale */
  .thumb-block span.title{font-size:12.5px;min-height:2.7em;-webkit-line-clamp:2}
  .thumb-block .under-thumb{font-size:11px;gap:8px}
  .thumb-block span.duration{font-size:10.5px;padding:1px 5px}
  .archive-content>h2.widget-title{font-size:17px}
  .filters{gap:6px}
  .filters-list a{padding:6px 12px;font-size:12.5px}
  .cs-ad--infeed{grid-column:span 2}
}
@media(max-width:420px){
  :root{--cs-gutter:12px}
  .videos-list{gap:16px 8px}
}

/* reduce motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .thumb-block:hover .post-thumbnail-container{transform:none}
  .thumb-block:hover img.video-main-thumb{transform:none}
}

/* ======================================================================
   WATCH PAGE
   DOM: main#main > .video-player-area (player, .video-infos, .video-actions,
   .video-share, .video-tags) + .sidebar-ads ;  .under-video-block > .videos-list
   ==================================================================== */
body.single-post #content.site-content{padding-top:20px}

/* .video-player-area and .sidebar-ads are siblings inside .entry-content,
   not inside main#main - the grid has to sit on their actual parent. */
body.single-post main#main{width:100%!important;float:none!important;display:block}
body.single-post article > .entry-content,
body.single-post .entry-content{
  display:grid;grid-template-columns:minmax(0,1fr) 336px;
  gap:26px;align-items:start;width:100%;
}
body.single-post .entry-content > *{min-width:0}
body.single-post .video-player-area{min-width:0;margin:0;padding:0}
body.single-post .sidebar-ads{
  position:sticky;top:132px;display:block!important;min-width:0;margin:0
}

/* --- player --------------------------------------------------------- */
.responsive-player{
  position:relative;width:100%;aspect-ratio:16/9;height:auto!important;padding-bottom:0!important;
  background:#000;border-radius:var(--cs-radius-lg);overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.6);border:1px solid var(--cs-line-soft);
}
.responsive-player iframe,.responsive-player video,.responsive-player embed,.responsive-player object{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;border:0;display:block
}
.video-player{margin:0;padding:0;background:none}

/* --- title + meta bar ------------------------------------------------ */
.video-infos{margin:16px 0 0;padding:0}
.video-infos .title-views{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.video-infos h1{
  margin:0;padding:0;flex:1 1 auto;min-width:0;
  font-size:22px;line-height:1.28;font-weight:800;letter-spacing:-.01em;color:var(--cs-text);
}
.video-infos .views{
  flex:0 0 auto;color:var(--cs-muted);font-size:13px;font-weight:650;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding-top:4px;
}

/* --- action row ------------------------------------------------------ */
.video-actions{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:14px 0 0;padding:13px 0 0;border-top:1px solid var(--cs-line-soft);
}
#video-rate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;float:none;margin:0}
.post-like,#video-links{display:flex;align-items:center;gap:8px;margin:0;float:none}
.post-like a,#video-links a,#show-sharing-buttons,.video-actions a{
  display:inline-flex;align-items:center;gap:7px;
  height:36px;padding:0 15px;border-radius:999px;
  background:var(--cs-surface-2);border:1px solid var(--cs-line);
  color:var(--cs-text-dim);font-size:13px;font-weight:650;line-height:1;
  transition:all .15s ease;
}
.post-like a:hover,#video-links a:hover,.video-actions a:hover{
  background:var(--cs-surface-3);color:var(--cs-text);border-color:var(--cs-line)
}
.post-like a.liked,.post-like a.voted{background:var(--cs-accent-dim);border-color:var(--cs-accent);color:var(--cs-accent-hi)}
.post-like i,#video-links i{font-size:13px}
.rating-bar,.rating-result{margin:0}

/* --- share ---------------------------------------------------------- */
.video-share{margin:14px 0 0}
.video-share .title{color:var(--cs-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.share-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.share-buttons a{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:50%;background:var(--cs-surface-2);border:1px solid var(--cs-line);color:var(--cs-text-dim)
}
.share-buttons a:hover{background:var(--cs-accent);border-color:var(--cs-accent);color:#fff}
.video-share-url{margin:12px 0 0;display:flex;gap:8px;align-items:center}
.video-share-url #clickme{
  display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;
  background:var(--cs-surface-2);border:1px solid var(--cs-line);font-size:12.5px;font-weight:650;cursor:pointer
}
#temptext{position:absolute;left:-9999px;opacity:0}

/* --- description ---------------------------------------------------- */
.video-description,.entry-content>p{color:var(--cs-text-dim);font-size:14.5px;line-height:1.65}

/* --- tags / categories ---------------------------------------------- */
.video-tags{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--cs-line-soft)}
.video-tags .tags-list{display:flex;flex-wrap:wrap;gap:7px}
.video-tags a,.tags-list a.label,a.label{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;border-radius:999px;font-size:12.5px;font-weight:650;
  background:var(--cs-surface-2);border:1px solid var(--cs-line-soft);color:var(--cs-text-dim);
}
.video-tags a:hover,a.label:hover{background:var(--cs-accent-dim);border-color:var(--cs-accent);color:var(--cs-accent-hi)}

/* --- related --------------------------------------------------------- */
.under-video-block{margin-top:34px;clear:both}
.under-video-block .videos-list{margin-top:14px!important}
.show-more-related{display:flex;justify-content:center;margin:24px 0 0}
.show-more-related a.button{padding:12px 28px}

/* section heading injected by the brand layer */
.cs-section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 4px
}
.cs-section-head h2{
  font-size:18px;font-weight:800;margin:0;padding:0 0 0 13px;position:relative;color:var(--cs-text)
}
.cs-section-head h2::before{
  content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:2px;
  background:linear-gradient(180deg,var(--cs-accent),var(--cs-violet));
}
.cs-section-head a{font-size:13px;font-weight:650;color:var(--cs-muted)}
.cs-section-head a:hover{color:var(--cs-accent)}

/* --- report control -------------------------------------------------- */
.cs-report{
  display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:999px;
  background:transparent;border:1px solid var(--cs-line);color:var(--cs-muted);
  font-size:13px;font-weight:650;cursor:pointer;
}
.cs-report:hover{border-color:var(--cs-accent);color:var(--cs-accent-hi)}

/* --- watch page responsive ------------------------------------------- */
@media(max-width:1200px){
  body.single-post .entry-content{grid-template-columns:minmax(0,1fr) 300px;gap:20px}
  body.single-post .sidebar-ads{top:120px}
}
@media(max-width:991px){
  body.single-post .entry-content{grid-template-columns:minmax(0,1fr);gap:0;display:block}
  body.single-post .sidebar-ads{position:static;display:none!important}
  .video-infos h1{font-size:18px}
  .video-infos .title-views{gap:8px}
  .responsive-player{border-radius:0;margin-left:calc(var(--cs-gutter)*-1);margin-right:calc(var(--cs-gutter)*-1);width:auto}
  .video-actions{gap:8px}
  .post-like a,#video-links a,.video-actions a{height:34px;padding:0 13px;font-size:12.5px}
}


/* ======================================================================
   GRID DENSITY SCALE
   Independent of the nav breakpoint: the drawer appears at <=991 (theme),
   but a 900px tablet should still show four columns, not two.
   ==================================================================== */
@media(max-width:1199px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:24px 14px}
  .categories-list .videos-list,.actors-list .videos-list{grid-template-columns:repeat(auto-fill,minmax(186px,1fr))}
}
@media(max-width:991px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px 12px}
  .categories-list .videos-list,.actors-list .videos-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:18px 12px}
}
@media(max-width:767px){
  .videos-list{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:20px 10px}
  .categories-list .videos-list,.actors-list .videos-list{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}
}
@media(max-width:540px){
  .videos-list{grid-template-columns:repeat(2,1fr);gap:18px 9px}
  .categories-list .videos-list,.actors-list .videos-list{grid-template-columns:repeat(2,1fr);gap:16px 9px}
}

/* ======================================================================
   SURFACE OVERRIDES
   UltimaTube ships a light chrome (#f5f5f5 / #fff / #eee / #ddd). These are
   the exact surfaces it paints; each is mapped onto the CuratedSmut palette.
   Enumerated from a computed-style scan rather than guessed.
   ==================================================================== */
.site-branding,.site-branding .logo{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important}

#content.site-content,
#content.site-content.row,
.site-content{background:transparent!important}

.archive-content,
.archive-content.clearfix-after,
main#main,
#primary.content-area{background:transparent!important;border:0!important;box-shadow:none!important}

.video-player-area{background:transparent!important;padding:0!important;border:0!important}
.video-actions{background:transparent!important}

.footer-widget-zone{background:var(--cs-surface)!important;border-top:1px solid var(--cs-line-soft)}
.footer-widget-zone,.footer-widget-zone p,.footer-widget-zone li{color:var(--cs-muted)}
.footer-widget-zone a{color:var(--cs-text-dim)}
.footer-widget-zone a:hover{color:var(--cs-accent)}
.footer-widget-zone .widget-title,.footer-widget-zone h3{color:var(--cs-text)!important}

/* pagination "inactive" chips */
a.inactive,.pagination a.inactive,span.inactive{
  background:var(--cs-surface)!important;color:var(--cs-muted)!important;border:1px solid var(--cs-line-soft)!important
}

/* any element the theme left on dark-on-light text */
#page a{color:inherit}
#content a,.site-footer a,.video-infos a,.under-video-block a{color:var(--cs-text)}
#content a:hover,.under-video-block a:hover{color:var(--cs-accent)}
.entry-content,.entry-content p,.page-content,.page-content p{color:var(--cs-text-dim)}
.entry-content h1,.entry-content h2,.entry-content h3,
.page-content h1,.page-content h2,.page-content h3{color:var(--cs-text)}
.entry-content a,.page-content a{color:var(--cs-accent-hi)}
.entry-content ul,.entry-content ol{color:var(--cs-text-dim)}

/* legal / text pages get a readable measure on a card */
body.page .entry-content,body.page .page-content{
  max-width:840px;background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  border-radius:var(--cs-radius-lg);padding:26px 28px;
}
body.page .entry-content h2{margin-top:22px}
body.page-template-template-categories .entry-content,
body.page-template-template-actors .entry-content,
body.page-template-template-tags .entry-content,
body.page-template-template-my-profile .entry-content,
body.page-template-template-video-submit .entry-content{
  max-width:none;background:none;border:0;padding:0
}

/* page titles */
.page .entry-title,.archive .page-title,h1.entry-title,h1.page-title{
  font-size:24px;font-weight:800;letter-spacing:-.01em;color:var(--cs-text);margin:0 0 16px;padding:0
}

/* theme's top bar, if shown */
.top-bar{background:var(--cs-surface)!important;border-bottom:1px solid var(--cs-line-soft)}
.top-bar a,.top-bar i{color:var(--cs-text-dim)}

/* ======================================================================
   ACCOUNT / MEMBER SURFACE
   ==================================================================== */
.cs-account-bar{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);border-radius:var(--cs-radius-lg);
  padding:16px 20px;margin:0 0 22px;
}
.cs-account-who{display:flex;align-items:center;gap:13px;min-width:0}
.cs-avatar{
  width:42px;height:42px;flex:0 0 42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
  color:#fff;font-weight:800;font-size:17px;
}
.cs-account-who strong{display:block;color:var(--cs-text);font-size:15px;font-weight:700;line-height:1.3}
.cs-account-who em{display:block;color:var(--cs-muted);font-size:12px;font-style:normal;font-weight:600}
.cs-account-links{display:flex;gap:7px;flex-wrap:wrap}
.cs-account-links a{
  padding:8px 14px;border-radius:999px;font-size:13px;font-weight:650;
  background:var(--cs-surface-2);border:1px solid var(--cs-line);color:var(--cs-text-dim);
}
.cs-account-links a:hover{background:var(--cs-surface-3);color:var(--cs-text)}

.cs-submissions{margin:0 0 24px}
.cs-submissions h2{font-size:17px;font-weight:800;margin:0 0 12px;padding:0;color:var(--cs-text)}
.cs-submissions h2::before{content:none}
.cs-submissions ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cs-submissions li{
  display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:var(--cs-radius);
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);color:var(--cs-text-dim);font-size:14px;
}
.cs-state{
  flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 9px;border-radius:5px;
}
.cs-state--pending{background:rgba(251,191,36,.14);color:#FCD34D;border:1px solid rgba(251,191,36,.3)}
.cs-state--publish{background:rgba(52,211,153,.14);color:#6EE7B7;border:1px solid rgba(52,211,153,.3)}
.cs-state--draft{background:var(--cs-surface-3);color:var(--cs-muted);border:1px solid var(--cs-line)}

/* profile form */
body.page-template-template-my-profile #edit-user{
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);border-radius:var(--cs-radius-lg);
  padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 20px;max-width:900px
}
body.page-template-template-my-profile #edit-user .form-submit,
body.page-template-template-my-profile #edit-user p.form-submit{grid-column:1/-1}
body.page-template-template-my-profile #edit-user .col-3{min-width:0}

@media(max-width:600px){
  .cs-account-bar{flex-direction:column;align-items:stretch;gap:14px}
  .cs-account-links{justify-content:flex-start}
}

/* ======================================================================
   POLISH PASS 1 - defects found by rendered inspection
   ==================================================================== */

/* The theme pins .duration to left:0;bottom:0;height:20px. Setting only
   right/bottom left BOTH edges anchored, stretching it into a full-width bar. */
.thumb-block span.duration,
.thumb-block .post-thumbnail span.duration{
  left:auto!important;right:7px!important;bottom:7px!important;
  top:auto!important;height:auto!important;line-height:1.45!important;
  padding:2px 7px!important;border-radius:5px!important;
  background:rgba(6,6,9,.82)!important;
}
.thumb-block span.hd-video{
  left:7px!important;right:auto!important;bottom:auto!important;top:7px!important;
  height:auto!important;line-height:1.4!important;background:var(--cs-accent)!important;
  padding:2px 6px!important;border-radius:4px!important;
}

/* Nav: drop the theme's grey pill wrapper so the row reads as clean chrome. */
#site-navigation ul,
#site-navigation > ul,
#menu-main-navigation,
.main-navigation ul.menu{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important
}
#site-navigation ul li,
#menu-main-navigation li{background:transparent!important;border:0!important}
#site-navigation ul li:hover{background:transparent!important}
#site-navigation ul li a{border-bottom:0!important}

/* Hover trailer preview the theme ships: keep it, just make it fit the box. */
.video-preview-item .video-overlay video,
.post-thumbnail video{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;
  object-fit:cover!important;border-radius:inherit;
}

/* Tighten the header: wordmark and search should not be a continent apart. */
@media(min-width:1200px){
  .header.row{grid-template-columns:auto minmax(0,1fr) auto;column-gap:26px}
  .header-search #searchform{max-width:620px;margin-left:0}
}

/* Views/meta row: give the eye icon room and align numerals. */
.thumb-block .under-thumb span.views{font-variant-numeric:tabular-nums}
.thumb-block .entry-header{padding:10px 2px 0}

/* ======================================================================
   POLISH PASS 2 - watch page proportions
   A 16:9 player across a 1434px column is 806px tall, which pushes the
   title, actions and related rail entirely below the fold. Cap it so the
   player still dominates but the metadata is immediately visible.
   ==================================================================== */


/* Make the companion rail read as deliberate rather than empty space. */
body.single-post .sidebar-ads .cs-ad--companion{width:100%;min-height:280px}

/* Watch-page section rhythm */
body.single-post .video-infos{margin-top:18px}
body.single-post .cs-section-head{margin-bottom:10px}

/* Under-player ad should not shove the tags */
.cs-ad--underplayer{margin:18px 0 6px}

/* ======================================================================
   POLISH PASS 3 - comments + footer widgets
   ==================================================================== */
#comments,.comments-area{
  margin-top:34px;padding-top:24px;border-top:1px solid var(--cs-line-soft);clear:both
}
#comments .comments-title,#reply-title,.comment-reply-title{
  font-size:18px;font-weight:800;color:var(--cs-text);margin:0 0 14px;padding:0
}
.comment-form{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  border-radius:var(--cs-radius-lg);padding:22px;max-width:960px;
}
.comment-form .comment-form-comment{grid-column:1/-1}
.comment-form textarea{min-height:110px;resize:vertical}
.comment-form .comment-form-cookies-consent{
  grid-column:1/-1;display:flex;align-items:center;gap:9px;
}
.comment-form .comment-form-cookies-consent input[type=checkbox]{width:16px;height:16px;margin:0;flex:0 0 16px}
.comment-form .comment-form-cookies-consent label{margin:0;font-weight:500;font-size:12.5px;color:var(--cs-muted)}
.comment-form .form-submit{grid-column:1/-1;margin:0}
.comment-notes,.logged-in-as{grid-column:1/-1;color:var(--cs-muted);font-size:12.5px;margin:0}
.comment-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.comment-list li.comment{
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  border-radius:var(--cs-radius);padding:15px 17px;
}
.comment-author .fn{color:var(--cs-text);font-weight:700;font-size:14px}
.comment-metadata a{color:var(--cs-muted);font-size:12px}

/* footer widgets */
.footer-widget-zone .widget{margin:0 0 8px}
.footer-widget-zone ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.footer-widget-zone ul li{padding:0;border:0}
.footer-widget-zone ul li a{
  display:inline-block;padding:4px 0;font-size:13.5px;color:var(--cs-text-dim)
}
.footer-widget-zone ul li a:hover{color:var(--cs-accent)}
.footer-widget-zone .widget-title{margin:0 0 12px;font-size:12px;letter-spacing:.12em}

/* footer bottom bar */
.copyright-bar,.site-info{
  display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  color:var(--cs-muted);font-size:12.5px;text-align:center
}
#menu-footer-navigation{
  display:flex;gap:6px;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0
}
#menu-footer-navigation li a{
  padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--cs-text-dim)
}
#menu-footer-navigation li a:hover{background:var(--cs-surface-2);color:var(--cs-text)}

/* ======================================================================
   POLISH PASS 4 - deterministic watch layout
   Auto-placement put .video-player-area in column 2 and pushed the rail to a
   second row. Place both explicitly so the outcome does not depend on the
   theme's own float/width declarations.
   ==================================================================== */
@media(min-width:992px){
  body.single-post .entry-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 336px!important;
    grid-template-rows:auto!important;
    gap:26px!important;align-items:start;
  }
  body.single-post .entry-content > .video-player-area{
    grid-column:1!important;grid-row:1!important;
    float:none!important;width:auto!important;max-width:none!important;min-width:0;
  }
  body.single-post .entry-content > .sidebar-ads{
    grid-column:2!important;grid-row:1!important;
    float:none!important;width:auto!important;min-width:0;
    position:sticky;top:132px;
  }
  /* Player: dominate, but leave the title and actions above the fold. */
  .responsive-player{
    aspect-ratio:16/9;width:100%;max-height:72vh;margin:0 auto;
  }
}
@media(max-width:991px){
  body.single-post .entry-content{display:block!important}
  body.single-post .entry-content > .video-player-area{width:auto!important;float:none!important}
}

/* ======================================================================
   POLISH PASS 5 - wordmark + mobile drawer, specificity-hardened
   The theme prints an inline <style> in wp_head AFTER this file loads:
     .site-title a { font-family: Inter; font-size: 28px; }
   which resurrected the raw blog name next to our wordmark. Beat it on
   specificity rather than hoping for source order.
   ==================================================================== */
.site-branding .logo .site-title a,
.site-branding .site-title a,
h1.site-title a,p.site-title a{
  font-size:0!important;line-height:1!important;color:transparent!important;
  display:inline-flex!important;align-items:center;gap:9px;text-decoration:none;
}
.site-branding .logo .site-title a::after,
.site-branding .site-title a::after,
h1.site-title a::after,p.site-title a::after{
  content:"CURATED SMUT";
  font-family:var(--cs-font)!important;font-size:18px!important;font-weight:800!important;
  letter-spacing:.14em!important;color:var(--cs-text)!important;white-space:nowrap;line-height:1.1!important;
}
.site-branding .logo img{display:none!important}

@media(max-width:991px){
  .site-branding .logo .site-title a::after,
  .site-branding .site-title a::after,
  h1.site-title a::after,p.site-title a::after{font-size:15px!important;letter-spacing:.1em!important}
  .site-branding .site-title a::before{width:22px!important;height:22px!important;flex-basis:22px!important}

  /* Off-canvas drawer, forced. The theme declares this at three separate
     breakpoints with differing top offsets; normalise all of them. */
  body #site-navigation,
  body nav#site-navigation.main-navigation{
    position:fixed!important;
    top:0!important;bottom:0!important;left:auto!important;right:-260px!important;
    width:250px!important;max-width:82vw!important;height:100%!important;
    z-index:900!important;
    display:block!important;
    margin:0!important;padding:18px 14px 26px!important;
    background:var(--cs-surface)!important;
    border-left:1px solid var(--cs-line)!important;border-top:0!important;
    box-shadow:-18px 0 40px rgba(0,0,0,.5)!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    transition:right .22s ease;
  }
  /* the theme's JS animates `right` from -250 to 0 on #menu-toggle */
  body.scroll-disabled #site-navigation,
  body.scroll-disabled nav#site-navigation.main-navigation{right:0!important}
  body.scroll-disabled{overflow:hidden}

  body #site-navigation ul#menu-main-navigation,
  body #site-navigation ul.menu{
    display:block!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important
  }
  body #site-navigation ul#menu-main-navigation li{display:block!important;width:100%!important;float:none!important}
  body #site-navigation ul#menu-main-navigation li a{
    display:block!important;width:100%!important;box-sizing:border-box;
    padding:11px 13px!important;margin:0 0 4px!important;border-radius:9px!important;
    font-size:14.5px!important;line-height:1.35!important;height:auto!important;white-space:normal!important;
    color:var(--cs-text-dim)!important;background:transparent!important;border:0!important;
  }
  body #site-navigation ul#menu-main-navigation li a:hover,
  body #site-navigation ul#menu-main-navigation li.current-menu-item a{
    background:var(--cs-accent-dim)!important;color:var(--cs-accent-hi)!important
  }
  body #site-navigation .membership{
    position:static!important;display:flex!important;gap:8px;
    margin:0 0 14px!important;padding:0 0 14px!important;
    border-bottom:1px solid var(--cs-line-soft)!important;border-top:0!important;
  }
  body #site-navigation .membership span.login{flex:1 1 0}
  body #site-navigation .membership a,
  body #site-navigation .membership a.button{
    width:100%;justify-content:center;text-align:center;height:36px
  }
  body #site-navigation #head-mobile,
  body #site-navigation .button-nav,
  body #site-navigation .submenu-button{display:none!important}

  /* hamburger */
  .search-menu-mobile{display:flex!important;align-items:center;gap:6px;position:static!important}
  .search-menu-mobile .header-search-mobile{display:none!important}
  .search-menu-mobile #menu-toggle{
    display:flex!important;align-items:center;justify-content:center;
    width:38px;height:38px;margin:0!important;border-radius:10px;
    background:var(--cs-surface-2)!important;border:1px solid var(--cs-line);color:var(--cs-text)
  }
  .search-menu-mobile #menu-toggle i{color:var(--cs-text);font-size:16px}

  /* search stays visible, full width, row 2 */
  .header-search{display:block!important;position:static!important;width:auto!important;transform:none!important}
}

/* ======================================================================
   POLISH PASS 6 - sort filters on small screens
   Below 992px the theme converts .filters-list into an absolutely positioned
   white dropdown toggled by .filter-title. Forcing it visible left a white
   panel floating over the first row of cards. Present it as a scrolling pill
   row instead: no toggle to discover, no overlay, thumb-reachable.
   ==================================================================== */
@media(max-width:991px){
  .filters{
    display:block!important;height:auto!important;width:100%;
    margin:0 0 16px!important;padding:0!important;overflow:visible!important;
  }
  .filters .filter-title{display:none!important}
  .filters .filter-title::before,.filters .filter-title::after{content:none!important}
  .filters-list{
    display:flex!important;position:static!important;
    background:transparent!important;box-shadow:none!important;border:0!important;
    padding:0!important;margin:0!important;border-radius:0!important;
    gap:7px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    width:100%;
  }
  .filters-list::-webkit-scrollbar{display:none}
  .filters-list a,.filters a,.filters a:first-child{
    display:inline-flex!important;align-items:center;white-space:nowrap;
    padding:7px 14px!important;margin:0!important;border-radius:999px!important;
    font-size:13px!important;font-weight:650!important;line-height:1.2!important;
    color:var(--cs-text-dim)!important;background:var(--cs-surface)!important;
    border:1px solid var(--cs-line-soft)!important;
  }
  .filters-list a.active,.filters a.active{
    background:var(--cs-accent)!important;border-color:var(--cs-accent)!important;color:#fff!important
  }
  .filters a::before{content:none!important}
  .archive-content > h2.widget-title{display:block;margin-bottom:12px}
}

/* ======================================================================
   POLISH PASS 7 - category / performer directories
   `.categories-list` and `.actors-list` are classes on #primary, i.e. the page
   wrapper - not the card container. Grid must go on the inner .videos-list, or
   the entire page collapses into one column.
   ==================================================================== */
#primary.categories-list,#primary.actors-list{display:block!important;width:100%}
.categories-list .videos-list,.actors-list .videos-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(216px,1fr))!important;
  gap:24px 16px!important;
}
/* these cards have no .post-thumbnail-container wrapper */
.categories-list .thumb-block .post-thumbnail,
.actors-list .thumb-block .post-thumbnail{
  aspect-ratio:16/10!important;height:auto!important;padding:0!important;
  position:relative!important;overflow:hidden;border-radius:var(--cs-radius);
}
.actors-list .thumb-block .post-thumbnail{aspect-ratio:3/4!important}
.categories-list .thumb-block .post-thumbnail img,
.actors-list .thumb-block .post-thumbnail img{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important
}
.categories-list .thumb-block .entry-header,
.actors-list .thumb-block .entry-header{padding:10px 2px 0;text-align:left}
.categories-list .cat-title,.actors-list .actor-title,
.categories-list .thumb-block .title,.actors-list .thumb-block .title{
  font-size:14px;font-weight:700;color:var(--cs-text);display:block;margin:0 0 3px
}
.categories-list .videos-count,.actors-list .videos-count{
  color:var(--cs-muted);font-size:11.5px;font-weight:600
}
@media(max-width:991px){
  .categories-list .videos-list,.actors-list .videos-list{
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important;gap:18px 12px!important
  }
}
@media(max-width:540px){
  .categories-list .videos-list,.actors-list .videos-list{
    grid-template-columns:repeat(2,1fr)!important;gap:16px 9px!important
  }
}

/* ======================================================================
   MILESTONE 1.5 — DISCOVERY SECTIONS
   ==================================================================== */
.cs-section{margin:0 0 38px}
.cs-section:last-of-type{margin-bottom:26px}
.cs-section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:0 0 14px;padding:0;
}
.cs-section-head h2{
  margin:0;padding:0 0 0 13px;position:relative;
  font-size:19px;font-weight:800;letter-spacing:-.012em;color:var(--cs-text);border:0;
}
.cs-section-head h2::before{
  content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;border-radius:2px;
  background:linear-gradient(180deg,var(--cs-accent),var(--cs-violet));
}
.cs-more{
  flex:0 0 auto;font-size:13px;font-weight:650;color:var(--cs-muted);
  display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;
  border:1px solid transparent;transition:all .15s ease;
}
.cs-more::after{content:"›";font-size:15px;line-height:1;transform:translateY(-1px)}
.cs-more:hover{color:var(--cs-text);background:var(--cs-surface-2);border-color:var(--cs-line-soft)}
.cs-section--ad{margin:0 0 38px}

/* ======================================================================
   CATEGORY TILES
   ==================================================================== */
.cs-cat-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:14px;
}
.cs-cat{
  position:relative;display:block;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--cs-radius);background:var(--cs-surface-2);
  box-shadow:0 2px 10px rgba(0,0,0,.4);
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s ease;
}
.cs-cat img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .35s cubic-bezier(.2,.7,.3,1);filter:saturate(.92)
}
.cs-cat__shade{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(to top,rgba(4,4,7,.90) 0%,rgba(4,4,7,.34) 52%,rgba(4,4,7,.12) 100%);
}
.cs-cat__meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:12px 13px}
.cs-cat__meta strong{
  display:block;color:#fff;font-size:14.5px;font-weight:750;letter-spacing:-.005em;line-height:1.25;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.cs-cat__meta em{
  display:block;margin-top:2px;font-style:normal;font-size:11.5px;font-weight:650;
  color:rgba(255,255,255,.72);letter-spacing:.01em;
}
.cs-cat:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.6),0 0 0 2px var(--cs-accent)}
.cs-cat:hover img{transform:scale(1.07)}
.cs-cat--nothumb{background:linear-gradient(140deg,#1B1B24,#101017)}

/* ======================================================================
   BRANDED THUMBNAIL FALLBACK
   Used when a source thumbnail is permanently gone, instead of a broken image.
   ==================================================================== */
.cs-fallback{
  position:absolute;inset:0;z-index:1;display:none;
  align-items:center;justify-content:center;
  background:
    radial-gradient(110% 80% at 50% 0%,rgba(255,45,111,.16),transparent 62%),
    linear-gradient(145deg,#1A1A23 0%,#101016 100%);
}
.cs-fallback::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:100% 7px;opacity:.5;
}
.cs-fallback > span{
  position:relative;z-index:2;
  font-size:26px;font-weight:800;letter-spacing:.04em;
  color:rgba(255,255,255,.34);
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid rgba(255,255,255,.14);
  background:rgba(8,8,12,.42);
}
.cs-card--nothumb .cs-fallback,
.thumb-block.cs-img-failed .cs-fallback{display:flex}
.thumb-block.cs-img-failed img.video-main-thumb{visibility:hidden}

/* ======================================================================
   CARD META
   ==================================================================== */
.thumb-block .under-thumb{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:11.5px;color:var(--cs-muted);font-weight:600;line-height:1.3;
}
.cs-meta{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.cs-meta--performer{color:var(--cs-text-dim);font-weight:700}
.cs-meta--performer::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--cs-accent);flex:0 0 5px
}
.cs-meta--cat{color:var(--cs-muted)}
.cs-meta--views{font-variant-numeric:tabular-nums;color:var(--cs-muted)}
.cs-meta--views::before{
  content:"";width:13px;height:9px;flex:0 0 13px;margin-right:2px;
  background:currentColor;opacity:.75;
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 2.2px,transparent 2.4px) center/100% 100% no-repeat,
    radial-gradient(ellipse 6.5px 4.5px at 50% 50%,transparent 3.6px,#000 3.7px,#000 4.4px,transparent 4.5px) center/100% 100% no-repeat;
  mask:radial-gradient(circle at 50% 50%,#000 2.2px,transparent 2.4px) center/100% 100% no-repeat,
    radial-gradient(ellipse 6.5px 4.5px at 50% 50%,transparent 3.6px,#000 3.7px,#000 4.4px,transparent 4.5px) center/100% 100% no-repeat;
}
.cs-card__link{display:block;color:inherit}

/* ======================================================================
   FOOTER — CuratedSmut native
   ==================================================================== */
.cs-foot{
  display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr));
  gap:28px 32px;align-items:start;
}
.cs-foot__brand{max-width:340px}
.cs-foot__mark{
  display:inline-block;width:24px;height:24px;border-radius:7px;vertical-align:-5px;margin-right:9px;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
}
.cs-foot__brand strong{
  font-size:15px;font-weight:800;letter-spacing:.13em;color:var(--cs-text)
}
.cs-foot__brand p{margin:12px 0 0;font-size:12.5px;line-height:1.6;color:var(--cs-muted)}
.cs-foot__col h3{
  margin:0 0 11px;font-size:11.5px;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--cs-text)
}
.cs-foot__col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cs-foot__col li{margin:0;padding:0;border:0}
.cs-foot__col a{font-size:13px;color:var(--cs-text-dim);font-weight:550}
.cs-foot__col a:hover{color:var(--cs-accent)}

/* comments are switched off on the front end until a member system exists */
#comments,.comments-area,.comment-respond,#respond,.comment-form{display:none!important}

@media(max-width:991px){
  .cs-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .cs-foot__brand{grid-column:1/-1;max-width:none}
}
@media(max-width:540px){
  .cs-foot{grid-template-columns:1fr}
  .cs-section{margin-bottom:30px}
  .cs-section-head h2{font-size:17px}
}

/* ======================================================================
   SEARCH
   ==================================================================== */
.cs-search-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:22px;flex-wrap:wrap;
  padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid var(--cs-line-soft);
}
.cs-search-head__main h1{
  margin:0;padding:0;font-size:24px;font-weight:800;letter-spacing:-.015em;color:var(--cs-text)
}
.cs-search-head__main p{margin:5px 0 0;font-size:13.5px;color:var(--cs-muted);font-weight:600}
.cs-search-head__form{display:flex;gap:8px;flex:0 1 420px;min-width:260px}
.cs-search-head__form input{
  flex:1 1 auto;height:42px;border-radius:999px;padding:0 18px;
  background:var(--cs-surface-2);border:1px solid var(--cs-line);color:var(--cs-text);font-size:14px;
}
.cs-search-head__form input:focus{outline:none;border-color:var(--cs-accent);box-shadow:0 0 0 4px var(--cs-accent-dim)}
.cs-search-head__form button{height:42px;padding:0 22px;border-radius:999px;font-size:13.5px}

.cs-search-tax{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.cs-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border-radius:999px;font-size:13px;font-weight:650;
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);color:var(--cs-text-dim);
  transition:all .15s ease;
}
.cs-chip:hover{background:var(--cs-surface-2);border-color:var(--cs-accent);color:var(--cs-accent-hi)}
.cs-chip em{
  font-style:normal;font-size:11px;font-weight:700;color:var(--cs-muted);
  background:var(--cs-surface-3);padding:1px 7px;border-radius:999px;
}
.cs-chip--actor::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--cs-violet);flex:0 0 6px
}
.cs-chip--cat::before{
  content:"";width:6px;height:6px;border-radius:2px;background:var(--cs-accent);flex:0 0 6px
}
.cs-empty--search{text-align:left;padding:34px 30px}
.cs-empty--search h2{font-size:20px;margin:0 0 8px}
.cs-empty__chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}
.cs-empty__cta{margin:20px 0 0}

/* ======================================================================
   WATCH PAGE — save placeholder + section rhythm
   ==================================================================== */
.cs-fav{
  display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;
  border-radius:999px;background:var(--cs-surface-2);border:1px solid var(--cs-line);
  color:var(--cs-muted);font-size:13px;font-weight:650;font-family:var(--cs-font);
  cursor:not-allowed;opacity:.72;
}
.cs-fav__icon{
  width:13px;height:13px;flex:0 0 13px;border:1.6px solid currentColor;border-radius:2px 2px 0 0;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);
}
.cs-section--mlt{margin-top:34px}

/* ======================================================================
   DENSITY — take real advantage of wide screens without absurd cards
   ==================================================================== */
@media(min-width:2560px){
  :root{--cs-maxw:2760px}
  .videos-list,.cs-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:30px 18px}
  .cs-cat-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:16px}
}
@media(min-width:1921px) and (max-width:2559px){
  :root{--cs-maxw:2360px}
  .videos-list,.cs-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}
}
@media(max-width:1199px){
  .cs-cat-grid{grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:12px}
}
@media(max-width:767px){
  .cs-cat-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
  .cs-search-head{flex-direction:column;align-items:stretch;gap:14px}
  .cs-search-head__main h1{font-size:19px}
  .cs-search-head__form{flex:1 1 auto;min-width:0}
}
@media(max-width:540px){
  .cs-cat-grid{grid-template-columns:repeat(2,1fr);gap:9px}
  .cs-cat__meta{padding:9px 10px}
  .cs-cat__meta strong{font-size:12.5px}
  .cs-cat__meta em{font-size:10.5px}
}

/* ======================================================================
   AD PLACEMENT — restrained, space-safe, never spammy
   Placeholders reserve the exact space a real creative takes, so enabling a
   provider causes no layout shift, while staying visually quiet.
   ==================================================================== */
.cs-ad--placeholder{
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 10px,transparent 10px 20px),
    var(--cs-surface);
  border:1px dashed var(--cs-line);border-radius:var(--cs-radius);
  color:#3F3F4C;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;
}
.cs-ad-row{padding-top:18px}
.cs-ad--leaderboard{min-height:90px;max-height:90px;margin:0 0 4px}
.cs-ad--infeed{width:100%;min-height:128px;max-height:128px}
.cs-section--ad{margin:0 0 34px}
.cs-ad--companion{width:100%;min-height:280px}
.cs-ad--underplayer{min-height:90px;max-height:90px;margin:16px 0 4px}

@media(max-width:991px){
  /* content first on small screens */
  .cs-ad--leaderboard{display:none}
  .cs-ad--infeed{min-height:104px;max-height:104px}
  .cs-ad--underplayer{min-height:76px;max-height:76px;margin:14px 0 2px}
  .cs-section--ad{margin:0 0 26px}
}
@media(max-width:540px){
  .cs-ad--infeed{min-height:92px;max-height:92px}
}

/* card meta reads as one consistent left-aligned line at every card width */
.thumb-block .under-thumb{justify-content:flex-start}
.thumb-block .under-thumb .cs-meta + .cs-meta::before{
  content:"";width:3px;height:3px;border-radius:50%;background:currentColor;
  opacity:.45;flex:0 0 3px;margin-right:4px;
}
.thumb-block .under-thumb .cs-meta--performer + .cs-meta::before{opacity:.35}

/* ======================================================================
   DIRECTORIES — categories and performers as product pages
   ==================================================================== */
#primary.categories-list .archive-content > header,
#primary.actors-list .archive-content > header{margin:0 0 6px}
#primary.categories-list h1.widget-title,
#primary.actors-list h1.widget-title{
  font-size:26px;font-weight:800;letter-spacing:-.02em;padding-left:15px
}
.cs-dir-intro{
  margin:0 0 22px;color:var(--cs-muted);font-size:14px;max-width:660px;line-height:1.6
}

/* category cards in the directory get the tile treatment, not a list */
.categories-list .videos-list .thumb-block .post-thumbnail{
  border-radius:var(--cs-radius);box-shadow:0 2px 10px rgba(0,0,0,.4)
}
.categories-list .videos-list .thumb-block .entry-header{
  padding:10px 2px 0
}
.categories-list .videos-list .thumb-block .title,
.categories-list .videos-list .thumb-block .cat-title{
  font-size:14px;font-weight:750;color:var(--cs-text);letter-spacing:-.004em
}

/* performer cards: portrait crop, name + count, initial fallback */
.actors-list .videos-list{
  grid-template-columns:repeat(auto-fill,minmax(172px,1fr))!important;gap:22px 14px!important
}
.actors-list .videos-list .thumb-block .post-thumbnail{
  aspect-ratio:3/4!important;border-radius:var(--cs-radius-lg)
}
.actors-list .videos-list .thumb-block .entry-header{padding:11px 2px 0;text-align:left}
.actors-list .videos-list .thumb-block .title{font-size:14px;font-weight:750}
.actors-list .cs-fallback > span{font-size:30px;width:62px;height:62px}

/* performer profile header */
.cs-performer{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  border-radius:var(--cs-radius-lg);padding:20px 22px;margin:0 0 24px;
}
.cs-performer__avatar{
  width:72px;height:72px;flex:0 0 72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--cs-accent),var(--cs-violet));
  color:#fff;font-size:28px;font-weight:800;letter-spacing:.02em;
}
.cs-performer__meta h1{
  margin:0;padding:0;font-size:24px;font-weight:800;letter-spacing:-.015em;color:var(--cs-text)
}
.cs-performer__meta p{margin:5px 0 0;color:var(--cs-muted);font-size:13.5px;font-weight:600}
.cs-performer__note{
  margin-left:auto;max-width:300px;font-size:12px;color:var(--cs-muted);line-height:1.5
}

@media(max-width:767px){
  #primary.categories-list h1.widget-title,#primary.actors-list h1.widget-title{font-size:21px}
  .actors-list .videos-list{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))!important}
  .cs-performer{padding:16px;gap:14px}
  .cs-performer__avatar{width:56px;height:56px;flex-basis:56px;font-size:22px}
  .cs-performer__meta h1{font-size:19px}
  .cs-performer__note{margin-left:0;max-width:none;flex:1 1 100%}
}

/* ======================================================================
   DESIGN SYSTEM CONSISTENCY PASS
   Theme-default components brought onto the CuratedSmut scale.
   ==================================================================== */

/* pagination: theme markup is .pagination > ul > li > a */
.pagination{display:flex;justify-content:center;margin:34px 0 10px;clear:both;float:none}
.pagination ul{
  display:flex;gap:7px;flex-wrap:wrap;justify-content:center;list-style:none;margin:0;padding:0
}
.pagination ul li{margin:0;padding:0;border:0;float:none;background:none}
.pagination ul li a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 13px;border-radius:10px;
  background:var(--cs-surface)!important;border:1px solid var(--cs-line-soft)!important;
  color:var(--cs-text-dim)!important;font-size:13.5px;font-weight:700;
  font-variant-numeric:tabular-nums;transition:all .15s ease;
}
.pagination ul li a:hover{
  background:var(--cs-surface-2)!important;color:var(--cs-text)!important;
  border-color:var(--cs-line)!important;transform:translateY(-1px)
}
.pagination ul li a.current{
  background:var(--cs-accent)!important;border-color:var(--cs-accent)!important;color:#fff!important;
  box-shadow:0 3px 14px rgba(255,45,111,.3)
}
.pagination ul li a.inactive{opacity:1}

/* labels / tags / chips share one scale */
.label,a.label,.tag-cloud-link,.tags-list a{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px!important;border-radius:999px!important;
  font-size:12.5px!important;font-weight:650!important;line-height:1.35!important;
  background:var(--cs-surface-2)!important;border:1px solid var(--cs-line-soft)!important;
  color:var(--cs-text-dim)!important;
}
.label:hover,a.label:hover,.tag-cloud-link:hover,.tags-list a:hover{
  background:var(--cs-accent-dim)!important;border-color:var(--cs-accent)!important;
  color:var(--cs-accent-hi)!important;
}
.morelink,.more-videos{
  font-size:13px;font-weight:650;color:var(--cs-muted);
  background:none!important;border:0!important;padding:0!important
}
.morelink:hover,.more-videos:hover{color:var(--cs-accent)}

/* tag directory (A-Z) */
.tags-letter-block{margin:0 0 26px}
.tags-letter-block h2,.tags-letter-block .letter{
  font-size:15px;font-weight:800;color:var(--cs-accent);margin:0 0 10px;letter-spacing:.04em
}
.tags-letter-block .tag-items{display:flex;flex-wrap:wrap;gap:7px}

/* buttons: one radius, one weight, one motion */
button,input[type=submit],.button,a.button{
  border-radius:999px;font-weight:700;letter-spacing:.005em;
  transition:filter .15s ease,transform .1s ease,box-shadow .15s ease;
  box-shadow:0 3px 14px rgba(255,45,111,.22);
}
button:hover,input[type=submit]:hover,.button:hover,a.button:hover{
  filter:brightness(1.1);box-shadow:0 5px 18px rgba(255,45,111,.3)
}
button:active,.button:active{transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--cs-accent);outline-offset:2px
}

/* select / dropdown */
select{
  appearance:none;-webkit-appearance:none;padding-right:34px;
  background-image:linear-gradient(45deg,transparent 50%,var(--cs-muted) 50%),
    linear-gradient(135deg,var(--cs-muted) 50%,transparent 50%);
  background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}

/* headings share one scale */
h1,h2,h3,h4{letter-spacing:-.012em;color:var(--cs-text)}
h1{font-weight:800}
h2,h3{font-weight:750}

/* the theme's aside/sidebar blocks, if any surface */
.aside-block{
  background:var(--cs-surface);border:1px solid var(--cs-line-soft);
  border-radius:var(--cs-radius);padding:16px;margin:0 0 16px
}
.aside-block h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 11px}
.show-all-link{font-size:12.5px;color:var(--cs-muted);font-weight:650}

/* Cards must sit on one baseline whether or not a video has meta to show. */
.thumb-block .entry-header{display:flex;flex-direction:column}
.thumb-block span.title{min-height:2.76em}
.thumb-block .under-thumb{min-height:1.35em;margin-top:auto}
.videos-list,.cs-grid{align-items:start}

/* directory tiles: exact term counts under the name */
.cs-dir-count{
  display:block;margin-top:2px;font-size:11.5px;font-weight:650;color:var(--cs-muted);
  font-variant-numeric:tabular-nums;
}

/* Enrichment summary: a factual one-liner about the scene, shown only when
   the catalog actually holds enough verified metadata to state one. */
.cs-video-summary{
  margin:10px 0 14px;color:var(--cs-text-dim);font-size:14.5px;line-height:1.55;
  max-width:78ch;
}
/* Entity relationship rows share the section rhythm but read as onward routes. */
.cs-section--entity{margin-top:26px}
.cs-section--entity .cs-section-head h2{font-size:17px}

/* ======================================================================
   ADVERTISING — native grid units and placement framing
   Appended to brand.css at ad activation.

   A native unit is allowed to sit comfortably in the video grid, and is
   never allowed to be mistaken for one of our videos: it carries a visible
   label, a distinct border treatment, and no duration badge or view count.
   ==================================================================== */
.cs-native{
  position:relative; display:flex; flex-direction:column;
  border:1px solid var(--cs-line-soft); border-radius:var(--cs-radius);
  background:var(--cs-surface); overflow:hidden; min-height:0;
}
.cs-native__label{
  position:absolute; top:8px; left:8px; z-index:2;
  font-size:10.5px; font-weight:750; letter-spacing:.09em; text-transform:uppercase;
  color:#EDEDF2; background:rgba(8,8,11,.78); border:1px solid rgba(255,255,255,.14);
  padding:3px 7px; border-radius:5px; pointer-events:none;
}
.cs-native__body{
  width:100%; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:var(--cs-surface-2,#131319);
}
.cs-native__body > *{max-width:100%!important;max-height:100%!important}

/* Reserve space before a network script runs, so a late creative cannot
   shift the page. Each placement has a fixed box that matches the creative
   it will hold. */
.cs-ad{display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.cs-ad--header        {min-height:90px;  max-height:90px;  margin:0 0 4px}
.cs-ad--home-infeed,
.cs-ad--archive-infeed,
.cs-ad--search-infeed {min-height:128px; max-height:128px; width:100%}
.cs-ad--under-player  {min-height:90px;  max-height:90px;  margin:16px 0 4px}
.cs-ad--watch-companion{min-height:250px; width:100%; margin:0 0 20px}
.cs-ad--mobile-footer {min-height:60px;  max-height:60px}

/* No fill: collapse to nothing rather than leaving an empty framed box.
   Applied by the manager only when it knows there is no creative, so this
   cannot itself cause a shift. */
.cs-ad:empty{display:none!important}

@media(max-width:991px){
  .cs-ad--header{display:none}           /* never a leaderboard above the fold on a phone */
  .cs-ad--home-infeed,
  .cs-ad--archive-infeed,
  .cs-ad--search-infeed{min-height:104px;max-height:104px}
  .cs-ad--under-player{min-height:76px;max-height:76px;margin:14px 0 2px}
}
@media(max-width:560px){
  .cs-ad--home-infeed,
  .cs-ad--archive-infeed,
  .cs-ad--search-infeed{min-height:92px;max-height:92px}
}

/* ----------------------------------------------------------------------
   Sponsored row inside a video grid.

   ExoClick zone 6036332 is a native WIDGET (a multi-item recommendation
   strip), not a single card. In one 243px grid cell it laid out three
   800x451 items - one at x=-397, off-screen - clipped by overflow:hidden,
   so it broke silently without ever producing a horizontal scrollbar.
   The row therefore spans every grid column and gives the widget the full
   content width it measures itself against.
   -------------------------------------------------------------------- */
.videos-list > .cs-native-row,
.cs-grid > .cs-native-row{grid-column:1 / -1}
.cs-native-row{
  position:relative; width:100%; margin:4px 0 10px;
  border:1px solid var(--cs-line-soft); border-radius:var(--cs-radius);
  background:var(--cs-surface); overflow:hidden;
}
.cs-native-row > .cs-native__body{
  width:100%; aspect-ratio:auto; min-height:120px; display:block; padding:26px 8px 8px;
  background:var(--cs-surface-2,#131319);
}
.cs-native-row ins.eas6a97888e{display:block;width:100%}
.cs-native-row .cs-native__label{top:8px;left:10px}
@media(max-width:991px){ .cs-native-row > .cs-native__body{min-height:104px;padding:24px 6px 6px} }

/* The ExoClick native widget lays out a 3,230px carousel of 798x539 items and
   expects to scroll it itself. Clipping it with overflow:hidden left creatives
   sliced at both edges, so the row scrolls horizontally instead - contained
   inside the row, so the PAGE never scrolls sideways. */
.cs-native-row > .cs-native__body{
  overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.cs-native-row > .cs-native__body::-webkit-scrollbar{height:6px}
.cs-native-row > .cs-native__body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}

/* Disclosure on the display companion too. It is a conventional sidebar banner
   rather than a native unit, but labelling it costs nothing and removes any
   question of whether a visitor can tell it from our own content. */
.cs-ad--watch-companion{padding-top:18px}
.cs-ad--watch-companion::before{
  content:"Advertisement"; position:absolute; top:2px; left:0; z-index:2;
  font-size:9.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  color:var(--cs-text-dim,#8A8A99); pointer-events:none;
}

/* The widget's items are dashboard-sized at 798x539, which is ~2.6x the height
   of one of our 207px video rows. Constrain the ITEM BOX to roughly a card's
   proportions and let the creative scale inside it. This sizes the container
   the network renders into - it does not replace, hide or alter the creative,
   and the click target is untouched. */
.cs-native-row .exo-native-widget-item,
.cs-native-row .msg-native-widget-item{width:258px!important;max-width:258px!important}
.cs-native-row .exo-native-widget-item-image-wrapper,
.cs-native-row .msg-native-widget-item-image-wrapper{width:100%!important;height:auto!important;aspect-ratio:16/9}
.cs-native-row .exo-native-widget-item-image-wrapper > *,
.cs-native-row .msg-native-widget-item-image-wrapper > *{width:100%!important;height:100%!important;object-fit:cover}
.cs-native-row .exo-native-widget-outer-container,
.cs-native-row .msg-native-widget-outer-container{width:auto!important;max-width:none!important}

/* .cs-ad centres its creative, which is right for a fixed 300x250 banner and
   wrong for a wide carousel: the widget's own 3,230px container was being
   centred inside a 1,778px slot, so it started at x=-655 and the first item was
   half off the left edge. Start it at the left and let the row scroll. */
.cs-native-row .cs-ad--grid-native{justify-content:flex-start;align-items:flex-start;width:100%}
.cs-native-row .cs-ad--grid-native > div{flex:0 0 auto}
