/* HanimeStream Premium Category Archives — scoped to Hentai Anime SUB + 3D Hentai only. */
:root {
	--hs-pc-bg: #0b0a10;
	--hs-pc-panel: rgba(21, 18, 31, .88);
	--hs-pc-panel-2: rgba(28, 23, 43, .92);
	--hs-pc-line: rgba(255,255,255,.10);
	--hs-pc-copy: #f8f4ff;
	--hs-pc-muted: rgba(222,214,237,.68);
	--hs-pc-pink: #ff4e88;
	--hs-pc-violet: #9b5cff;
	--hs-pc-cyan: #48d8ff;
}

#primary.hs-pc-primary,
#primary.hs-pc-primary .site-main {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}

#primary.hs-pc-primary { padding: 0 !important; }
.hs-pc-shell { width: min(1480px, calc(100% - 36px)); margin: 0 auto 52px; }
.hs-pc-breadcrumbs { display:flex; align-items:center; gap:8px; margin:20px 0 13px; color:rgba(213,204,229,.60); font-size:10px; font-weight:750; letter-spacing:.025em; }
.hs-pc-breadcrumbs a { color:rgba(213,204,229,.68); text-decoration:none !important; transition:color .18s ease; }
.hs-pc-breadcrumbs a:hover { color:#fff; }
.hs-pc-breadcrumbs strong { color:#eee8f8; font-weight:800; }

.hs-pc-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(245px,.5fr); gap:30px; align-items:center; overflow:hidden; margin:0 0 14px; padding:clamp(25px,3.7vw,52px); border:1px solid rgba(173,115,255,.24); border-radius:22px; background:radial-gradient(520px 260px at 5% -18%, rgba(255,78,136,.25), transparent 67%), radial-gradient(460px 250px at 92% 112%, rgba(72,216,255,.14), transparent 68%), linear-gradient(135deg, #1a1128 0%, #0e0d15 54%, #151125 100%); box-shadow:0 22px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05); isolation:isolate; }
.hs-pc-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px, transparent 1px); background-size:30px 30px; mask-image:linear-gradient(90deg,#000,transparent 84%); }
.hs-pc-hero::after { content:""; position:absolute; z-index:-1; width:270px; height:270px; right:-118px; top:-126px; border:1px solid rgba(255,255,255,.11); border-radius:50%; box-shadow:0 0 0 35px rgba(255,255,255,.021),0 0 0 70px rgba(255,255,255,.012); }
.hs-pc-primary--3d-hentai .hs-pc-hero { border-color:rgba(72,216,255,.23); background:radial-gradient(520px 260px at 5% -18%, rgba(72,216,255,.17), transparent 67%),radial-gradient(440px 260px at 92% 112%, rgba(155,92,255,.17), transparent 68%),linear-gradient(135deg,#101b27 0%,#0c0e14 54%,#101323 100%); }
.hs-pc-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#ffd0e2; font-size:10px; font-weight:850; letter-spacing:.16em; line-height:1; text-transform:uppercase; }
.hs-pc-eyebrow i { color:var(--hs-pc-pink); font-size:12px; }
.hs-pc-primary--3d-hentai .hs-pc-eyebrow { color:#c8f5ff; }
.hs-pc-primary--3d-hentai .hs-pc-eyebrow i { color:var(--hs-pc-cyan); }
.hs-pc-hero h1 { max-width:830px; margin:14px 0 13px !important; color:var(--hs-pc-copy) !important; font-size:clamp(31px,4.1vw,57px) !important; font-weight:900 !important; letter-spacing:-.052em; line-height:.98 !important; text-transform:none !important; }
.hs-pc-hero p { max-width:760px; margin:0; color:var(--hs-pc-muted); font-size:clamp(13px,1.3vw,16px); font-weight:600; line-height:1.64; }
.hs-pc-facts { display:flex; flex-wrap:wrap; gap:7px; margin-top:19px; }
.hs-pc-facts span { display:inline-flex; align-items:center; min-height:27px; padding:0 9px; border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(8,7,14,.35); color:rgba(241,236,250,.82); font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hs-pc-facts b { margin-right:4px; color:#fff; }
.hs-pc-hero-action { display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0; padding:18px; border:1px solid rgba(255,255,255,.11); border-radius:15px; background:rgba(7,7,12,.42); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.hs-pc-action-kicker { color:rgba(224,216,237,.60); font-size:9px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.hs-pc-action-main,.hs-pc-action-alt { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:10px; font-size:11px; font-weight:850; text-decoration:none !important; transition:transform .18s ease,filter .18s ease,border-color .18s ease,background .18s ease; }
.hs-pc-action-main { gap:8px; border:1px solid rgba(255,196,221,.24); background:linear-gradient(135deg,#ff4e88,#b454ff); box-shadow:0 10px 22px rgba(230,59,154,.22); color:#fff !important; }
.hs-pc-primary--3d-hentai .hs-pc-action-main { border-color:rgba(190,242,255,.24); background:linear-gradient(135deg,#36c9ee,#8d5cff); box-shadow:0 10px 22px rgba(47,168,233,.22); }
.hs-pc-action-main:hover { filter:brightness(1.09); transform:translateY(-2px); }
.hs-pc-action-alt { gap:8px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.025); color:rgba(242,237,250,.88) !important; }
.hs-pc-action-alt:hover { border-color:rgba(255,255,255,.27); background:rgba(255,255,255,.06); color:#fff !important; }

.hs-pc-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 26px; }
.hs-pc-path { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:11px; align-items:center; min-width:0; padding:13px; border:1px solid var(--hs-pc-line); border-radius:14px; background:linear-gradient(180deg,rgba(255,255,255,.034),rgba(255,255,255,.014)),rgba(14,13,21,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); color:var(--hs-pc-copy); text-decoration:none !important; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.hs-pc-path:hover { border-color:rgba(195,152,255,.50); background:rgba(255,255,255,.055); color:#fff; transform:translateY(-2px); }
.hs-pc-primary--3d-hentai .hs-pc-path:hover { border-color:rgba(72,216,255,.48); }
.hs-pc-path-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(155,92,255,.13); color:#d9bfff; font-size:13px; }
.hs-pc-primary--3d-hentai .hs-pc-path-icon { background:rgba(72,216,255,.10); color:#a4efff; }
.hs-pc-path-text { display:block; min-width:0; }
.hs-pc-path-text strong { display:block; overflow:hidden; color:inherit; font-size:11px; font-weight:850; letter-spacing:-.01em; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.hs-pc-path-text small { display:block; overflow:hidden; margin-top:4px; color:rgba(219,211,234,.61); font-size:9px; font-weight:650; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.hs-pc-path-arrow { color:rgba(232,224,244,.44); font-size:16px; }

.hs-pc-library { margin:0 0 28px; padding:clamp(16px,2vw,25px); border:1px solid var(--hs-pc-line); border-radius:19px; background:radial-gradient(460px 170px at 7% -100px,rgba(155,92,255,.12),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.027),rgba(255,255,255,.012)),rgba(12,11,18,.80); box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 38px rgba(0,0,0,.19); }
.hs-pc-primary--3d-hentai .hs-pc-library { background:radial-gradient(460px 170px at 7% -100px,rgba(72,216,255,.10),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.027),rgba(255,255,255,.012)),rgba(12,11,18,.80); }
.hs-pc-library-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:0 0 19px; }
.hs-pc-library-eyebrow { display:block; margin:0 0 6px; color:#c5aaf6; font-size:9px; font-weight:850; letter-spacing:.16em; line-height:1; text-transform:uppercase; }
.hs-pc-primary--3d-hentai .hs-pc-library-eyebrow { color:#8ee8ff; }
.hs-pc-library h2 { margin:0 !important; color:#faf8ff !important; font-size:clamp(23px,2.5vw,31px) !important; font-weight:900 !important; letter-spacing:-.045em; line-height:1.02 !important; text-transform:none !important; }
.hs-pc-sort { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.hs-pc-sort a { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:0 10px; border:1px solid rgba(255,255,255,.10); border-radius:999px; background:rgba(255,255,255,.025); color:rgba(235,229,246,.78); font-size:9px; font-weight:850; line-height:1; text-decoration:none !important; transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease; }
.hs-pc-sort a:hover { border-color:rgba(208,178,255,.55); background:rgba(155,92,255,.12); color:#fff; transform:translateY(-1px); }
.hs-pc-sort a.is-active { border-color:rgba(255,105,171,.52); background:linear-gradient(135deg,rgba(255,78,136,.24),rgba(155,92,255,.22)); color:#fff; }
.hs-pc-primary--3d-hentai .hs-pc-sort a:hover { border-color:rgba(72,216,255,.50); background:rgba(72,216,255,.11); }
.hs-pc-primary--3d-hentai .hs-pc-sort a.is-active { border-color:rgba(72,216,255,.50); background:linear-gradient(135deg,rgba(72,216,255,.19),rgba(141,92,255,.20)); }

.hs-pc-grid.videos-list { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px 16px; width:100%; margin:0 !important; padding:0 !important; }
.hs-pc-grid.videos-list > .loop-video { display:block !important; float:none !important; width:auto !important; max-width:none !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.hs-pc-grid .loop-video > a { display:block !important; width:100%; color:inherit; text-decoration:none !important; }
.hs-pc-grid .loop-video .post-thumbnail { position:relative; display:block; width:100% !important; height:auto !important; overflow:hidden; margin:0 !important; border:1px solid rgba(255,255,255,.10); border-radius:16px; background:linear-gradient(135deg,#372353,#15111f 58%,#281b41); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); aspect-ratio:2/3; isolation:isolate; transition:transform .20s ease,border-color .20s ease,box-shadow .20s ease; }
.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail { background:linear-gradient(135deg,#173344,#10131b 58%,#242041); }
.hs-pc-grid .loop-video:hover .post-thumbnail { border-color:rgba(193,150,255,.63); box-shadow:0 18px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07); transform:translateY(-4px); }
.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video:hover .post-thumbnail { border-color:rgba(72,216,255,.58); }
.hs-pc-grid .loop-video .post-thumbnail-container,.hs-pc-grid .loop-video .post-thumbnail > img,.hs-pc-grid .loop-video .post-thumbnail-container > img { position:absolute !important; inset:0; display:block; width:100% !important; height:100% !important; min-height:0 !important; margin:0 !important; object-fit:cover; border-radius:inherit; }
.hs-pc-grid .loop-video .post-thumbnail-container.no-thumb { display:flex; align-items:center; justify-content:center; color:rgba(237,230,248,.62); font-size:10px; }
.hs-pc-grid .loop-video .post-thumbnail::before { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(7,6,14,.06) 12%,rgba(7,6,14,.00) 34%,rgba(7,6,14,.18) 58%,rgba(7,6,14,.82) 100%); }
.hs-pc-grid .loop-video .post-thumbnail::after { content:"\f04b"; position:absolute; z-index:5; top:50%; left:50%; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.20); border-radius:50%; background:rgba(8,7,14,.65); box-shadow:0 8px 20px rgba(0,0,0,.28); color:#fff; font-family:FontAwesome; font-size:16px; opacity:0; transform:translate(-50%,-44%) scale(.88); transition:opacity .18s ease,transform .20s ease,background .18s ease; }
.hs-pc-grid .loop-video:hover .post-thumbnail::after,.hs-pc-grid .loop-video:focus-within .post-thumbnail::after { background:linear-gradient(135deg,#ff4e88,#9b5cff); opacity:1; transform:translate(-50%,-50%) scale(1); }
.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video:hover .post-thumbnail::after { background:linear-gradient(135deg,#3fcfee,#855eff); }
.hs-pc-grid .loop-video .hd-video,.hs-pc-grid .loop-video .duration,.hs-pc-grid .loop-video .views { position:absolute; z-index:6; display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(8,7,14,.66); box-shadow:0 4px 12px rgba(0,0,0,.16); color:#f8f4ff; font-size:8px; font-weight:850; letter-spacing:.05em; line-height:1; }
.hs-pc-grid .loop-video .hd-video { top:9px; left:9px; border-color:rgba(92,224,255,.26); color:#fff; text-transform:uppercase; }
.hs-pc-grid .loop-video .duration { right:9px; bottom:9px; }
.hs-pc-grid .loop-video .views { left:9px; bottom:9px; color:rgba(242,237,251,.90); letter-spacing:.02em; }
.hs-pc-grid .loop-video .duration .fa,.hs-pc-grid .loop-video .views .fa { margin-right:4px; font-size:9px; }
.hs-pc-grid .loop-video .rating-bar { display:none !important; }
.hs-pc-grid .loop-video .entry-header { display:block; min-width:0; margin:0 !important; padding:12px 2px 0 !important; background:transparent !important; }
.hs-pc-grid .loop-video .entry-header span { display:-webkit-box; overflow:hidden; min-height:44px; color:#fbf9ff !important; font-size:14px; font-weight:850; letter-spacing:-.018em; line-height:1.32; -webkit-box-orient:vertical; -webkit-line-clamp:2; }


/* --------------------------------------------------------------------------
   Card language by collection
   - English-sub series: large portrait posters, six per wide desktop row.
   - 3D hentai: large cinematic 16:9 cards, four per desktop row.
   This intentionally keeps the two catalogs visually distinct.
   -------------------------------------------------------------------------- */
.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail {
	aspect-ratio: 2 / 3;
}

.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 20px;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail {
	aspect-ratio: 16 / 9;
	border-radius: 15px;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header {
	padding-top: 11px !important;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header::before {
	content: '3D HENTAI';
	display: block;
	margin: 0 0 5px;
	color: #9f8be4;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .075em;
	line-height: 1;
	text-transform: uppercase;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header span {
	min-height: 38px;
	font-size: 14px;
	line-height: 1.28;
}

/* Ensure parent-theme typography never hides card titles on smaller screens. */
.hs-pc-grid .loop-video .entry-header,
.hs-pc-grid .loop-video .entry-header span {
	visibility: visible !important;
	opacity: 1 !important;
}

.hs-pc-library .wp-pagenavi { display:flex !important; align-items:center; justify-content:center; gap:6px; margin:28px 0 0 !important; padding:0 !important; border:0 !important; }
.hs-pc-library .wp-pagenavi a,.hs-pc-library .wp-pagenavi span { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; margin:0 !important; padding:0 9px !important; border:1px solid rgba(255,255,255,.11) !important; border-radius:9px; background:rgba(255,255,255,.025); color:rgba(239,233,249,.82); font-size:10px; font-weight:850; line-height:1; text-decoration:none !important; }
.hs-pc-library .wp-pagenavi a:hover { border-color:rgba(208,178,255,.55) !important; background:rgba(155,92,255,.13); color:#fff; }
.hs-pc-library .wp-pagenavi .current { border-color:rgba(255,105,171,.52) !important; background:linear-gradient(135deg,rgba(255,78,136,.24),rgba(155,92,255,.22)); color:#fff; }
.hs-pc-primary--3d-hentai .hs-pc-library .wp-pagenavi .current { border-color:rgba(72,216,255,.50) !important; background:linear-gradient(135deg,rgba(72,216,255,.18),rgba(141,92,255,.20)); }

.hs-pc-bottom-copy { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:30px; align-items:start; padding:clamp(19px,2.5vw,30px); border:1px solid var(--hs-pc-line); border-radius:18px; background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012)),rgba(13,12,20,.78); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.hs-pc-bottom-copy h2 { margin:0 !important; color:#f8f4ff !important; font-size:clamp(20px,2vw,27px) !important; font-weight:900 !important; letter-spacing:-.04em; line-height:1.05 !important; text-transform:none !important; }
.hs-pc-bottom-prose { color:rgba(224,216,237,.72); font-size:13px; font-weight:600; line-height:1.72; }
.hs-pc-bottom-prose > :first-child { margin-top:0; }
.hs-pc-bottom-prose > :last-child { margin-bottom:0; }
.hs-pc-bottom-prose a { color:#dec7ff; }
.hs-pc-empty { margin:0 0 28px; padding:56px 24px; border:1px solid var(--hs-pc-line); border-radius:18px; background:rgba(14,13,21,.78); color:var(--hs-pc-muted); text-align:center; }
.hs-pc-empty i { color:#d4b1ff; font-size:28px; }
.hs-pc-empty h2 { margin:12px 0 7px; color:#fff; font-size:23px; }
.hs-pc-empty p { max-width:460px; margin:0 auto 17px; font-size:13px; line-height:1.6; }
.hs-pc-empty a { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 13px; border:1px solid rgba(255,255,255,.14); border-radius:9px; background:rgba(255,255,255,.04); color:#fff; font-size:10px; font-weight:850; text-decoration:none; }

@media (max-width:1380px) {
	.hs-pc-grid.videos-list { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:1180px) {
	.hs-pc-grid.videos-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:940px) {
	.hs-pc-shell { width:min(100% - 24px,1480px); }
	.hs-pc-hero { grid-template-columns:1fr; gap:20px; }
	.hs-pc-hero-action { max-width:520px; }
	.hs-pc-paths { grid-template-columns:1fr; }
	.hs-pc-library-head { align-items:flex-start; flex-direction:column; }
	.hs-pc-sort { justify-content:flex-start; }
	.hs-pc-grid.videos-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 13px; }
	.hs-pc-bottom-copy { grid-template-columns:1fr; gap:17px; }
}
@media (max-width:640px) {
	.hs-pc-shell { width:100%; margin-bottom:28px; }
	.hs-pc-breadcrumbs { margin:15px 13px 11px; font-size:9px; }
	.hs-pc-hero { margin:0 9px 10px; padding:24px 18px; border-radius:16px; }
	.hs-pc-hero h1 { font-size:30px !important; }
	.hs-pc-hero p { font-size:12px; line-height:1.6; }
	.hs-pc-facts { margin-top:15px; }
	.hs-pc-facts span { min-height:25px; font-size:8px; }
	.hs-pc-hero-action { padding:12px; border-radius:12px; }
	.hs-pc-paths { gap:8px; margin:0 9px 18px; }
	.hs-pc-path { padding:11px; border-radius:12px; }
	.hs-pc-library { margin:0; padding:17px 10px 19px; border-right:0; border-left:0; border-radius:0; }
	.hs-pc-library-head { margin:0 3px 15px; }
	.hs-pc-library h2 { font-size:23px !important; }
	.hs-pc-sort { flex-wrap:nowrap; overflow-x:auto; width:calc(100vw - 20px); padding:1px 0 5px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
	.hs-pc-sort::-webkit-scrollbar { display:none; }
	.hs-pc-sort a { flex:0 0 auto; min-height:30px; padding:0 9px; font-size:8px; }
	.hs-pc-grid.videos-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; padding:0 !important; }
	.hs-pc-grid .loop-video .post-thumbnail { border-radius:12px; }
	.hs-pc-grid .loop-video .entry-header { padding:9px 1px 1px !important; }
	.hs-pc-grid .loop-video .entry-header span { min-height:34px; font-size:11px; line-height:1.3; }
	.hs-pc-grid .loop-video .post-thumbnail::after { display:none; }
	.hs-pc-grid .loop-video .hd-video,.hs-pc-grid .loop-video .duration,.hs-pc-grid .loop-video .views { min-height:18px; padding:0 5px; font-size:7px; }
	.hs-pc-grid .loop-video .hd-video { top:6px; left:6px; }
	.hs-pc-grid .loop-video .duration { right:6px; bottom:6px; }
	.hs-pc-grid .loop-video .views { left:6px; bottom:6px; }
	
/* --------------------------------------------------------------------------
   Card language by collection
   - English-sub series: large portrait posters, six per wide desktop row.
   - 3D hentai: large cinematic 16:9 cards, four per desktop row.
   This intentionally keeps the two catalogs visually distinct.
   -------------------------------------------------------------------------- */
.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail {
	aspect-ratio: 2 / 3;
}

.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 20px;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail {
	aspect-ratio: 16 / 9;
	border-radius: 15px;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header {
	padding-top: 11px !important;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header::before {
	content: '3D HENTAI';
	display: block;
	margin: 0 0 5px;
	color: #9f8be4;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .075em;
	line-height: 1;
	text-transform: uppercase;
}

.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header span {
	min-height: 38px;
	font-size: 14px;
	line-height: 1.28;
}

/* Ensure parent-theme typography never hides card titles on smaller screens. */
.hs-pc-grid .loop-video .entry-header,
.hs-pc-grid .loop-video .entry-header span {
	visibility: visible !important;
	opacity: 1 !important;
}

.hs-pc-library .wp-pagenavi { gap:4px; margin-top:22px !important; }
	.hs-pc-library .wp-pagenavi a,.hs-pc-library .wp-pagenavi span { min-width:30px; height:30px; font-size:9px; }
	.hs-pc-bottom-copy { margin:0 9px; padding:19px 17px; border-radius:14px; }
	.hs-pc-bottom-prose { font-size:12px; }
}


/* Category-specific responsive sizing. */
@media (max-width: 1380px) {
	.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
	.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 15px; }
}

@media (max-width: 940px) {
	.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list,
	.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px 10px;
	}

	.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail {
		aspect-ratio: 16 / 9;
		border-radius: 11px;
	}

	.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header {
		padding: 9px 1px 1px !important;
	}

	.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header::before {
		margin-bottom: 4px;
		font-size: 8px;
	}

	.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header span,
	.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .entry-header span {
		display: -webkit-box !important;
		min-height: 34px !important;
		color: #fff !important;
		font-size: 11px !important;
		font-weight: 850 !important;
		line-height: 1.32 !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}


/* ==========================================================================
   v1.0.3 — Desktop card sizing repair
   The collection-specific rules above were previously scoped too late in the
   mobile media block. These final rules deliberately sit outside all media
   blocks and override RetroTube fixed thumbnail widths on desktop.
   ========================================================================== */

@media (min-width: 641px) {
	/* 3D library: large cinematic 16:9 cards, exactly four across on desktop. */
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 28px 20px !important;
		align-items: start !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list > article.loop-video,
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list > .loop-video {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		justify-self: stretch !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video > a {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 16 / 9 !important;
		overflow: hidden !important;
		border-radius: 16px !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail-container,
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail > img,
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .post-thumbnail-container > img,
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video img.video-main-thumb {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
		border-radius: inherit !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		padding: 12px 2px 0 !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header::before {
		content: '3D HENTAI' !important;
		display: block !important;
		margin: 0 0 6px !important;
		color: #9f8be4 !important;
		font-size: 9px !important;
		font-weight: 900 !important;
		letter-spacing: .09em !important;
		line-height: 1 !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid .loop-video .entry-header span {
		display: -webkit-box !important;
		overflow: hidden !important;
		width: 100% !important;
		min-height: 40px !important;
		color: #fbf9ff !important;
		font-size: 14px !important;
		font-weight: 850 !important;
		line-height: 1.3 !important;
		visibility: visible !important;
		opacity: 1 !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
	}

	/* Series library: portrait episode posters, six across on very wide screens. */
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
		display: grid !important;
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
		gap: 20px 16px !important;
		align-items: start !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list > article.loop-video,
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list > .loop-video {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		justify-self: stretch !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		aspect-ratio: 2 / 3 !important;
		overflow: hidden !important;
		border-radius: 16px !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail-container,
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail > img,
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .post-thumbnail-container > img,
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video img.video-main-thumb {
		position: absolute !important;
		inset: 0 !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		object-fit: cover !important;
		border-radius: inherit !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .entry-header {
		display: block !important;
		width: 100% !important;
		padding: 12px 2px 0 !important;
	}

	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid .loop-video .entry-header span {
		display: -webkit-box !important;
		overflow: hidden !important;
		width: 100% !important;
		min-height: 42px !important;
		color: #fbf9ff !important;
		font-size: 13px !important;
		font-weight: 850 !important;
		line-height: 1.3 !important;
		visibility: visible !important;
		opacity: 1 !important;
		-webkit-box-orient: vertical !important;
		-webkit-line-clamp: 2 !important;
	}
}

@media (min-width: 641px) and (max-width: 1380px) {
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 641px) and (max-width: 1180px) {
	#primary.hs-pc-primary.hs-pc-primary--3d-hentai .hs-pc-grid.videos-list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 22px 16px !important;
	}
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 641px) and (max-width: 940px) {
	#primary.hs-pc-primary.hs-pc-primary--hentai-anime-sub .hs-pc-grid.videos-list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}


/* ==========================================================================
   v1.0.6 — Self-contained archive cards.
   These cards bypass the parent loop-video template so a theme title filter
   cannot replace video titles with the current category name.
   ========================================================================== */
.hs-pc-custom-grid.videos-list {
	display: grid !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: start !important;
}

.hs-pc-primary--3d-hentai .hs-pc-custom-grid.videos-list {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 28px 20px !important;
}

.hs-pc-primary--hentai-anime-sub .hs-pc-custom-grid.videos-list {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 20px 16px !important;
}

.hs-pc-card,
.hs-pc-card * { box-sizing: border-box; }

.hs-pc-card {
	display: block;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.hs-pc-card-link {
	display: block;
	min-width: 0;
	color: inherit !important;
	text-decoration: none !important;
}

.hs-pc-card-media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 16px;
	background: linear-gradient(135deg, #33254b, #11111b 58%, #2a1d42);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	isolation: isolate;
	transition: transform .20s ease, border-color .20s ease, box-shadow .20s ease;
}

.hs-pc-card.is-3d .hs-pc-card-media { aspect-ratio: 16 / 9; }
.hs-pc-card.is-series .hs-pc-card-media { aspect-ratio: 2 / 3; }
.hs-pc-primary--3d-hentai .hs-pc-card-media { background: linear-gradient(135deg, #173344, #10131b 58%, #242041); }

.hs-pc-card:hover .hs-pc-card-media,
.hs-pc-card:focus-within .hs-pc-card-media {
	border-color: rgba(193,150,255,.66);
	box-shadow: 0 18px 32px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
	transform: translateY(-4px);
}
.hs-pc-primary--3d-hentai .hs-pc-card:hover .hs-pc-card-media,
.hs-pc-primary--3d-hentai .hs-pc-card:focus-within .hs-pc-card-media { border-color: rgba(72,216,255,.64); }

.hs-pc-card-media > img,
.hs-pc-card-fallback {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hs-pc-card-fallback { background: linear-gradient(135deg, #392851, #16121f 58%, #2a1d42); }

.hs-pc-card-shade {
	position: absolute;
	z-index: 2;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(7,6,14,.05) 10%, rgba(7,6,14,0) 35%, rgba(7,6,14,.14) 58%, rgba(7,6,14,.80) 100%);
}

.hs-pc-card-play {
	position: absolute;
	z-index: 5;
	top: 50%;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	background: rgba(8,7,14,.68);
	box-shadow: 0 10px 22px rgba(0,0,0,.30);
	color: #fff;
	font-size: 14px;
	opacity: 0;
	transform: translate(-50%, -44%) scale(.88);
	transition: opacity .18s ease, transform .20s ease, background .18s ease;
}
.hs-pc-card-play .fa { margin-left: 2px; }
.hs-pc-card:hover .hs-pc-card-play,
.hs-pc-card:focus-within .hs-pc-card-play {
	background: linear-gradient(135deg, #ff4e88, #9b5cff);
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
.hs-pc-primary--3d-hentai .hs-pc-card:hover .hs-pc-card-play,
.hs-pc-primary--3d-hentai .hs-pc-card:focus-within .hs-pc-card-play { background: linear-gradient(135deg, #3fcfee, #855eff); }

.hs-pc-card-badges {
	position: absolute;
	z-index: 6;
	top: 9px;
	left: 9px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 5px;
	max-width: calc(100% - 18px);
}
.hs-pc-card-badges span,
.hs-pc-card-duration {
	display: inline-flex;
	align-items: center;
	min-height: 22px;
	padding: 0 8px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: rgba(8,7,14,.72);
	box-shadow: 0 4px 12px rgba(0,0,0,.18);
	color: #fff;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .05em;
	line-height: 1;
}
.hs-pc-card-badges .is-state.is-censored { border-color: rgba(255,96,142,.45); background: rgba(205,42,91,.87); }
.hs-pc-card-badges .is-state.is-uncensored { border-color: rgba(87,236,186,.44); background: rgba(18,152,103,.88); }
.hs-pc-card-duration { position: absolute; z-index: 6; right: 9px; bottom: 9px; }

.hs-pc-card-body {
	display: block;
	min-width: 0;
	padding: 12px 2px 0;
}
.hs-pc-card-context {
	display: block;
	overflow: hidden;
	margin: 0 0 6px;
	color: #9f8be4;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .09em;
	line-height: 1;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}
.hs-pc-primary--3d-hentai .hs-pc-card-context { color: #a78de9; }
.hs-pc-card-title {
	display: -webkit-box;
	overflow: hidden;
	min-height: 40px;
	color: #fbf9ff;
	font-size: 14px;
	font-weight: 850;
	letter-spacing: -.02em;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.hs-pc-card-views {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 7px;
	color: rgba(205,196,222,.67);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}
.hs-pc-card-views .fa { font-size: 9px; }

@media (max-width: 1380px) and (min-width: 1181px) {
	.hs-pc-primary--hentai-anime-sub .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 1180px) and (min-width: 941px) {
	.hs-pc-primary--3d-hentai .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 22px 16px !important; }
	.hs-pc-primary--hentai-anime-sub .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 940px) and (min-width: 641px) {
	.hs-pc-primary--3d-hentai .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.hs-pc-primary--hentai-anime-sub .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
	.hs-pc-primary--3d-hentai .hs-pc-custom-grid.videos-list,
	.hs-pc-primary--hentai-anime-sub .hs-pc-custom-grid.videos-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 15px 10px !important; }
	.hs-pc-card-media { border-radius: 12px; }
	.hs-pc-card-play { display: none; }
	.hs-pc-card-badges { top: 6px; left: 6px; gap: 4px; }
	.hs-pc-card-badges span,
	.hs-pc-card-duration { min-height: 18px; padding: 0 5px; font-size: 7px; }
	.hs-pc-card-duration { right: 6px; bottom: 6px; }
	.hs-pc-card-body { padding: 9px 1px 0; }
	.hs-pc-card-context { margin-bottom: 4px; font-size: 8px; }
	.hs-pc-card-title { min-height: 34px; font-size: 11px; line-height: 1.32; }
	.hs-pc-card-views { margin-top: 5px; font-size: 9px; }
}
