/* Responsive single-movie player. Loaded only on movie posts. */

/* The legacy PsyPlay splash option injects display:none after wp_head. */
body.cinebyte-skin.single-post #content-embed,
body.cinebyte-skin.single #content-embed {
	display: block !important;
}

.cinebyte-splash {
	--cinebyte-blue: #079fd3;
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background: #080b12;
	box-shadow: 0 16px 42px rgba( 18, 30, 46, .2 );
	aspect-ratio: 16 / 9;
}

.cinebyte-splash .cinebyte-play-button,
.cinebyte-start .cinebyte-play-button-small {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	margin: 0;
	transform: translate( -50%, -50% );
}

.cinebyte-splash:hover .cinebyte-play-button {
	background: #10afe5;
	transform: translate( -50%, -50% ) scale( 1.06 );
}

.cinebyte-start .cinebyte-play-button-small {
	width: 84px;
	height: 50px;
	border-width: 2px;
	border-radius: 9px;
	background: rgba( 20, 27, 38, .78 );
	font-size: 21px;
}

.cinebyte-start:hover .cinebyte-play-button-small {
	background: #079fd3;
	transform: translate( -50%, -50% ) scale( 1.06 );
}

.cinebyte-watchere {
	--cinebyte-blue: #079fd3;
	--cinebyte-blue-dark: #0789ba;
	--cinebyte-ink: #151b26;
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0 auto 22px;
	background: #090d14;
	box-shadow: 0 18px 45px rgba( 18, 30, 46, .18 );
	color: #fff;
}

.cinebyte-player-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 66px;
	padding: 12px 18px;
	border-bottom: 1px solid rgba( 255, 255, 255, .09 );
	background: var( --cinebyte-ink );
}

.cinebyte-now-playing {
	min-width: 0;
}

.cinebyte-now-playing > span {
	display: block;
	margin-bottom: 3px;
	color: #7c899c;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1;
	text-transform: uppercase;
}

.cinebyte-now-playing h2 {
	margin: 0;
	overflow: hidden;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cinebyte-hd-badge {
	flex: 0 0 auto;
	margin-left: 15px;
	padding: 6px 10px;
	border: 1px solid rgba( 255, 255, 255, .13 );
	border-radius: 3px;
	background: rgba( 255, 255, 255, .06 );
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

.cinebyte-hd-badge i {
	margin-right: 5px;
	color: #38cf8e;
	font-size: 7px;
	vertical-align: 2px;
}

.cinebyte-stage {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #05070b;
	aspect-ratio: 16 / 9;
}

.cinebyte-video {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: none;
	width: 100%;
	height: 100%;
	background: #000;
}

.cinebyte-video.is-active {
	display: block;
}

.cinebyte-video iframe,
.cinebyte-video video {
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
	object-fit: contain;
}

.cinebyte-start.has-error::after {
	position: absolute;
	bottom: 18px;
	left: 50%;
	z-index: 6;
	padding: 8px 12px;
	border-radius: 3px;
	content: "Video teaser belum tersedia. Isi cinebyte_teaser_video.";
	background: rgba( 185, 28, 28, .9 );
	color: #fff;
	font-size: 12px;
	transform: translateX( -50% );
}

.cinebyte-watchere #bar-player {
	display: flex;
	align-items: center;
	gap: 2px;
	min-height: 44px;
	padding: 7px 12px;
	border-top: 1px solid #2b3038;
	background: #1b1f25;
}

.cinebyte-watchere #bar-player .btn,
.cinebyte-watchere #bar-player a {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #e8edf3 !important;
	font-size: 12px;
}

.cinebyte-watchere #bar-player .bp-btn-report {
	float: none !important;
	margin-left: auto;
	color: #fff200 !important;
}

.cinebyte-watchere #bar-player .clearfix {
	display: none;
}

.cinebyte-watchere #bar-player .bp-btn-views {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	padding: 7px 12px;
	border-radius: 4px !important;
	background: rgba( 255, 255, 255, .035 ) !important;
	cursor: default;
	font-size: 12px;
}

.cinebyte-watchere #bar-player .bp-btn-views i {
	margin: 0;
	color: #4ccaf5;
	font-size: 14px;
}

.cinebyte-watchere #bar-player .bp-btn-views strong {
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
}

.cinebyte-watchere #bar-player .bp-btn-views > span {
	display: inline !important;
	color: #aeb9c6;
	font-size: 11px;
	font-weight: 600;
}

.cinebyte-player-cta {
	padding: 14px 18px 18px;
	background: #080c10;
	text-align: center;
}

