/* =====================================================================
   lesbify visual identity mapped onto our component classes
   keep var/class names stable: skin.rewrite_css renames them per-site
   ===================================================================== */

*,:after,:before{box-sizing:border-box}
blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}
fieldset,img{border:0}
img{display:block}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
a *{cursor:pointer}

:root{
  --bg:#ffe3e5;        /* page background, lesbify pink-cream */
  --bg-card:#fff;
  --bg-pill:#ffcdd2;
  --bg-hover:#ffcb51;
  --tx:#02130a;
  --tx2:#363a3c;
  --tx3:#595858;
  --ac:#ff4a73;
  --ac2:#f9d335;
  --src:#ce002e;
  --src2:#aa334e;
  --hdr-bg:#171717;
  --hdr-tx:#ccc;
  --video-bg:#000;           /* player / lightbox / thumb fallback */
  --mob-bg:#1e0c15;          /* mobile menu drawer bg */
  --mob-bg2:#2d121f;         /* mobile menu item bg */
  --mob-tx:#ece9e9;          /* mobile menu link text */
  --mob-border:#4d2337;      /* mobile menu item divider */
  --cc-a:#1e0c15;            /* category card decorative gradient start */
  --cc-b:#3a1828;            /* category card decorative gradient end */
  --ftr-tx:#ffcdd2;           /* footer text / .sa-i em */
  --dark-bg:#0a0a0c;
  --dark-input-bg:#22252c;
  --dark-input-tx:#7a8294;
  --dark-svg:#e6e9ef;
  --dark-crumb-tx:#a8aebf;
  --dark-card-bg:#2c3039;
  --dark-card-border:#3a3f4a;
  --r:5px;
  --max:100%;          /* full viewport — thumbs scale to whole width */
  --nav-max:1400px;
  --cols:5;
  --gap:10px;
  --header-h:55px
}

html{height:100%;background:var(--bg);font-size:62.5%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}
body{
  font:400 14px/1.2 Arial,Helvetica,sans-serif;
  min-height:100vh;
  min-width:240px;
  position:relative;
  color:var(--tx2);
  border-top:5px solid var(--ac);
  box-shadow:inset 0 55px 0 var(--hdr-bg);
  overflow-x:clip;overflow-wrap:break-word;
  display:flex;flex-direction:column;
}
/* Push footer to bottom on short pages — no more white gap below it.
   flex:1 1 auto + min-width:0 lets the main column SHRINK as needed so
   children with negative-margin tricks (.page-head, .sec-head) don't
   inflate the column past the viewport on narrow screens. */
#main, main.wrap{flex:1 1 auto;min-width:0;max-width:100%}
.footer{flex-shrink:0;margin-top:auto}
/* Belt-and-suspenders: page-head / sec-head use -10px margins on each side
   to align with .wrap's 14px padding visually. On screens narrower than
   the .wrap content area, those margins were pushing the column past the
   viewport. Drop the negative tricks below 600px — we already pad the page
   with .wrap{padding:0 6px} so the alignment is gone anyway. */
@media (max-width:600px){
  .page-head, .sec-head{margin-left:0;margin-right:0}
}
input,select,textarea{font-size:13px;line-height:1.2;font-family:Arial,Helvetica,sans-serif}
a{color:var(--tx);text-decoration:none;cursor:pointer}
a:hover{opacity:1}

/* a11y */
.skip{position:absolute;top:-60px;left:16px;padding:12px 24px;background:var(--ac);color:var(--bg-card);border-radius:var(--r);font-weight:600;z-index:9999;transition:top .2s}
.skip:focus{top:8px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ac);outline-offset:2px}

/* HEADER (dark strip, single row like lesbify) */
.header{position:sticky;top:0;z-index:100;background-color:var(--hdr-bg);display:flex;align-items:center}
.header-in{display:flex;align-items:center;gap:0;max-width:var(--max);margin:0 auto;padding:0 10px;width:100%;min-height:var(--header-h)}

/* Logo: gradient brand */
.logo{flex-shrink:0;order:1;display:flex;align-items:center;padding:0 14px 0 4px;text-decoration:none}
.logo b{font:800 26px/1 Verdana,Arial;background:linear-gradient(135deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:.5px}
.logo span{font:300 22px/1 Verdana,Arial;color:var(--hdr-tx);margin-left:2px;letter-spacing:.3px}

/* Nav inline inside header (lesbify .navigation .primary pattern) */
.nav{order:2;flex:1 1 auto;display:flex;align-items:center;justify-content:flex-start;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:transparent;border:none}
.nav::-webkit-scrollbar{display:none}
.nav a{display:flex;align-items:center;padding:10px 9px 12px;font:500 13.5px/1 Verdana,Arial;text-transform:uppercase;color:var(--hdr-tx);white-space:nowrap;transform:scaleY(1.5);transform-origin:center;transition:background-color .15s,color .15s}
/* keep the core nav fully visible — hide the promo CTAs below very-wide so
   "Channels" never gets clipped. */
@media(max-width:1500px){.header .promo{display:none}}
.nav a:hover{color:var(--bg-card);background-color:var(--ac);text-decoration:none}
.nav a.on{color:var(--bg-card);background-color:var(--ac);pointer-events:none}
.nav .spacer{flex:1}

/* Search */
.search{order:4;flex:0 1 320px;min-width:160px;max-width:420px;position:relative;padding:0 5px}
.search input{width:100%;height:36px;border:2px solid var(--hdr-bg);background-color:var(--bg-pill);color:var(--tx);border-radius:18px;font-size:13px;padding:0 44px 0 18px;outline:none}
.search input::placeholder{color:var(--tx2);transition:color .3s}
.search input:focus{box-shadow:0 0 0 2px var(--ac)}
.search-btn{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent}
.search-btn svg{width:18px;height:18px;fill:var(--tx)}
.search-btn:hover{background:var(--ac)}
.search-btn:hover svg{fill:var(--bg-card)}

/* Header user icons */
.header-user{order:5;display:flex;align-items:center;gap:2px;flex-shrink:0;padding:0 4px}
.h-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .15s;flex-shrink:0}
.h-btn svg{width:18px;height:18px;fill:var(--hdr-tx)}
.h-btn:hover{background:var(--bg-pill)}
.h-btn:hover svg{fill:var(--ac)}

/* Promo strip — lesbify mi-links: colored TEXT not buttons */
.promo{order:3;display:flex;align-items:center;gap:0;height:var(--header-h);flex-shrink:0;background:transparent}
.promo a{display:flex;align-items:center;padding:10px 10px 12px;font:700 13px/1 Verdana,Arial;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;transform:scaleY(1.45);transform-origin:center;transition:color .15s,background-color .15s,opacity .15s;background:transparent}
.promo .p1{color:var(--tx);background:var(--ac)}
.promo .p2{color:var(--ac)}
.promo .p3{color:var(--ac2)}
.promo .p4{color:var(--ac2)}
.promo a:hover{background-color:var(--ac);color:var(--tx);text-decoration:none}

/* Hamburger — always shown so desktop users can open the quick-nav drawer too */
.menu-btn{display:flex;width:42px;height:42px;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px;order:6;background:transparent;border:0;cursor:pointer}
.menu-btn:hover{background:var(--bg-pill)}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{background:var(--hdr-tx)}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:22px;height:2px;border-radius:2px;transition:transform .25s,opacity .15s,background-color .15s}
.menu-btn span{position:relative;margin:0 auto}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:100%}
.menu-btn span::before{top:-7px}
.menu-btn span::after{top:7px}
.menu-btn.open span{background:transparent}
.menu-btn.open span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn.open span::after{transform:translateY(-7px) rotate(-45deg)}

