:root {
	--bg: #08080a;
	--bg-soft: #111014;
	--panel: #17151a;
	--text: #f8f5f6;
	--muted: #aaa4aa;
	--line: rgba(255, 255, 255, .1);
	--accent: #eb2345;
	--accent-bright: #ff5d78;
	--shell: 1460px;
	--radius: 18px;
	--shadow: 0 24px 70px rgba(0, 0, 0, .4);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--text);
	background: var(--bg);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body::before {
	content: "";
	position: fixed;
	inset: 0 0 auto;
	height: 420px;
	pointer-events: none;
	background: radial-gradient(circle at 16% -20%, rgba(235, 35, 69, .15), transparent 58%);
	z-index: -1;
}

img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--accent-bright); }
button, input, select, textarea { font: inherit; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.025em; }
h1 { font-size: clamp(2.6rem, 7vw, 6.4rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); }
h3 { font-size: 1.05rem; }

.screen-reader-text,
.skip-link:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus { position: fixed; top: 1rem; left: 1rem; z-index: 1000000; padding: .7rem 1rem; color: #000; background: #fff; border-radius: 8px; }
.site-shell { width: min(calc(100% - 2rem), var(--shell)); margin-inline: auto; }
.site-main { min-height: 72vh; }
.eyebrow { margin: 0 0 .55rem; color: var(--accent-bright); font-size: .73rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9000;
	background: linear-gradient(to bottom, rgba(8, 8, 10, .94), rgba(8, 8, 10, .55), transparent);
	transition: background .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled { background: rgba(8, 8, 10, .94); box-shadow: 0 12px 40px rgba(0,0,0,.25); backdrop-filter: blur(16px); }
.admin-bar .site-header { top: 32px; }
.site-header__inner { min-height: 76px; display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.5rem); }
.site-brand { display: inline-flex; align-items: center; gap: .7rem; flex: 0 0 auto; text-decoration: none; }
.site-brand__mark { display: grid; place-items: center; width: 35px; height: 35px; font-size: 1.05rem; font-weight: 900; background: linear-gradient(135deg, #ff5d78, #b90d2c); border-radius: 10px 4px 10px 4px; box-shadow: 0 8px 28px rgba(235,35,69,.3); }
.site-brand__name { font-weight: 900; letter-spacing: -.02em; }
.custom-logo { display: block; max-height: 44px; width: auto; }

.site-nav { margin-right: auto; }
.site-nav__list, .site-nav ul { display: flex; align-items: center; gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
.site-nav a { color: #d8d3d6; font-size: .92rem; font-weight: 700; text-decoration: none; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: #fff; }
.site-header__actions { display: flex; align-items: center; gap: .65rem; }
.language-switcher { position: relative; display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: .35rem .65rem; color: #d8d3d6; background: rgba(255,255,255,.055); border: 1px solid var(--line); border-radius: 999px; }
.language-switcher::after { content: ""; width: 6px; height: 6px; margin: -3px .15rem 0 .1rem; border-right: 1.5px solid #aaa4aa; border-bottom: 1.5px solid #aaa4aa; transform: rotate(45deg); pointer-events: none; }
.language-switcher svg { flex: 0 0 auto; color: var(--accent-bright); }
.language-switcher__select { min-width: 92px; padding: 0; color: #fff; background: transparent; border: 0; outline: 0; appearance: none; cursor: pointer; font-size: .76rem; font-weight: 800; line-height: 1; }
.language-switcher__select:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 5px; border-radius: 4px; }
.language-switcher__select option { color: #181419; background: #fff; }
.icon-button { width: 42px; height: 42px; color: #fff; background: rgba(255,255,255,.07); border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
.cart-link { position: relative; display: inline-flex; align-items: center; gap: .42rem; min-height: 42px; padding: .5rem .72rem; color: #fff; background: rgba(255,255,255,.07); border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; font-weight: 800; text-decoration: none; }
.cart-link:hover { color: #fff; border-color: rgba(255,93,120,.45); }
.cart-link__count { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; color: #fff; background: var(--accent); border-radius: 999px; font-size: .68rem; line-height: 1; }
.account-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 42px; padding: .5rem .8rem; color: #fff; background: rgba(255,255,255,.055); font-size: .82rem; font-weight: 800; text-decoration: none; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.account-link:hover { color: #fff; border-color: rgba(255,93,120,.45); }
.account-menu { position: relative; }
.account-menu__mini-avatar { display: grid; place-items: center; width: 27px; height: 27px; color: #fff; background: linear-gradient(135deg, #ff5d78, #b90d2c); border-radius: 50%; font-size: .75rem; }
.account-popover[hidden] { display: none; }
.account-popover { position: absolute; top: calc(100% + .8rem); right: 0; width: min(370px, calc(100vw - 2rem)); padding: 1rem; color: #f7f3f5; background: linear-gradient(150deg, #211a20, #111014 76%); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; box-shadow: 0 30px 90px rgba(0,0,0,.62); }
.account-popover::before { content: ""; position: absolute; top: -6px; right: 27px; width: 12px; height: 12px; background: #1e181e; border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); transform: rotate(45deg); }
.account-popover__header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .75rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.account-popover__avatar { display: grid; place-items: center; width: 52px; height: 52px; color: #fff; background: linear-gradient(135deg, #ff5d78, #b90d2c); border: 2px solid rgba(255,255,255,.22); border-radius: 50%; font-size: 1.25rem; font-weight: 850; }
.account-popover__header div { min-width: 0; }
.account-popover__header strong, .account-popover__header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-popover__header small { margin-top: .2rem; color: #8f888e; font-size: .7rem; }
.account-popover__header > a { color: #aaa3a8; font-size: .72rem; text-decoration: none; }
.account-popover__header > a:hover { color: var(--accent-bright); }
.account-popover__membership { display: grid; gap: .25rem; margin: .9rem 0; padding: .9rem 1rem; background: radial-gradient(circle at 100% 0, rgba(255,93,120,.2), transparent 52%), #171318; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; }
.account-popover__membership span, .account-popover__stats span { color: #8f888e; font-size: .68rem; font-weight: 750; }
.account-popover__membership strong { color: #fff; font-size: .9rem; }
.account-popover__stats { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.account-popover__stats a { display: grid; gap: .15rem; padding: .8rem; color: inherit; background: #171519; border: 1px solid var(--line); border-radius: 13px; text-decoration: none; }
.account-popover__stats a:hover { color: #fff; border-color: rgba(255,93,120,.35); }
.account-popover__stats strong { font-size: 1.3rem; }
.account-popover__links { display: grid; margin-top: .8rem; border-top: 1px solid var(--line); }
.account-popover__links a { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem .2rem; color: #d9d2d6; border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 750; text-decoration: none; }
.account-popover__links a:hover { color: var(--accent-bright); }
.site-header .subvip-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .42rem;
	min-height: 43px;
	padding: .55rem 1.05rem;
	overflow: hidden;
	color: #fff !important;
	background: linear-gradient(120deg, #b90d2c 0%, #ef2348 55%, #ff6b82 100%);
	border: 1px solid rgba(255, 211, 139, .55);
	border-radius: 999px;
	box-shadow: 0 9px 28px rgba(235, 35, 69, .36), inset 0 1px 0 rgba(255,255,255,.24);
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.site-header .subvip-link::after { content: ""; position: absolute; top: -80%; left: -35%; width: 28%; height: 260%; background: rgba(255,255,255,.2); transform: rotate(22deg); transition: left .35s ease; }
.site-header .subvip-link__icon { position: relative; z-index: 1; flex: 0 0 auto; color: #ffe1a8; filter: drop-shadow(0 1px 5px rgba(55,0,8,.55)); }
.site-header .subvip-link span { position: relative; z-index: 1; }
.site-header .subvip-link:hover { color: #fff; filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 13px 34px rgba(235,35,69,.48), inset 0 1px 0 rgba(255,255,255,.3); }
.site-header .subvip-link:hover::after { left: 112%; }
.site-header .subvip-link:focus-visible { outline: 3px solid rgba(255,225,168,.8); outline-offset: 3px; }
.nav-toggle { display: none; width: 42px; padding: 8px; background: transparent; border: 0; }
.nav-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: #fff; }
.search-drawer { padding: .9rem 0 1.2rem; background: rgba(8,8,10,.97); border-top: 1px solid var(--line); }
.search-drawer form { display: flex; gap: .6rem; max-width: 720px; margin-left: auto; }
.search-drawer label { flex: 1; }
.search-field { width: 100%; padding: .8rem 1rem; color: #fff; background: #161419; border: 1px solid var(--line); border-radius: 999px; }
.search-submit { padding: .8rem 1.2rem; color: #fff; background: var(--accent); border: 0; border-radius: 999px; font-weight: 800; }

.hero, .detail-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(82vh, 850px);
	padding: 150px 0 8vh;
	background-color: #100b0e;
	background-image: var(--hero-image, linear-gradient(135deg, #3b101b, #0a090c 70%));
	background-position: center;
	background-size: cover;
}
.hero::before, .detail-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,6,8,.96) 0%, rgba(6,6,8,.72) 40%, rgba(6,6,8,.08) 75%), linear-gradient(0deg, var(--bg) 0%, transparent 34%); }
.hero__shade, .detail-hero__shade { position: absolute; inset: 0; background: radial-gradient(circle at 75% 30%, transparent 0, rgba(8,8,10,.12) 45%, rgba(8,8,10,.48) 100%); }
.hero__content, .detail-hero__content { position: relative; z-index: 1; }
.hero__content { max-width: var(--shell); }
.hero__content > * { max-width: 730px; }
.hero h1, .detail-hero h1 { max-width: 920px; margin-bottom: 1rem; text-shadow: 0 10px 35px rgba(0,0,0,.45); }
.hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: 1rem; color: #d5cfd2; font-size: .9rem; font-weight: 700; }
.hero__meta > * + *::before { content: "•"; margin-right: .75rem; color: #656065; }
.hero__meta a { text-decoration: none; }
.hero__description, .detail-hero__description { max-width: 700px; color: #d0c9cd; font-size: clamp(1rem, 1.6vw, 1.15rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .75rem 1.25rem;
	color: #fff;
	background: #2a272d;
	border: 1px solid transparent;
	border-radius: 999px;
	font-weight: 850;
	text-decoration: none;
	transition: transform .2s ease, background .2s ease;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: #fff; transform: translateY(-2px); }
.button--primary, .woocommerce a.button.alt, .woocommerce button.button.alt { background: linear-gradient(135deg, #d81637, var(--accent-bright)); }
.button--glass { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); backdrop-filter: blur(12px); }
.spc-watchlist-form { margin: 0; }
.spc-watchlist-button { gap: .55rem; cursor: pointer; }
.spc-watchlist-button svg { flex: 0 0 auto; }
.spc-watchlist-button.is-active { color: #fff; background: rgba(235,35,69,.24); border-color: rgba(255,93,120,.55); }

.home-catalog { position: relative; z-index: 2; margin-top: -2rem; padding-bottom: 4rem; }
.catalog-row { margin: 1.2rem 0 3.25rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.section-heading h2 { margin: 0; font-size: clamp(1.5rem, 2.7vw, 2.25rem); }
.section-heading > a { flex: 0 0 auto; color: var(--muted); font-size: .88rem; font-weight: 800; text-decoration: none; }
.card-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 16.5%); gap: 1rem; padding: .25rem 0 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.card-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.stream-card { min-width: 0; }
.stream-card__link { display: block; text-decoration: none; }
.stream-card__art { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background-color: #24181d; background-position: center; background-size: cover; border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius); box-shadow: 0 15px 45px rgba(0,0,0,.24); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.stream-card__art::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(4,4,5,.87)); }
.stream-card__art--empty { background-image: radial-gradient(circle at 70% 20%, rgba(255,93,120,.34), transparent 30%), linear-gradient(145deg, #3f1320, #100e12 70%); }
.stream-card:hover .stream-card__art { transform: translateY(-7px) scale(1.015); border-color: rgba(255,93,120,.45); box-shadow: 0 26px 65px rgba(0,0,0,.45); }
.stream-card__type { position: absolute; z-index: 2; left: .75rem; top: .75rem; padding: .32rem .55rem; color: #fff; background: rgba(8,8,10,.66); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; font-size: .65rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.stream-card__access { position: absolute; z-index: 2; right: .75rem; top: .75rem; padding: .32rem .6rem; color: #fff; border-radius: 999px; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.stream-card__access--free { background: rgba(22, 156, 92, .9); box-shadow: 0 8px 24px rgba(22,156,92,.25); }
.stream-card__play { position: absolute; z-index: 2; right: .8rem; bottom: .8rem; display: grid; place-items: center; width: 39px; height: 39px; padding-left: 2px; color: #fff; background: var(--accent); border-radius: 50%; box-shadow: 0 8px 25px rgba(235,35,69,.4); opacity: 0; transform: translateY(6px); transition: .25s ease; }
.stream-card__play--locked { padding: 0; background: rgba(8,8,10,.82); border: 1px solid rgba(255,93,120,.7); opacity: 1; transform: none; }
.stream-card:hover .stream-card__play { opacity: 1; transform: none; }
.stream-card__body { padding: .8rem .2rem 0; }
.stream-card__body h3 { margin-bottom: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stream-card__body p { margin: 0; color: var(--muted); font-size: .82rem; }

.page-hero { padding: 155px 0 58px; background: linear-gradient(135deg, rgba(91,17,35,.3), transparent 50%); border-bottom: 1px solid var(--line); }
.page-hero h1 { margin-bottom: .5rem; font-size: clamp(2.4rem, 6vw, 5rem); }
.page-hero p:last-child { max-width: 700px; margin-bottom: 0; color: var(--muted); }
.catalog-page { padding-block: 2.5rem 5rem; }
.pagination { margin-top: 3rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: .35rem; text-decoration: none; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; }
.page-numbers.current { color: #fff; background: var(--accent); }

.detail-hero { min-height: 72vh; }
.detail-hero__content { padding-bottom: 2rem; }
.detail-hero__cast { color: var(--muted); }
.episode-list-section { padding-block: 3rem 5rem; }
.episode-list { display: grid; gap: .8rem; }
.episode-row { display: grid; grid-template-columns: 210px minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: .8rem; text-decoration: none; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 16px; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.episode-row:hover { color: #fff; background: rgba(255,255,255,.055); border-color: rgba(255,93,120,.36); transform: translateX(3px); }
.episode-row.is-locked { background: linear-gradient(90deg, rgba(72,18,31,.22), rgba(255,255,255,.02)); }
.episode-row__thumb { display: grid; place-items: center; aspect-ratio: 16/9; background: linear-gradient(135deg, #451423, #141116); background-position: center; background-size: cover; border-radius: 11px; }
.episode-row__thumb::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(8,8,10,.08), rgba(8,8,10,.42)); }
.episode-row__thumb { position: relative; overflow: hidden; }
.episode-row__state { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; padding-left: 2px; background: rgba(8,8,10,.72); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.episode-row__state--locked { padding: 0; color: #fff; background: rgba(8,8,10,.82); border-color: rgba(255,93,120,.72); }
.episode-row h3 { margin: 0 0 .3rem; }
.episode-row p { margin: 0; color: var(--muted); font-size: .9rem; }
.episode-row__number { color: var(--accent-bright) !important; font-size: .72rem !important; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.episode-row__meta { display: flex; align-items: flex-end; flex-direction: column; gap: .55rem; }
.episode-row__access { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .6rem; border-radius: 999px; font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.episode-row__access svg { width: 14px; height: 14px; }
.episode-row__access--free { color: #d9ffeb; background: rgba(22,156,92,.22); border: 1px solid rgba(72,214,142,.35); }
.episode-row__access--locked { color: #ffe6eb; background: rgba(235,35,69,.16); border: 1px solid rgba(255,93,120,.35); }
.episode-row__duration { color: var(--muted); font-size: .85rem; }

.episode-heading { padding-top: 150px; }
.episode-heading h1 { max-width: 1050px; margin-bottom: .85rem; font-size: clamp(2.2rem, 5.5vw, 4.8rem); }
.episode-watch-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); align-items: start; gap: 1.25rem; padding-block: 1.5rem 2rem; }
.episode-watch-layout--solo { display: block; max-width: 1120px; }
.episode-content { min-width: 0; padding: 0; }
.episode-watch-layout .episode-content > .spc-player, .episode-watch-layout .episode-content > .spc-paywall { max-width: none; }
.episode-content > .spc-player:first-child, .episode-content > .spc-paywall:first-child { margin-top: 0; }
.episode-switcher { position: sticky; top: 98px; overflow: hidden; max-height: calc(100vh - 118px); background: linear-gradient(180deg, rgba(31,28,35,.98), rgba(17,15,20,.98)); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.episode-switcher__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1rem .85rem; border-bottom: 1px solid var(--line); }
.episode-switcher__heading .eyebrow { max-width: 220px; margin-bottom: .25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.episode-switcher__heading h2 { margin: 0; font-size: 1.25rem; }
.episode-switcher__heading > a { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; color: #d7d0d4; text-decoration: none; background: rgba(255,255,255,.06); border: 1px solid var(--line); border-radius: 50%; }
.episode-switcher__heading > a:hover { color: #fff; border-color: rgba(255,93,120,.5); }
.episode-switcher__list { display: grid; gap: .35rem; max-height: calc(100vh - 215px); padding: .55rem; overflow-y: auto; scrollbar-color: rgba(255,93,120,.5) transparent; scrollbar-width: thin; }
.episode-switcher__item { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-height: 62px; padding: .55rem .65rem; color: #d9d3d7; text-decoration: none; background: rgba(255,255,255,.025); border: 1px solid transparent; border-radius: 12px; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.episode-switcher__item:hover { color: #fff; background: rgba(255,255,255,.065); border-color: rgba(255,93,120,.28); transform: translateX(2px); }
.episode-switcher__item.is-current { color: #fff; background: linear-gradient(90deg, rgba(235,35,69,.2), rgba(255,255,255,.055)); border-color: rgba(255,93,120,.62); box-shadow: inset 3px 0 0 var(--accent-bright); }
.episode-switcher__item.is-locked:not(.is-current) { color: #aaa3a8; }
.episode-switcher__number { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: #27232a; border: 1px solid var(--line); border-radius: 10px; font-size: .78rem; font-weight: 900; }
.episode-switcher__item.is-current .episode-switcher__number { background: var(--accent); border-color: var(--accent-bright); }
.episode-switcher__copy { min-width: 0; }
.episode-switcher__copy strong, .episode-switcher__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.episode-switcher__copy strong { font-size: .82rem; }
.episode-switcher__copy small { margin-top: .15rem; color: var(--muted); font-size: .67rem; font-weight: 750; }
.episode-switcher__state { display: grid; place-items: center; min-width: 25px; color: var(--accent-bright); font-size: .72rem; }
.episode-switcher__state svg { width: 15px; height: 15px; }
.episode-switcher__free { padding: .2rem .38rem; color: #d9ffeb; background: rgba(22,156,92,.22); border: 1px solid rgba(72,214,142,.32); border-radius: 999px; font-size: .57rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.episode-back { padding-bottom: 5rem; }
.episode-back a { color: var(--muted); font-weight: 800; text-decoration: none; }

.prose-page { max-width: 920px; padding-block: 150px 6rem; }
.prose-page header { margin-bottom: 2rem; }
.prose-page h1 { font-size: clamp(2.4rem, 6vw, 4.8rem); }
.entry-content { color: #d0cbd0; }
.entry-content > * { max-width: 760px; }
.entry-content > .alignwide { max-width: 1120px; }
.entry-content > .alignfull { max-width: none; }
.entry-content a { color: var(--accent-bright); }
.post-summary { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.post-summary h2 { font-size: 1.7rem; }
.post-summary h2 a { text-decoration: none; }
.empty-state { padding: 3rem; text-align: center; background: var(--panel); border: 1px solid var(--line); border-radius: 20px; }
.empty-state--page { margin-top: 140px; margin-bottom: 6rem; }

.site-footer { color: var(--muted); background: #050506; border-top: 1px solid var(--line); }
.site-footer__main { display: flex; align-items: flex-start; justify-content: space-between; gap: clamp(2rem, 7vw, 7rem); padding-block: 3.5rem 2.5rem; }
.site-footer__identity { max-width: 540px; }
.site-footer__brand { margin: 0 0 .5rem; color: #fff; font-size: 1.2rem; font-weight: 900; }
.site-footer__identity > p:not(.site-footer__brand) { margin: 0 0 1.25rem; }
.site-footer__business { color: var(--muted); font-style: normal; line-height: 1.7; }
.site-footer__business strong { color: #fff; }
.site-footer__business a, .site-footer__contact a { color: #ddd7db; }
.site-footer ul { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.site-footer__links { padding-top: .2rem; }
.site-footer__links ul { justify-content: flex-end; }
.site-footer__links a { color: #ddd7db; font-weight: 750; }
.site-footer__links a:hover, .site-footer__business a:hover, .site-footer__contact a:hover { color: var(--accent-bright); }
.site-footer a { text-decoration: none; }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.25rem 2rem; border-top: 1px solid var(--line); }
.site-footer__legal, .site-footer__contact { margin: 0; font-size: .8rem; }

.aipf-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 760px; margin-top: 1.5rem; }
.aipf-contact-form label { display: grid; gap: .4rem; }
.aipf-contact-form label > span { color: #eee9ec; font-weight: 750; }
.aipf-contact-form input, .aipf-contact-form select, .aipf-contact-form textarea { width: 100%; padding: .8rem 1rem; color: #fff; background: #17151a; border: 1px solid var(--line); border-radius: 10px; }
.aipf-contact-form__message, .aipf-contact-form__consent, .aipf-contact-form .button { grid-column: 1 / -1; }
.aipf-contact-form__consent { display: flex !important; align-items: flex-start; grid-template-columns: auto 1fr; }
.aipf-contact-form__consent input { width: auto; margin-top: .35rem; }
.aipf-contact-form__website { position: absolute !important; left: -9999px !important; }
.aipf-contact-form .button { justify-self: start; }
.contact-notice { max-width: 760px; margin: 1rem 0; padding: 1rem; border-radius: 10px; }
.contact-notice--success { color: #d9ffeb; background: rgba(22,156,92,.2); border: 1px solid rgba(72,214,142,.35); }
.contact-notice--error { color: #ffe6eb; background: rgba(235,35,69,.14); border: 1px solid rgba(255,93,120,.35); }

.commerce-page { padding-block: 150px 6rem; }
.woocommerce .woocommerce-breadcrumb { color: var(--muted); }
.woocommerce div.product { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(320px, 1.15fr); gap: clamp(2rem, 5vw, 5rem); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100%; float: none; }
.woocommerce div.product .product_title { font-size: clamp(2.1rem, 5vw, 4rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--accent-bright); font-size: 1.6rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select {
	padding: .8rem 1rem;
	color: #fff;
	background: #17151a;
	border: 1px solid var(--line);
	border-radius: 10px;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message { color: #f7f4f5; background: var(--panel); border-top-color: var(--accent); }
.woocommerce table.shop_table { border-color: var(--line); border-radius: 14px; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line); }

/* Personalized customer area */
.woocommerce-account .commerce-page { max-width: 1280px; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 3rem); }
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation { align-self: start; position: sticky; top: 105px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: .55rem; list-style: none; background: linear-gradient(155deg, #1c181e, #111014); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 46px; padding: .65rem .85rem; color: #bbb4ba; border-radius: 13px; font-size: .9rem; font-weight: 780; text-decoration: none; transition: color .2s ease, background .2s ease; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { color: #fff; background: rgba(255,255,255,.06); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: #fff; background: linear-gradient(135deg, rgba(216,22,55,.92), rgba(255,93,120,.78)); box-shadow: 0 8px 28px rgba(216,22,55,.22); }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; padding: clamp(1.2rem, 3.5vw, 2.4rem); background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 24px; }
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content mark { padding: .1em .3em; color: #fff; background: rgba(235,35,69,.26); border-radius: 5px; }
.aipf-account-memberships .woocommerce-MyAccount-content { color: #d4cdd1; background: radial-gradient(circle at 85% 0, rgba(216,22,55,.12), transparent 38%), rgba(255,255,255,.025); }
.aipf-account-memberships .woocommerce-MyAccount-content h1,
.aipf-account-memberships .woocommerce-MyAccount-content h2,
.aipf-account-memberships .woocommerce-MyAccount-content h3,
.aipf-account-memberships .woocommerce-MyAccount-content h4 { color: #fff !important; }
.aipf-account-memberships .woocommerce-MyAccount-content > div:not(.woocommerce-notices-wrapper),
.aipf-account-memberships .woocommerce-MyAccount-content > section,
.aipf-account-memberships .woocommerce-MyAccount-content > div:not(.woocommerce-notices-wrapper) > div,
.aipf-account-memberships .woocommerce-MyAccount-content [class*="membership"][class*="empty"],
.aipf-account-memberships .woocommerce-MyAccount-content [class*="membership"][class*="notice"],
.aipf-account-memberships .woocommerce-MyAccount-content .woocommerce-info { color: #c9c1c6 !important; background: linear-gradient(145deg, #1b171c, #111014) !important; border: 1px solid rgba(255,255,255,.11) !important; border-radius: 18px !important; box-shadow: none !important; }
.aipf-account-memberships .woocommerce-MyAccount-content p,
.aipf-account-memberships .woocommerce-MyAccount-content span { color: inherit; }
.aipf-account-memberships .woocommerce-MyAccount-content svg { color: var(--accent-bright) !important; fill: currentColor; stroke: currentColor; }
.aipf-account-memberships .woocommerce-MyAccount-content a:not(.button) { color: var(--accent-bright); }
.aipf-account-memberships .woocommerce-MyAccount-content .button,
.aipf-account-memberships .woocommerce-MyAccount-content button,
.aipf-account-memberships .woocommerce-MyAccount-content input[type="submit"] { color: #fff !important; background: linear-gradient(135deg, #d81637, #ff5d78) !important; border: 0 !important; border-radius: 999px !important; box-shadow: 0 10px 28px rgba(216,22,55,.22); }
.aipf-account-memberships .woocommerce-MyAccount-content .button:hover,
.aipf-account-memberships .woocommerce-MyAccount-content button:hover,
.aipf-account-memberships .woocommerce-MyAccount-content input[type="submit"]:hover { filter: brightness(1.08); transform: translateY(-1px); }
.account-overview__hero { position: relative; overflow: hidden; padding: clamp(1.5rem, 4vw, 3rem); background: radial-gradient(circle at 86% 10%, rgba(255,93,120,.26), transparent 34%), linear-gradient(145deg, #35101a, #141116 72%); border: 1px solid rgba(255,93,120,.18); border-radius: 22px; }
.account-overview__hero h2 { max-width: 680px; margin-bottom: .7rem; font-size: clamp(2rem, 5vw, 4rem); }
.account-overview__hero > p:not(.account-overview__eyebrow) { max-width: 600px; color: #c8c1c5; }
.account-overview__hero .button { margin-top: .65rem; }
.account-overview__eyebrow,
.spc-account-eyebrow { margin: 0 0 .5rem; color: var(--accent-bright); font-size: .7rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.account-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.account-stats--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.account-stats a { display: grid; padding: 1.25rem; text-decoration: none; background: #151318; border: 1px solid var(--line); border-radius: 17px; }
.account-stats a:hover { color: #fff; border-color: rgba(255,93,120,.4); }
.account-stats span { color: var(--muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.account-stats strong { margin: .2rem 0; font-size: 2.35rem; line-height: 1; }
.account-stats small { color: #7f797f; }
.account-quick-links { display: grid; margin-top: 1rem; border-top: 1px solid var(--line); }
.account-quick-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem .15rem; color: #d6cfd3; border-bottom: 1px solid var(--line); font-weight: 760; text-decoration: none; }
.account-quick-links a:hover { color: var(--accent-bright); }
.spc-account-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.spc-account-section-heading h2 { margin: 0; }
.spc-account-count { flex: 0 0 auto; padding: .4rem .7rem; color: #d7d0d4; background: #1a171c; border: 1px solid var(--line); border-radius: 999px; font-size: .75rem; font-weight: 800; }
.spc-account-episode-grid, .spc-account-series-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.spc-account-empty { padding: clamp(2rem, 6vw, 4rem); text-align: center; background: radial-gradient(circle at 50% 0, rgba(235,35,69,.16), transparent 44%), #121014; border: 1px dashed rgba(255,255,255,.16); border-radius: 20px; }
.spc-account-empty p { max-width: 520px; margin-inline: auto; color: var(--muted); }
.spc-account-episode { padding: 1.2rem; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register { padding: clamp(1.2rem, 4vw, 2.2rem); background: #151318; border-color: var(--line); border-radius: 20px; }
.woocommerce-account .woocommerce-Address { padding: 1.1rem; background: #151318; border: 1px solid var(--line); border-radius: 16px; }

@media (max-width: 1150px) {
	.card-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
	.card-rail { grid-auto-columns: minmax(190px, 24%); }
	.episode-watch-layout { grid-template-columns: minmax(0, 1fr) minmax(260px, 300px); }
}

@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
	.site-header__inner { min-height: 66px; }
	.nav-toggle { display: block; margin-left: auto; }
	.site-nav { position: absolute; top: 100%; left: 1rem; right: 1rem; display: none; padding: 1rem; background: rgba(13,12,15,.98); border: 1px solid var(--line); border-radius: 15px; box-shadow: var(--shadow); }
	.site-nav.is-open { display: block; }
	.site-nav__list, .site-nav ul { align-items: stretch; flex-direction: column; gap: .15rem; }
	.site-nav a { display: block; padding: .65rem .55rem; }
	.site-header__actions .icon-button { display: none; }
	.language-switcher { min-height: 36px; padding-inline: .5rem; }
	.language-switcher__select { min-width: 80px; }
	.cart-link__label { display: none; }
	.account-link { padding: .5rem .75rem; }
	.account-popover { position: fixed; top: 76px; right: 1rem; }
	.admin-bar .account-popover { top: 122px; }
	.hero, .detail-hero { min-height: 700px; padding-bottom: 4rem; background-position: 62% center; }
	.hero::before, .detail-hero::before { background: linear-gradient(0deg, var(--bg) 0%, rgba(6,6,8,.62) 55%, rgba(6,6,8,.28) 100%); }
	.hero h1, .detail-hero h1 { font-size: clamp(2.6rem, 13vw, 4.4rem); }
	.home-catalog { margin-top: 0; }
	.card-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.card-rail { grid-auto-columns: minmax(170px, 42%); }
	.episode-row { grid-template-columns: 120px minmax(0,1fr); gap: .9rem; }
	.episode-row__duration { display: none; }
	.episode-row__meta { align-items: flex-end; }
	.episode-row p:not(.episode-row__number) { display: none; }
	.episode-watch-layout { grid-template-columns: 1fr; }
	.episode-switcher { position: static; max-height: none; }
	.episode-switcher__list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 420px; }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: .35rem; overflow-x: auto; border-radius: 15px; }
	.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 40px; white-space: nowrap; }
	.spc-account-episode-grid, .spc-account-series-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.site-footer__main, .site-footer__bottom { align-items: flex-start; flex-direction: column; }
	.site-footer__links ul { justify-content: flex-start; }
	.aipf-contact-form { grid-template-columns: 1fr; }
	.aipf-contact-form__message, .aipf-contact-form__consent, .aipf-contact-form .button { grid-column: auto; }
}

@media (max-width: 520px) {
	.site-shell { width: min(calc(100% - 1.25rem), var(--shell)); }
	.site-brand__name { display: none; }
	.language-switcher { gap: .25rem; }
	.language-switcher__select { min-width: 68px; max-width: 72px; font-size: .7rem; }
	.account-menu__toggle > span:last-child { display: none; }
	.account-link { width: 38px; padding: .3rem; justify-content: center; }
	.site-header .subvip-link { min-height: 38px; padding: .45rem .7rem; font-size: .72rem; }
	.account-popover { right: .625rem; width: calc(100vw - 1.25rem); }
	.card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
	.card-rail { grid-auto-columns: 58%; gap: .75rem; }
	.stream-card__art { border-radius: 13px; }
	.section-heading > a { display: none; }
	.episode-row { grid-template-columns: 96px minmax(0,1fr); padding: .65rem; }
	.episode-switcher__list { grid-template-columns: 1fr; }
	.page-hero { padding-top: 130px; }
	.hero__actions .button { width: 100%; }
	.account-stats { grid-template-columns: 1fr; }
	.spc-account-section-heading { align-items: flex-start; flex-direction: column; }
	.spc-account-episode-grid, .spc-account-series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

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