.cinebyte-player-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.cinebyte-player-cta-buttons a {
	display: inline-block;
	min-width: 180px;
	padding: 10px 15px;
	border: 1px solid #22c832;
	border-radius: 3px;
	font-size: 14px;
	text-align: center;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.cinebyte-cta-primary {
	background: #22c832;
	color: #fff !important;
}

.cinebyte-cta-secondary {
	background: transparent;
	color: #e2e7ed !important;
}

.cinebyte-player-cta-buttons .cinebyte-cta-primary:hover,
.cinebyte-player-cta-buttons .cinebyte-cta-primary:focus,
.cinebyte-player-cta-buttons .cinebyte-cta-secondary:hover,
.cinebyte-player-cta-buttons .cinebyte-cta-secondary:focus {
	border-color: #ffdf20;
	background: #ffdf20;
	box-shadow: 0 0 20px rgba( 255, 223, 32, .72 );
	color: #151a21 !important;
	outline: none;
	transform: translateY( -2px );
}

.cinebyte-player-cta-buttons a:hover i,
.cinebyte-player-cta-buttons a:focus i {
	color: #151a21;
}

.cinebyte-player-benefits {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 18px;
	margin-top: 13px;
	color: #bec6d0;
	font-size: 12px;
}

.cinebyte-player-benefits i {
	color: #24d33a;
}

.cinebyte-trailer-frame {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #000;
	aspect-ratio: 16 / 9;
}

.cinebyte-trailer-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.block-trailer .pop-trailer.is-disabled {
	opacity: .52;
	cursor: not-allowed;
}

.block-trailer {
	position: relative;
	z-index: 10;
}

.block-trailer .pop-trailer:not(.is-disabled) {
	pointer-events: auto;
	cursor: pointer;
}

.cinebyte-player-panels,
.cinebyte-player-panel,
.cinebyte-player-panel iframe,
.cinebyte-player-panel video,
.cinebyte-shortcode-player,
.cinebyte-shortcode-player > iframe,
.cinebyte-start,
.cinebyte-splash-image,
.cinebyte-splash-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cinebyte-player-panel {
	display: none;
	background: #000;
}

.cinebyte-player-panel.is-active,
.cinebyte-player-panel.cinebyte-no-player {
	display: block;
}

.cinebyte-player-panel iframe,
.cinebyte-player-panel video {
	border: 0;
	background: #000;
}

.cinebyte-start {
	z-index: 4;
	display: block;
	padding: 0;
	border: 0;
	background: #080b12;
	cursor: pointer;
}

.cinebyte-start[hidden] {
	display: none;
}

.cinebyte-splash-image {
	background-position: center 28%;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale( 1.01 );
	transition: transform .5s ease;
}

.cinebyte-start:hover .cinebyte-splash-image {
	transform: scale( 1.035 );
}

.cinebyte-splash-shade {
	background:
		linear-gradient( 180deg, rgba( 5, 8, 14, .08 ) 30%, rgba( 5, 8, 14, .76 ) 100% ),
		rgba( 0, 0, 0, .16 );
}

.cinebyte-start-copy {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min( 90%, 420px );
	color: #fff;
	text-shadow: 0 2px 12px rgba( 0, 0, 0, .58 );
	transform: translate( -50%, -46% );
}

.cinebyte-play-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 92px;
	height: 92px;
	margin-bottom: 16px;
	border: 5px solid #fff;
	border-radius: 50%;
	background: var( --cinebyte-blue );
	box-shadow: 0 10px 35px rgba( 0, 0, 0, .38 );
	color: #fff;
	font-size: 32px;
	transition: background .2s ease, transform .2s ease;
}

.cinebyte-start:hover .cinebyte-play-button {
	background: #10afe5;
	transform: scale( 1.06 );
}

.cinebyte-play-button i {
	margin-left: 5px;
}

.cinebyte-start-copy strong {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .01em;
}

.cinebyte-start-copy small {
	margin-top: 4px;
	color: rgba( 255, 255, 255, .78 );
	font-size: 12px;
}