/* CONTAINER + BREADCRUMBS */
.wrap{max-width:var(--max);width:100%;margin:0 auto;padding:0 14px}
#main{scroll-margin-top:var(--header-h)}
.header-in{max-width:var(--max)}
.footer-top,.f-copy{max-width:var(--max)}

.crumbs{display:flex;align-items:center;flex-wrap:wrap;padding:10px 8px;margin:0 0 4px;font:400 12px/1.4 Arial;color:var(--tx2);gap:4px}
.crumbs a{color:var(--ac);font-weight:600}
.crumbs a:hover{text-decoration:underline}
.crumbs svg{width:12px;height:12px;fill:var(--tx3)}

/* PAGE HEAD + SORT PILLS */
.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 12px;margin:0 -10px 4px;position:relative}
.page-title{font:700 3.2rem/1.15 Arial;color:var(--tx2);text-shadow:.5px 0 0 var(--tx2);flex:1 1 auto;min-width:0}
.page-title .count{font-weight:400;color:var(--tx3);font-size:.7em;margin-left:6px;text-shadow:none}

.sort{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.sort a,.sort button{display:flex;align-items:center;padding:0 14px;height:30px;background-color:var(--ac);color:var(--bg-card);font:700 12px/1 Verdana,Arial;letter-spacing:.3px;text-transform:none;border-radius:15px;border:1px solid var(--bg-card);box-shadow:1px 1px 3px rgba(0,0,0,.2);transition:background-color .15s,color .15s}
.sort a:hover,.sort button:hover{background-color:var(--ac2);color:var(--tx);text-decoration:none}
.sort a.on,.sort button.on{background-color:var(--ac2);color:var(--tx);pointer-events:none}

/* LISTING SUB-NAV (New / Trending / Popular / Longest / Best / Featured) */
.list-nav{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px 0 14px;padding-bottom:2px;scrollbar-width:none}
.list-nav::-webkit-scrollbar{display:none}
.list-nav a{flex:0 0 auto;display:flex;align-items:center;padding:0 16px;height:32px;background-color:var(--bg-pill);color:var(--tx);font:700 12px/1 Verdana,Arial;letter-spacing:.3px;border-radius:16px;border:1px solid transparent;white-space:nowrap;transition:background-color .15s,color .15s}
.list-nav a:hover{background-color:var(--ac2);color:var(--tx);text-decoration:none}
.list-nav a.on{background-color:var(--ac);color:var(--bg-card);pointer-events:none}

/* FILTER ROW */
.filter-bar{position:sticky;top:var(--header-h);z-index:80;background-color:var(--bg);padding:6px 10px;margin:0 -10px;border-bottom:1px solid rgba(0,0,0,.06)}
.filter-row{display:flex;flex-wrap:wrap;gap:4px;max-height:34px;overflow:hidden;transition:max-height .25s;position:relative;padding-right:36px}
.filter-bar.open .filter-row{max-height:1200px;padding-right:0}
.filters a,.filters-a,.filter-row a{display:flex;align-items:center;padding:0 14px;height:30px;background-color:var(--bg-pill);color:var(--tx);font:600 12px/1 Arial;border-radius:15px;border:1px solid var(--bg-card);box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background-color .15s,color .15s}
.filters a:hover,.filters-a:hover,.filter-row a:hover{background:var(--ac);color:var(--bg-card)}
.filters a.on,.filter-row a.on{background:var(--ac);color:var(--bg-card)}
.filter-toggle{position:absolute;right:0;top:0;width:30px;height:30px;border-radius:15px;background:var(--bg-pill);display:flex;align-items:center;justify-content:center;border:1px solid var(--bg-card)}
.filter-toggle svg{width:16px;height:16px;fill:var(--tx);transition:transform .2s}
.filter-bar.open .filter-toggle{position:static}
.filter-bar.open .filter-toggle svg{transform:rotate(180deg)}
.filter-sort{display:none}
.filter-sort-wrap{position:relative}
.filter-sort-menu{display:none;position:absolute;top:100%;right:0;background:var(--bg-card);border:2px solid var(--ac);border-radius:8px;padding:4px 0;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:200;min-width:160px}
.filter-sort-menu.show{display:block}
.filter-sort-menu a{display:block;padding:9px 16px;font:600 12px/1 Arial;color:var(--tx)}
.filter-sort-menu a:hover{background:var(--bg-pill)}
.filter-sort-menu a.on{color:var(--ac);font-weight:700}

/* SECTION HEAD */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 12px 6px;margin:6px -10px 8px}
.sec-head h2{font:500 2rem/1.2 Arial;color:var(--tx2);text-shadow:.5px 0 0 var(--tx2);flex:1;min-width:0}
.sec-head a{font:700 12px/1 Verdana,Arial;color:var(--ac);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:var(--bg-pill);padding:6px 14px;border-radius:14px;border:1px solid var(--bg-card);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.sec-head a:hover{background:var(--ac);color:var(--bg-card);text-decoration:none}

/* VIDEO GRID */
.vid-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);margin:0 0 14px}
.vc{position:relative;background:transparent;padding:1px;overflow:hidden;cursor:pointer;min-width:0}
.vc-thumb{position:relative;display:block;width:100%;aspect-ratio:16/8;background:var(--video-bg);overflow:hidden;border-radius:5px;border:1px solid rgba(0,0,0,.7)}
.vc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .25s ease}

/* hover preview */
.vc-prev{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:5;pointer-events:none;transition:opacity .25s}
.vc-prev.show{opacity:1}

/* Duration bottom-right with text-shadow */
.vc-dur{position:absolute;left:0;right:0;bottom:0;z-index:3;opacity:.85;padding:0 6px;line-height:20px;text-align:right;color:var(--bg-card);font:700 13px/20px Arial;letter-spacing:.33px;text-transform:uppercase;text-shadow:0 0 3px var(--video-bg),0 0 3px var(--video-bg),0 0 3px var(--video-bg)}
.vc-dur .hd{display:inline-block;float:left;margin:3px 5px 0 0;padding:0 3px;background:var(--src);color:var(--bg-card);font:700 10px/14px Arial;letter-spacing:.2px;border-radius:2px}
.badge{position:absolute;top:6px;right:6px;padding:2px 6px;font:700 10px/1 Arial;border-radius:3px;z-index:3;text-transform:uppercase;letter-spacing:.4px}
.badge-hd{display:none}
.badge-4k{background:var(--ac);color:var(--tx)}
.badge-new{background:var(--ac);color:var(--bg-card)}

