/* ==========================================================================
   WIMPRO — Page template styles (journal, news, about, contact, account)
   Loaded on journal/news/archive templates and page templates.
   ========================================================================== */

/* Page header */
.page-header {
	padding: 64px 0 40px;
	text-align: center;
}
.page-header__title {
	margin: 0;
	font-family: var(--wimpro-font-heading);
	font-size: clamp(30px, 5vw, 52px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.02em;
}
.page-header__desc {
	max-width: 620px;
	margin: 14px auto 0;
	color: var(--wimpro-gray);
	line-height: 1.7;
}
.wimpro-page-eyebrow {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wimpro-gold);
	font-weight: 600;
}
.wimpro-page-hero { margin-bottom: 28px; }
.wimpro-page-title { margin: 0; }
.wimpro-entry-content--prose { max-width: 780px; }

/* Journal (page-journal) */
.journal-list-section { padding: 0 0 80px; }
.journal-featured {
	margin-bottom: 40px;
	border-radius: var(--wimpro-radius-lg);
	overflow: hidden;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
}
.journal-featured__link {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	text-decoration: none;
	color: inherit;
}
.journal-featured__thumb img {
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: cover;
	display: block;
}
.journal-featured__body { padding: 36px; display: flex; flex-direction: column; justify-content: center; }
.journal-featured__title { margin: 10px 0 14px; font-size: clamp(22px, 3vw, 34px); font-weight: 800; line-height: 1.2; }
.journal-featured__excerpt { margin: 0 0 18px; color: var(--wimpro-gray); line-height: 1.7; }
.journal-featured__date { color: var(--wimpro-gray); font-size: 13px; }
.home-journal__cat {
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wimpro-gold);
	font-weight: 700;
}

.journal-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.journal-card {
	border-radius: var(--wimpro-radius-lg);
	overflow: hidden;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	transition: transform var(--wimpro-transition), border-color var(--wimpro-transition);
}
.journal-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.journal-card__link { text-decoration: none; color: inherit; display: block; }
.journal-card__thumb img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	display: block;
}
.journal-card__body { padding: 20px 22px 24px; }
.journal-card__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.journal-card__date { color: var(--wimpro-gray); font-size: 12px; }
.journal-card__title { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.4; }
.journal-card__excerpt { margin: 0; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }

/* News (home.php) */
.news-grid-section { padding: 0 0 80px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.news-card {
	border-radius: var(--wimpro-radius-lg);
	overflow: hidden;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	transition: transform var(--wimpro-transition), border-color var(--wimpro-transition);
}
.news-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.news-card__link { text-decoration: none; color: inherit; display: block; }
.news-card__image img { width: 100%; height: 190px; object-fit: cover; display: block; }
.news-card__body { padding: 20px 22px 24px; }
.news-card__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.news-card__date, .news-card__cat { color: var(--wimpro-gray); font-size: 12px; }
.news-card__cat { color: var(--wimpro-gold); text-transform: uppercase; letter-spacing: 0.1em; }
.news-card__title { margin: 0 0 8px; font-size: 18px; font-weight: 700; }
.news-card__excerpt { margin: 0 0 12px; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }
.news-card__read-more { color: var(--wimpro-gold); font-size: 13px; font-weight: 600; }

/* About */
.wimpro-about-page { padding-top: 40px; }

/* Contact */
.wimpro-contact-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 48px;
	padding: 48px 0 80px;
}
.wimpro-contact-copy { margin-top: 16px; }
.wimpro-contact-form-wrap { }
.wimpro-notice {
	padding: 14px 18px;
	border-radius: var(--wimpro-radius);
	margin-bottom: 20px;
	font-size: 14px;
	border-left: 3px solid;
}
.wimpro-notice--success { background: rgba(76,175,80,0.12); border-color: var(--wimpro-rating-g); color: #cfecce; }
.wimpro-notice--error { background: rgba(244,67,54,0.12); border-color: var(--wimpro-rating-r); color: #f3c1bd; }
.wimpro-notice ul { margin: 0; padding-left: 18px; }

/* Forms (contact + account) */
.wimpro-form { display: flex; flex-direction: column; gap: 18px; }
.wimpro-form-row--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.wimpro-form-group { display: flex; flex-direction: column; gap: 8px; }
.wimpro-form-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--wimpro-gray-light);
}
.wimpro-form-input,
.wimpro-form-select,
.wimpro-form-textarea {
	width: 100%;
	padding: 12px 14px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius);
	color: var(--wimpro-white);
	font-family: inherit;
	font-size: 15px;
	transition: border-color var(--wimpro-transition-fast);
}
.wimpro-form-input:focus,
.wimpro-form-select:focus,
.wimpro-form-textarea:focus {
	outline: none;
	border-color: var(--wimpro-gold);
}
.wimpro-form-textarea { resize: vertical; min-height: 120px; }

/* Account dashboard (page-account / page-my-wimpro) */
.wimpro-account-page,
.wimpro-account-dashboard { padding: 40px 0 80px; }
.wimpro-account-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
}
.wimpro-account-sidebar {
	position: sticky;
	top: calc(var(--wimpro-header-height) + 24px);
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
	padding: 20px;
}
.wimpro-account-user {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--wimpro-border);
	margin-bottom: 16px;
}
.wimpro-account-avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wimpro-bg);
	border: 1px solid var(--wimpro-border);
}
.wimpro-account-user-name { display: block; font-weight: 700; font-size: 15px; }
.wimpro-account-user-plan { display: block; color: var(--wimpro-gold); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 2px; }
.wimpro-account-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.wimpro-account-nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--wimpro-radius);
	color: var(--wimpro-gray);
	text-decoration: none;
	font-size: 14px;
	transition: color var(--wimpro-transition-fast), background var(--wimpro-transition-fast);
}
.wimpro-account-nav-link:hover { color: var(--wimpro-white); background: var(--wimpro-bg); }
.wimpro-account-nav-link.active { color: var(--wimpro-gold); background: var(--wimpro-bg); }

.wimpro-account-content { min-width: 0; }
.wimpro-account-title { font-size: clamp(22px, 3vw, 30px); font-weight: 800; margin: 0 0 20px; }
.wimpro-account-status-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
	margin-bottom: 28px;
}
.wimpro-account-status-card h3 { margin: 0 0 4px; font-size: 13px; color: var(--wimpro-gray); text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-account-plan-name { font-size: 20px; font-weight: 700; color: var(--wimpro-gold); }
.wimpro-account-section { margin-top: 28px; }
.wimpro-account-section-title { font-size: 18px; font-weight: 700; margin: 0 0 16px; }

.wimpro-content-grid, .wimpro-content-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.wimpro-content-card { border-radius: var(--wimpro-radius); overflow: hidden; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); }
.wimpro-card-link { text-decoration: none; color: inherit; display: block; }
.wimpro-card-poster { position: relative; overflow: hidden; }
.wimpro-card-poster img { width: 100%; display: block; object-fit: cover; }
.wimpro-card-poster--landscape img { aspect-ratio: 16 / 10; }
.wimpro-card-overlay {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(0,0,0,0.4);
	opacity: 0;
	transition: opacity var(--wimpro-transition);
}
.wimpro-content-card:hover .wimpro-card-overlay { opacity: 1; }
.wimpro-card-play {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.5);
	background: rgba(0,0,0,0.4);
	display: grid;
	place-items: center;
	cursor: pointer;
}
.wimpro-card-remove {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,0.4);
	background: rgba(0,0,0,0.6);
	display: grid;
	place-items: center;
	cursor: pointer;
}
.wimpro-card-progress { height: 4px; background: var(--wimpro-bg); }
.wimpro-progress-bar { height: 100%; background: var(--wimpro-gold); }
.wimpro-card-info { padding: 14px 16px; }
.wimpro-card-title { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.wimpro-card-progress-text, .wimpro-card-meta { color: var(--wimpro-gray); font-size: 12px; }

.wimpro-account-quick-links { display: flex; flex-wrap: wrap; gap: 12px; }
.wimpro-account-plan-card {
	padding: 24px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
}
.wimpro-account-plan-details { margin: 12px 0 18px; }
.wimpro-account-plan-name--lg { font-size: 26px; }
.wimpro-account-plan-expiry { display: block; color: var(--wimpro-gray); font-size: 13px; margin-top: 6px; }
.wimpro-account-plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 16px; }
.wimpro-account-plan-option {
	padding: 22px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
}
.wimpro-account-plan-option.current { border-color: var(--wimpro-gold); }
.wimpro-account-plan-option h3 { margin: 0 0 6px; font-size: 16px; }
.wimpro-account-plan-price { color: var(--wimpro-gold); font-size: 20px; font-weight: 700; }
.wimpro-badge--current { color: var(--wimpro-green, #7ee787); font-size: 12px; }

.wimpro-table-responsive { overflow-x: auto; }
.wimpro-table { width: 100%; border-collapse: collapse; }
.wimpro-table th, .wimpro-table td { text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--wimpro-border); font-size: 14px; }
.wimpro-table th { color: var(--wimpro-gray); text-transform: uppercase; letter-spacing: 0.05em; font-size: 12px; font-weight: 600; }

.wimpro-profiles-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.wimpro-profile-card {
	padding: 20px;
	text-align: center;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
}
.wimpro-profile-avatar {
	width: 72px;
	height: 72px;
	margin: 0 auto 12px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wimpro-bg);
	border: 1px solid var(--wimpro-border);
}
.wimpro-profile-name { font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.wimpro-profile-type { color: var(--wimpro-gray); font-size: 12px; }
.wimpro-profile-card--add {
	border-style: dashed;
	display: grid;
	place-items: center;
}
.wimpro-profile-add-btn {
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.wimpro-settings-section { margin-bottom: 36px; }
.wimpro-settings-section-title { font-size: 17px; font-weight: 700; margin: 0 0 16px; }
.wimpro-form-help { color: var(--wimpro-gray-dark); font-size: 12px; }
.wimpro-toggle { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; cursor: pointer; }
.wimpro-toggle-slider {
	position: relative;
	width: 44px;
	height: 24px;
	border-radius: 20px;
	background: var(--wimpro-border);
	transition: background var(--wimpro-transition-fast);
}
.wimpro-toggle-input { display: none; }
.wimpro-toggle-input:checked + .wimpro-toggle-slider { background: var(--wimpro-gold); }
.wimpro-toggle-input:checked + .wimpro-toggle-slider::after { transform: translateX(20px); }
.wimpro-toggle-slider::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	transition: transform var(--wimpro-transition-fast);
}
.wimpro-toggle-label { font-size: 14px; }

.wimpro-empty-state {
	text-align: center;
	padding: 60px 20px;
	color: var(--wimpro-gray);
}
.wimpro-empty-state h2 { color: var(--wimpro-white); font-size: 20px; margin: 18px 0 8px; }
.wimpro-empty-state p { margin: 0 0 20px; }

.wimpro-history-list { display: flex; flex-direction: column; gap: 12px; }
.wimpro-history-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius);
}
.wimpro-history-link { text-decoration: none; color: inherit; }
.wimpro-history-title { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
.wimpro-history-date { color: var(--wimpro-gray); font-size: 13px; }
.wimpro-btn-danger { color: var(--wimpro-rating-r) !important; border-color: var(--wimpro-rating-r) !important; }

/* Account dashboard skeleton (template-parts) */
.wimpro-account-dashboard__sidebar { border-right: 1px solid var(--wimpro-border); }
.wimpro-account-dashboard__user-info { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; }
.wimpro-account-dashboard__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
}
.wimpro-account-dashboard__avatar--placeholder {
	display: grid;
	place-items: center;
	background: var(--wimpro-card);
}
.wimpro-account-dashboard__user-name { margin: 0; font-size: 16px; }
.wimpro-account-dashboard__user-email { margin: 2px 0 0; color: var(--wimpro-gray); font-size: 13px; }
.wimpro-account-dashboard__nav-list { list-style: none; margin: 0; padding: 0; }
.wimpro-account-dashboard__nav-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 10px;
	text-decoration: none;
	color: var(--wimpro-gray);
	font-size: 14px;
	border-left: 2px solid transparent;
}
.wimpro-account-dashboard__nav-link:hover,
.wimpro-account-dashboard__nav-link--active { color: var(--wimpro-gold); border-left-color: var(--wimpro-gold); }