.cinebyte-no-player {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 30px;
	background: radial-gradient( circle at 50% 40%, #1c2939, #070a0f 65% );
	color: #aeb9c8;
	text-align: center;
}

.cinebyte-no-player i {
	margin-bottom: 5px;
	color: var( --cinebyte-blue );
	font-size: 40px;
}

.cinebyte-no-player strong {
	color: #fff;
	font-size: 17px;
}

.cinebyte-no-player span {
	font-size: 12px;
}

.cinebyte-player-toolbar {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	border-top: 1px solid rgba( 255, 255, 255, .08 );
	background: #fff;
	color: #475467;
}

.cinebyte-server-list {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
}

.cinebyte-server-button,
.cinebyte-light-toggle {
	display: flex;
	align-items: center;
	min-height: 58px;
	padding: 9px 16px;
	border: 0;
	border-right: 1px solid #e7ebef;
	background: #fff;
	color: #667085;
	cursor: pointer;
	transition: background .18s ease, color .18s ease;
}

.cinebyte-server-button:hover,
.cinebyte-server-button.is-active,
.cinebyte-light-toggle:hover,
.cinebyte-light-toggle[aria-pressed="true"] {
	background: #effaff;
	color: var( --cinebyte-blue-dark );
}

.cinebyte-server-button.is-active {
	box-shadow: inset 0 -3px var( --cinebyte-blue );
}

.cinebyte-server-button > i,
.cinebyte-light-toggle > i {
	margin-right: 9px;
	font-size: 17px;
}

.cinebyte-server-button > span {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.15;
}

.cinebyte-server-button strong {
	color: #263244;
	font-size: 12px;
	font-weight: 700;
}

.cinebyte-server-button small {
	margin-top: 3px;
	color: #98a2b3;
	font-size: 10px;
}

.cinebyte-light-toggle {
	flex: 0 0 auto;
	border-right: 0;
	border-left: 1px solid #e7ebef;
	font-size: 12px;
}

body.cinebyte-cinema-mode::before {
	position: fixed;
	inset: 0;
	z-index: 9998;
	content: "";
	background: rgba( 0, 0, 0, .9 );
}

body.cinebyte-cinema-mode .cinebyte-watchere {
	position: relative;
	z-index: 9999;
}

.cinebyte-gate[hidden] {
	display: none;
}

.cinebyte-gate {
	position: fixed;
	inset: 0;
	z-index: 10010;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.cinebyte-gate-backdrop {
	position: absolute;
	inset: 0;
	background: rgba( 4, 8, 13, .78 );
	backdrop-filter: blur( 4px );
}

.cinebyte-gate-card {
	position: relative;
	z-index: 1;
	display: block;
	width: min( 500px, 100% );
	overflow: visible;
	border: 1px solid rgba( 255, 255, 255, .7 );
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 24px 80px rgba( 0, 0, 0, .48 );
	color: #1d2939;
}

.cinebyte-gate-hero {
	position: relative;
	min-height: 310px;
	overflow: visible;
	background-position: center;
	background-size: cover;
}

.cinebyte-gate-hero-shade {
	position: absolute;
	inset: 0;
	background: rgba( 0, 0, 0, .72 );
}

.cinebyte-gate-user {
	position: absolute;
	top: -48px;
	left: 50%;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 94px;
	height: 94px;
	border: 8px solid #ffea39;
	border-radius: 50%;
	background: #ffea39;
	box-shadow: 0 7px 24px rgba( 0, 0, 0, .42 ), 0 0 18px rgba( 255, 234, 57, .45 );
	color: #171b20;
	font-size: 45px;
	transform: translateX( -50% );
}

.cinebyte-gate-user i {
	display: block;
	margin: 0;
	color: #171b20;
	font-size: .85em;
	line-height: 1;
	text-shadow: none;
}

.cinebyte-gate-body {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 310px;
	padding: 62px 30px 25px;
	color: #fff;
	text-align: center;
}

.cinebyte-gate-card h2 {
	margin: 10px 0 9px;
	color: #fff;
	font-size: 25px;
	line-height: 1.2;
}

.cinebyte-gate-card p {
	margin: 0 0 22px;
	color: rgba( 255, 255, 255, .88 );
	font-size: 14px;
	line-height: 1.6;
}

.cinebyte-gate-action {
	display: block;
	align-self: center;
	min-width: 215px;
	padding: 13px 18px;
	border-radius: 3px;
	background: #28d737;
	box-shadow: inset 0 -3px rgba( 0, 0, 0, .12 );
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.cinebyte-gate-action:hover {
	background: #20c62e;
	color: #fff !important;
}

.cinebyte-gate-action i {
	margin-left: 5px;
}

.cinebyte-formats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	margin-top: 20px;
	color: #fff;
	font-size: 11px;
}

.cinebyte-formats i {
	margin-right: 3px;
	color: #fff;
}

.cinebyte-gate-note {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 24px;
	background: #fff;
	color: #374151;
	text-align: center;
}

.cinebyte-gate-note strong {
	font-size: 16px;
	font-weight: 500;
}

.cinebyte-gate-note span {
	color: #6b7280;
	font-size: 12px;
}

body.cinebyte-modal-open {
	overflow: hidden;
}

/* CineByte Pro Movie and TV-Series presentation. */
.cinebyte-series-badge,
.cinebyte-movie-badge {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border: 1px solid rgba( 255, 255, 255, .24 );
	border-radius: 999px;
	background: rgba( 8, 14, 23, .72 );
	box-shadow: 0 8px 24px rgba( 0, 0, 0, .22 );
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	backdrop-filter: blur( 8px );
}

.cinebyte-series-summary,
.cinebyte-movie-summary {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 24px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 55%;
	color: #fff;
	text-align: left;
	text-shadow: 0 3px 16px rgba( 0, 0, 0, .72 );
}

.cinebyte-series-summary strong,
.cinebyte-movie-summary strong {
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp( 17px, 2.1vw, 27px );
	font-weight: 700;
	line-height: 1.2;
}

.cinebyte-series-summary small,
.cinebyte-movie-summary small {
	margin-top: 6px;
	color: rgba( 255, 255, 255, .78 );
	font-size: 12px;
	font-weight: 600;
}

.cinebyte-series-player,
.cinebyte-movie-player {
	overflow: hidden;
	border: 1px solid rgba( 73, 166, 225, .22 );
	border-radius: 7px;
	box-shadow: 0 22px 55px rgba( 10, 27, 43, .25 );
}

.cinebyte-series-player .cinebyte-player-heading {
	background: linear-gradient( 110deg, #111b28 0%, #17283a 55%, #0d151f 100% );
}

.cinebyte-movie-player .cinebyte-player-heading {
	background: linear-gradient( 110deg, #121923 0%, #193040 54%, #0b121a 100% );
}

.cinebyte-series-heading-meta {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	margin-left: 16px;
}

.cinebyte-season-chip {
	padding: 6px 10px;
	border: 1px solid rgba( 44, 190, 255, .34 );
	border-radius: 999px;
	background: rgba( 7, 159, 211, .14 );
	color: #68d5fa;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cinebyte-movie-year-chip {
	padding: 6px 10px;
	border: 1px solid rgba( 56, 207, 142, .3 );
	border-radius: 999px;
	background: rgba( 56, 207, 142, .1 );
	color: #72e6b1;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
}

.cinebyte-movie-year-chip i {
	margin-right: 4px;
}

.cinebyte-series-preview-label,
.cinebyte-movie-preview-label {
	position: absolute;
	right: 18px;
	bottom: 17px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border: 1px solid rgba( 255, 255, 255, .18 );
	border-radius: 3px;
	background: rgba( 7, 13, 21, .72 );
	color: rgba( 255, 255, 255, .9 );
	font-size: 11px;
	font-weight: 600;
	backdrop-filter: blur( 7px );
}

.cinebyte-series-player .cinebyte-stage::after,
.cinebyte-movie-player .cinebyte-stage::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: 2px;
	content: "";
	background: linear-gradient( 90deg, transparent, var( --cinebyte-blue ), transparent );
	opacity: .8;
	pointer-events: none;
}

/* Professional season and episode navigator. */
.cinebyte-season-browser {
	--season-blue: #079fd3;
	--season-blue-dark: #087ca5;
	margin: 18px 0 26px;
	overflow: hidden;
	border: 1px solid #dfe6ed;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 38px rgba( 30, 50, 70, .11 );
}

.cinebyte-season-browser-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 24px;
	background: linear-gradient( 115deg, #121d2a 0%, #192b3e 58%, #0f1722 100% );
	color: #fff;
}

.cinebyte-season-eyebrow {
	display: block;
	margin-bottom: 6px;
	color: #58cef7;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cinebyte-season-browser-header h2 {
	margin: 0;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 21px;
	font-weight: 650;
}

.cinebyte-season-browser-header h2 i {
	margin-right: 9px;
	color: #4ed0fb;
}

.cinebyte-season-count {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 2px 8px;
	min-width: 134px;
	padding: 9px 12px;
	border: 1px solid rgba( 255, 255, 255, .1 );
	border-radius: 5px;
	background: rgba( 255, 255, 255, .055 );
}

.cinebyte-season-count strong {
	color: #fff;
	font-size: 15px;
	text-align: right;
}

.cinebyte-season-count span {
	color: #9eafc1;
	font-size: 10px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cinebyte-season-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	padding: 18px 22px;
	border-bottom: 1px solid #e7edf2;
	background: #f6f8fa;
}

.cinebyte-season-tab {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 44px;
	padding: 9px 13px;
	border: 1px solid #e0e5ea;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 2px 0 #d9dee3;
	color: #445165;
	font-family: Arial, sans-serif;
	font-size: 12px;
	cursor: pointer;
	transition: border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease, background .18s ease;
}

.cinebyte-season-tab strong {
	color: #1e293b;
	font-size: 13px;
}

.cinebyte-season-tab small {
	margin-left: 3px;
	padding: 2px 5px;
	border-radius: 999px;
	background: #edf2f6;
	color: #7a8797;
	font-size: 9px;
}

.cinebyte-season-tab:hover,
.cinebyte-season-tab:focus,
.cinebyte-season-tab.is-active {
	border-color: var( --season-blue );
	background: var( --season-blue );
	box-shadow: 0 3px 0 var( --season-blue-dark ), 0 7px 18px rgba( 7, 159, 211, .2 );
	color: #fff;
	outline: none;
	transform: translateY( -1px );
}

.cinebyte-season-tab:hover strong,
.cinebyte-season-tab:focus strong,
.cinebyte-season-tab.is-active strong {
	color: #fff;
}

.cinebyte-season-tab:hover small,
.cinebyte-season-tab:focus small,
.cinebyte-season-tab.is-active small {
	background: rgba( 255, 255, 255, .18 );
	color: #fff;
}

.cinebyte-season-panels {
	padding: 22px;
}

.cinebyte-season-panel[hidden] {
	display: none !important;
}

.cinebyte-season-panel-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid #edf0f3;
}

.cinebyte-season-panel-heading > div {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.cinebyte-season-panel-heading > div > span {
	color: #172235;
	font-size: 18px;
	font-weight: 700;
}

.cinebyte-season-panel-heading small {
	color: #8a96a6;
	font-size: 11px;
}

.cinebyte-season-panel-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #eaf8fd;
	color: var( --season-blue-dark );
	font-size: 12px;
	font-weight: 800;
}

.cinebyte-episode-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 17px;
}

.cinebyte-episode-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid #e3e8ed;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 6px 20px rgba( 26, 43, 61, .07 );
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.cinebyte-episode-card:hover {
	border-color: rgba( 7, 159, 211, .45 );
	box-shadow: 0 14px 32px rgba( 26, 43, 61, .15 );
	transform: translateY( -3px );
}

.cinebyte-episode-image {
	position: relative;
	display: block;
	overflow: hidden;
	background: #111827;
	aspect-ratio: 16 / 9;
}

.cinebyte-episode-image > span:first-child,
.cinebyte-episode-image-shade {
	position: absolute;
	inset: 0;
	display: block;
}

.cinebyte-episode-image > span:first-child {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: transform .35s ease;
}

.cinebyte-episode-card:hover .cinebyte-episode-image > span:first-child {
	transform: scale( 1.045 );
}

.cinebyte-episode-image-shade {
	background: linear-gradient( 180deg, rgba( 4, 8, 14, .06 ) 40%, rgba( 4, 8, 14, .72 ) 100% );
}

.cinebyte-episode-number {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	padding: 5px 7px;
	border-radius: 3px;
	background: rgba( 7, 159, 211, .94 );
	box-shadow: 0 4px 14px rgba( 0, 0, 0, .24 );
	color: #fff;
	font-size: 10px;
	font-weight: 800;
}

.cinebyte-episode-play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid rgba( 255, 255, 255, .9 );
	border-radius: 50%;
	background: rgba( 7, 14, 23, .72 );
	color: #fff;
	opacity: .88;
	transform: translate( -50%, -50% );
	transition: background .2s ease, transform .2s ease;
}