/* Title with source prefix — lesbify .title pattern: single line, ellipsis */
/* thumb + title = ONE link; model/studio/stats are separate links below */
.vc-link{display:block;text-decoration:none;color:inherit}
.vc-src{display:inline;font:700 12.5px/1.3 Verdana,Arial;color:var(--src);margin-right:4px}
.vc-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 14px/1.32 Arial;color:var(--tx);padding:7px 2px 0}
.vc-link:hover .vc-title{color:var(--ac)}
/* Card meta row — model (accent) · studio · views (right) */
.vc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1px 8px;margin-top:4px;padding:0 2px;font:600 12px/1.35 Arial}
.vc-model{color:var(--ac);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.vc-studio{color:var(--tx2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.vc-model:hover,.vc-studio:hover{text-decoration:underline}
.vc-stats{margin-left:auto;display:flex;align-items:center;gap:6px;white-space:nowrap}
.vc-rating{color:#1f9d55;font-weight:700}
.vc-views{color:var(--tx3);font-weight:400}
body.theme-dark .vc-rating{color:#43d17f}
.vc-thumb{display:block;text-decoration:none;color:inherit}
/* Full-card overlay link — still used by tag cards (xnxx_tags) and any other
   .vc that wants the whole card clickable. Video cards link via .vc-thumb-link
   + .vc-title instead, but this MUST stay for the tag grid. */
.vc-overlay{position:absolute;inset:0;z-index:6}
.vc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Cold entity card (pool not warmed yet) — graceful placeholder instead of a
   pure-black box. Warms to a real thumb on a later visit (see warmEntityPools). */
.vc-thumb:not(:has(img)){background:linear-gradient(135deg,var(--video-bg),rgba(255,255,255,.05))}
.vc-thumb:not(:has(img))::after{content:"\25B6";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:rgba(255,255,255,.16)}

/* Page heading subtitle / empty state / video detail layout */
.page-sub{color:var(--tx3);font:400 13px/1.4 Arial;margin:4px 0 14px}
.empty{padding:60px 20px;text-align:center;color:var(--tx3);font-size:14px;background:rgba(0,0,0,.02);border:1px dashed rgba(0,0,0,.1);border-radius:8px}

/* Video detail page */
.vd{max-width:1100px;margin:0 auto}
.vd-player{position:relative;width:100%;aspect-ratio:16/9;background:var(--video-bg);border-radius:6px;overflow:hidden;margin:0 0 14px;box-shadow:0 6px 22px rgba(0,0,0,.4)}
.vd-player img,.vd-player video,.vd-player iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vd-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--tx3);font:400 13px/1.4 Arial;margin:0 0 18px;padding:10px 14px;background:rgba(0,0,0,.03);border-radius:6px}
.vd-meta b{color:var(--tx2);font-weight:600;margin-right:4px}
.related{margin-top:32px}
.related > h2{font:600 16px/1.2 Arial;color:var(--tx2);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}

/* Watched / remove */
.vc-rm{position:absolute;top:6px;left:6px;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.7);color:var(--bg-card);font:700 18px/1 Arial;z-index:7;display:flex;align-items:center;justify-content:center;opacity:0;border:1px solid rgba(255,255,255,.3);transition:opacity .15s}
.vc:hover .vc-rm{opacity:1}
.vc-rm:hover{background:var(--ac)}
/* watched = label only, NO dimming of the thumb */
.vc-watched-tag{position:absolute;top:6px;left:6px;padding:2px 7px;background:var(--ac);color:var(--bg-card);font:700 10px/1.4 Arial;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;z-index:5}
.vc-tip{position:absolute;z-index:9999;max-width:280px;padding:8px 12px;background:var(--hdr-bg);color:var(--hdr-tx);font:400 11px/1.5 Arial;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .15s;transform:translateX(-50%)}
.vc-tip b{color:var(--ac);font-weight:700;margin-right:4px}
.vc-tip span{display:inline-block;padding:1px 6px;margin:1px 2px;background:rgba(255,255,255,.1);border-radius:10px;color:var(--hdr-tx)}

/* CATEGORY GRID */
.cat-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);margin-bottom:14px}
.cc{min-width:0}
.cc{position:relative;overflow:hidden;border-radius:5px;background:var(--video-bg);border:1px solid rgba(0,0,0,.7);transition:transform .18s}
.cc-thumb{position:relative;aspect-ratio:16/8;overflow:hidden}
.cc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.cc:hover .cc-img{transform:scale(1.04)}
.cc-lbl{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:var(--ac);color:var(--bg-card);font:700 13px/1.4 Verdana,Arial;letter-spacing:.4px;text-transform:uppercase;padding:5px 14px;border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.4);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;z-index:2}
.cc-lbl small{display:block;font:400 10px/1 Arial;text-transform:none;opacity:.85;margin-top:2px;letter-spacing:0}
.cc a{position:absolute;inset:0;z-index:3}
.cc:nth-child(10n+1) .cc-img{background:linear-gradient(135deg,var(--cc-a),var(--cc-b))}
.cc:nth-child(10n+2) .cc-img{background:linear-gradient(135deg,var(--src),var(--cc-b))}
.cc:nth-child(10n+3) .cc-img{background:linear-gradient(135deg,var(--cc-a),var(--src2))}
.cc:nth-child(10n+4) .cc-img{background:linear-gradient(135deg,var(--cc-a),var(--cc-b))}
.cc:nth-child(10n+5) .cc-img{background:linear-gradient(135deg,var(--cc-a),var(--src2))}
.cc:nth-child(10n+6) .cc-img{background:linear-gradient(135deg,var(--src),var(--cc-b))}

/* PAGINATION — round pink pills with shadow */
.pag{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:24px 0 12px;padding:0 8px}
.pag a,.pag span{display:flex;align-items:center;justify-content:center;min-width:50px;height:50px;padding:0 14px;background-color:var(--ac);color:var(--bg-card);font:700 18px/1 Arial;border-radius:5px;border:1px solid var(--bg-card);box-shadow:1px 1px 3px rgba(0,0,0,.4);transition:background-color .15s,color .15s}
.pag a:hover{background-color:var(--ac2);color:var(--tx)}
.pag a.on,.pag span.on{background-color:var(--ac2);color:var(--tx);pointer-events:none}
.pag svg{width:14px;height:14px;fill:currentColor}
.pag-info{text-align:center;font:400 13px/1.4 Arial;color:var(--tx);margin-top:18px;background:rgba(255,255,255,.4);padding:8px;border-radius:4px}

/* TAG LIST */
.tl{margin:24px 0 0;padding:0 8px}
.tl-h{font:700 14px/1.2 Arial;color:var(--tx);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding:6px 10px;background:var(--bg-pill);border-radius:4px}
.tl ul{display:flex;flex-wrap:wrap;gap:6px}
.tl li a{display:flex;align-items:center;padding:0 14px;height:32px;background-color:var(--bg-pill);color:var(--tx);font:600 12px/1 Arial;border-radius:16px;border:1px solid var(--bg-card);box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background-color .15s,color .15s}
.tl li a:hover{background:var(--ac);color:var(--bg-card)}

/* CATEGORY CLOUD bottom */
.cs-cloud{margin:24px 0 0;padding:0 8px}
.cs-cloud h3{font:700 14px/1.2 Arial;color:var(--tx);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px;background:var(--bg-pill);border-radius:4px;margin-bottom:12px}
.cs-cloud ul{display:block;line-height:1.6}
.cs-cloud li{display:inline-block;margin:0 8px 4px 0}
.cs-cloud a{font:400 16px/1.6 Verdana,Arial;color:var(--tx3);text-shadow:.5px 0;transition:color .15s}
.cs-cloud a:hover{text-decoration:underline;color:var(--ac)}
.cs-cloud .size-2{font-size:18px;color:var(--ac)}
.cs-cloud .size-3{font-size:21px;color:var(--src2)}
.cs-cloud .size-4{font-size:25px;color:var(--src2);font-weight:700}
.cs-cloud .size-5{font-size:30px;color:var(--src);font-weight:700}
/* Hub blocks (A–Z bar, tag columns, thumb grids) sit in the now-full-width
   .wrap — no full-bleed breakout. Earlier the breakout existed because .wrap
   was failing to stretch on hub pages (a 100vw child broke the body flex
   column's stretch), so the heading looked centered while the grid spanned the
   screen. .wrap{width:100%} fixes the stretch, so heading AND grid are full-
   width and left-aligned together, exactly like the listing pages. */