/* Project enquiry (page-start-a-project) */
.wimpro-container--narrow { max-width: 860px; margin-left: auto; margin-right: auto; padding: 0 16px; }
.wimpro-project-page { padding-bottom: 80px; }
.wimpro-project-hero { text-align: center; padding: 48px 0; }
.wimpro-page-title--center { text-align: center; }
.wimpro-page-desc--center { text-align: center; color: var(--wimpro-gray); max-width: 560px; margin: 14px auto 0; line-height: 1.7; }
.wimpro-project-form { display: flex; flex-direction: column; gap: 20px; }
.wimpro-form-row--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.wimpro-required { color: var(--wimpro-rating-r); }
.wimpro-form-file { display: none; }
.wimpro-file-upload-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 32px 20px;
	border: 1px dashed var(--wimpro-border);
	border-radius: var(--wimpro-radius);
	text-align: center;
	color: var(--wimpro-gray);
	cursor: pointer;
	transition: border-color var(--wimpro-transition-fast);
}
.wimpro-file-upload-label:hover { border-color: var(--wimpro-gold); }
.wimpro-file-upload-hint { font-size: 12px; color: var(--wimpro-gray-dark); }
.wimpro-form-submit { margin-top: 8px; }
.wimpro-alert {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 18px;
	border-radius: var(--wimpro-radius);
	margin-bottom: 22px;
	border-left: 3px solid var(--wimpro-rating-r);
	background: rgba(244,67,54,0.12);
	color: #f3c1bd;
}
.wimpro-alert ul { margin: 8px 0 0; padding-left: 18px; }
.wimpro-form-success {
	text-align: center;
	padding: 40px 20px;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
}
.wimpro-form-success h2 { margin: 18px 0 10px; }
.wimpro-form-success p { color: var(--wimpro-gray); max-width: 480px; margin: 0 auto 24px; line-height: 1.7; }
.wimpro-form-success-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

.wimpro-btn-icon-left {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

/* Pagination
   ============================================================================ */
.pagination { margin-top: 40px; }
.pagination .page-numbers { color: var(--wimpro-gray); padding: 6px 12px; margin: 0 2px; border-radius: var(--wimpro-radius-sm); }
.pagination .page-numbers.current { background: var(--wimpro-gold); color: var(--wimpro-bg); font-weight: 700; }
ul.page-numbers { list-style: none; display: flex; gap: 6px; justify-content: center; padding: 0; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.journal-grid, .news-grid, .wimpro-content-grid, .wimpro-content-row { grid-template-columns: repeat(2, 1fr); }
	.journal-featured__link { grid-template-columns: 1fr; }
	.journal-featured__thumb img { min-height: 200px; }
	.wimpro-contact-grid { grid-template-columns: 1fr; gap: 32px; }
	.wimpro-account-layout { grid-template-columns: 1fr; }
	.wimpro-account-sidebar { position: static; }
}

@media (max-width: 600px) {
	.journal-grid, .news-grid, .wimpro-content-grid, .wimpro-content-row, .wimpro-account-plans-grid { grid-template-columns: 1fr; }
	.wimpro-form-row--2 { grid-template-columns: 1fr; }
	.page-header { padding: 40px 0 28px; }
}

@media (prefers-reduced-motion: reduce) {
	.journal-card, .news-card, .wimpro-card-overlay, .wimpro-card-play { transition: none !important; }
}

/* ==========================================================================
   WIMPRO — PAGE TEMPLATE LAYOUTS
   Shared chrome + dedicated styling for Academy, Pricing, Movies, Series,
   Originals, Productions, Studio, Login/Register, Watch, News and About.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shared section chrome
   -------------------------------------------------------------------------- */
.wimpro-container { width: 100%; max-width: var(--wimpro-container); margin: 0 auto; padding: 0 24px; }
.wimpro-container--narrow { max-width: 760px; }

.wimpro-section { padding: 72px 0; position: relative; }

.wimpro-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 36px;
}
.wimpro-section-header--center { justify-content: center; text-align: center; }

.wimpro-section-title {
	margin: 0;
	font-family: var(--wimpro-font-heading);
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--wimpro-white);
}
.wimpro-section-title--center { text-align: center; }
.wimpro-section-title--accent { color: var(--wimpro-gold); }
.wimpro-section-subtitle {
	margin: 10px 0 0;
	max-width: 640px;
	color: var(--wimpro-gray);
	font-size: 15px;
	line-height: 1.7;
}
.wimpro-section-header--center .wimpro-section-subtitle { margin-left: auto; margin-right: auto; }
.wimpro-section-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wimpro-gold);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: color var(--wimpro-transition-fast);
}
.wimpro-section-link:hover { color: var(--wimpro-white); }

.wimpro-page-eyebrow {
	display: inline-block;
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--wimpro-gold);
	font-weight: 600;
}
.wimpro-page-title { margin: 0; font-size: clamp(28px, 4vw, 44px); font-weight: 800; }
.wimpro-page-title--center { text-align: center; }
.wimpro-page-desc { margin: 12px 0 0; color: var(--wimpro-gray); font-size: 16px; line-height: 1.7; }
.wimpro-page-desc--center { text-align: center; margin-left: auto; margin-right: auto; max-width: 640px; }

.wimpro-prose { max-width: 720px; color: var(--wimpro-gray); font-size: 16px; line-height: 1.8; }
.wimpro-prose p { margin: 0 0 1.2em; }
.wimpro-prose > :last-child { margin-bottom: 0; }

.wimpro-cta-box {
	text-align: center;
	padding: 64px 40px;
	background: linear-gradient(140deg, var(--wimpro-surface-2, #151515) 0%, var(--wimpro-surface) 100%);
	border: 1px solid var(--wimpro-border);
	border-radius: var(--wimpro-radius-lg);
}
.wimpro-cta-box h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 34px); font-weight: 800; text-transform: uppercase; }
.wimpro-cta-box p { margin: 0 0 28px; color: var(--wimpro-gray); max-width: 520px; margin-left: auto; margin-right: auto; }
.wimpro-cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.wimpro-cta-text { color: var(--wimpro-gray); }
.wimpro-cta-title { color: var(--wimpro-white); }
.wimpro-gold { color: var(--wimpro-gold); }

/* --------------------------------------------------------------------------
   Content cards (shared movies/series/originals/watch/my-wimpro contract)
   -------------------------------------------------------------------------- */
.wimpro-content-card {
	position: relative;
	border-radius: var(--wimpro-radius);
	overflow: hidden;
	background: var(--wimpro-card);
	border: 1px solid var(--wimpro-border);
	transition: transform var(--wimpro-transition), border-color var(--wimpro-transition), box-shadow var(--wimpro-transition);
}
.wimpro-content-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); box-shadow: var(--wimpro-shadow-lg); }
.wimpro-card-link { display: block; text-decoration: none; color: inherit; }
.wimpro-card-poster { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: var(--wimpro-surface); }
.wimpro-card-poster--landscape { aspect-ratio: 16 / 9; }
.wimpro-card-poster img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--wimpro-transition); }
.wimpro-content-card:hover .wimpro-card-poster img { transform: scale(1.05); }
.wimpro-card-overlay {
	position: absolute; inset: 0;
	background: rgba(0,0,0,0.5);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transition: opacity var(--wimpro-transition);
}
.wimpro-content-card:hover .wimpro-card-overlay { opacity: 1; }
.wimpro-card-overlay-top { align-items: flex-start; padding: 14px; }
.wimpro-card-overlay-bottom { align-items: flex-end; }
.wimpro-card-play {
	display: grid; place-items: center;
	width: 52px; height: 52px; border-radius: 50%;
	background: rgba(212,175,55,0.92); color: var(--wimpro-bg);
	transition: transform var(--wimpro-transition);
}
.wimpro-content-card:hover .wimpro-card-play { transform: scale(1.1); }
.wimpro-original-badge {
	display: inline-block; padding: 5px 10px; border-radius: 999px;
	background: var(--wimpro-gold); color: var(--wimpro-bg);
	font-size: 9px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase;
}
.wimpro-original-badge--gold { background: linear-gradient(180deg,#e6c55c,#D4AF37); }
.wimpro-original-badge--inline { display: inline-block; }
.wimpro-card-info { padding: 14px 16px; }
.wimpro-card-title { margin: 0 0 6px; font-size: 16px; font-weight: 600; line-height: 1.3; }
.wimpro-card-title a { color: var(--wimpro-white); }
.wimpro-card-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--wimpro-gray); flex-wrap: wrap; }
.wimpro-card-meta-text { color: var(--wimpro-gray); }
.wimpro-card-year, .wimpro-card-type { color: var(--wimpro-gray-dark); }
.wimpro-card-genres { color: var(--wimpro-gray-dark); }

/* --------------------------------------------------------------------------
   Page hero sliders (movies/series/originals/productions/studio)
   -------------------------------------------------------------------------- */