.cinebyte-episode-play i {
	margin-left: 3px;
}

.cinebyte-episode-card:hover .cinebyte-episode-play {
	background: var( --season-blue );
	transform: translate( -50%, -50% ) scale( 1.08 );
}

.cinebyte-episode-content {
	padding: 14px 15px 16px;
}

.cinebyte-episode-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
	color: #8591a2;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.cinebyte-episode-meta span {
	color: var( --season-blue-dark );
}

.cinebyte-episode-content h3 {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
}

.cinebyte-episode-content h3 a {
	color: #1c293c;
}

.cinebyte-episode-content h3 a:hover {
	color: var( --season-blue-dark );
}

.cinebyte-episode-content p {
	min-height: 45px;
	margin: 8px 0 12px;
	color: #758194;
	font-size: 11px;
	line-height: 1.55;
}

.cinebyte-episode-watch {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var( --season-blue-dark );
	font-size: 11px;
	font-weight: 700;
}

.cinebyte-episode-watch:hover {
	color: #055d7c;
}

.cinebyte-season-empty {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 120px;
	padding: 22px;
	border: 1px dashed #cad4dd;
	border-radius: 7px;
	background: #f8fafb;
}

.cinebyte-season-empty-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #e8f7fc;
	color: var( --season-blue );
	font-size: 20px;
}

.cinebyte-season-empty strong {
	display: block;
	margin-bottom: 4px;
	color: #29364a;
	font-size: 14px;
}

.cinebyte-season-empty p {
	margin: 0;
	color: #8290a1;
	font-size: 11px;
	line-height: 1.55;
}