.az-nav{display:grid;grid-template-columns:repeat(13,1fr);gap:6px;margin-top:18px;margin-bottom:20px}
.az-nav a{display:flex;align-items:center;justify-content:center;height:44px;padding:0 4px;border-radius:6px;background:var(--bg-pill);color:var(--tx);font:700 17px/1 Arial;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:background .15s,color .15s,transform .1s}
@media(min-width:720px){.az-nav{grid-template-columns:repeat(26,1fr)}}
.az-nav a:hover,.az-nav a.on{background:var(--ac);color:var(--bg);transform:translateY(-1px)}
/* Auto-fill columns (width-driven, not a fixed count) so the tag list fills the
   FULL page width densely on any screen — identical for every site (layout is
   base-only; per-site = colour scheme). */
.tags-cols{column-width:200px;column-gap:28px;margin-top:10px;margin-bottom:28px}
.tags-cols a{display:block;padding:4px 0;color:var(--tx3);font:400 14px/1.55 Arial;text-decoration:none;break-inside:avoid;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tags-cols a:hover{color:var(--ac);text-decoration:underline}
@media(max-width:560px){.tags-cols{column-count:2}}
.empty-note{padding:24px 8px;color:var(--tx3);font:400 15px/1.5 Arial}
/* search: icon toggle + modal (compact header, esp. mobile) */
.search-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:transparent;border:0;color:var(--tx);cursor:pointer;padding:0;order:5}
.search-toggle svg{width:22px;height:22px;fill:currentColor}
.search-modal{position:fixed;inset:0;z-index:1000;display:none}
.search-modal.show{display:block}
.search-modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.search-modal-box{position:absolute;top:0;left:0;right:0;background:var(--hdr-bg);padding:10px;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.search-modal-form{display:flex;align-items:center;gap:6px;max-width:var(--max);margin:0 auto}
.search-modal-form input{flex:1 1 auto;height:44px;border:2px solid var(--ac);background:var(--bg-pill);color:var(--tx);border-radius:6px;padding:0 14px;font-size:16px}
.search-modal-go,.search-modal-close{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--tx);cursor:pointer}
.search-modal-go svg{width:22px;height:22px;fill:currentColor}
.search-modal-close{font-size:28px;line-height:1}
@media(max-width:600px){
  .search-toggle{display:flex}
  .header .search{display:none}
  .header .promo{display:none !important}
}

/* VIDEO PAGE */
.vp-title{font:800 2.6rem/1.22 Arial;color:var(--tx);padding:16px 12px 12px;letter-spacing:-.5px;text-shadow:none}
.vp-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 14px}
.vp-tags a{display:flex;align-items:center;padding:0 14px;height:32px;background-color:var(--bg-pill);color:var(--tx);font:600 12px/1 Arial;border-radius:16px;border:1px solid var(--bg-card);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.vp-tags a:hover{background:var(--ac);color:var(--bg-card)}

.player{position:relative;width:100%;aspect-ratio:16/9;background:var(--video-bg);border-radius:6px;overflow:hidden;margin-bottom:14px;box-shadow:0 6px 22px rgba(0,0,0,.4);border:1px solid rgba(0,0,0,.5)}
.player-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--video-bg)}
.player-bg{position:absolute;inset:-24px;background:linear-gradient(135deg,var(--cc-a),var(--hdr-bg),var(--mob-bg));filter:blur(20px);opacity:.7}
.player-thumb{position:relative;width:55%;aspect-ratio:16/9;background:var(--mob-bg);border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.7);z-index:1;overflow:hidden}
.player-thumb img{width:100%;height:100%;object-fit:cover}
.player-dur{position:absolute;top:8px;right:8px;padding:3px 8px;background:rgba(0,0,0,.78);color:var(--bg-card);font:700 12px/1 Arial;border-radius:3px}
.player-cta{margin-top:18px;padding:14px 38px;background:var(--ac);color:var(--bg-card);font:700 14px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px;border-radius:24px;border:1px solid var(--bg-card);box-shadow:0 4px 14px rgba(255,74,115,.45);transition:background-color .15s,color .15s,transform .15s;z-index:1}
.player-cta:hover{background:var(--ac2);color:var(--tx);transform:translateY(-1px)}
.player-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:64px;height:64px;background:rgba(0,0,0,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4)}
.player-thumb:hover .player-play{background:var(--ac)}
.player-play svg{width:28px;height:28px;fill:var(--bg-card);margin-left:3px}

/* WATCH LAYOUT — player column + 300x250 ad rail (YouTube/tube desktop) */
.watch{display:flex;gap:18px;align-items:flex-start;padding:0 12px}
.watch-main{flex:1 1 auto;min-width:0}
.watch-main .rating,.watch-main .vid-actions,.watch-main .vid-info{padding-left:0;padding-right:0}
.watch-side{flex:0 0 300px;display:flex;flex-direction:column;gap:16px;position:sticky;top:64px}
.vp-player{width:100%;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.28)}
.ad-slot{width:300px;height:250px;border-radius:8px;background:var(--bg-card);border:1px dashed var(--tx3);position:relative;opacity:.55}
.ad-slot::after{content:"ADVERTISEMENT";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:700 10px/1 Arial;letter-spacing:1.5px;color:var(--tx3)}

/* ACTION BAR under the player — single row of engagement buttons. No
   duration/HD chips (already shown in the player). Stays one line on mobile
   (icon-only) and scrolls horizontally rather than wrapping. */