.wimpro-hero {
	position: relative; height: 72vh; min-height: 460px; max-height: 780px;
	overflow: hidden; background: radial-gradient(120% 120% at 20% 0%, #1c1c22 0%, #0b0b0e 50%, #060606 100%);
}
.wimpro-hero-slider { position: relative; height: 100%; }
.wimpro-hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.7s ease, visibility 0.7s ease; }
.wimpro-hero-slide.active { opacity: 1; visibility: visible; }
.wimpro-hero-bg, .wimpro-originals-hero-bg, .wimpro-productions-hero, .wimpro-studio-hero-bg, .wimpro-academy-hero-bg, .wimpro-about-hero-bg, .wimpro-news-hero {
	position: absolute; inset: 0; background-position: center; background-size: cover;
}
.wimpro-hero-overlay, .wimpro-originals-hero, .wimpro-studio-hero-overlay, .wimpro-academy-hero-overlay, .wimpro-about-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(5,5,8,0.92) 0%, rgba(5,5,8,0.4) 50%, rgba(5,5,8,0.2) 100%), linear-gradient(0deg,#060606 0%, rgba(6,6,6,0) 40%);
}
.wimpro-hero-content, .wimpro-originals-hero-content, .wimpro-studio-hero-content, .wimpro-academy-hero-content, .wimpro-about-hero-content {
	position: relative; z-index: 2; height: 100%;
	display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
	padding-bottom: 80px;
}
.wimpro-hero-title, .wimpro-originals-hero-title, .wimpro-studio-hero-title, .wimpro-academy-title, .wimpro-about-hero-title {
	margin: 0 0 16px; font-size: clamp(34px, 6vw, 64px); font-weight: 900;
	line-height: 1; letter-spacing: -0.02em; text-transform: uppercase; max-width: 15ch;
}
.wimpro-hero-desc, .wimpro-originals-hero-desc, .wimpro-studio-hero-desc, .wimpro-academy-hero-desc, .wimpro-about-hero-desc {
	margin: 0 0 24px; max-width: 560px; font-size: clamp(15px, 1.6vw, 18px); line-height: 1.65; color: #cfcfcf;
}
.wimpro-hero-actions, .wimpro-originals-hero-actions, .wimpro-studio-hero-actions, .wimpro-academy-hero-actions, .wimpro-about-hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.wimpro-hero-meta { display: flex; gap: 12px; margin-bottom: 24px; font-size: 13px; color: #b8b8b8; align-items: center; }
.wimpro-hero-info { margin-bottom: 24px; }
.wimpro-hero-info-btn { display: inline-flex; align-items: center; gap: 8px; }
.wimpro-hero-dots { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 3; }
.wimpro-hero-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.35); border: 0; padding: 0; cursor: pointer; }
.wimpro-hero-dot.active { width: 26px; border-radius: 4px; background: var(--wimpro-gold); }
.wimpro-hero-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.25); color: #fff; cursor: pointer; }
.wimpro-hero-prev { left: 24px; }
.wimpro-hero-next { right: 24px; }

/* --------------------------------------------------------------------------
   Movies / Series browse (filters + grids)
   -------------------------------------------------------------------------- */
.wimpro-movies-page, .wimpro-series-page, .wimpro-originals-page, .wimpro-productions-page { padding-bottom: 80px; }
.wimpro-browse-header { padding: 56px 0 12px; }
.wimpro-browse-filters { padding: 20px 0 8px; border-bottom: 1px solid var(--wimpro-border); margin-bottom: 32px; }
.wimpro-filters-filter-form, .wimpro-movies-filter-form { margin: 0; }
.wimpro-filter-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: flex-end; }
.wimpro-filter-group { display: flex; flex-direction: column; gap: 6px; }
.wimpro-filter-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--wimpro-gray); font-weight: 600; }
.wimpro-filter-search { flex: 1; min-width: 220px; }
.wimpro-filter-search-input,
.wimpro-filter-select {
	width: 100%; padding: 11px 14px; border-radius: var(--wimpro-radius);
	background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
	color: var(--wimpro-white); font-size: 14px;
}
.wimpro-filter-search-input:focus, .wimpro-filter-select:focus { border-color: var(--wimpro-gold); outline: none; }
.wimpro-filter-search-input::placeholder { color: var(--wimpro-gray-dark); }
.wimpro-filter-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.wimpro-pill {
	padding: 9px 18px; border-radius: 999px; border: 1px solid var(--wimpro-border);
	background: transparent; color: var(--wimpro-gray); font-size: 13px; font-weight: 600;
	cursor: pointer; transition: all var(--wimpro-transition-fast);
	text-decoration: none; display: inline-block;
}
.wimpro-pill:hover, .wimpro-pill.active { border-color: var(--wimpro-gold); color: var(--wimpro-gold); }
.wimpro-filter-count { margin-left: auto; font-size: 13px; color: var(--wimpro-gray-dark); }

.wimpro-movies-grid, .wimpro-series-grid, .wimpro-originals-grid, .wimpro-productions-grid, .wimpro-categories-grid, .wimpro-instructors-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.wimpro-content-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 32px; }
.wimpro-content-content-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

.wimpro-load-more { text-align: center; margin-top: 40px; }
.wimpro-load-more-btn { display: inline-flex; align-items: center; gap: 10px; }
.wimpro-load-more-text { font-size: 14px; }
.wimpro-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.25); border-top-color: var(--wimpro-gold); border-radius: 50%; animation: wimproSpin 0.7s linear infinite; }
.wimpro-spinner--sm { width: 14px; height: 14px; }
@keyframes wimproSpin { to { transform: rotate(360deg); } }

.wimpro-filter-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.wimpro-filter-tab {
	padding: 11px 22px; border-radius: 999px; border: 1px solid var(--wimpro-border);
	background: transparent; color: var(--wimpro-gray); font-size: 13px; font-weight: 700;
	letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer;
	transition: all var(--wimpro-transition-fast);
}
.wimpro-filter-tab:hover, .wimpro-filter-tab.active { background: var(--wimpro-gold); border-color: var(--wimpro-gold); color: var(--wimpro-bg); }

.wimpro-empty-state { text-align: center; padding: 70px 24px; grid-column: 1 / -1; }
.wimpro-empty-state--full { grid-column: 1 / -1; padding: 100px 24px; }
.wimpro-empty-state h2 { font-size: 1.6rem; margin-bottom: 10px; }
.wimpro-empty-state p { color: var(--wimpro-gray); margin-bottom: 24px; }
.wimpro-empty-state--sm { padding: 40px 24px; }
.wimpro-pagination-nav { margin-top: 40px; }

/* --------------------------------------------------------------------------
   Academy
   -------------------------------------------------------------------------- */