@media screen and ( max-width: 768px ) {
	.cinebyte-player-heading {
		min-height: 56px;
		padding: 10px 13px;
	}

	.cinebyte-now-playing h2 {
		font-size: 14px;
	}

	.cinebyte-play-button {
		width: 66px;
		height: 66px;
		margin-bottom: 10px;
		border-width: 4px;
		font-size: 24px;
	}

	.cinebyte-splash .cinebyte-play-button {
		width: 74px;
		height: 74px;
		margin: 0;
	}

	.cinebyte-start .cinebyte-play-button-small {
		width: 68px;
		height: 43px;
		border-width: 2px;
		font-size: 18px;
	}

	.cinebyte-start-copy strong {
		font-size: 15px;
	}

	.cinebyte-start-copy small {
		display: none;
	}

	.cinebyte-player-toolbar {
		flex-direction: column;
	}

	.cinebyte-server-list {
		display: grid;
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.cinebyte-server-button {
		min-height: 52px;
		padding: 8px 10px;
	}

	.cinebyte-light-toggle {
		justify-content: center;
		min-height: 42px;
		border-top: 1px solid #e7ebef;
		border-left: 0;
	}

	.cinebyte-gate {
		align-items: flex-start;
		overflow-y: auto;
	}

	.cinebyte-gate-card {
		display: block;
		max-width: 480px;
	}

	.cinebyte-gate-user {
		top: -40px;
		width: 80px;
		height: 80px;
		border-width: 7px;
		font-size: 38px;
	}

	.cinebyte-gate-body {
		min-height: 310px;
		padding: 55px 20px 22px;
		text-align: center;
	}

	.cinebyte-gate-card h2 {
		font-size: 23px;
	}

	.cinebyte-formats {
		justify-content: center;
	}

	.cinebyte-player-cta-buttons a {
		width: 100%;
	}

	.cinebyte-series-badge,
	.cinebyte-movie-badge {
		top: 13px;
		left: 13px;
		padding: 6px 9px;
	}

	.cinebyte-series-summary,
	.cinebyte-movie-summary {
		right: 14px;
		bottom: 13px;
		left: 14px;
		max-width: 62%;
	}

	.cinebyte-series-summary small,
	.cinebyte-movie-summary small,
	.cinebyte-series-preview-label,
	.cinebyte-movie-preview-label {
		display: none;
	}

	.cinebyte-series-heading-meta {
		margin-left: 8px;
	}

	.cinebyte-season-chip {
		display: none;
	}

	.cinebyte-watchere #bar-player {
		padding: 6px 8px;
	}

	.cinebyte-watchere #bar-player .bp-btn-views {
		padding: 7px 8px;
	}

	.cinebyte-season-browser-header {
		padding: 17px;
	}

	.cinebyte-season-browser-header h2 {
		font-size: 18px;
	}

	.cinebyte-season-count {
		display: none;
	}

	.cinebyte-season-tabs {
		gap: 7px;
		padding: 14px;
	}

	.cinebyte-season-tab {
		min-height: 40px;
		padding: 8px 10px;
	}

	.cinebyte-season-panels {
		padding: 16px;
	}

	.cinebyte-episode-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 13px;
	}
}

@media screen and ( max-width: 420px ) {
	.cinebyte-hd-badge {
		display: none;
	}

	.cinebyte-server-list {
		grid-template-columns: 1fr;
	}

	.cinebyte-season-tab span,
	.cinebyte-season-tab small {
		display: none;
	}

	.cinebyte-season-tab {
		justify-content: center;
		min-width: 42px;
	}

	.cinebyte-episode-grid {
		grid-template-columns: 1fr;
	}

	.cinebyte-season-empty {
		align-items: flex-start;
		padding: 17px;
	}
}

/* Professional TMDb-style Cast Explorer. */
.cinebyte-cast-explorer {
	--cast-blue: #079fd3;
	--cast-ink: #111b28;
	margin: 22px 0 28px;
	overflow: hidden;
	border: 1px solid #dfe6ed;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 15px 42px rgba( 25, 46, 68, .12 );
}

.cinebyte-cast-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 21px 24px;
	background: linear-gradient( 112deg, #111b28 0%, #183047 56%, #0e1722 100% );
	color: #fff;
}

.cinebyte-cast-eyebrow {
	display: block;
	margin-bottom: 5px;
	color: #59cff8;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.cinebyte-cast-header h2 {
	margin: 0;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
}

.cinebyte-cast-header h2 i {
	margin-right: 8px;
	color: #4ccaf5;
}

.cinebyte-cast-header p {
	margin: 6px 0 0;
	color: #9fb0c2;
	font-size: 11px;
}

.cinebyte-cast-count {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	min-width: 102px;
	padding: 9px 13px;
	border: 1px solid rgba( 255, 255, 255, .11 );
	border-radius: 6px;
	background: rgba( 255, 255, 255, .055 );
	color: #9fb0c2;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.cinebyte-cast-count strong {
	margin-bottom: 2px;
	color: #fff;
	font-size: 17px;
}

.cinebyte-cast-layout {
	display: grid;
	grid-template-columns: minmax( 0, 1.7fr ) minmax( 315px, .85fr );
	align-items: start;
	gap: 22px;
	padding: 22px;
}

.cinebyte-cast-grid {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 15px;
}

.cinebyte-cast-card {
	min-width: 0;
	overflow: hidden;
	padding: 0;
	border: 1px solid #e1e7ed;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 18px rgba( 20, 38, 58, .07 );
	color: #1b293b;
	cursor: pointer;
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.cinebyte-cast-card:hover,
.cinebyte-cast-card:focus,
.cinebyte-cast-card.is-active {
	border-color: var( --cast-blue );
	box-shadow: 0 11px 26px rgba( 7, 159, 211, .2 );
	outline: none;
	transform: translateY( -3px );
}

.cinebyte-cast-card.is-active {
	box-shadow: 0 0 0 2px rgba( 7, 159, 211, .13 ), 0 12px 28px rgba( 7, 159, 211, .2 );
}

.cinebyte-cast-card.is-unavailable {
	cursor: default;
	opacity: .65;
}

.cinebyte-cast-photo {
	position: relative;
	display: block;
	overflow: hidden;
	background: #e9eef3;
	aspect-ratio: 2 / 3;
}

.cinebyte-cast-photo::after {
	position: absolute;
	inset: 48% 0 0;
	content: "";
	background: linear-gradient( 180deg, transparent, rgba( 8, 14, 22, .5 ) );
	pointer-events: none;
}

.cinebyte-cast-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.cinebyte-cast-card:hover .cinebyte-cast-photo img,
.cinebyte-cast-card.is-active .cinebyte-cast-photo img {
	transform: scale( 1.045 );
}

.cinebyte-cast-open {
	position: absolute;
	right: 9px;
	bottom: 9px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid rgba( 255, 255, 255, .7 );
	border-radius: 50%;
	background: rgba( 9, 18, 29, .78 );
	color: #fff;
	font-size: 11px;
	transition: background .2s ease, transform .2s ease;
}

.cinebyte-cast-card:hover .cinebyte-cast-open,
.cinebyte-cast-card.is-active .cinebyte-cast-open {
	background: var( --cast-blue );
	transform: scale( 1.08 );
}

.cinebyte-cast-card-copy {
	display: block;
	min-height: 62px;
	padding: 10px 11px 11px;
}

.cinebyte-cast-card-copy strong,
.cinebyte-cast-card-copy small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cinebyte-cast-card-copy strong {
	color: #1c293b;
	font-size: 12px;
	font-weight: 750;
}

.cinebyte-cast-card-copy small {
	margin-top: 4px;
	color: #7d8999;
	font-size: 10px;
}

.cinebyte-cast-profile {
	position: sticky;
	top: 90px;
	min-height: 535px;
	overflow: hidden;
	border: 1px solid #1f3245;
	border-radius: 8px;
	background: linear-gradient( 150deg, #111c29 0%, #0d151f 100% );
	box-shadow: 0 15px 35px rgba( 10, 23, 37, .22 );
	color: #fff;
}

.cinebyte-cast-profile-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 535px;
	padding: 32px;
	text-align: center;
}

.cinebyte-cast-profile-placeholder > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	margin-bottom: 16px;
	border: 1px solid rgba( 76, 202, 245, .3 );
	border-radius: 50%;
	background: rgba( 7, 159, 211, .12 );
	color: #59cff8;
	font-size: 30px;
}