.vp-bar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin-top:14px;padding:8px 10px;background:var(--bg-card);border:1px solid rgba(0,0,0,.07);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.05);scrollbar-width:none}
.vp-bar::-webkit-scrollbar{display:none}
.vp-stats{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin-right:6px;font:600 13px/1 Arial;color:var(--tx2);white-space:nowrap}
.vp-stat b{color:var(--tx);font-weight:800}
.vp-rate-pct{color:#1f9d55;font-weight:800}
body.theme-dark .vp-rate-pct{color:#43d17f}
.vp-act{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:10px;background:transparent;color:var(--tx);border:1px solid rgba(0,0,0,.1);font:700 12.5px/1 Arial;cursor:pointer;transition:background-color .14s,color .14s,border-color .14s,transform .1s}
.vp-act svg{width:17px;height:17px;fill:currentColor}
.vp-act:hover{background:var(--bg-pill);border-color:transparent}
.vp-act:active{transform:translateY(1px)}
.vp-like.voted,.vp-like.on{background:var(--ac);color:var(--bg-card);border-color:var(--ac)}
.vp-dislike{padding:0 12px}
.vp-dislike.on{background:var(--tx2);color:var(--bg-card);border-color:var(--tx2)}
.vp-act.on{background:var(--ac);color:var(--bg-card);border-color:var(--ac)}
.vp-ghost{margin-left:auto;color:var(--tx3);border-color:transparent}
.vp-ghost:hover{background:transparent;color:var(--ac)}
.vp-desc{font:400 14px/1.6 Arial;color:var(--tx2);padding:14px 0 4px}
@media(max-width:560px){
  .vp-act{padding:0 12px;height:40px}
  .vp-act span{display:none}        /* icon-only → all buttons fit one line */
}

/* VIDEO INFO LINE — studio / substudio / models / categories(=tags) all on
   ONE wrapping line, colour-coded by entity type. Studio+substudio share a
   colour; models another; categories(tags) a third. */
.vid-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px;padding:10px 0;margin-bottom:6px;font:600 12.5px/1.5 Arial;border-bottom:1px solid rgba(0,0,0,.08)}
.vid-meta a{white-space:nowrap}
.vid-meta a:hover{text-decoration:underline}
.vm-studio{color:var(--ac)}          /* studio + substudio */
.vm-model{color:#1f9d55}             /* models */
.vm-cat{color:var(--tx3)}            /* categories surfaced as tags */
body.theme-dark .vm-model{color:#43d17f}

/* RELATED VIDEOS TABS (this theme only — other themes render the same
   RelatedTabs list as stacked blocks) */
.rel-tabs{margin-top:26px}
.rel-tabbar{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px;margin-bottom:16px;border-bottom:2px solid rgba(0,0,0,.07);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.rel-tab{flex:0 0 auto;padding:0 16px;height:38px;background:var(--bg-card);color:var(--tx);border:1px solid rgba(0,0,0,.1);border-radius:19px;font:700 13px/1 Arial;white-space:nowrap;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.rel-tab:hover{background:var(--bg-pill);border-color:transparent}
.rel-tab.on{background:var(--ac);color:var(--bg-card);border-color:var(--ac);box-shadow:0 3px 10px rgba(255,74,115,.32)}
.rel-panel{display:none}
.rel-panel.on{display:block}
@media(max-width:1000px){
  /* Column stack — MUST reset align-items: the desktop rule sets flex-start,
     which in a column leaves .watch-main (and the player) shrunk to content
     width and pinned left. stretch makes the player fill the screen. */
  .watch{flex-direction:column;align-items:stretch}
  .watch-side{flex:none;align-self:center}
}
@media(max-width:680px){
  .watch-side{display:none}
}

.rating{display:flex;align-items:center;gap:8px;padding:12px 12px 16px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:14px;flex-wrap:wrap}
.rate{display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:38px;background:var(--bg-pill);color:var(--tx);border:1px solid var(--bg-card);border-radius:19px;font:700 12px/1 Arial;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rate svg{width:16px;height:16px;fill:currentColor}
.rate.like:hover,.rate.like.voted{background:var(--ac2);color:var(--bg-card)}
.rate.dislike:hover,.rate.dislike.voted{background:var(--ac);color:var(--bg-card)}
.views-ct{font:400 12px/1.4 Arial;color:var(--tx2)}
.report{margin-left:auto;padding:7px 12px;border-radius:18px;background:transparent;color:var(--tx2);font:600 12px/1 Arial;display:flex;align-items:center;gap:4px}
.report svg{width:14px;height:14px;fill:currentColor}

.vid-info{margin-bottom:18px;padding:0 12px}
.vid-channel{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vid-avatar{width:42px;height:42px;border-radius:50%;background:var(--bg-pill);flex-shrink:0;border:2px solid var(--bg-card)}
.vid-ch-name{font:700 13px/1.2 Arial;color:var(--tx)}
.vid-ch-meta{font:400 11px/1.4 Arial;color:var(--tx2)}
.vid-desc{font:400 13px/1.5 Arial;color:var(--tx2);margin-bottom:10px}
.vid-details{display:flex;flex-wrap:wrap;gap:6px 16px;font:400 11px/1.4 Arial;color:var(--tx2)}
.vid-details span::before{content:"";display:inline-block;width:4px;height:4px;background:var(--ac);border-radius:50%;margin-right:6px;vertical-align:2px}
.vid-details span:first-child::before{display:none}
.vid-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}
.vid-act{display:inline-flex;align-items:center;gap:5px;padding:0 14px;height:36px;background:var(--bg-pill);color:var(--tx);border:1px solid var(--bg-card);border-radius:18px;font:700 12px/1 Arial;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.vid-act:hover{background:var(--ac);color:var(--bg-card)}
.vid-act.on{background:var(--ac2);color:var(--bg-card)}
.vid-act svg{width:14px;height:14px;fill:currentColor}

.sec-title{font:500 2rem/1.2 Arial;color:var(--tx2);text-shadow:.5px 0 0 var(--tx2);margin-bottom:12px;padding:6px 12px;background:var(--bg-pill);border-radius:4px}

/* COMMENTS */
.comments{margin:22px 0 0;padding:0 12px}
.comment-ct{font:400 14px/1 Arial;color:var(--tx2);margin-left:4px}
.comment-form{display:flex;align-items:center;gap:10px;margin:14px 0 18px}
.comment-input{flex:1;padding:10px 16px;background:var(--bg-card);border:2px solid var(--bg-pill);border-radius:18px;color:var(--tx);font:400 13px/1.3 Arial;outline:none}
.comment-input:focus{border-color:var(--ac);box-shadow:0 0 0 2px rgba(255,74,115,.2)}
.comment{display:flex;gap:10px;margin-bottom:14px}
.comment .vid-avatar{width:36px;height:36px;flex-shrink:0}
.comment-body{flex:1;min-width:0}
.comment-user{font:700 12px/1.3 Arial;color:var(--tx)}
.comment-user span{font-weight:400;color:var(--tx3);margin-left:6px;font-size:11px}
.comment-text{font:400 13px/1.5 Arial;color:var(--tx2);margin:4px 0}
.comment-actions{display:flex;gap:12px}
.comment-actions button{font:600 11px/1 Arial;color:var(--tx3);padding:2px 0;background:none;border:none;cursor:pointer}
.comment-actions button:hover{color:var(--ac)}

.load-more,.see-all{display:block;width:100%;padding:14px;margin:12px 0;background:var(--ac);color:var(--bg-card);font:700 14px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px;border-radius:8px;border:1px solid var(--bg-card);box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer}
.load-more:hover,.see-all:hover{background:var(--ac2);color:var(--tx);text-decoration:none}

/* SEARCH AUTOCOMPLETE DROPDOWN */
.sa-dd{display:none;position:absolute;top:100%;left:5px;right:5px;background:var(--hdr-bg);border:2px solid var(--ac);border-top:none;border-radius:0 0 10px 10px;padding:0;z-index:300;max-height:380px;overflow-y:auto;margin-top:-2px}
.sa-dd.show{display:block}
.sa-i{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--bg-card);font:500 14px/1 Arial;cursor:pointer;border-bottom:1px solid rgba(255,74,115,.2)}
.sa-i:hover,.sa-i.on{background:var(--video-bg);text-decoration:none}
.sa-i .sa-k{font:700 9px/1 Arial;padding:3px 6px;background:var(--ac);color:var(--bg-card);border-radius:3px;text-transform:uppercase;letter-spacing:.4px;min-width:54px;text-align:center}
.sa-i .sa-n{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-i em{font-style:normal;color:var(--ftr-tx);font-size:11px}

/* FOOTER */
.footer{background-color:var(--tx);color:var(--ftr-tx);margin-top:30px;padding:20px 0 10px;text-align:center;border-top:4px solid var(--ac)}
.footer-top{max-width:var(--max);margin:0 auto;padding:0 14px;display:flex;flex-direction:column;align-items:center;gap:10px}
.f-logo{display:inline-flex;align-items:center;font:700 28px/1 Verdana,Arial;color:var(--bg-card);letter-spacing:.5px;text-decoration:none}
.f-logo b{background:linear-gradient(135deg,var(--ac),var(--ac2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:800;margin-right:1px}
.f-logo span{color:var(--bg-card);font-weight:300}
.f-logo img{display:block;height:42px;width:auto;max-width:240px;object-fit:contain}
.f-desc{font:400 14px/1.5 Arial;color:rgba(255,255,255,.85);max-width:600px;margin:0 auto}
.f-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 6px;margin-top:6px}
.f-nav a{display:inline-block;color:var(--ac);font:700 14px/1.5 Arial;padding:2px 6px}
.f-nav a:hover{color:var(--ac2)}
.f-copy{font:400 12px/1.4 Arial;color:rgba(255,255,255,.7);max-width:var(--max);margin:14px auto 0;padding:10px 14px 0;border-top:1px solid rgba(255,255,255,.08)}

/* ENTITY SORT / FILTER CONTROLS (fuq-style dropdown + slide-in drawer) */
.ctlbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.fbtn,.sbtn{display:inline-flex;align-items:center;gap:8px;background:var(--hdr-bg);color:var(--hdr-tx);border:none;border-radius:8px;padding:10px 16px;font:600 14px/1 inherit;cursor:pointer}
.fbtn svg{width:18px;height:18px}
.fbtn-n{background:var(--ac);color:#fff;border-radius:10px;font-size:11px;font-weight:700;padding:1px 6px;margin-left:2px}
.fbtn:hover,.sbtn:hover{filter:brightness(1.18)}
.sortbox{position:relative}
.sbtn-l{opacity:.7;font-weight:400}
.sbtn strong{color:#fff}
.sbtn-c{width:18px;height:18px;fill:currentColor;transition:transform .2s}
.sbtn[aria-expanded="true"] .sbtn-c{transform:rotate(180deg)}
.smenu{position:absolute;top:calc(100% + 6px);right:0;min-width:210px;background:var(--mob-bg2);border:1px solid var(--mob-border);border-radius:10px;padding:6px;z-index:120;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.smenu[hidden]{display:none}
.sitem{display:block;position:relative;padding:12px 16px 12px 40px;color:var(--mob-tx);text-decoration:none;border-radius:6px;font-size:15px}
.sitem:hover{background:rgba(255,255,255,.07)}
.sitem.on::before{content:"";position:absolute;left:16px;top:50%;width:6px;height:11px;border:solid var(--ac);border-width:0 2px 2px 0;transform:translateY(-65%) rotate(45deg)}
.drawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:200;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.drawer-ov[data-open]{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(380px,86vw);background:var(--mob-bg);color:var(--mob-tx);z-index:201;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease;box-shadow:-12px 0 40px rgba(0,0,0,.5)}
.drawer[data-open]{transform:translateX(0)}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--mob-border);font-size:20px;font-weight:700;flex:0 0 auto}
.drawer-x{background:none;border:none;color:var(--mob-tx);font-size:28px;line-height:1;cursor:pointer;padding:0 4px}
.drawer-bd{padding:14px 20px 48px;overflow-y:auto;flex:1 1 auto;-webkit-overflow-scrolling:touch}
.fsec-t{display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;font-weight:700;color:#fff;margin:10px 0 16px;text-align:center}
.fsec-t svg{width:22px;height:22px}
.fsec-hr{border-top:1px solid var(--mob-border);margin:22px 0}
.fgrp{padding:6px 0 14px}
.fgrp-t{font-size:15px;font-weight:700;margin:6px 0 10px;color:var(--mob-tx);opacity:.85}
.pillgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pill{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:10px 14px;border:1.5px solid var(--mob-border);border-radius:10px;background:var(--mob-bg2);color:var(--mob-tx);text-decoration:none;font-size:15px;font-weight:600;transition:border-color .15s,background .15s}
.pill:hover{border-color:var(--tx3)}
.pill.on{border-color:var(--ac);color:#fff;box-shadow:inset 0 0 0 1px var(--ac)}
.pcount{font-size:12px;font-weight:700;color:var(--ac);margin-left:6px;opacity:.9}
.catsearch{width:100%;box-sizing:border-box;margin:0 0 12px;padding:13px 16px;border:1.5px solid var(--mob-border);border-radius:10px;background:var(--mob-bg2);color:var(--mob-tx);font-size:15px}
.catsearch:focus{outline:none;border-color:var(--ac)}
.pill[hidden]{display:none}
.drawer-ft{flex:0 0 auto;padding:14px 20px;border-top:1px solid var(--mob-border);background:var(--mob-bg)}
.showbtn{width:100%;padding:15px;border:none;border-radius:10px;background:var(--ac);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.showbtn:hover{filter:brightness(1.08)}

/* FLOATING UI */
#totop,.to-top{position:fixed;bottom:52px;right:0;width:56px;height:56px;background:var(--bg-card);border:2px solid var(--ac);border-right:none;border-radius:10px 0 0 10px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s;z-index:97}
.to-top.show,#totop.show{opacity:.7;pointer-events:auto}
.to-top:hover,#totop:hover{opacity:1}
.to-top svg,#totop svg{width:22px;height:22px;fill:var(--ac)}
.mob-menu hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:8px 22px}

/* AGE GATE + COOKIE */
.age-gate{position:fixed;inset:0;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;z-index:99999;padding:18px}
.age-gate[hidden]{display:none}
.age-box{background:var(--bg-card);border-radius:12px;padding:32px;max-width:420px;width:100%;text-align:center;border-top:5px solid var(--ac);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.age-box h2{font:500 2.4rem/1.3 Arial;color:var(--tx2);margin-bottom:10px;text-shadow:.5px 0 0 var(--tx2)}
.age-box p{font:400 14px/1.5 Arial;color:var(--tx2);margin-bottom:22px}
.age-enter{display:block;width:100%;padding:14px;background:var(--ac);color:var(--bg-card);border:1px solid var(--bg-card);border-radius:24px;font:700 14px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;box-shadow:0 4px 14px rgba(255,74,115,.4)}
.age-enter:hover{background:var(--ac2);color:var(--tx)}
.age-leave{display:block;width:100%;padding:13px;background:var(--bg-pill);color:var(--tx2);border-radius:24px;font:500 13px/1 Arial}

.cookie-bar{position:fixed;left:0;right:0;bottom:0;background:var(--bg-card);border-top:4px solid var(--ac);padding:14px 16px;display:flex;align-items:center;justify-content:center;gap:14px;z-index:9998;color:var(--tx);font:400 13px/1.4 Arial;flex-wrap:wrap;box-shadow:0 -4px 18px rgba(0,0,0,.1)}
.cookie-bar[hidden]{display:none}
.cookie-bar a{color:var(--ac);text-decoration:underline}
.cookie-ok{padding:7px 22px;background:var(--ac);color:var(--bg-card);border:1px solid var(--bg-card);border-radius:18px;font:700 12px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px;box-shadow:0 2px 8px rgba(255,74,115,.3)}
.cookie-ok:hover{background:var(--ac2);color:var(--tx)}

/* MOBILE SLIDE MENU (right) */
.mob-menu{position:fixed;top:0;right:0;bottom:0;width:300px;max-width:85vw;background:var(--mob-bg);z-index:200;transform:translateX(100%);transition:transform .25s ease;padding:env(safe-area-inset-top) 0 30px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:-4px 0 24px rgba(0,0,0,.4)}
.mob-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--mob-border);margin-bottom:8px;position:sticky;top:0;background:var(--mob-bg);z-index:1}
.mob-menu-logo{display:flex;align-items:center;text-decoration:none;max-height:38px;overflow:hidden}
.mob-menu-logo img{max-height:38px;width:auto}
.mob-menu-logo b{color:var(--mob-tx);font:800 19px/1 Arial}
.mob-menu-logo span{color:var(--ac);font:800 19px/1 Arial}
.mob-menu-close{flex:0 0 auto;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--mob-tx);cursor:pointer}
.mob-menu-close svg{width:24px;height:24px;fill:currentColor}
.mob-menu-close:hover{background:var(--mob-bg2)}
.mob-menu.open{transform:translateX(0)}
.mob-menu a{display:block;padding:14px 22px;font:500 16px/1 Verdana,Arial;color:var(--mob-tx);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--mob-border);background:var(--mob-bg2);transform:scaleY(1.2)}
.mob-menu a:active,.mob-menu a.on{color:var(--ac);background:var(--mob-bg)}
.mob-menu-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:109}
.mob-menu-bg.open{opacity:1;pointer-events:auto}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:99998;display:none;align-items:center;justify-content:center}
.lb.show{display:flex}
.lb-bg{position:absolute;inset:0;background:rgba(0,0,0,.92);backdrop-filter:blur(4px);cursor:pointer}
.lb-box{position:relative;width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;animation:lb-in .18s ease-out}
@keyframes lb-in{from{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}
.lb-stage{aspect-ratio:16/9;width:100%;background:var(--video-bg);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.lb-stage video{display:block;width:100%;height:100%}
.lb-loading{color:var(--tx3);font-size:14px;padding:30px;text-align:center}
.lb-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 4px;color:var(--bg-card)}
.lb-title{font:700 15px/1.3 Arial;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-open{color:var(--ac);font:700 12px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px}
.lb-close{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.6);color:var(--bg-card);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:10;cursor:pointer}

.resume-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:11px 16px;background:var(--bg-card);color:var(--tx);border:2px solid var(--ac);border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.2);z-index:9999;font:500 13px/1.3 Arial;display:flex;align-items:center;gap:10px;transition:opacity .35s,transform .35s}
.resume-toast.fade{opacity:0;transform:translate(-50%,12px)}
.resume-toast button{padding:5px 14px;background:var(--ac);color:var(--bg-card);border:1px solid var(--bg-card);border-radius:14px;font:700 11px/1 Verdana,Arial;text-transform:uppercase;letter-spacing:.4px}

/* RESPONSIVE — lesbify breakpoints */
/* Ultrawide bumps — keep cards from ballooning past ~360px each. */
@media (min-width:1920px){:root{--cols:6}}
@media (min-width:2400px){:root{--cols:7}}
@media (min-width:3000px){:root{--cols:8}}

@media (max-width:1380px){
  :root{--cols:5}
  .nav a{font-size:12px;padding:10px 6px 11px}
}
@media (max-width:1199px){
  :root{--cols:4}
}
@media (max-width:1152px){html{font-size:58.5%}}
@media (max-width:1040px){
  /* Nav collapses earlier — tighter nav links + drop promo extras. */
  .nav a{font-size:11px;padding:10px 5px 11px;letter-spacing:.2px}
  .promo a:nth-child(n+3){display:none}
}
/* At <840px there's genuinely no room for a separate nav — hide and rely on hamburger. */
@media (max-width:840px){
  .nav{display:none}
}
@media (max-width:1024px){html{font-size:52.5%}}
@media (max-width:980px){:root{--cols:2}}
@media (max-width:720px){
  :root{--cols:2}
  .page-head{padding:8px 10px}
  .sort{order:2;width:100%}
  .sort a{padding:0 12px;height:32px;font-size:11px}
  .vp-title{font-size:2.4rem}
}
@media (max-width:650px){html{font-size:47.5%}}
@media (max-width:600px){
  :root{--cols:2;--gap:6px;--header-h:50px}
  .header{flex-wrap:wrap}
  .header-in{padding:0 8px;flex-wrap:wrap}
  .logo{order:1;padding:0 6px;flex:1 1 auto}
  .logo b{font-size:22px}
  .logo span{font-size:18px}
  .header-user{order:2;padding:0 2px}
  .menu-btn{order:3}
  .search{order:5;flex:1 1 100%;min-width:0;max-width:none;padding:6px 0 4px;background:transparent}
  .search input{font-size:16px;height:36px;padding:0 40px 0 14px;border:none}
  .promo{order:4;flex:1 1 100%;height:auto;border-top:1px solid rgba(255,255,255,.1);display:flex !important;flex-wrap:wrap}
  .promo a{flex:1 1 25%;justify-content:center;padding:8px 4px;font-size:12px;transform:none;letter-spacing:.2px;height:auto;text-align:center}
  .promo a:nth-child(n){display:flex}
  .h-btn{width:36px;height:36px}
  .wrap{padding:0 6px}
  .vc-body{padding:5px 0 4px}
  .vc-title{font-size:13px;-webkit-line-clamp:2;max-height:32px}
  .vc-src{font-size:11.5px}
  .vc-dur{font-size:11px;line-height:18px}
  .cc-lbl{font-size:11px;padding:3px 10px}
  .pag a,.pag span{min-width:43px;height:43px;font-size:15px;padding:0 10px}
  .footer{padding:18px 0 8px}
  .f-logo{font-size:24px}
  .f-desc{font-size:13px}
  .crumbs{font-size:11px;padding:6px 8px}
  .to-top,#totop{bottom:calc(70px + env(safe-area-inset-bottom));right:0;width:48px;height:48px}
  .cookie-bar{padding-bottom:calc(14px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}
  .resume-toast{bottom:calc(16px + env(safe-area-inset-bottom))}
  .lb-box{width:100vw;max-height:100vh;border-radius:0}
  .lb-stage{border-radius:0}
}
@media (max-width:560px){:root{--cols:1;--gap:8px}}
@media (max-width:480px){
  .page-title{font-size:2.4rem}
  .sec-head h2{font-size:1.6rem}
  .vc-title{font-size:14px;max-height:36px}
  .vc-src{font-size:12.5px}
}
@media (max-width:400px){
  :root{--cols:1;--gap:6px}
  .logo b{font-size:20px}
  .logo span{font-size:16px}
  .h-btn{width:32px;height:32px}
  .h-btn svg{width:16px;height:16px}
  .wrap{padding:0 4px}
  .promo a{font-size:11px;padding:7px 2px}
}

@media (hover:none){
  .vc:hover .vc-img,.cc:hover .cc-img{transform:none}
  .vc-rm{opacity:.85}
  .vc-tip{display:none!important}
  .vc-prev{display:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Mobile landscape — tiny screens horizontally. Compress cookie bar to
   one line so it doesn't eat half the viewport. */
@media (max-height:500px) and (orientation:landscape){
  .cookie-bar{padding:8px 12px;font-size:12px;gap:8px}
  .cookie-ok{padding:6px 14px;font-size:12px}
}

/* DARK THEME OVERRIDE */
body.theme-dark{
  --bg:#121317;--bg-card:#1a1c22;--bg-pill:#2c3039;--bg-hover:#3a3f4a;
  --tx:#e6e9ef;--tx2:#e6e9ef;--tx3:#a8aebf;--hdr-bg:#0a0a0c
}
body.theme-dark{box-shadow:inset 0 55px 0 var(--dark-bg)}
body.theme-dark .search input{background:var(--dark-input-bg);color:var(--hdr-tx);border-color:var(--dark-bg)}
body.theme-dark .search input::placeholder{color:var(--dark-input-tx)}
body.theme-dark .search-btn svg{fill:var(--dark-svg)}
body.theme-dark .page-title,body.theme-dark .sec-head h2,body.theme-dark .vp-title,body.theme-dark .sec-title{color:var(--hdr-tx);text-shadow:.5px 0 0 var(--dark-svg)}
body.theme-dark .crumbs{background:rgba(255,255,255,.04);color:var(--dark-crumb-tx)}
body.theme-dark .vc-title{color:var(--hdr-tx)}
body.theme-dark .filters a,body.theme-dark .filter-row a,body.theme-dark .tl li a,body.theme-dark .vp-tags a,body.theme-dark .rate,body.theme-dark .vid-act{background:var(--dark-card-bg);color:var(--hdr-tx);border-color:var(--dark-card-border)}
body.theme-dark .pag-info{background:rgba(255,255,255,.04);color:var(--hdr-tx)}

/* ─── language switcher ─────────────────────────────────────────────── */
.lang-switch{position:relative;margin-left:8px;align-self:center}
.lang-btn{display:inline-flex;align-items:center;gap:4px;background:var(--bg-pill);color:var(--tx);border:0;border-radius:var(--r);padding:6px 10px;font:600 13px/1 system-ui,sans-serif;cursor:pointer}
.lang-btn:hover{background:var(--bg-hover)}
.lang-menu{position:absolute;top:100%;right:0;margin:4px 0 0;padding:6px 0;background:var(--bg-card);border:1px solid var(--bg-pill);border-radius:var(--r);box-shadow:0 6px 18px rgba(0,0,0,.15);list-style:none;min-width:160px;z-index:100;display:none}
.lang-switch:hover .lang-menu,.lang-switch:focus-within .lang-menu{display:block}
.lang-menu li{padding:0}
.lang-menu a{display:block;padding:8px 14px;color:var(--tx);text-decoration:none;font:400 14px/1.2 system-ui,sans-serif}
.lang-menu a:hover{background:var(--bg-pill)}
.lang-menu a.on{font-weight:600;color:var(--ac)}

/* ─── 404 / error page ───────────────────────────────────────────────── */
.err-page{padding:60px 20px;text-align:center;max-width:640px;margin:0 auto}
.err-code{font:900 96px/1 Verdana,Arial;color:var(--ac);letter-spacing:.04em;text-shadow:2px 4px 0 rgba(0,0,0,.05)}
.err-title{font:700 28px/1.2 Arial;color:var(--tx);margin:14px 0 10px}
.err-text{font:400 16px/1.5 Arial;color:var(--tx2);margin:0 0 24px}
.err-redirect{font:400 14px/1.4 Arial;color:var(--tx3);margin:0 0 28px}
.err-redirect a{color:var(--ac);text-decoration:underline;font-weight:600}
.err-cta{display:inline-block;padding:12px 28px;background:var(--ac);color:var(--bg-card);font:700 14px/1 Arial;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r);text-decoration:none;transition:background-color .15s}
.err-cta:hover{background:var(--ac2);color:var(--tx)}
#err-countdown{display:inline-block;min-width:1em;font-weight:700;color:var(--ac)}



/* xnxx-tags entity grid — self-contained card layout */

/* xnxx-tags grid — full-bleed standalone block, viewport-wide regardless of constrained parent */

/* xnxx-tags — reuses .vc/.vc-thumb/.vc-img/.vc-overlay (same look as video cards).
   Grid mirrors .vid-grid but full-bleed so cards span the viewport. */
.xt-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);margin-top:14px;margin-bottom:22px}
.xt-name{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:var(--ac);color:var(--bg-card);font:700 14px/1.4 Verdana,Arial;letter-spacing:.5px;text-transform:uppercase;padding:6px 16px;border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.6);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis;z-index:4;text-align:center}
.xt-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0 12px;font:600 13px/1 Arial}
.xt-pager a{padding:9px 16px;background:var(--bg-card);color:var(--tx);text-decoration:none;border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:background-color .15s,color .15s}
.xt-pager a:hover{background:var(--ac);color:var(--bg-card)}
.xt-pg-info{color:var(--tx3)}

/* SEO copy block on tag landing pages */
.seo-block{margin:24px 0;padding:18px 22px;background:var(--bg-card);border-radius:6px;line-height:1.55;color:var(--tx2)}
.seo-block p{margin:0 0 12px}
.seo-block p:last-child{margin-bottom:0}

/* SEO welcome paragraph between tagline and grid */
.seo-intro{margin:8px 0 16px;font:400 14px/1.55 Arial;color:var(--tx2)}

/* Related-tags sticky bar — sticks below the header on scroll */
.rel-bar{position:sticky;top:var(--header-h);z-index:80;background:var(--bg);margin:10px -10px 14px;padding:8px 10px;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}
.rel-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.rel-row::-webkit-scrollbar{display:none}
.rel-row a{flex:0 0 auto;display:flex;align-items:center;padding:0 14px;height:30px;background:var(--bg-pill);color:var(--tx);font:600 12px/1 Arial;border-radius:15px;border:1px solid var(--bg-card);box-shadow:0 1px 2px rgba(0,0,0,.08);white-space:nowrap;transition:background-color .15s,color .15s}
.rel-row a:hover{background:var(--ac);color:var(--bg-card)}
body.theme-dark .rel-bar{background:var(--dark-bg)}
body.theme-dark .rel-row a{background:var(--dark-card-bg);color:var(--hdr-tx);border-color:var(--dark-card-border)}

/* Hub "Top" strip (top-models / top-studios above the A–Z grid) */
.hub-top{margin:6px 0 18px}
.hub-top-h{font:700 1.4rem/1.2 Arial;margin:0 0 10px}

/* SEARCH SUGGESTIONS dropdown — built in JS, styled via DATA-ATTRIBUTES (not
   classes) so per-site skin class-hashing can never break the selectors. */
[data-sug]{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:140;background:var(--bg-card);border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 16px 42px rgba(0,0,0,.22);max-height:72vh;overflow-y:auto;padding:6px;text-align:left}
[data-sug][hidden]{display:none}
[data-sug-sec]+[data-sug-sec]{border-top:1px solid rgba(0,0,0,.09);margin-top:4px;padding-top:2px}
[data-sug-h]{font:800 10px/1 Arial;text-transform:uppercase;letter-spacing:.7px;color:var(--tx3);padding:9px 10px 5px}
[data-sug-item]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;color:var(--tx);font:600 13px/1.2 Arial;text-decoration:none}
[data-sug-item]:hover{background:var(--bg-pill)}
[data-sug-kind]{margin-left:auto;font:800 9px/1 Arial;text-transform:uppercase;letter-spacing:.5px;color:var(--tx3);opacity:.65}