.wimpro-academy-page { padding-bottom: 40px; }
.wimpro-academy-hero .wimpro-academy-hero-content { justify-content: center; text-align: center; align-items: center; }
.wimpro-academy-label {
	display: inline-block; margin-bottom: 12px; font-size: 12px; letter-spacing: 0.3em;
	text-transform: uppercase; color: var(--wimpro-gold); font-weight: 700;
}
.wimpro-academy-tagline { margin: 0 0 18px; font-size: 13px; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; color: #fff; opacity: 0.85; text-align: center; }
.wimpro-academy-hero-actions { justify-content: center; }
.wimpro-academy-categories { background: var(--wimpro-surface); }
.wimpro-category-card {
	display: block; padding: 28px 24px; border-radius: var(--wimpro-radius-lg);
	background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
	text-decoration: none; color: inherit;
	transition: border-color var(--wimpro-transition), transform var(--wimpro-transition);
}
.wimpro-category-card:hover { border-color: var(--wimpro-gold); transform: translateY(-3px); }
.wimpro-category-icon { margin-bottom: 16px; }
.wimpro-category-title { margin: 0 0 8px; font-size: 18px; text-transform: uppercase; letter-spacing: 0.05em; }
.wimpro-category-desc { margin: 0 0 14px; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }
.wimpro-category-arrow { color: var(--wimpro-gold); }
.wimpro-courses-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.wimpro-course-card { border-radius: var(--wimpro-radius); overflow: hidden; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); transition: transform var(--wimpro-transition), border-color var(--wimpro-transition); }
.wimpro-course-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.wimpro-course-link { display: block; text-decoration: none; color: inherit; }
.wimpro-course-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.wimpro-course-thumb img { width: 100%; height: 100%; object-fit: cover; }
.wimpro-course-level { position: absolute; top: 12px; left: 12px; padding: 5px 10px; border-radius: 999px; background: var(--wimpro-gold); color: var(--wimpro-bg); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-course-info { padding: 16px 18px; }
.wimpro-course-title { margin: 0 0 6px; font-size: 16px; }
.wimpro-course-excerpt { margin: 0 0 12px; color: var(--wimpro-gray); font-size: 13px; line-height: 1.5; }
.wimpro-course-meta { display: flex; gap: 14px; margin-bottom: 10px; }
.wimpro-course-meta-item { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--wimpro-gray-dark); }
.wimpro-course-price { font-size: 15px; font-weight: 700; }
.wimpro-price--free { color: var(--wimpro-rating-g); }
.wimpro-academy-cta-box, .wimpro-cta-box { text-align: center; padding: 60px 40px; background: linear-gradient(140deg, var(--wimpro-surface-2, #151515), var(--wimpro-surface)); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-academy-cta-box h2 { margin: 0 0 12px; font-size: clamp(24px,3vw,32px); text-transform: uppercase; }
.wimpro-academy-cta-box p { margin: 0 0 28px; color: var(--wimpro-gray); }
.wimpro-instructor-card { text-align: center; padding: 24px 20px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-instructor-avatar { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; margin: 0 auto 14px; }
.wimpro-instructor-avatar img { width: 100%; height: 100%; object-fit: cover; }
.wimpro-instructor-name { margin: 0 0 4px; font-size: 17px; }
.wimpro-instructor-role { margin: 0 0 6px; color: var(--wimpro-gold); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-instructor-credits { margin: 0; color: var(--wimpro-gray-dark); font-size: 13px; }
.wimpro-testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.wimpro-testimonial-card { padding: 28px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-testimonial-rating { margin-bottom: 14px; display: flex; gap: 2px; }
.wimpro-testimonial-quote { margin: 0 0 18px; color: var(--wimpro-gray); font-size: 15px; line-height: 1.7; font-style: italic; }
.wimpro-testimonial-author { display: flex; flex-direction: column; }
.wimpro-testimonial-name { font-weight: 700; }
.wimpro-testimonial-course { color: var(--wimpro-gray-dark); font-size: 13px; }

/* --------------------------------------------------------------------------
   Pricing
   -------------------------------------------------------------------------- */
.wimpro-pricing-page { padding-bottom: 60px; }
.wimpro-pricing-hero { padding: 64px 0 20px; }
.wimpro-pricing-plans { padding: 20px 0; }
.wimpro-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.wimpro-pricing-card { position: relative; display: flex; flex-direction: column; padding: 32px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-pricing-card--highlight { border-color: var(--wimpro-gold); background: linear-gradient(180deg, var(--wimpro-surface-2, #151515), var(--wimpro-card)); }
.wimpro-pricing-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); padding: 7px 16px; border-radius: 999px; background: var(--wimpro-gold); color: var(--wimpro-bg); font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.wimpro-pricing-name { margin: 0 0 16px; font-size: 20px; text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-pricing-price { margin-bottom: 14px; display: flex; align-items: baseline; gap: 2px; }
.wimpro-pricing-currency { font-size: 20px; color: var(--wimpro-gold); }
.wimpro-pricing-amount { font-size: 44px; font-weight: 900; line-height: 1; }
.wimpro-pricing-period { font-size: 14px; color: var(--wimpro-gray); }
.wimpro-pricing-desc { margin: 0 0 20px; color: var(--wimpro-gray); font-size: 14px; }
.wimpro-pricing-features { flex: 1; margin-bottom: 28px; }
.wimpro-pricing-feature-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.wimpro-pricing-feature { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--wimpro-gray); }
.wimpro-pricing-feature svg { flex-shrink: 0; margin-top: 3px; }
.wimpro-pricing-cta { margin-top: auto; }
.wimpro-pricing-comparison { padding: 40px 0; }
.wimpro-table-responsive { overflow-x: auto; }
.wimpro-comparison-table { width: 100%; border-collapse: collapse; background: var(--wimpro-card); border-radius: var(--wimpro-radius-lg); overflow: hidden; }
.wimpro-comparison-table th, .wimpro-comparison-table td { padding: 16px 20px; text-align: center; border-bottom: 1px solid var(--wimpro-border); }
.wimpro-comparison-table th { background: var(--wimpro-surface-2, #151515); font-size: 13px; text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-comparison-feature { text-align: left !important; font-weight: 600; }
.wimpro-comparison-highlight { color: var(--wimpro-gold); }
.wimpro-comparison-cell { color: var(--wimpro-gray); }
.wimpro-pricing-faq { padding: 40px 0; }
.wimpro-faq-list { display: flex; flex-direction: column; gap: 14px; }
.wimpro-faq-item { background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius); overflow: hidden; }
.wimpro-faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; text-align: left; color: var(--wimpro-white); font-size: 15px; font-weight: 600; background: none; border: 0; cursor: pointer; }
.wimpro-faq-icon { transition: transform var(--wimpro-transition-fast); color: var(--wimpro-gold); }
.wimpro-faq-item.open .wimpro-faq-icon { transform: rotate(180deg); }
.wimpro-faq-answer { max-height: 0; overflow: hidden; transition: max-height var(--wimpro-transition); }
.wimpro-faq-answer-inner { padding: 0 22px 18px; color: var(--wimpro-gray); font-size: 14px; line-height: 1.7; }
.wimpro-faq-item.open .wimpro-faq-answer { max-height: 600px; }

/* --------------------------------------------------------------------------
   Auth (login / register)
   -------------------------------------------------------------------------- */
.wimpro-auth-page { min-height: calc(100vh - var(--wimpro-header-height)); display: grid; place-items: center; padding: 48px 24px; }
.wimpro-auth-container { width: 100%; max-width: 440px; }
.wimpro-auth-box { padding: 36px 32px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-logo--center { display: flex; justify-content: center; }
.wimpro-logo-text--lg { font-size: 1.6rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.wimpro-auth-header { text-align: center; margin-bottom: 28px; }
.wimpro-auth-title { margin: 0 0 6px; font-size: 24px; }
.wimpro-auth-subtitle { margin: 0; color: var(--wimpro-gray); font-size: 14px; }
.wimpro-auth-form { display: flex; flex-direction: column; gap: 16px; }
.wimpro-form-row { display: grid; gap: 14px; }
.wimpro-form-group { display: flex; flex-direction: column; gap: 6px; }
.wimpro-form-label { font-size: 13px; font-weight: 600; color: var(--wimpro-gray); }
.wimpro-form-input, .wimpro-form-select, .wimpro-form-textarea {
	width: 100%; padding: 12px 14px; border-radius: var(--wimpro-radius);
	background: var(--wimpro-surface); border: 1px solid var(--wimpro-border);
	color: var(--wimpro-white); font-size: 14px;
}
.wimpro-form-input:focus, .wimpro-form-select:focus, .wimpro-form-textarea:focus { border-color: var(--wimpro-gold); outline: none; }
.wimpro-form-textarea { resize: vertical; min-height: 120px; }
.wimpro-form-help { font-size: 12px; color: var(--wimpro-gray-dark); }
.wimpro-password-wrap { position: relative; }
.wimpro-password-wrap .wimpro-form-input { padding-right: 46px; }
.wimpro-password-toggle { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); color: var(--wimpro-gray); background: none; border: 0; cursor: pointer; }
.wimpro-checkbox { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; color: var(--wimpro-gray); }
.wimpro-checkbox input { position: absolute; opacity: 0; width: 0; height: 0; }
.wimpro-checkbox-checkmark { width: 20px; height: 20px; border-radius: 5px; border: 1px solid var(--wimpro-border); background: var(--wimpro-surface); display: grid; place-items: center; flex-shrink: 0; transition: background var(--wimpro-transition-fast), border-color var(--wimpro-transition-fast); }
.wimpro-checkbox input:checked + .wimpro-checkbox-checkmark { background: var(--wimpro-gold); border-color: var(--wimpro-gold); }
.wimpro-checkbox input:checked + .wimpro-checkbox-checkmark::after { content: ''; width: 10px; height: 10px; background: var(--wimpro-bg); clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); }
.wimpro-auth-divider { display: flex; align-items: center; gap: 14px; color: var(--wimpro-gray-dark); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; margin: 6px 0; }
.wimpro-auth-divider::before, .wimpro-auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--wimpro-border); }
.wimpro-social-login { display: flex; flex-direction: column; gap: 12px; }
.wimpro-btn-social { display: flex; align-items: center; justify-content: center; gap: 10px; }
.wimpro-auth-footer { text-align: center; margin-top: 20px; color: var(--wimpro-gray); font-size: 14px; }
.wimpro-link { color: var(--wimpro-gold); text-decoration: none; }
.wimpro-link:hover { text-decoration: underline; }
.wimpro-btn-spinner { display: inline-flex; align-items: center; gap: 10px; }
.wimpro-btn-text { }
.wimpro-alert { padding: 14px 18px; border-radius: var(--wimpro-radius); margin-bottom: 18px; font-size: 14px; }
.wimpro-alert--error { background: rgba(244,67,54,0.12); border: 1px solid rgba(244,67,54,0.4); color: #ff8a80; }
.wimpro-alert--success { background: rgba(76,175,80,0.12); border: 1px solid rgba(76,175,80,0.4); color: #81c784; }
.wimpro-alert ul { margin: 0; padding-left: 18px; }

/* --------------------------------------------------------------------------
   Watch
   -------------------------------------------------------------------------- */
.wimpro-watch-page { padding-top: var(--wimpro-header-height); }
.wimpro-video-container { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 80vh; background: #000; }
.wimpro-video-wrapper { position: absolute; inset: 0; }
.wimpro-video-player { width: 100%; height: 100%; object-fit: contain; background: #000; }
.wimpro-video-poster { position: absolute; inset: 0; background-position: center; background-size: cover; }
.wimpro-video-loading { position: absolute; inset: 0; display: grid; place-items: center; background: #000; }
.wimpro-player-controls { position: absolute; bottom: 0; left: 0; right: 0; padding: 40px 20px 14px; background: linear-gradient(transparent, rgba(0,0,0,0.85)); display: flex; align-items: center; gap: 14px; }
.wimpro-player-play, .wimpro-player-volume { background: none; border: 0; color: #fff; cursor: pointer; }
.wimpro-player-progress { flex: 1; height: 5px; border-radius: 999px; background: rgba(255,255,255,0.3); cursor: pointer; }
.wimpro-player-progress-bar { height: 100%; width: 0; background: var(--wimpro-gold); border-radius: 999px; }
.wimpro-player-time { font-size: 12px; color: #fff; }
.wimpro-player-fullscreen, .wimpro-btn-icon { background: none; border: 0; color: #fff; cursor: pointer; }
.wimpro-cinema-mode { position: fixed; inset: 0; z-index: 9990; background: #000; }
.wimpro-cinema-player { width: 100%; height: 100%; }
.wimpro-cinema-toggle, .wimpro-cinema-exit { background: none; border: 0; color: #fff; cursor: pointer; }
.wimpro-player-section { padding: 32px 0 0; }
.wimpro-watch-info { padding: 28px 0; border-bottom: 1px solid var(--wimpro-border); }
.wimpro-watch-info-inner { display: flex; gap: 32px; flex-wrap: wrap; }
.wimpro-watch-info-main { flex: 1; min-width: 260px; }
.wimpro-watch-title { margin: 0 0 14px; font-size: clamp(26px, 3.6vw, 40px); font-weight: 800; text-transform: uppercase; line-height: 1.1; }
.wimpro-watch-meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; font-size: 14px; color: var(--wimpro-gray); }
.wimpro-watch-meta-item { display: inline-flex; align-items: center; gap: 6px; }
.wimpro-watch-genres, .wimpro-watch-description { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; color: var(--wimpro-gray); font-size: 15px; line-height: 1.7; }
.wimpro-genre-tag { padding: 4px 12px; border-radius: 999px; background: var(--wimpro-surface-2, #151515); border: 1px solid var(--wimpro-border); font-size: 12px; color: var(--wimpro-gray); }
.wimpro-watch-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.wimpro-mylist-btn, .wimpro-like-btn, .wimpro-share-btn { display: inline-flex; align-items: center; gap: 8px; }
.wimpro-download-btn { display: inline-flex; align-items: center; gap: 8px; }
.wimpro-heading { font-size: 20px; font-weight: 700; margin-bottom: 18px; }
.wimpro-text-muted { color: var(--wimpro-gray); }
.wimpro-episode-sidebar { margin-top: 28px; }
.wimpro-episode-sidebar-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.wimpro-season-select { padding: 10px 14px; border-radius: var(--wimpro-radius); background: var(--wimpro-card); border: 1px solid var(--wimpro-border); color: var(--wimpro-white); }
.wimpro-episode-list { display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow: auto; padding-right: 6px; }
.wimpro-episode-item { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: var(--wimpro-radius); border: 1px solid var(--wimpro-border); background: var(--wimpro-card); cursor: pointer; transition: border-color var(--wimpro-transition-fast); }
.wimpro-episode-item:hover, .wimpro-episode-item--current { border-color: var(--wimpro-gold); }
.wimpro-episode-thumb { flex: 0 0 96px; border-radius: var(--wimpro-radius-sm); overflow: hidden; }
.wimpro-episode-thumb img { width: 96px; height: 56px; object-fit: cover; display: block; }
.wimpro-episode-number { font-size: 12px; color: var(--wimpro-gray-dark); font-weight: 700; }
.wimpro-episode-title { font-size: 14px; font-weight: 600; }
.wimpro-episode-duration { font-size: 12px; color: var(--wimpro-gray-dark); }
.wimpro-episode-playing-icon { color: var(--wimpro-gold); }
.wimpro-episode-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.wimpro-episode-desc { }
.wimpro-paywall { }
.wimpro-paywall--fullscreen { position: fixed; inset: 0; z-index: 9990; display: grid; place-items: center; background: rgba(4,4,4,0.95); padding: 24px; }
.wimpro-paywall-inner { text-align: center; max-width: 440px; }
.wimpro-paywall-icon { color: var(--wimpro-gold); margin-bottom: 18px; }
.wimpro-paywall-title { font-size: 26px; font-weight: 800; margin-bottom: 12px; }
.wimpro-paywall-text { color: var(--wimpro-gray); margin-bottom: 28px; line-height: 1.6; }
.wimpro-paywall-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.wimpro-content-carousel { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.wimpro-content-carousel .wimpro-content-card { flex: 0 0 220px; scroll-snap-align: start; }

/* --------------------------------------------------------------------------
   Productions
   -------------------------------------------------------------------------- */
.wimpro-productions-hero { padding: 80px 0; background: linear-gradient(180deg, var(--wimpro-surface) 0%, var(--wimpro-bg) 100%); }
.wimpro-production-card { border-radius: var(--wimpro-radius); overflow: hidden; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); transition: transform var(--wimpro-transition), border-color var(--wimpro-transition); }
.wimpro-production-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.wimpro-production-link { display: block; text-decoration: none; color: inherit; }
.wimpro-production-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.wimpro-production-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wimpro-production-overlay { position: absolute; inset: 0; display: flex; justify-content: space-between; align-items: flex-start; padding: 14px; background: linear-gradient(transparent 40%, rgba(0,0,0,0.7)); }
.wimpro-production-year-badge { align-self: flex-end; color: var(--wimpro-gold); font-size: 13px; font-weight: 600; }
.wimpro-production-info, .wimpro-portfolio-info { padding: 16px 18px; }
.wimpro-production-title, .wimpro-portfolio-title { margin: 0 0 4px; font-size: 16px; }
.wimpro-production-type, .wimpro-production-year { color: var(--wimpro-gray-dark); font-size: 13px; }

/* --------------------------------------------------------------------------
   Studio
   -------------------------------------------------------------------------- */
.wimpro-studio-page { padding-bottom: 40px; }
.wimpro-studio-hero .wimpro-studio-hero-content { justify-content: center; }
.wimpro-studio-hero-title { max-width: 20ch; }
.wimpro-studio-services { background: var(--wimpro-surface); }
.wimpro-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wimpro-service-card { padding: 28px 24px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); transition: border-color var(--wimpro-transition), transform var(--wimpro-transition); }
.wimpro-service-card:hover { border-color: var(--wimpro-gold); transform: translateY(-3px); }
.wimpro-service-icon { margin-bottom: 16px; color: var(--wimpro-gold); }
.wimpro-service-title { margin: 0 0 10px; font-size: 18px; text-transform: uppercase; letter-spacing: 0.05em; }
.wimpro-service-desc { margin: 0; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }
.wimpro-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.wimpro-portfolio-card { border-radius: var(--wimpro-radius); overflow: hidden; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); transition: transform var(--wimpro-transition), border-color var(--wimpro-transition); }
.wimpro-portfolio-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.wimpro-portfolio-link { display: block; text-decoration: none; color: inherit; }
.wimpro-portfolio-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.wimpro-portfolio-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wimpro-portfolio-overlay { position: absolute; top: 14px; left: 14px; }
.wimpro-portfolio-year { color: var(--wimpro-gray-dark); font-size: 13px; }
.wimpro-studio-cta { padding-bottom: 72px; }
.wimpro-btn-xl { padding: 18px 42px; font-size: 15px; }

/* --------------------------------------------------------------------------
   News
   -------------------------------------------------------------------------- */
.wimpro-news-page { padding-bottom: 60px; }
.wimpro-news-featured-card { position: relative; border-radius: var(--wimpro-radius-lg); overflow: hidden; margin-bottom: 40px; }
.wimpro-news-featured-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,4,4,0.92) 0%, rgba(4,4,4,0.2) 70%); }
.wimpro-news-featured-info { position: relative; z-index: 2; padding: 60px 28px 28px; }
.wimpro-news-category-badge { display: inline-block; margin-bottom: 12px; padding: 6px 12px; border-radius: 999px; background: var(--wimpro-gold); color: var(--wimpro-bg); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.wimpro-badge--primary { background: var(--wimpro-gold); color: var(--wimpro-bg); }
.wimpro-news-featured-title { margin: 0 0 12px; font-size: clamp(22px, 3vw, 34px); font-weight: 800; line-height: 1.2; }
.wimpro-news-featured-excerpt { color: var(--wimpro-gray); max-width: 640px; margin-bottom: 16px; line-height: 1.6; }
.wimpro-news-meta { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--wimpro-gray); }
.wimpro-news-separator { width: 4px; height: 4px; border-radius: 50%; background: var(--wimpro-gray-dark); }
.wimpro-news-author { font-weight: 600; color: var(--wimpro-white); }
.wimpro-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.wimpro-news-card { border-radius: var(--wimpro-radius); overflow: hidden; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); transition: transform var(--wimpro-transition), border-color var(--wimpro-transition); }
.wimpro-news-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.wimpro-news-card-link { display: block; text-decoration: none; color: inherit; }
.wimpro-news-card-image { aspect-ratio: 16/9; overflow: hidden; }
.wimpro-news-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wimpro-news-card-body { padding: 18px 20px; }
.wimpro-news-date { color: var(--wimpro-gray-dark); font-size: 13px; }
.wimpro-news-card-title { margin: 8px 0 8px; font-size: 17px; line-height: 1.3; }
.wimpro-news-card-excerpt { margin: 0; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }

/* --------------------------------------------------------------------------
   About
   -------------------------------------------------------------------------- */
.wimpro-about-page { padding-bottom: 40px; }
.wimpro-about-hero .wimpro-about-hero-content { justify-content: center; }
.wimpro-about-hero-title { max-width: 20ch; }
.wimpro-about-intro { padding: 72px 0; }
.wimpro-about-context { background: var(--wimpro-surface); }
.wimpro-about-context-grid { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 56px; align-items: center; }
.wimpro-about-context-stats { display: flex; flex-direction: column; gap: 18px; }
.wimpro-stat-card { padding: 24px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-left: 3px solid var(--wimpro-gold); border-radius: var(--wimpro-radius); }
.wimpro-stat-number { display: block; font-size: 40px; font-weight: 900; color: var(--wimpro-gold); line-height: 1; margin-bottom: 8px; }
.wimpro-stat-label { color: var(--wimpro-gray); font-size: 14px; line-height: 1.5; }
.wimpro-about-services { background: var(--wimpro-bg); }
.wimpro-about-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wimpro-about-service { padding: 26px 24px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); }
.wimpro-about-service-title { margin: 0 0 10px; font-size: 17px; text-transform: uppercase; letter-spacing: 0.04em; }
.wimpro-about-service-desc { margin: 0; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; }
.wimpro-about-values { background: var(--wimpro-surface); }
.wimpro-about-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wimpro-about-value { text-align: center; padding: 20px; }
.wimpro-about-value-title { margin: 0 0 10px; font-size: 19px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wimpro-gold); }
.wimpro-about-value-desc { margin: 0; color: var(--wimpro-gray); font-size: 14px; line-height: 1.6; max-width: 300px; margin-left: auto; margin-right: auto; }
.wimpro-about-cards { padding: 40px 0 72px; }
.wimpro-about-cards-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.wimpro-about-card { display: block; padding: 36px; background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); text-decoration: none; color: inherit; transition: border-color var(--wimpro-transition), transform var(--wimpro-transition); }
.wimpro-about-card:hover { border-color: var(--wimpro-gold); transform: translateY(-4px); }
.wimpro-about-card-eyebrow { display: inline-block; margin-bottom: 12px; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wimpro-gold); font-weight: 700; }
.wimpro-about-card-title { margin: 0 0 12px; font-size: 24px; text-transform: uppercase; }
.wimpro-about-card-desc { margin: 0 0 18px; color: var(--wimpro-gray); line-height: 1.6; }
.wimpro-about-card-link { font-size: 14px; font-weight: 700; color: var(--wimpro-gold); text-transform: uppercase; letter-spacing: 0.06em; }
.wimpro-about-cta { padding: 40px 0 72px; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.wimpro-movies-grid, .wimpro-series-grid, .wimpro-originals-grid, .wimpro-productions-grid, .wimpro-categories-grid, .wimpro-instructors-grid,
	.wimpro-content-row, .wimpro-content-content-row, .wimpro-courses-row,
	.wimpro-services-grid, .wimpro-about-services-grid { grid-template-columns: repeat(3, 1fr); }
	.wimpro-pricing-grid, .wimpro-portfolio-grid { grid-template-columns: repeat(2, 1fr); }
	.wimpro-testimonials-grid { grid-template-columns: repeat(2, 1fr); }
	.wimpro-about-context-grid { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 768px) {
	.wimpro-section { padding: 52px 0; }
	.wimpro-section-header { flex-direction: column; align-items: flex-start; gap: 12px; }
	.wimpro-movies-grid, .wimpro-series-grid, .wimpro-originals-grid, .wimpro-productions-grid, .wimpro-categories-grid, .wimpro-instructors-grid,
	.wimpro-content-row, .wimpro-content-content-row, .wimpro-courses-row,
	.wimpro-services-grid, .wimpro-about-services-grid, .wimpro-news-grid { grid-template-columns: repeat(2, 1fr); }
	.wimpro-pricing-grid { grid-template-columns: 1fr; }
	.wimpro-filter-row { flex-direction: column; align-items: stretch; }
	.wimpro-filter-count { margin-left: 0; }
	.wimpro-hero { height: 62vh; min-height: 420px; }
	.wimpro-hero-prev { left: 12px; }
	.wimpro-hero-next { right: 12px; }
	.wimpro-watch-info-inner { flex-direction: column; }
	.wimpro-about-cards-grid { grid-template-columns: 1fr; }
	.wimpro-about-values-grid { grid-template-columns: 1fr; }
	.wimpro-cta-box { padding: 44px 24px; }
}

@media (max-width: 480px) {
	.wimpro-movies-grid, .wimpro-series-grid, .wimpro-originals-grid, .wimpro-productions-grid,
	.wimpro-content-row, .wimpro-content-content-row, .wimpro-courses-row,
	.wimpro-news-grid { grid-template-columns: 1fr; }
	.wimpro-testimonials-grid, .wimpro-portfolio-grid { grid-template-columns: 1fr; }
	.wimpro-services-grid, .wimpro-about-services-grid { grid-template-columns: 1fr 1fr; }
	.wimpro-cta-actions, .wimpro-about-hero-actions, .wimpro-hero-actions { flex-direction: column; align-items: stretch; }
	.wimpro-cta-actions .wimpro-btn, .wimpro-about-hero-actions .wimpro-btn, .wimpro-hero-actions .wimpro-btn { width: 100%; }
}



/* ==========================================================================
   WIMPRO — Movie / Series / Episode detail + Movie/Series archives
   Rendered via single-movie.php, single-series.php, single-episode.php,
   archive-movie.php and archive-series.php (loaded on every non-front page).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Breadcrumbs (single + generic archives)
   -------------------------------------------------------------------------- */
.breadcrumbs,
.wimpro-breadcrumbs {
  font-size: 13px;
  color: var(--wimpro-gray-dark);
  margin-bottom: 24px;
}
.breadcrumbs__list,
.breadcrumbs-list,
.wimpro-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.breadcrumbs__item,
.breadcrumbs-item,
.wimpro-breadcrumbs__item { display: inline-flex; align-items: center; gap: 6px; }
.breadcrumbs__link,
.breadcrumbs-link,
.wimpro-breadcrumbs__link { color: var(--wimpro-gray); transition: color var(--wimpro-transition-fast); }
.breadcrumbs__link:hover,
.breadcrumbs-link:hover,
.wimpro-breadcrumbs__link:hover { color: var(--wimpro-gold); }
.breadcrumbs__item--current,
.breadcrumbs__current,
.breadcrumbs__item--current,
.wimpro-breadcrumbs__item--current { color: var(--wimpro-white); font-weight: 600; }
.breadcrumbs__separator,
.breadcrumbs-separator,
.wimpro-breadcrumbs__separator { color: var(--wimpro-gray-dark); }

/* --------------------------------------------------------------------------
   Content hero (shared by single-movie, single-series, single-episode)
   -------------------------------------------------------------------------- */
.single-movie, .single-series, .single-episode { padding-bottom: 60px; }

.single-movie__hero,
.single-series__hero,
.single-episode__hero {
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: flex-end;
  padding: 120px 0 48px;
  overflow: hidden;
  background:
    radial-gradient(120% 120% at 20% 0%, #1c1c22 0%, #0b0b0e 50%, #060606 100%);
}
.single-movie__backdrop-wrap,
.single-series__backdrop-wrap,
.single-episode__thumb-wrap {
  position: absolute; inset: 0;
}
.single-movie__backdrop,
.single-series__backdrop,
.single-episode__thumb {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.single-movie__hero-gradient,
.single-series__hero-gradient,
.single-episode__thumb-gradient {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,8,0.94) 0%, rgba(5,5,8,0.5) 55%, rgba(5,5,8,0.25) 100%),
    linear-gradient(0deg, #060606 0%, rgba(6,6,6,0) 45%);
}
.single-movie__hero-content,
.single-series__hero-content,
.single-episode__hero-content {
  position: relative; z-index: 2; width: 100%;
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 40px;
  align-items: end;
}
.single-movie__poster-col,
.single-series__poster-col { align-self: end; }
.single-movie__poster,
.single-series__poster {
  width: 100%; max-width: 260px; aspect-ratio: 2/3; object-fit: cover;
  border-radius: var(--wimpro-radius-lg);
  box-shadow: 0 24px 60px rgba(0,0,0,0.6);
  border: 1px solid var(--wimpro-border);
}
.single-movie__info-col,
.single-series__info-col { padding-bottom: 8px; }
.single-movie__title,
.single-series__title {
  margin: 18px 0 16px;
  font-size: clamp(30px, 5vw, 56px);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: -0.02em;
  max-width: 16ch;
}
.single-movie__meta-row,
.single-series__meta-row,
.single-episode__meta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin-bottom: 18px;
}
.single-movie__meta-item,
.single-series__meta-item,
.single-episode__meta-item { color: var(--wimpro-gray); font-size: 14px; }
.single-movie__meta-item + .single-movie__meta-item::before,
.single-series__meta-item + .single-series__meta-item::before,
.single-episode__meta-item + .single-episode__meta-item::before {
  content: ''; display: inline-block; width: 4px; height: 4px; border-radius: 50%;
  background: var(--wimpro-gold); margin: 0 8px 3px;
}
.single-movie__meta-item--rated,
.single-series__meta-item--rated,
.single-episode__meta-item--rated { color: var(--wimpro-gold); font-weight: 700; }
.single-movie__meta-item--imdb,
.single-series__meta-item--imdb { color: #f5c518; font-weight: 600; }
.single-series__meta-item--status { color: var(--wimpro-rating-g); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.single-movie__genres,
.single-series__genres { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.single-movie__synopsis,
.single-series__synopsis,
.single-episode__synopsis {
  margin: 0 0 24px; max-width: 640px; color: #cfcfcf; font-size: 16px; line-height: 1.7;
}
.single-movie__actions,
.single-series__actions,
.single-episode__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Episode hero specifics */
.single-episode__badge-row { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.single-episode__ep-num { font-size: 14px; color: var(--wimpro-gold); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.single-episode__series-link { color: var(--wimpro-gray); }
.single-episode__series-link:hover { color: var(--wimpro-gold); }
.single-episode__navigation { margin-top: 24px; }

/* --------------------------------------------------------------------------
   Tabs (About / Cast / Trailer / BTS / Recs)
   -------------------------------------------------------------------------- */
.single-movie__tabs-section,
.single-series__tabs-section { padding: 32px 0; }
.tabs {
  display: flex; flex-wrap: wrap; gap: 6px;
  border-bottom: 1px solid var(--wimpro-border);
  margin-bottom: 36px;
}
.tabs__tab {
  padding: 14px 22px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  color: var(--wimpro-gray);
  font-size: 14px; font-weight: 600;
  background: none; border-top: 0; border-left: 0; border-right: 0;
  cursor: pointer;
  transition: color var(--wimpro-transition-fast), border-color var(--wimpro-transition-fast);
}
.tabs__tab:hover { color: var(--wimpro-white); }
.tabs__tab--active { color: var(--wimpro-gold); border-bottom-color: var(--wimpro-gold); }
.tabs__panel { display: block; }
.tabs__panel[hidden] { display: none; }
.tabs__empty { color: var(--wimpro-gray); padding: 24px 0; }

/* --------------------------------------------------------------------------
   About tab (synopsis + metadata)
   -------------------------------------------------------------------------- */
.movie-about__synopsis,
.series-about__synopsis {
  max-width: 760px; color: var(--wimpro-gray); font-size: 16px; line-height: 1.8;
  margin-bottom: 40px;
}
.movie-about__heading,
.series-about__heading {
  margin: 0 0 18px; font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
}
.series-about__metadata { margin-bottom: 28px; }
.movie-about__synopsis p, .series-about__synopsis p { margin: 0 0 1em; }
.movie-about__synopsis > :last-child, .series-about__synopsis > :last-child { margin-bottom: 0; }

.metadata-table {
  width: 100%; max-width: 640px; border-collapse: collapse;
  background: var(--wimpro-card); border-radius: var(--wimpro-radius-lg); overflow: hidden;
}
.metadata-table th, .metadata-table td {
  padding: 14px 18px; text-align: left; font-size: 14px;
  border-bottom: 1px solid var(--wimpro-border);
}
.metadata-table tr:last-child th, .metadata-table tr:last-child td { border-bottom: 0; }
.metadata-table th {
  width: 180px; color: var(--wimpro-gray); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; font-size: 12px;
  background: var(--wimpro-surface);
}
.metadata-table td { color: var(--wimpro-white); }

/* --------------------------------------------------------------------------
   Cast & Crew
   -------------------------------------------------------------------------- */
.cast-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 20px;
  margin-bottom: 36px;
}
.person-card {
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  border-radius: var(--wimpro-radius-lg); overflow: hidden;
  transition: transform var(--wimpro-transition), border-color var(--wimpro-transition);
}
.person-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.person-card__photo-wrap { aspect-ratio: 3/4; overflow: hidden; background: var(--wimpro-surface); }
.person-card__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.person-card__photo--placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(140deg, var(--wimpro-surface-2) 0%, var(--wimpro-surface) 100%);
}
.person-card__photo--placeholder::after {
  content: 'W'; display: grid; place-items: center; height: 100%;
  font-size: 56px; font-weight: 900; color: var(--wimpro-border);
}
.person-card__info { padding: 16px 18px 18px; }
.person-card__name { margin: 0 0 4px; font-size: 15px; }
.person-card__role { margin: 0; color: var(--wimpro-gold); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.person-card__character { margin: 6px 0 0; color: var(--wimpro-gray); font-size: 13px; }

/* --------------------------------------------------------------------------
   Trailer + Behind the scenes
   -------------------------------------------------------------------------- */
.trailer-embed { border-radius: var(--wimpro-radius-lg); overflow: hidden; background: #000; }
.trailer-embed iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }
.trailer-embed__placeholder { color: var(--wimpro-gray); padding: 24px 0; }

.bts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}
.bts-card { background: var(--wimpro-card); border: 1px solid var(--wimpro-border); border-radius: var(--wimpro-radius-lg); overflow: hidden; transition: transform var(--wimpro-transition), border-color var(--wimpro-transition); }
.bts-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); }
.bts-card__link { display: block; text-decoration: none; color: inherit; }
.bts-card__thumb { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.bts-card__title { margin: 0; padding: 16px 18px; font-size: 15px; }

/* Recommendations (uses .movie-card grid) */
.recommendations-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}

/* --------------------------------------------------------------------------
   Series: season selector + episode list
   -------------------------------------------------------------------------- */
.season-selector { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.season-selector__label { font-size: 13px; color: var(--wimpro-gray); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.season-selector__dropdown {
  padding: 11px 16px; border-radius: var(--wimpro-radius);
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  color: var(--wimpro-white); font-size: 14px; cursor: pointer;
}
.season-selector__dropdown:focus { border-color: var(--wimpro-gold); outline: none; }

.single-series__episodes-section { padding-top: 24px; }
.episode-list { display: flex; flex-direction: column; gap: 12px; }
.episode-item {
  display: flex; gap: 16px; align-items: center;
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  border-radius: var(--wimpro-radius-lg); padding: 12px;
  transition: border-color var(--wimpro-transition), background var(--wimpro-transition);
}
.episode-item:hover { border-color: var(--wimpro-gold); background: var(--wimpro-card-hover); }
.episode-item__link { display: flex; gap: 16px; align-items: center; text-decoration: none; color: inherit; flex: 1; }
.episode-item__thumb-wrap { flex: 0 0 140px; aspect-ratio: 16/9; overflow: hidden; border-radius: var(--wimpro-radius); }
.episode-item__thumb { width: 100%; height: 100%; object-fit: cover; display: block; }
.episode-item__info { flex: 1; min-width: 0; }
.episode-item__header { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px; }
.episode-item__number { font-size: 12px; color: var(--wimpro-gold); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.episode-item__title { margin: 0; font-size: 16px; font-weight: 600; }
.episode-item__desc { margin: 0; color: var(--wimpro-gray); font-size: 13px; line-height: 1.5; }
.episode-item__dur-label { font-size: 12px; color: var(--wimpro-gray-dark); text-transform: uppercase; letter-spacing: 0.04em; }
.episode-item__duration { font-size: 13px; color: var(--wimpro-gray); white-space: nowrap; }
.episode-item__play { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: 50%; background: var(--wimpro-gold); color: var(--wimpro-bg); }
.no-episodes { color: var(--wimpro-gray); padding: 30px 0; }

/* --------------------------------------------------------------------------
   Episode navigation (prev/next)
   -------------------------------------------------------------------------- */
.episode-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.episode-nav__link {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 22px; border-radius: var(--wimpro-radius-lg);
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  text-decoration: none; color: inherit;
  transition: border-color var(--wimpro-transition), transform var(--wimpro-transition);
}
.episode-nav__link:hover { border-color: var(--wimpro-gold); transform: translateY(-2px); }
.episode-nav__link--next { text-align: right; }
.episode-nav__link--disabled { opacity: 0.4; pointer-events: none; }
.episode-nav__link-label { font-size: 12px; color: var(--wimpro-gold); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
.episode-nav__link-title { font-size: 15px; font-weight: 600; }

/* --------------------------------------------------------------------------
   Movie archive (archive-movie.php)
   -------------------------------------------------------------------------- */
.archive-movies, .archive-series { padding-bottom: 80px; }
.movie-grid-section, .series-grid-section { padding: 8px 0 60px; }
.filters-bar { padding: 16px 0 8px; border-bottom: 1px solid var(--wimpro-border); margin-bottom: 32px; }
.filters-bar__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 18px; }
.filters-bar__search { position: relative; flex: 1; min-width: 220px; }
.filters-bar__search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--wimpro-gray); width: 18px; height: 18px; }
.filters-bar__input {
  width: 100%; padding: 12px 14px 12px 42px; border-radius: var(--wimpro-radius);
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  color: var(--wimpro-white); font-size: 14px;
  transition: border-color var(--wimpro-transition-fast);
}
.filters-bar__input:focus { border-color: var(--wimpro-gold); outline: none; }
.filters-bar__input::placeholder { color: var(--wimpro-gray-dark); }
.filters-bar__pills { display: flex; gap: 8px; flex-wrap: wrap; }
.filters-bar__selects { display: flex; gap: 12px; flex-wrap: wrap; }
.filters-bar__select-wrap { display: flex; flex-direction: column; gap: 6px; }
.filters-bar__select {
  padding: 11px 14px; border-radius: var(--wimpro-radius);
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  color: var(--wimpro-white); font-size: 14px; cursor: pointer;
}
.filters-bar__select:focus { border-color: var(--wimpro-gold); outline: none; }

.movie-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.movie-card {
  border-radius: var(--wimpro-radius); overflow: hidden;
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  transition: transform var(--wimpro-transition), border-color var(--wimpro-transition), box-shadow var(--wimpro-transition);
}
.movie-card:hover { transform: translateY(-4px); border-color: var(--wimpro-gold); box-shadow: var(--wimpro-shadow-lg); }
.movie-card__link { display: block; text-decoration: none; color: inherit; }
.movie-card__poster-wrap { position: relative; aspect-ratio: 2/3; overflow: hidden; background: var(--wimpro-surface); }
.movie-card__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.movie-card__play-overlay {
  position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(0,0,0,0.5); opacity: 0; transition: opacity var(--wimpro-transition);
  color: var(--wimpro-white);
}
.movie-card:hover .movie-card__play-overlay { opacity: 1; }
.movie-card__info { padding: 14px 16px; }
.movie-card__title { margin: 0 0 6px; font-size: 16px; font-weight: 600; line-height: 1.3; }
.movie-card__meta { margin: 0; color: var(--wimpro-gray); font-size: 13px; }

.load-more-wrap { text-align: center; padding: 12px 0; }
.load-more-wrap .pagination { justify-content: center; }

.no-results { text-align: center; padding: 60px 20px; color: var(--wimpro-gray); }
.no-results h2 { margin-bottom: 10px; }

/* --------------------------------------------------------------------------
   Series archive hero (series-featured-hero)
   -------------------------------------------------------------------------- */
.series-featured-hero { position: relative; min-height: 60vh; display: flex; align-items: flex-end; padding: 100px 0 0; overflow: hidden; background: radial-gradient(120% 120% at 20% 0%, #1c1c22 0%, #0b0b0e 50%, #060606 100%); }
.series-featured-hero__backdrop-wrap { position: absolute; inset: 0; }
.series-featured-hero__backdrop { width: 100%; height: 100%; object-fit: cover; display: block; }
.series-featured-hero__gradient { position: absolute; inset: 0; background: linear-gradient(0deg, #060606 0%, rgba(6,6,6,0.2) 70%), linear-gradient(90deg, rgba(5,5,8,0.9) 0%, rgba(5,5,8,0.3) 60%); }
.series-featured-hero__content { position: relative; z-index: 2; width: 100%; padding-bottom: 64px; }
.series-featured-hero__title { margin: 0 0 16px; font-size: clamp(30px, 5vw, 54px); font-weight: 900; text-transform: uppercase; line-height: 1; max-width: 16ch; }
.series-featured-hero__desc { margin: 0 0 20px; max-width: 560px; color: #cfcfcf; font-size: 16px; line-height: 1.7; }
.series-featured-hero__meta { display: flex; flex-wrap: wrap; gap: 14px; color: var(--wimpro-gray); font-size: 14px; margin-bottom: 24px; }

/* Mobile Court feature (series archive promo) */
.section--mobile-court { padding: 40px 0; }
.mobile-court-feature { position: relative; border-radius: var(--wimpro-radius-lg); overflow: hidden; min-height: 320px; display: flex; align-items: flex-end; }
.mobile-court-feature__image { position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%; }
.mobile-court-feature__gradient { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,8,0.95) 0%, rgba(5,5,8,0.4) 70%); }
.mobile-court-feature__content { position: relative; z-index: 2; padding: 40px; max-width: 560px; }
.mobile-court-feature__title { margin: 0 0 12px; font-size: clamp(22px, 3vw, 32px); text-transform: uppercase; }
.mobile-court-feature__desc { margin: 0 0 20px; color: var(--wimpro-gray); line-height: 1.6; }

/* Series carousel section */
.section-carousel { padding: 40px 0; }
.section__title { margin: 0 0 24px; font-size: clamp(22px, 3vw, 30px); font-weight: 800; text-transform: uppercase; }
.section-carousel__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.section-carousel__track .movie-card { flex: 0 0 240px; scroll-snap-align: start; }

/* Badge variants */
.badge--coming-soon { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.3); color: var(--wimpro-white); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .recommendations-grid { grid-template-columns: repeat(3, 1fr); }
  .movie-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .single-movie__hero-content, .single-series__hero-content { grid-template-columns: 1fr; gap: 24px; }
  .single-movie__poster, .single-series__poster { max-width: 200px; }
  .single-movie__hero, .single-series__hero { padding-top: 90px; }
  .recommendations-grid { grid-template-columns: repeat(2, 1fr); }
  .movie-grid { grid-template-columns: repeat(2, 1fr); }
  .filters-bar__form { flex-direction: column; align-items: stretch; }
  .filters-bar__search { min-width: 0; }
  .episode-nav { grid-template-columns: 1fr; }
  .episode-item { flex-wrap: wrap; }
  .episode-item__thumb-wrap { flex-basis: 100%; }
  .metadata-table th { width: 120px; }
}
@media (max-width: 480px) {
  .recommendations-grid, .movie-grid { grid-template-columns: 1fr 1fr; }
  .mobile-court-feature__content { padding: 24px; }
}


/* ==========================================================================
   WIMPRO — Layout & component polish
   Covers section wrappers, modifier classes and small UI components that
   appear across page templates, singles and archives.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Front-page home sections (variants + mobile-court / watch / journal)
   -------------------------------------------------------------------------- */
.home-section { padding: 72px 0; }
.home-section--now, .home-section--mobile-court, .home-section--journal { padding: 72px 0; }
.home-section--craft { background: var(--wimpro-surface); }
.home-section--frame { background: var(--wimpro-bg); }
.site-front { background: var(--wimpro-bg); }
.site-main--news, .site-main--journal { padding-bottom: 30px; }

.hero__index-num {
  position: absolute; right: 40px; bottom: 20px; z-index: 2;
  font-size: clamp(60px, 16vw, 220px); font-weight: 900; line-height: 1;
  color: rgba(255,255,255,0.04);
  -webkit-text-stroke: 1px rgba(255,255,255,0.08);
}

.home-watch__copy { max-width: 560px; }
.home-mobilecourt__copy { max-width: 560px; }
.home-mobilecourt__visual { position: relative; }
.home-journal__item-body { min-width: 0; }

/* --------------------------------------------------------------------------
   Originals hero (page-originals.php)
   -------------------------------------------------------------------------- */
.wimpro-originals-page { padding-bottom: 80px; }
.wimpro-originals-hero { position: relative; min-height: 60vh; display: flex; align-items: flex-end; padding: 120px 0 48px; overflow: hidden; background: radial-gradient(120% 120% at 20% 0%, #1c1c22 0%, #0b0b0e 50%, #060606 100%); }
.wimpro-originals-hero-bg { position: absolute; inset: 0; background-position: center; background-size: cover; }
.wimpro-originals-hero { overflow: hidden; }
.wimpro-originals-hero .wimpro-originals-hero-content { position: relative; z-index: 2; }
.wimpro-originals-label { display: block; margin-bottom: 12px; font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--wimpro-gold); font-weight: 700; }
.wimpro-originals-title { margin: 0 0 10px; font-size: clamp(26px, 4vw, 48px); font-weight: 900; text-transform: uppercase; line-height: 1; }
.wimpro-originals-hero-title { margin: 14px 0 0; font-size: clamp(18px, 2.4vw, 26px); font-weight: 700; }
.wimpro-hero-label { display: block; margin-bottom: 12px; font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--wimpro-gold); font-weight: 700; }

/* --------------------------------------------------------------------------
   Modifier classes on content cards
   -------------------------------------------------------------------------- */
.wimpro-content-card--original { border-left: 3px solid var(--wimpro-gold); }
.wimpro-content-card--coming-soon { opacity: 0.92; }
.wimpro-badge--coming-soon { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.3); color: var(--wimpro-white); }
.wimpro-content-card--compact .wimpro-card-info { padding: 10px 12px; }
.wimpro-content-card--compact .wimpro-card-title { font-size: 14px; }

/* --------------------------------------------------------------------------
   Social login buttons
   -------------------------------------------------------------------------- */
.wimpro-btn-google {
  background: rgba(10,10,10,0.4);
  border: 1px solid var(--wimpro-border);
  color: var(--wimpro-white);
}
.wimpro-btn-google:hover { border-color: #4285F4; }
.wimpro-btn-facebook {
  background: rgba(10,10,10,0.4);
  border: 1px solid var(--wimpro-border);
  color: var(--wimpro-white);
}
.wimpro-btn-facebook:hover { border-color: #1877F2; }

/* --------------------------------------------------------------------------
   Single blog post nav (single.php)
   -------------------------------------------------------------------------- */
.wimpro-single-nav-prev,
.wimpro-single-nav-next {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 22px; border-radius: var(--wimpro-radius-lg);
  background: var(--wimpro-card); border: 1px solid var(--wimpro-border);
  transition: border-color var(--wimpro-transition), transform var(--wimpro-transition);
}
.wimpro-single-nav-prev:hover,
.wimpro-single-nav-next:hover { border-color: var(--wimpro-gold); transform: translateY(-2px); }
.wimpro-single-nav-next { text-align: right; }

/* --------------------------------------------------------------------------
   Episode nav variants (single-episode.php)
   -------------------------------------------------------------------------- */
.episode-nav__link--prev { }
.episode-nav__link-text { font-size: 13px; color: var(--wimpro-gray); }
.single-episode__section-title { margin: 32px 0 18px; font-size: 20px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.single-episode__season-list { display: flex; flex-direction: column; gap: 12px; }
.episode-link { text-decoration: none; color: inherit; }

/* --------------------------------------------------------------------------
   Academy extra sections
   -------------------------------------------------------------------------- */
.wimpro-academy-featured { padding: 40px 0 8px; }
.wimpro-academy-instructors { background: var(--wimpro-surface); }
.wimpro-academy-testimonials { padding: 40px 0; }
.wimpro-courses-carousel { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.wimpro-courses-carousel .wimpro-course-card { flex: 0 0 280px; scroll-snap-align: start; }

/* --------------------------------------------------------------------------
   Account dashboard section wrappers
   -------------------------------------------------------------------------- */
.wimpro-account-overview,
.wimpro-account-current-plan,
.wimpro-account-available-plans,
.wimpro-account-history,
.wimpro-account-payments,
.wimpro-account-mylist,
.wimpro-account-profiles,
.wimpro-account-settings,
.wimpro-account-continue,
.wimpro-account-subscriptions { margin-bottom: 40px; }
.wimpro-account-user-info { display: flex; align-items: center; gap: 14px; }
.wimpro-account-status-info { color: var(--wimpro-gray); font-size: 13px; }
.wimpro-clear-history { color: var(--wimpro-rating-r); border-color: var(--wimpro-rating-r); }
.wimpro-history-info { color: var(--wimpro-gray); font-size: 13px; }
.wimpro-history-remove { color: var(--wimpro-rating-r); }
.wimpro-profile-card--main { border-color: var(--wimpro-gold); }

/* --------------------------------------------------------------------------
   Forms, filters, misc small components
   -------------------------------------------------------------------------- */
.wimpro-checkbox-label { font-size: 14px; color: var(--wimpro-gray); }
.wimpro-filter-form { margin: 0; }
.wimpro-movies-browse { padding-bottom: 80px; }
.wimpro-news-featured-image { border-radius: var(--wimpro-radius-lg); overflow: hidden; }
.wimpro-page-header-simple { margin-bottom: 20px; }
.page-links { margin-top: 24px; color: var(--wimpro-gray); }
.page-links a { padding: 4px 10px; border-radius: var(--wimpro-radius-sm); }
.wimpro-form-success-inner { padding: 20px; }
.wimpro-pricing-header { margin-bottom: 32px; }
.wimpro-settings-form, .wimpro-settings-toggles { margin-top: 8px; }
.wimpro-watch-paywall, .wimpro-watch-recommended { margin-top: 32px; }
.wimpro-watch-recommended .wimpro-content-carousel { margin-top: 16px; }
.wimpro-paywall-content { text-align: center; padding: 40px 24px; }
.wimpro-player-control-btn { display: grid; place-items: center; }
.wimpro-studio-portfolio { padding: 40px 0; }
.wimpro-about-context-copy { max-width: 640px; }
.wimpro-single-meta .wimpro-meta-date,
.wimpro-single-meta .wimpro-meta-author,
.wimpro-single-meta .wimpro-meta-comments {
  display: inline-flex; align-items: center; gap: 7px; color: var(--wimpro-gray); font-size: 13px;
}
.wimpro-single-meta svg { color: var(--wimpro-gold); }
.wimpro-single-meta a { color: var(--wimpro-gray); }
.wimpro-single-meta a:hover { color: var(--wimpro-gold); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .home-section, .home-section--now, .home-section--mobile-court, .home-section--journal { padding: 52px 0; }
  .hero__index-num { display: none; }
  .wimpro-originals-hero { padding-top: 90px; }
}


/* ==========================================================================
   WIMPRO — Final small refinements
   ========================================================================== */
.btn__icon { flex-shrink: 0; }

.movie-about__metadata { margin-bottom: 28px; }
.section--carousel { padding: 40px 0; }

.single-episode__title {
  margin: 0 0 16px; font-size: clamp(26px, 4vw, 44px); font-weight: 900;
  text-transform: uppercase; line-height: 1.05; max-width: 18ch;
}
.tabs__panel--active { display: block; }

.wimpro-section--browse,
.wimpro-section--originals,
.wimpro-section--coming-soon { padding: 56px 0 8px; }

.wimpro-contact-page { padding: 40px 0 80px; }
.wimpro-contact-info { color: var(--wimpro-gray); }

.wimpro-episode-link { text-decoration: none; color: inherit; display: block; }

.wimpro-footer-widgets {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
}
@media (max-width: 768px) {
  .wimpro-footer-widgets { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .wimpro-footer-widgets { grid-template-columns: 1fr; }
}

.wimpro-hero--mobile-court { min-height: 50vh; }

.wimpro-load-more-spinner {
  display: inline-block; width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,0.25); border-top-color: var(--wimpro-gold);
  border-radius: 50%; animation: wimproSpin 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes wimproSpin { to { transform: rotate(360deg); } }

.wimpro-search-form { margin: 0; }



/* ==========================================================================
   WIMPRO - Cinematic Noir-Gold Refinement Layer (Pages)
   Detail pages, archives, forms, footer.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Page titles — elegant serif
   -------------------------------------------------------------------------- */
.wimpro-page-title,
.single-page__title {
  font-family: var(--wimpro-font-display);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

/* --------------------------------------------------------------------------
   Detail heroes — serif titles, refined metadata
   -------------------------------------------------------------------------- */
.single-movie__title,
.single-series__title,
.single-episode__title {
  font-family: var(--wimpro-font-display);
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.06;
}

.single-movie__meta-item,
.single-series__meta-item,
.single-episode__meta-item {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(255,255,255,0.6);
}
.single-movie__meta-item + .single-movie__meta-item::before,
.single-series__meta-item + .single-series__meta-item::before,
.single-episode__meta-item + .single-episode__meta-item::before {
  width: 3px;
  height: 3px;
  background: var(--wimpro-gold-line);
  margin: 0 10px 2px;
}

.single-movie__synopsis,
.single-series__synopsis,
.single-episode__synopsis { color: rgba(255,255,255,0.7); }

.single-movie__genres,
.single-series__genres,
.single-episode__genres { gap: 8px; }

/* Refined action buttons bar */
.movie-actions,
.series-actions,
.media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* --------------------------------------------------------------------------
   Breadcrumbs — smaller, refined
   -------------------------------------------------------------------------- */
.breadcrumbs,
.wimpro-breadcrumbs {
  letter-spacing: 0.04em;
  font-size: 12px;
  text-transform: uppercase;
}
.breadcrumbs__link,
.breadcrumbs-link,
.wimpro-breadcrumbs__link { color: rgba(255,255,255,0.5); }

/* --------------------------------------------------------------------------
   Tabs — refined hairline underline (replaces bold block pills)
   -------------------------------------------------------------------------- */
.tabs {
  border-bottom: 1px solid var(--wimpro-border-soft);
  gap: 28px;
}
.tabs__tab {
  position: relative;
  background: none;
  border: 0;
  padding: 0 0 14px;
  padding-bottom: 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  cursor: pointer;
}
.tabs__tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--wimpro-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--wimpro-transition);
}
.tabs__tab:hover { color: var(--wimpro-white); }
.tabs__tab--active {
  color: var(--wimpro-gold-light);
  border-bottom: 0;
}
.tabs__tab--active::after { transform: scaleX(1); }

/* --------------------------------------------------------------------------
   Cast cards — borderless, portrait-gallery feel
   -------------------------------------------------------------------------- */
.cast-grid__card {
  background: transparent;
  border: 1px solid var(--wimpro-border-soft);
  border-radius: var(--wimpro-radius);
  overflow: hidden;
  transition: transform var(--wimpro-transition), border-color var(--wimpro-transition);
}
.cast-grid__card:hover {
  transform: translateY(-4px);
  border-color: var(--wimpro-gold-line);
}
.cast-grid__name { font-family: var(--wimpro-font-display); font-weight: 600; letter-spacing: 0; color: var(--wimpro-gold-light); }
.cast-grid__role { letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; color: rgba(255,255,255,0.5); }

/* --------------------------------------------------------------------------
   Episode items — refined rows
   -------------------------------------------------------------------------- */
.episode-item {
  border: 1px solid var(--wimpro-border-soft);
  border-radius: var(--wimpro-radius);
  background: linear-gradient(180deg, rgba(255,255,255,0.015), transparent), var(--wimpro-card);
  transition: transform var(--wimpro-transition), border-color var(--wimpro-transition), box-shadow var(--wimpro-transition);
}
.episode-item:hover {
  border-color: var(--wimpro-gold-line);
  transform: translateX(4px);
  box-shadow: var(--wimpro-shadow);
}
.episode-item__number { color: var(--wimpro-gold-light); letter-spacing: 0.14em; }
.episode-item__title { font-family: var(--wimpro-font-display); font-weight: 600; letter-spacing: 0; }
.episode-item__desc { color: rgba(255,255,255,0.6); }

/* --------------------------------------------------------------------------
   Filter bar — cleaner hairlines
   -------------------------------------------------------------------------- */
.filters-bar { border-bottom: 1px solid var(--wimpro-border-soft); }
.filters-bar__input,
.filters-bar__select { border-radius: var(--wimpro-radius-sm); border: 1px solid var(--wimpro-border); }

/* --------------------------------------------------------------------------
   Movie / archive cards
   -------------------------------------------------------------------------- */
.movie-card {
  border-radius: var(--wimpro-radius);
  border: 1px solid var(--wimpro-border-soft);
  transition: transform var(--wimpro-transition), border-color var(--wimpro-transition), box-shadow var(--wimpro-transition);
}
.movie-card:hover {
  border-color: var(--wimpro-gold-line);
  box-shadow: var(--wimpro-shadow-lg);
}
.movie-card__title {
  font-family: var(--wimpro-font-display);
  font-weight: 600;
  letter-spacing: 0;
}
.movie-card__meta { letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; color: rgba(255,255,255,0.5); }

/* --------------------------------------------------------------------------
   Featured hero / series / section titles — serif, no uppercase
   -------------------------------------------------------------------------- */
.series-featured-hero__title,
.mobile-court-feature__title,
.section__title {
  font-family: var(--wimpro-font-display);
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.05;
}

/* --------------------------------------------------------------------------
   Journal / News cards
   -------------------------------------------------------------------------- */
.journal-featured__title,
.journal-card__title,
.news-card__title { font-family: var(--wimpro-font-display); font-weight: 600; letter-spacing: 0; }
.journal-card__meta,
.news-card__meta { letter-spacing: 0.06em; text-transform: uppercase; font-size: 11px; color: rgba(255,255,255,0.5); }

/* --------------------------------------------------------------------------
   Pagination — refined current chip
   -------------------------------------------------------------------------- */
.pagination .page-numbers { border-radius: var(--wimpro-radius-sm); }
.pagination .page-numbers.current {
  background: linear-gradient(120deg, #e6cd82, var(--wimpro-gold));
  color: #0a0a0a;
  box-shadow: 0 0 0 1px rgba(201,168,76,0.3);
}

/* --------------------------------------------------------------------------
   Forms — refined controls
   -------------------------------------------------------------------------- */
input[type='text'],
input[type='email'],
input[type='search'],
input[type='url'],
input[type='password'],
input[type='number'],
textarea,
select {
  border: 1px solid var(--wimpro-border);
  border-radius: var(--wimpro-radius-sm);
  background: #0c0c0f;
  color: var(--wimpro-white);
  transition: border-color var(--wimpro-transition-fast), box-shadow var(--wimpro-transition-fast);
}
input:focus,
textarea:focus,
select:focus {
  border-color: var(--wimpro-gold-line);
  outline: none;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.12);
}

/* --------------------------------------------------------------------------
   No results — quiet
   -------------------------------------------------------------------------- */
.no-results { color: rgba(255,255,255,0.55); }
.no-results h2 { font-family: var(--wimpro-font-display); color: var(--wimpro-white); }

/* --------------------------------------------------------------------------
   Footer widgets — refined
   -------------------------------------------------------------------------- */
.wimpro-footer-col-title {
  font-family: var(--wimpro-font-display);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 12px;
  color: var(--wimpro-gold-light);
}
.wimpro-footer-col-list a { color: rgba(255,255,255,0.6); transition: color var(--wimpro-transition-fast); }
.wimpro-footer-col-list a:hover { color: var(--wimpro-gold-light); transform: translateX(2px); }

/* --------------------------------------------------------------------------
   Metadata table rows
   -------------------------------------------------------------------------- */
.metadata-table th { letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; color: rgba(255,255,255,0.5); }