.cinebyte-cast-profile-placeholder strong {
	font-size: 16px;
}

.cinebyte-cast-profile-placeholder p {
	max-width: 235px;
	margin: 8px 0 0;
	color: #8fa0b2;
	font-size: 11px;
	line-height: 1.6;
}

.cinebyte-cast-profile-placeholder.is-error > span {
	border-color: rgba( 250, 100, 100, .3 );
	background: rgba( 220, 50, 50, .1 );
	color: #ff8b8b;
}

.cinebyte-cast-profile-content {
	padding: 18px;
}

.cinebyte-cast-profile-top {
	display: grid;
	grid-template-columns: 112px minmax( 0, 1fr );
	align-items: center;
	gap: 15px;
}

.cinebyte-cast-profile-top > img {
	display: block;
	width: 112px;
	height: 154px;
	border: 2px solid rgba( 255, 255, 255, .12 );
	border-radius: 7px;
	object-fit: cover;
}

.cinebyte-cast-department {
	display: inline-block;
	margin-bottom: 6px;
	padding: 4px 7px;
	border-radius: 999px;
	background: rgba( 7, 159, 211, .15 );
	color: #63d5fb;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.cinebyte-cast-profile-top h3 {
	margin: 0;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 20px;
	line-height: 1.25;
}

.cinebyte-cast-profile-top p {
	margin: 8px 0 0;
	color: #9cacbd;
	font-size: 10px;
	line-height: 1.45;
}

.cinebyte-cast-profile-top p i {
	margin-right: 4px;
	color: #4ccaf5;
}

.cinebyte-cast-profile-top p strong {
	color: #e7edf4;
}

.cinebyte-cast-meta {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 8px;
	margin-top: 16px;
}

.cinebyte-cast-meta > div {
	padding: 9px 10px;
	border: 1px solid rgba( 255, 255, 255, .07 );
	border-radius: 5px;
	background: rgba( 255, 255, 255, .035 );
}

.cinebyte-cast-meta span,
.cinebyte-cast-biography > span,
.cinebyte-cast-known > span,
.cinebyte-cast-aliases > span {
	display: block;
	margin-bottom: 4px;
	color: #668097;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cinebyte-cast-meta strong {
	display: block;
	color: #d8e1ea;
	font-size: 9px;
	font-weight: 650;
	line-height: 1.45;
}

.cinebyte-cast-biography {
	margin-top: 16px;
}

.cinebyte-cast-biography p {
	max-height: 122px;
	margin: 0;
	overflow-y: auto;
	padding-right: 5px;
	color: #a9b6c4;
	font-size: 10px;
	line-height: 1.65;
}

.cinebyte-cast-aliases {
	margin: 14px 0 0;
	color: #a9b6c4;
	font-size: 9px;
	line-height: 1.55;
}

.cinebyte-cast-known {
	margin-top: 14px;
}

.cinebyte-cast-known > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.cinebyte-cast-known em {
	padding: 5px 7px;
	border: 1px solid rgba( 255, 255, 255, .07 );
	border-radius: 3px;
	background: rgba( 255, 255, 255, .045 );
	color: #b9c6d3;
	font-size: 8px;
	font-style: normal;
}

.cinebyte-cast-profile-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
	padding-top: 13px;
	border-top: 1px solid rgba( 255, 255, 255, .075 );
}

.cinebyte-cast-profile-footer > div {
	display: flex;
	gap: 5px;
}

.cinebyte-cast-profile-footer > div a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 4px;
	background: rgba( 255, 255, 255, .07 );
	color: #b9c7d5;
}

.cinebyte-cast-profile-footer > div a:hover {
	background: var( --cast-blue );
	color: #fff;
}

.cinebyte-cast-profile-footer > a {
	color: #59cff8;
	font-size: 9px;
	font-weight: 700;
}

.cinebyte-cast-profile-footer > a i {
	margin-left: 4px;
}

.cinebyte-cast-loading {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 535px;
	padding: 24px;
}

.cinebyte-cast-loading > span {
	display: block;
	height: 13px;
	border-radius: 4px;
	background: linear-gradient( 90deg, rgba( 255, 255, 255, .04 ) 20%, rgba( 255, 255, 255, .1 ) 45%, rgba( 255, 255, 255, .04 ) 70% );
	background-size: 220% 100%;
	animation: cinebyte-cast-loading 1.4s linear infinite;
}

.cinebyte-cast-loading .cinebyte-cast-loading-photo {
	height: 220px;
	margin-bottom: 8px;
}

.cinebyte-cast-loading > span:nth-child( 3 ) {
	width: 78%;
}

.cinebyte-cast-loading > span:nth-child( 4 ) {
	width: 90%;
}

.cinebyte-cast-loading > span:nth-child( 5 ) {
	width: 62%;
}

.cinebyte-cast-loading small {
	margin-top: 6px;
	color: #70869a;
	font-size: 9px;
	text-align: center;
}

@keyframes cinebyte-cast-loading {
	to { background-position: -220% 0; }
}

@media screen and ( max-width: 1080px ) {
	.cinebyte-cast-layout {
		grid-template-columns: minmax( 0, 1.5fr ) minmax( 300px, .85fr );
	}

	.cinebyte-cast-grid {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

@media screen and ( max-width: 820px ) {
	.cinebyte-cast-layout {
		grid-template-columns: 1fr;
	}

	.cinebyte-cast-grid {
		grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	}

	.cinebyte-cast-profile {
		position: static;
		min-height: 0;
	}

	.cinebyte-cast-profile-placeholder,
	.cinebyte-cast-loading {
		min-height: 390px;
	}
}

@media screen and ( max-width: 620px ) {
	.cinebyte-cast-header {
		align-items: flex-start;
		padding: 18px;
	}

	.cinebyte-cast-header h2 {
		font-size: 18px;
	}

	.cinebyte-cast-header p,
	.cinebyte-cast-count {
		display: none;
	}

	.cinebyte-cast-layout {
		gap: 16px;
		padding: 15px;
	}

	.cinebyte-cast-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: 12px;
	}

	.cinebyte-cast-profile-top {
		grid-template-columns: 90px minmax( 0, 1fr );
	}

	.cinebyte-cast-profile-top > img {
		width: 90px;
		height: 126px;
	}

	.cinebyte-cast-profile-top h3 {
		font-size: 17px;
	}
}

/* /cast/ archive: All Actors & Actresses. */
.cinebyte-cast-directory-main {
	min-height: 720px;
	padding: 30px 0 58px;
	background: #edf1f5;
}

.cinebyte-cast-breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 16px;
	color: #8b97a5;
	font-size: 11px;
}

.cinebyte-cast-breadcrumb a {
	color: #627184;
}

.cinebyte-cast-breadcrumb a:hover {
	color: #079fd3;
}

.cinebyte-cast-directory-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 26px 28px;
	border-radius: 9px;
	background: linear-gradient( 120deg, #111b28 0%, #17334b 58%, #079fd3 145% );
	box-shadow: 0 14px 38px rgba( 26, 50, 74, .16 );
	color: #fff;
}

.cinebyte-cast-directory-hero > div > span {
	display: block;
	margin-bottom: 6px;
	color: #58cff7;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.cinebyte-cast-directory-hero h1 {
	margin: 0;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 27px;
	font-weight: 750;
}

.cinebyte-cast-directory-hero h1 i {
	margin-right: 8px;
	color: #55cff9;
}

.cinebyte-cast-directory-hero p {
	margin: 7px 0 0;
	color: #9fb2c6;
	font-size: 11px;
}

.cinebyte-cast-search {
	position: relative;
	flex: 0 1 365px;
}

.cinebyte-cast-search input {
	display: block;
	width: 100%;
	height: 44px;
	padding: 0 50px 0 16px;
	border: 1px solid rgba( 255, 255, 255, .14 );
	border-radius: 5px;
	background: rgba( 255, 255, 255, .09 );
	color: #fff;
	font-size: 12px;
	transition: border-color .2s ease, background .2s ease;
}

.cinebyte-cast-search input::placeholder {
	color: #91a3b5;
}

.cinebyte-cast-search input:focus {
	border-color: #4dccf7;
	background: rgba( 255, 255, 255, .13 );
	outline: none;
}

.cinebyte-cast-search button {
	position: absolute;
	top: 0;
	right: 0;
	width: 46px;
	height: 44px;
	border: 0;
	background: transparent;
	color: #5dd3fa;
	cursor: pointer;
}

.cinebyte-cast-directory {
	margin-top: 20px;
}

.cinebyte-cast-directory .cinebyte-cast-card-copy {
	min-height: 64px;
}

.cinebyte-cast-pagination {
	display: flex;
	justify-content: center;
	margin: 25px 0 0;
}

.cinebyte-cast-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cinebyte-cast-pagination .page-numbers li {
	margin: 0;
}

.cinebyte-cast-pagination a,
.cinebyte-cast-pagination span.page-numbers:not( .dots ) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 11px;
	border: 1px solid #dbe3ea;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 4px 12px rgba( 26, 45, 65, .06 );
	color: #607084;
	font-size: 11px;
	font-weight: 700;
}

.cinebyte-cast-pagination a:hover,
.cinebyte-cast-pagination span.current {
	border-color: #079fd3;
	background: #079fd3;
	color: #fff;
}

.cinebyte-cast-pagination .dots {
	padding: 0 4px;
	color: #8c98a6;
}

.cinebyte-cast-attribution {
	margin: 14px 0 0;
	color: #8995a3;
	font-size: 9px;
	text-align: center;
}

.cinebyte-cast-attribution a {
	color: #079fd3;
	font-weight: 700;
}

.cinebyte-cast-directory-empty {
	margin-top: 20px;
	padding: 70px 25px;
	border: 1px solid #dfe6ed;
	border-radius: 9px;
	background: #fff;
	box-shadow: 0 12px 34px rgba( 25, 46, 68, .09 );
	color: #788697;
	text-align: center;
}

.cinebyte-cast-directory-empty > i {
	color: #079fd3;
	font-size: 45px;
}

.cinebyte-cast-directory-empty h2 {
	margin: 15px 0 8px;
	color: #172538;
	font-size: 21px;
}

.cinebyte-cast-directory-empty p {
	margin: 0 0 17px;
}

.cinebyte-cast-directory-empty a {
	display: inline-block;
	padding: 10px 17px;
	border-radius: 4px;
	background: #079fd3;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}

@media screen and ( max-width: 780px ) {
	.cinebyte-cast-directory-main {
		padding-top: 20px;
	}

	.cinebyte-cast-directory-hero {
		align-items: stretch;
		flex-direction: column;
		padding: 22px;
	}

	.cinebyte-cast-search {
		flex-basis: auto;
		width: 100%;
	}
}

@media screen and ( max-width: 520px ) {
	.cinebyte-cast-directory-main {
		padding-bottom: 38px;
	}

	.cinebyte-cast-directory-hero h1 {
		font-size: 22px;
	}

	.cinebyte-cast-directory-hero p {
		line-height: 1.55;
	}
}

/* Cast biography hover card: replaces the old permanent right panel. */
.cinebyte-cast-layout-hover {
	display: block;
}

.cinebyte-cast-layout-hover .cinebyte-cast-grid {
	grid-template-columns: repeat( 6, minmax( 0, 1fr ) );
}

.cinebyte-cast-hovercard {
	position: fixed;
	z-index: 10050;
	width: 370px;
	max-width: calc( 100vw - 24px );
	max-height: calc( 100vh - 24px );
	overflow: hidden;
	border: 1px solid #d8e0e8;
	border-radius: 7px;
	background: #fff;
	box-shadow: 0 22px 55px rgba( 8, 22, 38, .32 );
	opacity: 0;
	pointer-events: none;
	transform: translateY( 8px ) scale( .985 );
	visibility: hidden;
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.cinebyte-cast-hovercard.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY( 0 ) scale( 1 );
	visibility: visible;
}

.cinebyte-cast-hovercard.is-mobile {
	box-shadow: 0 0 0 9999px rgba( 6, 13, 22, .68 ), 0 22px 55px rgba( 8, 22, 38, .42 );
}

.cinebyte-cast-hovercard-content {
	max-height: calc( 100vh - 24px );
	overflow-y: auto;
}

.cinebyte-cast-hovercard-close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	padding: 0;
	border: 1px solid rgba( 255, 255, 255, .25 );
	border-radius: 50%;
	background: rgba( 8, 18, 29, .46 );
	color: #fff;
	cursor: pointer;
	font-size: 10px;
}

.cinebyte-cast-hovercard-close:hover,
.cinebyte-cast-hovercard-close:focus {
	background: #079fd3;
	outline: none;
}

.cinebyte-cast-hover-profile {
	color: #59697a;
	font-size: 10px;
}

.cinebyte-cast-hover-head {
	display: grid;
	grid-template-columns: 76px minmax( 0, 1fr );
	align-items: center;
	gap: 13px;
	min-height: 112px;
	padding: 15px 43px 15px 15px;
	background: linear-gradient( 120deg, #111c29 0%, #17344c 68%, #0a91c3 145% );
}

.cinebyte-cast-hover-head img {
	display: block;
	width: 76px;
	height: 92px;
	border: 2px solid rgba( 255, 255, 255, .22 );
	border-radius: 5px;
	object-fit: cover;
}

.cinebyte-cast-hover-head div > span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 3px 7px;
	border-radius: 999px;
	background: rgba( 76, 202, 245, .16 );
	color: #67d8fc;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cinebyte-cast-hover-head h3 {
	margin: 0;
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.2;
}

.cinebyte-cast-hover-head p {
	margin: 6px 0 0;
	color: #a9bacb;
	font-size: 9px;
}

.cinebyte-cast-hover-head p strong {
	color: #fff;
}

.cinebyte-cast-hover-facts {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 12px 15px;
	border-bottom: 1px solid #e5ebf0;
	background: #f4f7f9;
}

.cinebyte-cast-hover-facts span {
	display: block;
	color: #536476;
	font-size: 9px;
	line-height: 1.4;
}

.cinebyte-cast-hover-facts i {
	width: 16px;
	color: #079fd3;
	text-align: center;
}

.cinebyte-cast-hover-bio {
	margin: 0;
	padding: 14px 15px 12px;
	color: #536272;
	font-size: 10px;
	line-height: 1.65;
}

.cinebyte-cast-hover-known {
	padding: 0 15px 13px;
}

.cinebyte-cast-hover-known > strong {
	display: block;
	margin-bottom: 7px;
	color: #27384a;
	font-size: 9px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.cinebyte-cast-hover-known > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.cinebyte-cast-hover-known em {
	padding: 5px 7px;
	border: 1px solid #dbe4eb;
	border-radius: 3px;
	background: #f5f7f9;
	color: #536476;
	font-size: 8px;
	font-style: normal;
}

.cinebyte-cast-hover-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 15px;
	border-top: 1px solid #e2e8ee;
	background: #f4f6f8;
}

.cinebyte-cast-hover-footer > div {
	display: flex;
	gap: 5px;
}

.cinebyte-cast-hover-footer > div a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border-radius: 3px;
	background: #e4eaf0;
	color: #536679;
}

.cinebyte-cast-hover-footer > div a:hover {
	background: #079fd3;
	color: #fff;
}

.cinebyte-cast-hover-footer > a {
	padding: 8px 11px;
	border-radius: 3px;
	background: #079fd3;
	color: #fff;
	font-size: 9px;
	font-weight: 700;
}

.cinebyte-cast-hover-loading {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 220px;
	padding: 45px 22px 22px;
}

.cinebyte-cast-hover-loading span {
	display: block;
	height: 13px;
	border-radius: 4px;
	background: linear-gradient( 90deg, #edf1f4 20%, #dce4ea 45%, #edf1f4 70% );
	background-size: 220% 100%;
	animation: cinebyte-cast-loading 1.4s linear infinite;
}

.cinebyte-cast-hover-loading span:nth-child( 2 ) { width: 78%; }
.cinebyte-cast-hover-loading span:nth-child( 3 ) { width: 91%; }
.cinebyte-cast-hover-loading span:nth-child( 4 ) { width: 63%; }

.cinebyte-cast-hover-loading small {
	margin-top: 7px;
	color: #788899;
	font-size: 9px;
	text-align: center;
}

.cinebyte-cast-hover-error {
	padding: 55px 25px 35px;
	color: #718091;
	text-align: center;
}

.cinebyte-cast-hover-error > i {
	display: block;
	margin-bottom: 11px;
	color: #e95d5d;
	font-size: 28px;
}

.cinebyte-cast-hover-error strong {
	display: block;
	color: #26384a;
	font-size: 14px;
}

.cinebyte-cast-hover-error p {
	margin: 7px 0 0;
	font-size: 10px;
}

@media screen and ( max-width: 1080px ) {
	.cinebyte-cast-layout-hover .cinebyte-cast-grid {
		grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	}
}

@media screen and ( max-width: 820px ) {
	.cinebyte-cast-layout-hover .cinebyte-cast-grid {
		grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	}
}

@media screen and ( max-width: 620px ) {
	.cinebyte-cast-layout-hover .cinebyte-cast-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.cinebyte-cast-hovercard {
		width: calc( 100vw - 24px );
	}

	.cinebyte-cast-hover-head {
		grid-template-columns: 68px minmax( 0, 1fr );
	}

	.cinebyte-cast-hover-head img {
		width: 68px;
		height: 86px;
	}
}
