/*
 * Vodi — stiluri frontend.
 * Design dark tip JustWatch: fundal #0B0B14, accent #3B82F6,
 * carduri semi-transparente, gradiente decorative roz/portocaliu.
 */

/* ---------------------------------------------------------------------------
 * Fonturi găzduite local (fonturi variabile, SIL Open Font License — vezi
 * assets/fonts/OFL-*.txt). Setul latin-ext conține ă, â, î, ș, ț.
 * ------------------------------------------------------------------------ */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Sora";
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url("../fonts/sora-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Sora";
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url("../fonts/sora-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------------------------------------------------------------------------
 * Variabile și bază
 * ------------------------------------------------------------------------ */

:root {
	--vodi-bg: #00000A;
	--vodi-card: rgba(255, 255, 255, 0.04);
	--vodi-card-strong: rgba(255, 255, 255, 0.08);
	--vodi-card-bg: #0b0f16;
	--vodi-border: rgba(255, 255, 255, 0.09);
	--vodi-accent: #3B82F6;
	--vodi-accent-2: #22D3EE;
	--vodi-text: #F4F5F7;
	--vodi-muted: #9CA3AF;
	--vodi-ok: #22C55E;
	--vodi-warn: #EAB308;
	--vodi-bad: #EF4444;
	--vodi-rent: #F97316;
	--vodi-buy: #A855F7;
	--vodi-radius: 20px;
	--vodi-radius-sm: 14px;
	--vodi-font: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--vodi-font-heading: "Sora", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--vodi-gradient: linear-gradient(135deg, var(--vodi-accent) 0%, var(--vodi-accent-2) 100%);
	--vodi-header-h: 76px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

body {
	margin: 0;
	background-color: var(--vodi-bg);
	color: var(--vodi-text);
	font-family: var(--vodi-font);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/* Gradiente decorative în colțuri (roz / portocaliu).
   Stau pe <html> pentru că body::before este folosit de textura de noise. */
html::before,
html::after {
	content: "";
	position: fixed;
	z-index: -1;
	width: 46vw;
	height: 46vw;
	max-width: 720px;
	max-height: 720px;
	border-radius: 50%;
	filter: blur(140px);
	pointer-events: none;
}

html::after {
	z-index: 1;
	width: 40vw;
	height: 40vw;
	bottom: -18vw;
	left: -14vw;
	background: radial-gradient(circle, rgba(244, 114, 182, 0.22) 0%, transparent 65%);
}

/* Textură de noise peste toată pagina. */
body::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 200;
	background-image: url(../img/noise.png);
	background-repeat: repeat;
	background-size: 257px auto;
	opacity: 0.3;
	pointer-events: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--vodi-font-heading);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.2px;
}

/* Scală de bază pentru heading-urile din conținut (the_content). */
h1 {
	font-size: 27px;
}

h2 {
	font-size: 22px;
}

h3 {
	font-size: 20px;
}

h4 {
	font-size: 18px;
}

h5,
h6 {
	font-size: 16px;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--vodi-text);
	text-decoration: none;
}

a:hover {
	color: #fff;
}

button {
	font-family: inherit;
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

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

.skip-link:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 1000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 10px 18px;
	background: var(--vodi-accent);
	color: #fff;
	border-radius: 999px;
}

.vodi-container {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 32px;
}

.vodi-section {
	margin: 48px 0;
}

.vodi-section.vodi-genre-bar-section {
	margin-top: 25px;
}

.vodi-section.vodi-hero-section {
	margin-bottom: 25px;
}

/* Decorurile care ies intenționat în lateral (halouri, fundaluri) nu lărgesc pagina
 * pe mobil. „clip", nu „hidden": nu creează container de derulare și nu strică antetul sticky. */
.vodi-main {
	overflow-x: clip;
}

.vodi-muted {
	color: var(--vodi-muted);
}

/* ---------------------------------------------------------------------------
 * Butoane și pill-uri
 * ------------------------------------------------------------------------ */

.vodi-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 10px 35px 11px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	border: 1px solid transparent;
	transition: opacity 0.15s ease, background-color 0.15s ease;
}

.vodi-btn svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* Fără bordură; padding-ul de 10/11px compensează 1px-ul de bordură al outline-ului. */
.vodi-btn--solid {
	border: 0;
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
	color: #fff;
}

.vodi-btn--solid:hover {
	color: #fff;
	opacity: 0.9;
}

.vodi-btn--outline {
	background: transparent;
	border-color: #fff;
	color: #fff;
}

.vodi-btn--outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

.vodi-pills {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.vodi-pill {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--vodi-card-strong);
	color: var(--vodi-text);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	transition: background-color 0.15s ease;
}

a.vodi-pill:hover {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.vodi-pill--solid {
	background: rgba(244, 245, 247, 0.92);
	color: #0B0B14;
}

a.vodi-pill--solid:hover {
	background: #fff;
	color: #0B0B14;
}

.vodi-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--vodi-border);
	background: rgba(11, 11, 20, 0.65);
	color: var(--vodi-text);
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-arrow:hover {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
	color: #fff;
}

.vodi-arrow[disabled],
.vodi-arrow.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

/* ---------------------------------------------------------------------------
 * Header
 * ------------------------------------------------------------------------ */

.vodi-header {
	position: sticky;
	top: 0;
	z-index: 100;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Pe prima pagină antetul are fundal opac până la derulare. */
.home .vodi-header {
	background: var(--vodi-bg);
}

/* Pe toate paginile în afară de prima, antetul stă peste fundalul paginii (backdrop-ul filmului,
 * al actorului sau al listei), deci e translucid, cu blur și bordură de la început. */
.vodi-header.is-scrolled,
body:not(.home) .vodi-header {
	background: rgba(11, 11, 20, 0.72);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	box-shadow: 0 1px 0 var(--vodi-border);
}

.vodi-header__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: var(--vodi-header-h);
}

.vodi-logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}

/* logo-vodi-web.png e 501×135 (3x) → 167×45. */
.vodi-logo__img {
	width: 167px;
	height: auto;
}

.vodi-nav {
	margin-inline: auto;
}

.vodi-nav__list {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-nav__item {
	position: relative;
}

.vodi-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border: 0;
	background: transparent;
	color: var(--vodi-text);
	font-size: 15px;
	font-weight: 600;
	border-radius: 10px;
	transition: background-color 0.15s ease;
}

.vodi-nav__link:hover,
.vodi-nav__link.is-active {
	background: var(--vodi-card-strong);
	color: #fff;
}

/* Submeniurile: panouri semi-transparente, cu titlu, grilă și linkuri de subsol.
 * Toate pornesc cu 50px la stânga butonului, ca trecerea dintre ele să fie uniformă. */
.vodi-dropdown {
	position: absolute;
	top: calc(100% + 12px);
	left: -50px;
	z-index: 110;
	padding: 16px;
	border: 1px solid var(--vodi-border);
	border-radius: 18px;
	background: rgba(14, 14, 26, 0.94);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}

/* Puntea invizibilă dintre buton și panou, ca hover-ul să nu se piardă. */
.vodi-dropdown::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 0;
	right: 0;
	height: 14px;
}

.vodi-dropdown--genres {
	width: 600px;
}

.vodi-dropdown--platforms {
	width: 480px;
}

.vodi-dropdown--years {
	width: 520px;
}

.vodi-nav__item--dropdown.is-open .vodi-dropdown,
.vodi-nav__item--dropdown:focus-within .vodi-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@media (hover: hover) {
	.vodi-nav__item--dropdown:hover .vodi-dropdown {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

.vodi-nav__dropdown-toggle svg {
	transition: transform 0.18s ease;
}

.vodi-nav__item--dropdown.is-open .vodi-nav__dropdown-toggle svg {
	transform: rotate(180deg);
}

@media (hover: hover) {
	.vodi-nav__item--dropdown:hover .vodi-nav__dropdown-toggle svg {
		transform: rotate(180deg);
	}
}

.vodi-dropdown__title {
	margin: 0 0 10px 6px;
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.vodi-dropdown__grid {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-dropdown--genres .vodi-dropdown__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vodi-dropdown--platforms .vodi-dropdown__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vodi-dropdown--years .vodi-dropdown__grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vodi-dropdown__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 10px;
	color: var(--vodi-text);
	font-size: 14px;
	font-weight: 600;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.vodi-dropdown__item:hover,
.vodi-dropdown__item:focus-visible {
	background: var(--vodi-card-strong);
	color: #fff;
}

.vodi-dropdown__icon {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--vodi-accent);
}

.vodi-dropdown__icon svg {
	width: 20px;
	height: 20px;
}

.vodi-dropdown__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-dropdown__count {
	margin-left: auto;
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 500;
}

.vodi-dropdown__logo {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	overflow: hidden;
	background: var(--vodi-card-strong);
	font-weight: 700;
}

.vodi-dropdown__logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-dropdown__text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.vodi-dropdown__sub {
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 500;
}

.vodi-dropdown__year {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
	padding: 8px 12px;
	border-radius: 10px;
	color: var(--vodi-text);
	font-size: 15px;
	font-weight: 700;
	transition: background-color 0.15s ease;
}

.vodi-dropdown__year .vodi-dropdown__sub {
	font-size: 11px;
}

.vodi-dropdown__year:hover,
.vodi-dropdown__year:focus-visible {
	background: var(--vodi-card-strong);
	color: #fff;
}

.vodi-dropdown__year.is-current {
	background: rgba(59, 130, 246, 0.15);
	color: #93c5fd;
}

.vodi-dropdown__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-top: 12px;
	padding: 12px 6px 0;
	border-top: 1px solid var(--vodi-border);
}

.vodi-dropdown__footer a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--vodi-accent);
	font-size: 13px;
	font-weight: 700;
}

.vodi-dropdown__footer a:hover {
	color: #fff;
}

.vodi-dropdown__footer svg {
	width: 14px;
	height: 14px;
}

.vodi-header__search {
	position: relative;
	flex-shrink: 0;
	width: 300px;
}

/* Indiciul scurtăturii „/" (main.js), lângă lupă; dispare cât scrii. */
.vodi-header__kbd {
	position: absolute;
	top: 50%;
	right: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border: 1px solid var(--vodi-border);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--vodi-muted);
	font-family: var(--vodi-font);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-50%);
	pointer-events: none;
	transition: opacity 0.15s ease;
}

/* Loc pentru „/" cât câmpul nu e activ (la scriere indiciul dispare, iar X-ul rămâne lângă lupă). */
.vodi-header__search .vodi-search-form__input:not(:focus) {
	padding-right: 44px;
}

.vodi-header__search:focus-within .vodi-header__kbd {
	opacity: 0;
}

@media (hover: none), (max-width: 768px) {
	.vodi-header__kbd {
		display: none;
	}
}

.vodi-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: var(--vodi-card);
	color: var(--vodi-text);
}

/* ---------------------------------------------------------------------------
 * Formular de căutare
 * ------------------------------------------------------------------------ */

.vodi-search-form {
	display: flex;
	align-items: stretch;
	background: var(--vodi-card-strong);
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	overflow: hidden;
	transition: border-color 0.15s ease;
}

.vodi-search-form:focus-within {
	border-color: var(--vodi-accent);
}

.vodi-search-form__input {
	flex: 1;
	min-width: 0;
	padding: 11px 20px;
	border: 0;
	background: transparent;
	color: var(--vodi-text);
	font-family: inherit;
	font-size: 15px;
}

.vodi-search-form__input::placeholder {
	color: var(--vodi-muted);
}

.vodi-search-form__input:focus {
	outline: none;
}

.vodi-search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 18px;
	border: 0;
	background: transparent;
	color: var(--vodi-muted);
	transition: color 0.15s ease;
}

.vodi-search-form__submit:hover {
	color: var(--vodi-accent);
}

/* Căutarea live (main.js): panoul cu filme și actori de sub câmp, în stilul submeniurilor. */
.vodi-search {
	position: relative;
}

.vodi-search.is-loading .vodi-search-form__submit svg {
	animation: vodi-search-pulse 0.8s ease-in-out infinite alternate;
}

@keyframes vodi-search-pulse {
	to {
		opacity: 0.35;
	}
}

.vodi-search__panel {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 120;
	min-width: min(400px, calc(100vw - 32px));
	max-height: min(70vh, 560px);
	padding: 8px;
	overflow-y: auto;
	border: 1px solid var(--vodi-border);
	border-radius: 18px;
	background: rgba(14, 14, 26, 0.96);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	box-shadow: 0 28px 60px rgba(0, 0, 0, 0.55);
	text-align: left;
}

/* În antet, panoul e mai lat decât câmpul și se aliniază la dreapta lui. */
.vodi-header__search .vodi-search__panel {
	left: auto;
	width: 420px;
}

.vodi-search__panel[hidden] {
	display: none;
}

.vodi-search__label {
	margin: 6px 10px 4px;
	color: var(--vodi-muted);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.vodi-search__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 10px;
	border-radius: 12px;
	color: var(--vodi-text);
	transition: background-color 0.15s ease;
}

.vodi-search__item:hover,
.vodi-search__item.is-active {
	background: rgba(255, 255, 255, 0.06);
}

.vodi-search__item.is-active {
	box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.5);
}

.vodi-search__poster {
	flex-shrink: 0;
	width: 40px;
	height: 60px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--vodi-card-strong);
}

.vodi-search__photo {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vodi-card-strong);
	color: rgba(255, 255, 255, 0.4);
	font-family: var(--vodi-font-heading);
	font-weight: 700;
}

.vodi-search__poster img,
.vodi-search__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-search__photo img {
	object-position: center 20%;
}

/* Gen / platformă în căutarea live: pătrat rotunjit în culoarea de accent. */
.vodi-search__term-icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--vodi-accent) 32%, transparent), color-mix(in srgb, var(--vodi-accent-2) 18%, transparent));
	color: #bfdbfe;
}

/* Iconița genului (setată pe gen sau implicită), la aceeași mărime oricum ar fi încărcată. */
.vodi-search__term-icon svg {
	width: 24px;
	height: 24px;
}

/* Platformele: sigla lor în locul iconiței (colțuri 25%, ca în rest). */
.vodi-search__term-icon.has-logo {
	overflow: hidden;
	border-radius: 25%;
	background: var(--vodi-card-strong);
}

.vodi-search__term-icon.has-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* „Mai multe filme din genul…": rând-card evidențiat, cu săgeata în dreapta. */
.vodi-search__related {
	margin-top: 6px;
	border: 1px solid color-mix(in srgb, var(--vodi-accent) 35%, transparent);
	background: linear-gradient(90deg, color-mix(in srgb, var(--vodi-accent) 14%, transparent), transparent 75%);
}

.vodi-search__related:hover,
.vodi-search__related.is-active {
	border-color: color-mix(in srgb, var(--vodi-accent) 60%, transparent);
	background: linear-gradient(90deg, color-mix(in srgb, var(--vodi-accent) 22%, transparent), transparent 80%);
}

.vodi-search__related .vodi-search__title {
	color: #fff;
}

.vodi-search__related-go {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--vodi-accent);
	color: #fff;
	transition: transform 0.15s ease;
}

.vodi-search__related:hover .vodi-search__related-go,
.vodi-search__related.is-active .vodi-search__related-go {
	transform: translateX(2px);
}

.vodi-search__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vodi-search__title {
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 14px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-search__meta {
	overflow: hidden;
	color: var(--vodi-muted);
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-search__genre {
	color: #93c5fd;
	font-weight: 600;
}

/* Cercul de rating, puțin mai mic decât pe carduri. */
.vodi-search__item .vodi-rating {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
}

.vodi-search__all {
	display: block;
	margin-top: 6px;
	padding: 11px 10px;
	border-top: 1px solid var(--vodi-border);
	border-radius: 0 0 12px 12px;
	color: #93c5fd;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.vodi-search__all:hover,
.vodi-search__all.is-active {
	background: rgba(59, 130, 246, 0.1);
}

.vodi-search__empty {
	margin: 0;
	padding: 14px 10px;
	color: var(--vodi-muted);
	font-size: 14px;
	text-align: center;
}

/* „X"-ul nativ al câmpului de căutare: mai mic, gri, lângă lupă. */
.vodi-search-form__input {
	padding-right: 6px;
}

.vodi-search-form__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	margin: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / 14px no-repeat;
	cursor: pointer;
	opacity: 0.8;
}

.vodi-search-form__input::-webkit-search-cancel-button:hover {
	opacity: 1;
}

.vodi-search-form__submit {
	padding: 0 18px 0 10px;
}

/* Panoul fără rezultat: mesaj, sugestii, apoi „Surprinde-mă" și „Cele mai bune filme". */
.vodi-search__none {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 18px 16px 12px;
	text-align: center;
}

.vodi-search__none-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 10px;
	border-radius: 16px;
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
}

.vodi-search__none-title {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: 16px;
	font-weight: 600;
	word-break: break-word;
}

.vodi-search__none-text {
	max-width: 320px;
	margin: 6px 0 0;
	color: var(--vodi-muted);
	font-size: 13px;
	line-height: 1.5;
}

.vodi-search__none + .vodi-search__label {
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid var(--vodi-border);
}

.vodi-search__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 8px;
	padding: 10px 2px 2px;
	border-top: 1px solid var(--vodi-border);
}

.vodi-search__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 8px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-text);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.vodi-search__cta:hover,
.vodi-search__cta.is-active {
	border-color: rgba(59, 130, 246, 0.6);
	background: rgba(59, 130, 246, 0.1);
}

.vodi-search__cta--main {
	border-color: transparent;
	background: linear-gradient(135deg, var(--vodi-accent) 0%, #6366f1 100%);
	color: #fff;
}

.vodi-search__cta--main::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='4'/%3E%3Ccircle cx='8.5' cy='8.5' r='1' fill='white'/%3E%3Ccircle cx='15.5' cy='15.5' r='1' fill='white'/%3E%3Ccircle cx='12' cy='12' r='1' fill='white'/%3E%3C/svg%3E") center / contain no-repeat;
}

.vodi-search__cta--main:hover,
.vodi-search__cta--main.is-active {
	border-color: transparent;
	background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
}

@media (max-width: 768px) {
	.vodi-header__search .vodi-search__panel {
		left: 0;
		width: auto;
	}
}

/* ---------------------------------------------------------------------------
 * Pagina de rezultate (search.php): câmp mare, „Cel mai bun rezultat" cu actorii
 * alături, restul filmelor cu filtre pe gen; fără rezultate, sugestii.
 * ------------------------------------------------------------------------ */
.vodi-search-page__form {
	max-width: 520px;
	margin: 4px 0 32px;
}

.vodi-search-page__form .vodi-search-form__input {
	padding: 15px 8px 15px 24px;
	font-size: 17px;
}

.vodi-search-page__form .vodi-search-form__submit {
	padding: 0 22px;
}

.vodi-search-page__lead {
	display: grid;
	gap: 20px;
	margin-bottom: 48px;
}

/* „Cel mai bun rezultat": card lat, cu fundalul filmului. */
.vodi-search-top {
	position: relative;
	display: flex;
	gap: 24px;
	padding: 24px;
	overflow: hidden;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: rgba(11, 15, 22, 0.8);
}

.vodi-search-top__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.vodi-search-top__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.35;
}

.vodi-search-top__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, rgba(11, 15, 22, 0.97) 25%, rgba(11, 15, 22, 0.75) 60%, rgba(11, 15, 22, 0.45) 100%);
}

.vodi-search-top__poster,
.vodi-search-top__body {
	position: relative;
	z-index: 1;
}

.vodi-search-top__poster {
	position: relative;
	flex-shrink: 0;
	align-self: flex-start;
	width: 150px;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
}

.vodi-search-top__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.vodi-search-top__rating {
	position: absolute;
	left: 8px;
	bottom: 8px;
}

.vodi-search-top__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.vodi-search-top__kicker {
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(59, 130, 246, 0.18);
	color: #93c5fd;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.vodi-search-top__title {
	margin: 2px 0 0;
	font-family: var(--vodi-font-heading);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.15;
}

.vodi-search-top__title a {
	color: #fff;
}

.vodi-search-top__title a:hover {
	color: #93c5fd;
}

.vodi-search-top__subtitle {
	margin: -4px 0 0;
	color: var(--vodi-muted);
	font-size: 15px;
}

.vodi-search-top__excerpt {
	display: -webkit-box;
	max-width: 640px;
	margin: 0;
	overflow: hidden;
	color: #c9cdd6;
	font-size: 14px;
	line-height: 1.6;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.vodi-search-top__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
}

.vodi-search-top__actions .vodi-btn {
	padding: 8px 20px 9px;
	font-size: 15px;
}

.vodi-search-top__actions .vodi-btn svg {
	width: 20px;
	height: 20px;
}

.vodi-search-top__where {
	position: static;
	margin-left: auto;
}

/* Fără platforme: un mesaj discret în locul siglelor. */
.vodi-search-top__none {
	margin-left: auto;
	padding: 6px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--vodi-muted);
	font-size: 13px;
}

/* Distribuția, în dreapta cardului. */
.vodi-search-top__cast {
	position: relative;
	z-index: 1;
	flex-shrink: 0;
	align-self: center;
	width: 230px;
	padding-left: 24px;
	border-left: 1px solid var(--vodi-border);
}

.vodi-search-top__cast-label {
	display: block;
	margin-bottom: 12px;
	color: var(--vodi-muted);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.vodi-search-top__cast ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-search-top__cast a {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--vodi-text);
}

.vodi-search-top__cast img {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border: 2px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	object-fit: cover;
	object-position: center 20%;
	transition: border-color 0.2s ease;
}

.vodi-search-top__cast span {
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 14px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-search-top__cast a:hover img {
	border-color: var(--vodi-accent);
}

.vodi-search-top__cast a:hover span {
	color: #93c5fd;
}

@media (max-width: 1024px) {
	.vodi-search-top__cast {
		display: none;
	}
}

/* Actorii găsiți: carduri-portret pe un rând, ca pe pagina actorilor. */
.vodi-search-page__actors {
	margin-bottom: 48px;
}

/* Antetul secțiunilor: filtrele pe gen trec sub titlu când nu mai încap. */
.vodi-search-page .vodi-section__header {
	flex-wrap: wrap;
}

/* Actorii: 8 pe rând, pe rânduri pline la fiecare lățime. */
.vodi-search-page__actors .vodi-actor-grid {
	grid-template-columns: repeat(8, minmax(0, 1fr));
}

@media (max-width: 1280px) {
	.vodi-search-page__actors .vodi-actor-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.vodi-search-page__actors .vodi-actor-grid li:nth-child(n+7) {
		display: none;
	}
}

@media (max-width: 1024px) {
	.vodi-search-page__actors .vodi-actor-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.vodi-search-page__actors .vodi-actor-grid li:nth-child(n+7) {
		display: block;
	}
}

@media (max-width: 768px) {
	.vodi-search-page__actors .vodi-actor-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vodi-search-page__actors .vodi-actor-grid li:nth-child(n+7) {
		display: none;
	}
}

@media (max-width: 480px) {
	.vodi-search-page__actors .vodi-actor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.vodi-search-page__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.vodi-search-page__filters button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 34px;
	padding: 0 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-text);
	font-family: inherit;
	font-size: 14px;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.vodi-search-page__filters button span {
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 700;
}

.vodi-search-page__filters button:hover {
	border-color: rgba(59, 130, 246, 0.5);
}

.vodi-search-page__filters button.is-active {
	border-color: var(--vodi-accent);
	background: rgba(59, 130, 246, 0.16);
	color: #fff;
}

.vodi-search-page__filters button.is-active span {
	color: #93c5fd;
}

.vodi-search-page__grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-search-page__grid li[hidden] {
	display: none;
}

.vodi-search-page .vodi-grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Fără rezultate. */
.vodi-search-page__empty {
	margin: 8px 0 48px;
	padding: 28px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: rgba(255, 255, 255, 0.03);
}

.vodi-search-page__empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 14px;
	border-radius: 16px;
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
}

.vodi-search-page__empty-icon svg {
	width: 26px;
	height: 26px;
}

.vodi-search-page__empty h2 {
	margin: 0 0 8px;
	font-family: var(--vodi-font-heading);
	font-size: 22px;
	font-weight: 600;
}

.vodi-search-page__empty p {
	max-width: 720px;
	margin: 0 0 18px;
	color: var(--vodi-muted);
	line-height: 1.6;
}

/* Chip-urile de gen au doar iconiță, fără numărul din dreapta: spațiu echilibrat (selector dublu, ca să treacă peste stilul de bază de mai jos). */
.vodi-actor__genres.vodi-search-page__genres a {
	padding: 0 14px 0 10px;
}

@media (max-width: 768px) {
	.vodi-search-top {
		gap: 16px;
		padding: 16px;
	}

	.vodi-search-top__poster {
		width: 104px;
	}

	.vodi-search-top__excerpt {
		display: none;
	}

	.vodi-search-top__where,
	.vodi-search-top__none {
		margin-left: 0;
	}
}

@media (max-width: 480px) {
	.vodi-search-top {
		flex-direction: column;
	}

	.vodi-search-page__form .vodi-search-form__input {
		padding: 13px 8px 13px 18px;
		font-size: 16px;
	}
}

/* ---------------------------------------------------------------------------
 * Badge de rating circular
 * ------------------------------------------------------------------------ */

.vodi-rating {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(11, 11, 20, 0.88);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

.vodi-rating svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(0deg);
}

.vodi-rating circle {
	fill: none;
	stroke-width: 3;
}

/* Bara pornește de la ora 12 și merge în sensul acelor de ceasornic. */
.vodi-rating__bar {
	stroke-linecap: round;
	transform: rotate(-90deg);
	transform-origin: 18px 18px;
}

/* Inelul de fundal are aceeași culoare ca bara, la 30% opacitate. */
.vodi-rating__bg {
	stroke: #fff;
	stroke-opacity: 0.3;
}

.vodi-rating.is-high .vodi-rating__bg,
.vodi-rating.is-high .vodi-rating__bar {
	stroke: var(--vodi-ok);
}

.vodi-rating.is-mid .vodi-rating__bg,
.vodi-rating.is-mid .vodi-rating__bar {
	stroke: var(--vodi-warn);
}

.vodi-rating.is-low .vodi-rating__bg,
.vodi-rating.is-low .vodi-rating__bar {
	stroke: var(--vodi-bad);
}

/* Fără scor: inel punctat în culoarea de accent, lumină în gradient, „N/A" alb. */
.vodi-rating.is-none {
	background:
		radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--vodi-accent) 38%, transparent), transparent 62%),
		radial-gradient(circle at 75% 85%, color-mix(in srgb, var(--vodi-accent-2) 30%, transparent), transparent 60%),
		rgba(11, 11, 20, 0.92);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.vodi-rating.is-none .vodi-rating__bg {
	stroke: var(--vodi-accent);
	stroke-opacity: 0.85;
	stroke-linecap: round;
	stroke-dasharray: 0.1 4.1;
	stroke-width: 2.4;
}

.vodi-rating.is-none .vodi-rating__value {
	color: #fff;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.vodi-rating--sm.is-none .vodi-rating__value {
	font-size: 12px;
}

.vodi-rating--lg.is-none .vodi-rating__value {
	font-size: 17px;
}

/* Semnul procent stă pe linia de bază, nu ridicat ca exponent. */
.vodi-rating__percent {
	font-weight: 700;
	vertical-align: baseline;
}

.vodi-rating--sm {
	width: 48px;
	height: 48px;
}

.vodi-rating--sm .vodi-rating__value {
	font-size: 13px;
	font-weight: 700;
}

.vodi-rating--sm .vodi-rating__percent {
	font-size: 8px;
}

.vodi-rating--lg {
	width: 76px;
	height: 76px;
	flex-direction: column;
	padding-top: 2px;
}

.vodi-rating--lg .vodi-rating__value {
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.vodi-rating--lg .vodi-rating__percent {
	font-size: 12px;
}

.vodi-rating__label {
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--vodi-muted);
}

/* ---------------------------------------------------------------------------
 * Meta film (an / durată / clasificare)
 * ------------------------------------------------------------------------ */

.vodi-film-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.vodi-film-meta__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--vodi-text);
}

.vodi-film-meta__item svg {
	width: 16px;
	height: 16px;
	color: var(--vodi-accent);
	flex-shrink: 0;
}

/* ---------------------------------------------------------------------------
 * Hero + sidebar
 * ------------------------------------------------------------------------ */

 .intro-section-home {
	width: 100%;
	background-image: url('../img/bg-hero.jpg');
	background-color: #02000B;
	background-position: top 80px center !important;
	background-repeat: no-repeat;
    background-size: auto !important;
	position: relative;
    height: auto;
	display: flow-root; /* Nu „table": un tabel se lărgește după conținut (slider-ul) și împingea pagina peste ecran pe mobil. */
 }

 .intro-section-home::after {
	content: '';
    position: absolute;
    bottom: 0;
    height: 200px;
    left: 0;
    right: 0;
    display: block;
    z-index: 1;
    background: linear-gradient(0deg, rgba(21, 31, 48, 0.20) 0%, #00000A 100%);
    pointer-events: none;
 }

.vodi-hero-section {
	position: relative;
	margin-top: 5px;
}

/* Halou ambiental în spatele hero-ului: teal în stânga, oliv la mijloc,
   roșu-portocaliu în dreapta, mov în colțul din dreapta jos. */
.vodi-hero-section::before {
	content: "";
	position: absolute;
	top: -90px;
	right: -6vw;
	bottom: -140px;
	left: -6vw;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(58% 52% at 10% 60%, rgba(23, 116, 128, 0.38) 0%, transparent 72%),
		radial-gradient(46% 42% at 46% 76%, rgba(126, 116, 44, 0.30) 0%, transparent 72%),
		radial-gradient(36% 54% at 87% 44%, rgba(214, 62, 52, 0.46) 0%, transparent 70%),
		radial-gradient(30% 40% at 96% 86%, rgba(92, 62, 154, 0.38) 0%, transparent 72%);
	filter: blur(60px);
	-webkit-mask-image: radial-gradient(75% 75% at 50% 50%, #000 52%, transparent 100%);
	mask-image: radial-gradient(75% 75% at 50% 50%, #000 52%, transparent 100%);
}

.vodi-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
	gap: 20px;
	align-items: stretch;
}

.vodi-hero {
	position: relative;
	min-height: 540px;
	border-radius: 20px;
	overflow: hidden;
	background: rgba(0, 0, 9, 1);
}

/* Slider-ul depășește cu 2px în lateral: cusătura dintre slide-uri, unde
   rotunjirea sub-pixel lasă vecinul să se vadă, cade în afara zonei tăiate
   de .vodi-hero. Deplasarea de 2px a conținutului e imperceptibilă. */
.vodi-hero-swiper {
	position: absolute;
	inset: 0 -2px;
	height: 100%;
}

/* Fără decupare la nivel de slide: imaginea depășește cu 1px în lateral,
   ca vecinul să nu se vadă când lățimea containerului e fracționară.
   Marginile sunt oricum tăiate de .vodi-hero. */
.vodi-hero__slide {
	position: relative;
}

.vodi-hero__media {
	position: absolute;
	inset: 0 -1px;
	overflow: hidden;
}

/* Imaginea începe la 20% din lățime, sub textul din hero.
   Lățimea e explicită: la <img> width:auto ar folosi lățimea intrinsecă. */
.vodi-hero__backdrop {
	position: absolute;
	top: 0;
	left: 20%;
	width: 80%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

/* Aceeași imagine, răsturnată în jurul marginii ei din stânga (linia de 20%),
   ca fâșia rămasă să continue fără cusătură vizibilă. */
.vodi-hero__backdrop--mirror {
	transform: scaleX(-1);
	transform-origin: left center;
}

.vodi-hero__overlay {
	position: absolute;
	inset: 0 -1px;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		-100deg,
		rgba(0, 0, 9, 0) 10%,
		rgba(0, 0, 9, 0.75) 56%,
		rgba(0, 0, 9, 0.95) 90%
	);
}

.vodi-hero__rating {
	position: absolute;
	top: 25px;
	right: 25px;
	z-index: 3;
}

.vodi-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 0;
	height: 100%;
	max-width: 80%;
	padding: 35px 30px 30px;
}

/* Posterul și textul formează un bloc: marginile lor de sus se aliniază. */
.vodi-hero__group {
	display: flex;
	align-items: flex-end;
	gap: 26px;
	width: 100%;
}

.vodi-hero__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

/* Posterul pornește trailerul, de aceea poartă indicativul de play. */
.vodi-hero__poster {
	position: relative;
	flex: 0 0 auto;
	display: block;
	width: 132px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: none;
	line-height: 0;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5);
	cursor: pointer;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.vodi-hero__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	transition: transform 0.35s ease, filter 0.25s ease;
}

.vodi-hero__poster--play::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 10, 0) 45%, rgba(0, 0, 10, 0.85) 100%);
	transition: opacity 0.25s ease;
}

.vodi-hero__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.16);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
	transform: translate(-50%, -50%);
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.vodi-hero__play svg {
	width: 18px;
	height: 18px;
	margin-left: 2px;
	color: #fff;
}

.vodi-hero__play-label {
	position: absolute;
	right: 0;
	bottom: 15px;
	left: 0;
	z-index: 2;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	opacity: 0.75;
	text-align: center;
	text-transform: uppercase;
	line-height: 1;
}

.vodi-hero__poster--play:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.6);
}

.vodi-hero__poster--play:hover img {
	transform: scale(1.06);
	filter: brightness(0.85);
}

.vodi-hero__poster--play:hover .vodi-hero__play {
	background: var(--vodi-gradient);
	box-shadow: none;
	transform: translate(-50%, -50%) scale(1.1);
}

/* Subtitlul și titlul duc la pagina filmului. */
a.vodi-hero__kicker {
	display: inline-block;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

a.vodi-hero__kicker:hover {
	opacity: 0.75;
}

.vodi-hero__title a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}

.vodi-hero__title a svg {
	width: 26px;
	height: 26px;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.vodi-hero__title a:hover svg {
	opacity: 1;
	transform: translateX(0);
}

.vodi-hero__kicker {
	display: inline-block;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

a.vodi-hero__kicker:hover {
	opacity: 0.75;
}

.vodi-hero__title a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}

.vodi-hero__title a svg {
	width: 26px;
	height: 26px;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.vodi-hero__title a:hover svg {
	opacity: 1;
	transform: translateX(0);
}

/* Subtitlul în română, ca supra-linie discretă: albastrul rămâne doar la genuri. */
.vodi-hero__kicker {
	margin: 0 0 6px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
}

.vodi-hero__title {
	margin: 0 0 12px;
	font-family: var(--vodi-font-heading);
	font-size: 42px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.035em;
}

.vodi-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-bottom: 15px;
}

/* Rândul de detalii al unui film (vodi_film_facts): genuri în accent, an și durată
 * despărțite de puncte fine, clasificarea într-un chenar mic. Fără iconițe. */
.vodi-facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 6px;
	color: #e0e0e0;
	font-size: 15px;
	line-height: 1.4;
}

.vodi-facts__genres,
.vodi-facts__genres a {
	color: var(--vodi-accent);
	font-weight: 600;
}

.vodi-facts__genres a:hover {
	color: #fff;
}

.vodi-facts__item::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 10px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.55;
	vertical-align: middle;
}

.vodi-facts > .vodi-facts__item:first-child::before {
	display: none;
}

.vodi-facts__cert {
	margin-left: 12px;
	padding: 0 6px;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	border-radius: 5px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 19px;
	letter-spacing: 0.04em;
}

.vodi-facts > .vodi-facts__cert:first-child {
	margin-left: 0;
}

.vodi-hero__meta .vodi-facts {
	font-size: 16px;
}

/* În cardurile de lângă hero, același rând, puțin mai mic. */
.vodi-side-card .vodi-facts {
	margin-bottom: 10px;
	font-size: 14px;
}

.vodi-side-card .vodi-facts__item::before {
	margin: 0 8px;
}

.vodi-side-card .vodi-facts__cert {
	margin-left: 10px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	font-size: 11px;
	line-height: 17px;
}

.vodi-hero__meta .vodi-pills {
	gap: 5px;
}

.vodi-hero__meta .vodi-pill {
	display: inline-flex;
	align-items: center;
	min-width: 60px;
	height: 30px;
	padding: 0 12px;
	border-radius: 12px;
	background: none;
	color: #e0e0e0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

.vodi-hero__meta .vodi-pill--solid {
	background: rgba(255, 255, 255, 0.075);
	color: #fff;
}

.vodi-hero__meta .vodi-pill:not(.vodi-pill--solid) {
	min-width: 0;
	padding: 0 8px;
}

.vodi-hero__meta .vodi-film-meta {
	gap: 15px;
}

.vodi-hero__meta .vodi-film-meta__item {
	gap: 4px;
	font-size: 14px;
	font-weight: 400;
	line-height: 30px;
}

.vodi-hero__meta .vodi-film-meta__item svg {
	width: 22px;
	height: 22px;
}

.vodi-hero__excerpt {
	margin: 0 0 10px;
	color: #dbdbeb;
	font-size: 15px;
	line-height: 1.5;
	opacity: 0.7;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.vodi-hero__nav {
	position: absolute;
	right: 30px;
	bottom: 28px;
	z-index: 5;
	display: flex;
	gap: 10px;
}

/* Doar săgeți, fără cerc: linii subțiri în colțul din dreapta-jos. */
.vodi-hero__nav .vodi-arrow {
	width: auto;
	height: auto;
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: rgba(255, 255, 255, 0.5);
	transition: color 0.2s ease, transform 0.2s ease;
}

.vodi-hero__nav .vodi-arrow:hover {
	background: none;
	color: #fff;
}

.vodi-hero__nav .vodi-hero-prev:hover {
	transform: translateX(-3px);
}

.vodi-hero__nav .vodi-hero-next:hover {
	transform: translateX(3px);
}

.vodi-hero__nav .vodi-arrow svg {
	width: 32px;
	height: 20px;
}

.vodi-hero__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;
	min-height: 320px;
	padding: 32px;
	text-align: center;
	border: 1px dashed var(--vodi-border);
	border-radius: 24px;
	color: var(--vodi-muted);
}

.vodi-hero__placeholder h2 {
	margin: 0;
	color: var(--vodi-text);
	font-size: 22px;
}

.vodi-hero__placeholder p {
	margin: 0;
}

.vodi-hero-sidebar {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.vodi-side-card {
	flex: 1;
	min-height: 126px;
}

.vodi-side-card__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	height: 100%;
	padding: 12px 14px;
	border-radius: 15px;
	background: var(--vodi-card-bg);
	overflow: hidden;
}

/* Backdrop-ul stă în dreapta cardului, întreg (contain), nu întins pe toată lățimea. */
.vodi-side-card__bg {
	background-size: contain;
	background-position: right center;
	background-repeat: no-repeat;
	display: flex;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 12%;
	pointer-events: none;
}

/* Estompare subtilă: transparent peste imagine, opac spre poster și text.
   Părintele poartă deja decalajul de 12%, deci left rămâne 0 aici. */
.vodi-side-card__bg::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(-100deg, rgba(11, 15, 22, 0.25) 10%, rgba(11, 15, 22, 0.55) 26%, rgba(11, 15, 22, 0.55) 16%, rgba(11, 15, 22, 1) 46%);
}

/* Dimensiuni fixe, raport 2:3 — nu depind de înălțimea cardului. */
.vodi-side-card__poster {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	width: 68px;
}

.vodi-side-card__poster img {
	border-radius: 6px;
	width: 68px;
	height: 102px;
	object-fit: cover;
}

.vodi-side-card__rating {
	position: absolute;
	left: -6px;
	bottom: -4px;
}

.vodi-side-card__rating .vodi-rating--sm {
	width: 36px;
	height: 36px;
}

.vodi-side-card__rating .vodi-rating--sm .vodi-rating__value {
	font-size: 11px;
	font-weight: 500;
}

.vodi-side-card__rating .vodi-rating--sm .vodi-rating__percent {
	font-size: 7px;
	margin-right: -2px;
}

.vodi-side-card__body {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	min-width: 0;
}

.vodi-side-card__title {
	font-family: var(--vodi-font-heading);
	margin-bottom: 5px;
	font-size: 18.72px;
	font-weight: 600;
	line-height: 1.5;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-side-card .vodi-film-meta {
	gap: 10px;
	margin-bottom: 10px;
}

.vodi-side-card .vodi-film-meta__item {
	gap: 4px;
	font-size: 13px;
	font-weight: 400;
	color: #dbdbeb;
}

.vodi-side-card .vodi-film-meta__item svg {
	width: 22px;
	height: 22px;
}

.vodi-side-card .vodi-pill {
	display: inline-flex;
	align-items: center;
	min-width: 60px;
	height: 28px;
	padding: 0 12px;
	border-radius: 12px;
	background: none;
	color: #e0e0e0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

/* Genul principal, în albastru pe fundal albastru transparent. */
.vodi-side-card .vodi-pill--solid {
	background: rgba(59, 130, 246, 0.15);
	color: var(--vodi-accent);
}

.vodi-side-card .vodi-pills {
	gap: 10px;
}

.vodi-side-card .vodi-pill:not(.vodi-pill--solid) {
	min-width: 0;
	padding: 0;
}

/* ---------------------------------------------------------------------------
 * Bara de genuri
 * ------------------------------------------------------------------------ */

/* Dimensiunile din .genres-slider de pe vodi.ro. */
.vodi-genre-bar {
	display: flex;
	align-items: center;
	padding: 10px;
	border-radius: 10px;
	background: rgba(0, 0, 9, 0.45);
}

/* Eticheta ocupă 140px (15px spațiu în stânga), chip-urile încep imediat după. */
.vodi-genre-bar__label {
	flex: 0 0 140px;
	display: flex;
	flex-direction: column;
	padding-left: 15px;
	line-height: 1.4;
	letter-spacing: -0.025em;
}

.vodi-genre-bar__label-top {
	color: var(--vodi-accent);
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
}

.vodi-genre-bar__label-bottom {
	font-size: 13px;
	font-weight: 500;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
}

.vodi-genre-bar__scroll {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	flex: 1;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.vodi-genre-bar__scroll::-webkit-scrollbar {
	display: none;
}

.vodi-genre-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex-shrink: 0;
	height: 45px;
	padding: 10px 16px 8px;
	border-radius: 10px;
	background: rgba(0, 0, 9, 0.45);
	font-size: 15px;
	font-weight: 400;
	line-height: 26px;
	color: #fff;
	transition: background-color 0.15s ease;
}

.vodi-genre-chip:hover {
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
	color: #fff;
}

.vodi-genre-chip svg {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	margin-top: -2px;
	color: var(--vodi-accent);
}

.vodi-genre-chip:hover svg {
	color: #fff;
}

/* ---------------------------------------------------------------------------
 * Secțiunea de căutare + platforme
 * ------------------------------------------------------------------------ */

.vodi-search-section {
	margin: 96px 0;
	position: relative;
	z-index: 2;
}

.vodi-search-section__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.vodi-search-section__title {
	margin: 0 0 20px;
	font-size: clamp(23px, 2.2vw, 31px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.5px;
}

.vodi-search-section__text {
	margin: 0 0 36px;
	max-width: 760px;
	color: var(--vodi-muted);
	font-size: 16px;
}

.vodi-search-section__form {
	width: 100%;
	max-width: 760px;
}

.vodi-search-section__form .vodi-search-form {
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.06);
}

.vodi-search-section__form .vodi-search-form__input {
	padding: 18px 24px;
	font-size: 16px;
}

.vodi-search-section__form .vodi-search-form__submit {
	margin: 6px;
	padding: 0 26px;
	border-radius: 12px;
	background: var(--vodi-gradient);
	color: #fff;
}

.vodi-search-section__platforms-label {
	margin: 48px 0 20px;
	color: var(--vodi-muted);
	font-size: 15px;
}

.vodi-platforms-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}

.vodi-platforms-row__item {
	display: inline-flex;
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.vodi-platforms-row__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
}

.vodi-platforms-row__item img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 16px;
}

/* Pătratul „+N" (numărul platformelor în plus), același format ca logo-urile. */
.vodi-platforms-row__more {
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	padding: 0;
	border: 1px solid var(--vodi-border);
	background: var(--vodi-card-strong);
	color: var(--vodi-text);
	font-size: 16px;
	font-weight: 700;
}


/* ---------------------------------------------------------------------------
 * Secțiuni de carousel
 * ------------------------------------------------------------------------ */

.vodi-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.vodi-section__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.3px;
}

/* Titlul rândului cu propoziția de sub el și, la platforme, sigla în stânga. */
.vodi-section__heading {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.vodi-section__logo {
	flex-shrink: 0;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	object-fit: cover;
}

/* La rândurile de gen, iconița genului (ca în bara de genuri) ține locul siglei. */
.vodi-section__logo--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vodi-border);
	background: rgba(59, 130, 246, 0.1);
	color: var(--vodi-accent);
}

.vodi-section__logo--icon svg {
	width: 30px;
	height: 30px;
}

.vodi-section__desc {
	margin: 2px 0 0;
	color: var(--vodi-muted);
	font-size: 14px;
	line-height: 1.5;
}

.vodi-section__tools {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 10px;
}

.vodi-section__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: 8px;
	color: var(--vodi-muted);
	font-size: 14px;
	font-weight: 700;
	transition: color 0.15s ease;
}

.vodi-section__more:hover {
	color: var(--vodi-accent);
}

.vodi-carousel {
	overflow: hidden;
	padding: 4px;
	margin: -4px;
}

/* ---------------------------------------------------------------------------
 * Card portrait
 * ------------------------------------------------------------------------ */

.vodi-card__link {
	display: block;
}

.vodi-card__poster {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 2 / 3;
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-card__poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.vodi-card__link:hover .vodi-card__poster img {
	transform: scale(1.05);
}

.vodi-card__rating {
	position: absolute;
	left: 10px;
	bottom: 10px;
}

/* Locul din „Top 10 pe platforme", mare, în colțul de sus. */
.vodi-card__rank {
	position: absolute;
	top: 8px;
	left: 12px;
	font-family: var(--vodi-font-heading);
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75), 0 0 2px rgba(0, 0, 0, 0.6);
	pointer-events: none;
}

.vodi-card__body {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 4px 0;
}

.vodi-card__title {
	font-family: var(--vodi-font-heading);
	font-size: 15px;
	font-weight: 600;
	color: var(--vodi-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-card__link:hover .vodi-card__title {
	color: #fff;
}

.vodi-card__meta {
	display: flex;
	align-items: center;
	min-width: 0;
	margin-top: 1px;
	color: var(--vodi-muted);
	font-size: 13px;
	white-space: nowrap;
	overflow: hidden;
}

/* Genul în culoarea de accent, apoi anul și durata despărțite de puncte fine. */
.vodi-card__genre {
	color: var(--vodi-accent);
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-card__fact {
	flex-shrink: 0;
}

.vodi-card__meta > * + *::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 7px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0.6;
	vertical-align: middle;
}


.vodi-card__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

/* „Filme noi": data lansării ca filă de calendar în colțul posterului —
 * luna pe banda albastră, ziua mare dedesubt. */
.vodi-card__calendar {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 42px;
	border-radius: 9px;
	overflow: hidden;
	background: rgba(0, 0, 10, 0.7);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
	text-align: center;
}

.vodi-card__calendar-month {
	display: block;
	background: var(--vodi-accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 17px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-card__calendar-day {
	display: block;
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 17px;
	font-weight: 700;
	line-height: 26px;
}

/* Siglele platformelor pe care poți vedea filmul în România (vodi_the_platform_logos).
 * Mărimea vine din --vodi-logo; poziția, din clasa locului (card, hero, sidebar). */
.vodi-logos {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 3px;
	border-radius: 10px;
	background: rgba(0, 0, 10, 0.15);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.vodi-logos img {
	display: block;
	width: var(--vodi-logo, 26px);
	height: var(--vodi-logo, 26px);
	border-radius: 7px;
	object-fit: cover;
}

.vodi-logos__more {
	padding: 0 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.vodi-card__where {
	top: 10px;
	right: 10px;
}

/* În hero: stânga sus, în oglindă cu rating-ul din dreapta. */
.vodi-hero__where {
	top: 25px;
	left: 25px;
	gap: 6px;
	padding: 5px;
	border-radius: 13px;
}

.vodi-hero__where img {
	border-radius: 9px;
}

/* În cardurile din dreapta hero-ului: colțul din dreapta jos. */
.vodi-side-card__where {
	right: 12px;
	bottom: 10px;
}

.vodi-side-card__where img {
	border-radius: 6px;
}

/* ---------------------------------------------------------------------------
 * Card landscape (trailere)
 * ------------------------------------------------------------------------ */

.vodi-card-landscape__media {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-card-landscape__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.vodi-card-landscape:hover .vodi-card-landscape__media img {
	transform: scale(1.04);
}

.vodi-card-landscape__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 0;
	border-radius: 50%;
	background: rgba(59, 130, 246, 0.92);
	color: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
	transition: transform 0.15s ease, background-color 0.15s ease;
}

.vodi-card-landscape__play:hover {
	transform: translate(-50%, -50%) scale(1.1);
	background: var(--vodi-accent);
}

.vodi-card-landscape__play svg {
	width: 22px;
	height: 22px;
	margin-left: 3px;
}

.vodi-card-landscape__title {
	display: block;
	padding: 12px 4px 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--vodi-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-card-landscape__title:hover {
	color: #fff;
}

/* ---------------------------------------------------------------------------
 * Arhive: antet, sortare, grilă, paginație
 * ------------------------------------------------------------------------ */

.vodi-archive {
	margin-top: 32px;
}

.vodi-archive__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
}

.vodi-archive__title {
	margin: 0;
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 700;
	letter-spacing: -0.5px;
}

.vodi-archive__description {
	margin: 8px 0 0;
	max-width: 640px;
	color: var(--vodi-muted);
}

.vodi-archive__search {
	width: 320px;
	max-width: 100%;
}

.vodi-sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.vodi-sort__label {
	color: var(--vodi-muted);
	font-size: 14px;
	font-weight: 600;
}

.vodi-sort__select {
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid var(--vodi-border);
	background: #12121e;
	color: var(--vodi-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
}

.vodi-sort__submit {
	padding: 10px 16px;
	border: 1px solid var(--vodi-border);
	border-radius: 10px;
	background: var(--vodi-card-strong);
	color: var(--vodi-text);
	font-size: 14px;
	font-weight: 700;
	transition: background-color 0.15s ease;
}

.vodi-sort__submit:hover {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
	color: #fff;
}

.vodi-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 22px;
}


/* -------------------------------------------------------------------------
 * Pagini de listă (pagini SEO + arhive de platformă / gen / an)
 * ---------------------------------------------------------------------- */


/* Fundalul antetului: backdrop-ul primului film, estompat, ca pe pagina actorului. */
.vodi-landing {
	position: relative;
}

.vodi-landing > .vodi-container {
	position: relative;
	z-index: 1;
}

.vodi-landing__backdrop {
	position: absolute;
	/* Urcă sub antetul sticky (translucid), până în marginea de sus a paginii. */
	top: calc(-32px - var(--vodi-header-h));
	left: 0;
	right: 0;
	height: calc(440px + var(--vodi-header-h));
	overflow: hidden;
	pointer-events: none;
}

.vodi-landing__backdrop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	filter: blur(18px) saturate(1.1);
	transform: scale(1.1);
	opacity: 0.4;
}

.vodi-landing__backdrop-shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to bottom, rgba(0, 0, 10, 0.35) 0%, var(--vodi-bg) 100%),
		linear-gradient(to right, rgba(0, 0, 10, 0.6) 0%, rgba(0, 0, 10, 0) 70%);
}

/* Podiumul: primele trei filme, în carduri orizontale compacte. */
.vodi-podium {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 4px 0 32px;
	padding: 0;
	list-style: none;
}

.vodi-podium__card {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 12px 0 12px 12px;
	overflow: hidden;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: rgba(11, 15, 22, 0.75);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--vodi-text);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.vodi-podium__card:hover {
	border-color: rgba(59, 130, 246, 0.5);
	transform: translateY(-2px);
}

.vodi-podium__card:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 3px;
}

/* Locul: bandă pe toată înălțimea cardului, în dreapta, cu fundal albastru transparent. */
.vodi-podium__rank {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	align-self: stretch;
	justify-content: center;
	width: 60px;
	margin: -12px 0 -12px auto;
	border-left: 1px solid var(--vodi-border);
	background: linear-gradient(180deg, rgba(59, 130, 246, 0.2) 0%, rgba(59, 130, 246, 0.06) 100%);
	font-family: var(--vodi-font-heading);
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	/* Cifra doar conturată, ca în prima variantă. */
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.7);
	transition: background-color 0.2s ease;
}

.vodi-podium__card:hover .vodi-podium__rank {
	background-color: rgba(59, 130, 246, 0.25);
	-webkit-text-stroke-color: #fff;
}

.vodi-podium__poster {
	position: relative;
	flex-shrink: 0;
	width: 78px;
}

.vodi-podium__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
	object-fit: cover;
}

/* Rating-ul în colțul posterului, ca în cardurile de lângă hero. */
.vodi-podium__rating {
	position: absolute;
	left: -6px;
	bottom: -4px;
}

.vodi-podium__rating .vodi-rating--sm {
	width: 34px;
	height: 34px;
}

.vodi-podium__rating .vodi-rating--sm .vodi-rating__value {
	font-size: 10px;
	font-weight: 500;
}

.vodi-podium__rating .vodi-rating--sm .vodi-rating__percent {
	margin-right: -2px;
	font-size: 6px;
}

.vodi-podium__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.vodi-podium__title {
	margin: 0;
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-podium__card:hover .vodi-podium__title {
	color: #fff;
}

.vodi-podium .vodi-facts {
	font-size: 13px;
}

.vodi-podium .vodi-facts__item::before {
	margin: 0 7px;
}

.vodi-podium .vodi-facts__cert {
	margin-left: 8px;
	padding: 0 5px;
	border-width: 1px;
	border-color: rgba(255, 255, 255, 0.25);
	font-size: 10px;
	line-height: 16px;
}

.vodi-podium__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--vodi-muted);
	font-size: 13px;
	line-height: 1.5;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Siglele platformelor, în flux sub sinopsis (nu peste imagine). */
.vodi-logos.vodi-podium__where {
	position: static;
	align-self: flex-start;
	margin-top: 2px;
	padding: 0;
	background: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.vodi-podium__where img {
	border-radius: 6px;
}

/* Partea de jos: actorii frecvenți pe un rând, apoi întrebările pe toată lățimea. */
.vodi-landing__actors {
	margin-top: 56px;
}

.vodi-landing__bottom {
	margin-top: 48px;
}

.vodi-landing__faq.vodi-section {
	margin: 0;
}

.vodi-landing__actor-list {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Carduri portret: poza pe tot cardul, locul sus, numele și filmele jos peste gradient. */
.vodi-landing__actor {
	position: relative;
	display: block;
	aspect-ratio: 2 / 3;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	overflow: hidden;
	background: var(--vodi-card-strong);
	color: #fff;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.vodi-landing__actor::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 10, 0.95) 0%, rgba(0, 0, 10, 0.45) 35%, rgba(0, 0, 10, 0) 60%);
	pointer-events: none;
}

.vodi-landing__actor:hover {
	border-color: rgba(59, 130, 246, 0.6);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
	transform: translateY(-4px);
}

.vodi-landing__actor:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 3px;
}

.vodi-landing__actor-photo {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vodi-landing__actor-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	transition: transform 0.4s ease;
}

.vodi-landing__actor:hover .vodi-landing__actor-photo img {
	transform: scale(1.06);
}

.vodi-landing__actor-initial {
	color: rgba(255, 255, 255, 0.2);
	font-family: var(--vodi-font-heading);
	font-size: 56px;
	font-weight: 700;
}

.vodi-landing__actor-place {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	height: 26px;
	padding: 0 6px;
	border-radius: 8px;
	background: rgba(0, 0, 10, 0.55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-family: var(--vodi-font-heading);
	font-size: 13px;
	font-weight: 700;
}

.vodi-landing__actor:hover .vodi-landing__actor-place {
	background: var(--vodi-accent);
}

.vodi-landing__actor-text {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.vodi-landing__actor-name {
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-landing__actor-count {
	color: #93c5fd;
	font-size: 12px;
	font-weight: 600;
}


@media (max-width: 1280px) {
	.vodi-landing__actor-list {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.vodi-landing__actor-list li:nth-child(n+7) {
		display: none;
	}
}

@media (max-width: 768px) {
	.vodi-landing__actor-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 10px;
	}

	.vodi-landing__actor-list li:nth-child(n+7) {
		display: block;
	}

	.vodi-landing__actor-name {
		font-size: 13px;
	}
}

/* „Continuă să explorezi": carduri-colecție — textul în stânga, primele trei
 * postere ale listei în evantai în dreapta, peste backdrop-ul estompat. */
.vodi-landing__explore {
	margin-top: 56px;
}

/* Pe pagina filmului stă sub „Filme similare", care are deja spațiu dedesubt. */
.vodi-single__explore {
	margin-bottom: 48px;
}

.vodi-single__explore .vodi-landing__explore {
	margin-top: 0;
}

.vodi-explore {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-explore__card {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 164px;
	padding: 18px 20px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	overflow: hidden;
	background: var(--vodi-card-bg);
	color: #fff;
	transition: border-color 0.25s ease, transform 0.25s ease;
}

.vodi-explore__bg {
	position: absolute;
	inset: 0;
}

.vodi-explore__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: blur(6px) saturate(1.1);
	transform: scale(1.1);
	opacity: 0.45;
	transition: opacity 0.3s ease;
}

.vodi-explore__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 10, 0.92) 0%, rgba(0, 0, 10, 0.7) 50%, rgba(0, 0, 10, 0.35) 100%);
}

.vodi-explore__card:hover {
	border-color: rgba(59, 130, 246, 0.55);
	transform: translateY(-3px);
}

.vodi-explore__card:hover .vodi-explore__bg img {
	opacity: 0.6;
}

.vodi-explore__card:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 3px;
}

.vodi-explore__text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: 55%;
}

.vodi-explore__kicker {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(59, 130, 246, 0.18);
	color: #93c5fd;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vodi-explore__kicker img {
	width: 18px;
	height: 18px;
	margin-left: -4px;
	border-radius: 5px;
}

/* Poza actorului în etichetă (arhiva actorilor), rotundă. */
.vodi-explore__kicker img.vodi-explore__avatar {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center 20%;
}

.vodi-explore__title {
	margin-top: 8px;
	font-family: var(--vodi-font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.vodi-explore__count {
	color: #d1d5db;
	font-size: 14px;
}

.vodi-explore__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: 14px;
	font-weight: 700;
}

.vodi-explore__more svg {
	width: 16px;
	height: 16px;
	transition: transform 0.2s ease;
}

.vodi-explore__card:hover .vodi-explore__more {
	color: #93c5fd;
}

.vodi-explore__card:hover .vodi-explore__more svg {
	transform: translateX(4px);
}

/* Evantaiul de postere: al treilea în spate, primul în față. */
.vodi-explore__posters {
	position: absolute;
	top: 50%;
	right: 26px;
	z-index: 1;
	width: 156px;
	height: 138px;
	transform: translateY(-50%);
}

.vodi-explore__poster {
	position: absolute;
	top: 0;
	right: 0;
	width: 92px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.55);
	transition: transform 0.35s ease;
}

.vodi-explore__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.vodi-explore__poster:nth-child(1) {
	transform: translateX(-56px) rotate(-10deg) scale(0.86);
}

.vodi-explore__poster:nth-child(2) {
	transform: translateX(-28px) rotate(-5deg) scale(0.93);
}

.vodi-explore__poster:nth-child(3) {
	transform: rotate(3deg);
}

.vodi-explore__card:hover .vodi-explore__poster:nth-child(1) {
	transform: translateX(-80px) rotate(-14deg) scale(0.86);
}

.vodi-explore__card:hover .vodi-explore__poster:nth-child(2) {
	transform: translateX(-42px) rotate(-7deg) scale(0.93);
}

.vodi-explore__card:hover .vodi-explore__poster:nth-child(3) {
	transform: translateY(-4px) rotate(4deg);
}

@media (max-width: 1024px) {
	.vodi-explore {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Pagina filmului: 6 carduri pe 3 coloane, mai joase, fără numărul de filme. */
.vodi-explore--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr; /* Toate cardurile la fel de înalte, și pe rânduri diferite. */
	gap: 16px;
}

.vodi-explore--compact > li {
	display: flex;
}

.vodi-explore--compact .vodi-explore__card {
	width: 100%;
	height: 100%;
	min-height: 132px;
	padding: 16px 18px;
}

.vodi-explore--compact .vodi-explore__text {
	max-width: 58%;
}

.vodi-explore--compact .vodi-explore__title {
	margin-top: 10px;
	font-size: 16px;
}

.vodi-explore--compact .vodi-explore__posters {
	right: 18px;
	width: 120px;
	height: 108px;
}

.vodi-explore--compact .vodi-explore__poster {
	width: 70px;
}

.vodi-explore--compact .vodi-explore__poster:nth-child(1) {
	transform: translateX(-42px) rotate(-10deg) scale(0.86);
}

.vodi-explore--compact .vodi-explore__poster:nth-child(2) {
	transform: translateX(-21px) rotate(-5deg) scale(0.93);
}

.vodi-explore--compact .vodi-explore__card:hover .vodi-explore__poster:nth-child(1) {
	transform: translateX(-58px) rotate(-14deg) scale(0.86);
}

.vodi-explore--compact .vodi-explore__card:hover .vodi-explore__poster:nth-child(2) {
	transform: translateX(-31px) rotate(-7deg) scale(0.93);
}

@media (max-width: 1280px) {
	.vodi-explore--compact {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.vodi-explore--compact {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.vodi-explore__card {
		min-height: 170px;
		padding: 18px;
	}

	.vodi-explore__text {
		max-width: 62%;
	}

	.vodi-explore__title {
		font-size: 17px;
	}

	.vodi-explore__posters {
		right: 14px;
		transform: translateY(-50%) scale(0.75);
		transform-origin: right center;
	}

	.vodi-explore {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-landing__actor-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1280px) {
	.vodi-podium__rank {
		width: 46px;
		font-size: 34px;
	}
}

@media (max-width: 1024px) {
	.vodi-podium {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.vodi-podium__rank {
		width: 60px;
		font-size: 40px;
	}
}

@media (max-width: 480px) {
	.vodi-podium__rank {
		width: 44px;
		font-size: 30px;
	}

	.vodi-podium__poster {
		width: 64px;
	}
}

.vodi-landing__header {
	margin-bottom: 32px;
}

.vodi-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	color: var(--vodi-muted);
	font-size: 13px;
}

.vodi-crumbs li + li::before {
	content: "›";
	margin: 0 8px;
	opacity: 0.6;
}

.vodi-crumbs a {
	color: var(--vodi-muted);
}

.vodi-crumbs a:hover {
	color: #fff;
}

.vodi-crumbs [aria-current="page"] {
	color: var(--vodi-text);
}

.vodi-landing__heading {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 14px;
}

.vodi-landing__logo.vodi-section__logo {
	width: 56px;
	height: 56px;
	border-radius: 14px;
}

.vodi-landing__logo.vodi-section__logo--icon svg {
	width: 34px;
	height: 34px;
}

.vodi-landing__title {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: clamp(28px, calc(3.4vw - 4px), 44px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.vodi-landing__intro {
	max-width: 90ch;
	margin: 0 0 20px;
	color: var(--vodi-muted);
	font-size: 16px;
	line-height: 1.6;
}

.vodi-landing__related {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
}

.vodi-landing__related-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--vodi-muted);
	font-size: 14px;
}

/* Siglele platformelor, lângă etichetă și în chip-uri (ca „Disponibil pe:" din pagina filmului). */
.vodi-landing__related-label img,
.vodi-landing__related a.has-logo img {
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	object-fit: cover;
}

.vodi-landing__related a.has-logo {
	padding-left: 6px;
}

/* Iconița genului în chip-urile de gen, ca în bara de genuri de pe prima pagină. */
.vodi-landing__related a.has-icon {
	padding-left: 10px;
}

/* Chip-urile dau oricărui span stilul casetei de număr; iconița nu-l vrea. */
.vodi-actor__genres .vodi-landing__chip-icon {
	display: inline-flex;
	min-width: 0;
	height: auto;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--vodi-accent);
}

.vodi-landing__chip-icon svg {
	width: 18px;
	height: 18px;
}

.vodi-landing__count {
	margin: 0 0 16px;
	color: var(--vodi-muted);
	font-size: 14px;
}

.vodi-landing__related + .vodi-landing__related {
	margin-top: 12px;
}

/* Arhivele: titlul listei complete, cu sortarea în dreapta. */
.vodi-landing__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 20px;
	padding-top: 24px;
	border-top: 1px solid var(--vodi-border);
}

.vodi-landing__toolbar-title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
}

ol.vodi-landing__grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Arhiva actorilor: grilă de carduri cu poza, numele și numărul de filme. */
.vodi-actor-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 20px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 1024px) {
	.vodi-actor-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.vodi-actor-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px 12px;
	}
}

@media (max-width: 480px) {
	.vodi-actor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Arhiva actorilor, prima pagină: primii trei ca „vedete" — poza, datele,
 * trei postere și locul pe banda din dreapta (ca la podium). */
.vodi-actor-stars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.vodi-actor-star {
	position: relative;
	display: flex;
	gap: 16px;
	height: 100%;
	padding: 16px 0 16px 16px;
	overflow: hidden;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: rgba(11, 15, 22, 0.8);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.vodi-actor-star:hover {
	border-color: rgba(59, 130, 246, 0.5);
	transform: translateY(-2px);
}

.vodi-actor-star__photo,
.vodi-actor-star__body,
.vodi-actor-star__rank {
	position: relative;
	z-index: 1;
}

.vodi-actor-star__photo {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 104px;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	background: var(--vodi-card-strong);
	color: rgba(255, 255, 255, 0.25);
	font-family: var(--vodi-font-heading);
	font-size: 40px;
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.vodi-actor-star__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}

.vodi-actor-star__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.vodi-actor-star__name {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
}

.vodi-actor-star__name a {
	color: #fff;
}

.vodi-actor-star__name a:hover {
	color: #93c5fd;
}

.vodi-actor-star__meta {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 600;
}

.vodi-actor-star__meta span + span::before {
	content: "·";
	margin: 0 7px;
	opacity: 0.6;
}

.vodi-actor-star__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	font-weight: 600;
}

.vodi-actor-star__genre {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 8px;
	border-radius: 8px;
	background: rgba(59, 130, 246, 0.16);
	color: #93c5fd;
}

.vodi-actor-star__genre svg {
	width: 14px;
	height: 14px;
}

.vodi-actor-star__films {
	display: flex;
	gap: 6px;
	margin: auto 0 0;
	padding: 4px 0 0;
	list-style: none;
}

.vodi-actor-star__films a {
	display: block;
	width: 44px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.vodi-actor-star__films a:hover {
	border-color: var(--vodi-accent);
	transform: translateY(-2px);
}

.vodi-actor-star__films img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.vodi-actor-star__rank {
	margin: -16px 0 -16px auto;
}

.vodi-actor-star:hover .vodi-actor-star__rank {
	background-color: rgba(59, 130, 246, 0.25);
	-webkit-text-stroke-color: #fff;
}

/* „Născuți în {lună}": pastile cu poza rotundă, numele și data; ziua de azi evidențiată. */
.vodi-actor-birthdays,
.vodi-actor-fresh {
	margin-top: 48px;
}

.vodi-actors-page__all {
	margin-top: 56px;
}

.vodi-actor-birthdays__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Poza, data, numele, vârsta, filmul cunoscut și posterul lui. */
.vodi-actor-birthday {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 10px 10px 10px 10px;
	overflow: hidden;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.015) 100%);
	color: var(--vodi-text);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.vodi-actor-birthday:hover {
	border-color: rgba(255, 255, 255, 0.22);
	transform: translateY(-2px);
}

.vodi-actor-birthday__photo {
	position: relative;
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 90px;
	border-radius: 14px;
	background: var(--vodi-card-strong);
}

.vodi-actor-birthday__photo img {
	width: 100%;
	height: 100%;
	border-radius: 14px;
	object-fit: cover;
	object-position: center 20%;
}

.vodi-actor-birthday__initial {
	color: rgba(255, 255, 255, 0.3);
	font-family: var(--vodi-font-heading);
	font-size: 24px;
	font-weight: 700;
}

.vodi-actor-birthday__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vodi-actor-birthday__when {
	color: var(--vodi-muted);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.vodi-actor-birthday.is-today .vodi-actor-birthday__when {
	color: #93c5fd;
}

.vodi-actor-birthday__name {
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 15px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-actor-birthday__age {
	color: var(--vodi-text);
	font-size: 12px;
	font-weight: 600;
	opacity: 0.85;
}

.vodi-actor-birthday__known {
	overflow: hidden;
	color: var(--vodi-muted);
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-actor-birthday__poster {
	flex-shrink: 0;
	width: 40px;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
	transform: rotate(4deg);
	transition: transform 0.25s ease;
}

.vodi-actor-birthday:hover .vodi-actor-birthday__poster {
	transform: rotate(0deg) scale(1.06);
}

.vodi-actor-birthday__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

/* „În filmele noi": 6 actori pe rând, ca grila de dedesubt. */
.vodi-actor-fresh .vodi-landing__actor-list {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media (max-width: 1024px) {
	.vodi-actor-fresh .vodi-landing__actor-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Filmul cunoscut / filmul nou, sub numele din cardurile portret. */
.vodi-landing__actor-known {
	overflow: hidden;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 1280px) {
	.vodi-actor-star__photo {
		width: 88px;
	}

	.vodi-actor-star__films a {
		width: 38px;
	}
}

@media (max-width: 1024px) {
	.vodi-actor-stars {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.vodi-actor-star__photo {
		width: 96px;
	}
}

@media (max-width: 480px) {
	.vodi-actor-star {
		gap: 12px;
		padding: 12px 0 12px 12px;
	}

	.vodi-actor-star__photo {
		width: 76px;
	}

	.vodi-actor-star__name {
		font-size: 17px;
	}

	.vodi-actor-star__rank {
		margin: -12px 0 -12px auto;
	}

	.vodi-actor-birthdays__list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 768px) {
	.vodi-landing__heading {
		gap: 12px;
	}

	.vodi-landing__logo.vodi-section__logo {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}

	.vodi-landing__intro {
		font-size: 15px;
	}
}
.navigation.pagination {
	margin-top: 44px;
}

.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 12px;
	border: 1px solid var(--vodi-border);
	background: var(--vodi-card);
	color: var(--vodi-text);
	font-size: 14px;
	font-weight: 700;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.navigation.pagination .page-numbers:hover {
	border-color: var(--vodi-accent);
	color: #fff;
}

.navigation.pagination .page-numbers.current {
	background: var(--vodi-gradient);
	border-color: transparent;
	color: #fff;
}

.navigation.pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* ---------------------------------------------------------------------------
 * Single film
 * ------------------------------------------------------------------------ */

.vodi-single {
	position: relative;
	/* Înălțimea de referință după care e poziționat conținutul și cea reală a hero-ului;
	 * diferența lor se scade din margin-top, ca textul să rămână pe loc. */
	--vodi-hero-base: clamp(400px, 64vh, 680px);
	--vodi-hero-h: max(var(--vodi-hero-base), 75vh);
	--vodi-hero-extra: calc(var(--vodi-hero-h) - var(--vodi-hero-base));
}

/* Backdrop-ul urcă sub antetul sticky (translucid pe pagina de film), ca să-l acopere. */
.vodi-single__hero {
	position: relative;
	height: var(--vodi-hero-h);
	margin-top: calc(-1 * var(--vodi-header-h));
	overflow: hidden;
}

.vodi-single__backdrop {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Imaginea coborâtă: se vede mai mult din partea de sus (capete, titluri). */
	object-position: center 20%;
}

.vodi-single__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, var(--vodi-bg) 4%, rgba(11, 11, 20, 0.80) 45%, rgba(11, 11, 20, 0.35) 100%),
		linear-gradient(to right, rgba(11, 11, 20, 0.75) 0%, transparent 55%);
}

.vodi-single__layout {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 44px;
	margin-top: calc(-240px - var(--vodi-hero-extra));
	padding-bottom: 24px;
}

.vodi-single__poster img {
	border-radius: var(--vodi-radius);
	border: 1px solid var(--vodi-border);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
	width: 100%;
}

/* Card de trailer sub poster: backdrop 16:9, play în centru, eticheta jos-stânga. */
.vodi-trailer-card {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-top: 18px;
	padding: 0;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	overflow: hidden;
	background: var(--vodi-card);
	color: #fff;
	text-align: left;
	transition: border-color 0.15s ease;
}

.vodi-trailer-card:hover {
	border-color: var(--vodi-accent);
}

.vodi-trailer-card__bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
	transition: transform 0.3s ease, opacity 0.2s ease;
}

.vodi-trailer-card:hover .vodi-trailer-card__bg {
	transform: scale(1.05);
	opacity: 0.9;
}

.vodi-trailer-card__play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
	transition: transform 0.15s ease;
}

.vodi-trailer-card:hover .vodi-trailer-card__play {
	transform: translate(-50%, -50%) scale(1.1);
}

.vodi-trailer-card__play svg {
	width: 24px;
	height: 24px;
	margin-left: 3px;
}

.vodi-trailer-card__label {
	position: absolute;
	left: 12px;
	bottom: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 9, 0.7);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* Caseta „Detalii film" + butoanele de distribuire, sub poster. */
.vodi-film-details {
	margin-top: 18px;
	padding: 16px 18px;
	border-radius: var(--vodi-radius-sm);
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-film-details__list {
	margin: 0;
}

.vodi-film-details__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-top: 1px solid var(--vodi-border);
	font-size: 13px;
}

.vodi-film-details__row:first-child {
	border-top: 0;
	padding-top: 0;
}

.vodi-film-details__row dt {
	flex-shrink: 0;
	color: var(--vodi-muted);
}

.vodi-film-details__row dd {
	margin: 0;
	text-align: right;
	font-weight: 600;
	color: var(--vodi-text);
}

/* Scorul TMDB: pastilă în culoarea nivelului, ca badge-ul circular. */
.vodi-film-details__score {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 6px;
	line-height: 1.5;
}

.vodi-film-details__score.is-high {
	background: rgba(34, 197, 94, 0.16);
	color: var(--vodi-ok);
}

.vodi-film-details__score.is-mid {
	background: rgba(234, 179, 8, 0.16);
	color: var(--vodi-warn);
}

.vodi-film-details__score.is-low {
	background: rgba(239, 68, 68, 0.16);
	color: var(--vodi-bad);
}

/* Încasări raportate la buget: albastru de la ×2,5 (profit), portocaliu ×1–2,5, roșu sub buget. */
.vodi-film-details__ratio {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 6px;
	font-size: 12px;
	line-height: 1.5;
}

.vodi-film-details__ratio.is-high {
	background: rgba(59, 130, 246, 0.16);
	color: var(--vodi-accent);
}

.vodi-film-details__ratio.is-mid {
	background: rgba(249, 115, 22, 0.16);
	color: var(--vodi-rent);
}

.vodi-film-details__ratio.is-low {
	background: rgba(239, 68, 68, 0.16);
	color: var(--vodi-bad);
}

/* Țările de producție, fiecare într-o căsuță cu steagul ei. */
.vodi-film-details__countries {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.vodi-film-details__country {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 1px 8px;
	border: 1px solid var(--vodi-border);
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.05);
	line-height: 1.5;
	white-space: nowrap;
}

.vodi-film-details__flag {
	font-weight: 400;
}

/* Link-urile către IMDb și TMDB, ca iconițe pătrate. */
.vodi-film-details__links {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}

.vodi-film-details__link {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.15s ease;
}

.vodi-film-details__link img {
	display: block;
	width: 100%;
	height: 100%;
	/* Caseta stă în coloana posterului, deci anulăm stilul `.vodi-single__poster img`. */
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.vodi-film-details__link:hover {
	transform: translateY(-2px);
}

.vodi-film-details__link:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

/* Coloana din stânga a filmului: „Alte filme regizate de…" / „Top 10 pe…",
 * fiecare film într-o căsuță proprie. */
.vodi-film-more {
	margin-top: 40px;
}

/* Titlul pe două rânduri: eticheta mică și gri deasupra, numele mare dedesubt. */
.vodi-film-more__title {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0 0 14px;
}

.vodi-film-more__eyebrow {
	color: var(--vodi-muted);
	font-family: var(--vodi-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

.vodi-film-more__who {
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
}

.vodi-film-more__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-film-more__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px 8px 8px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: var(--vodi-card);
	color: var(--vodi-text);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.vodi-film-more__item:hover {
	border-color: rgba(59, 130, 246, 0.5);
	background: rgba(59, 130, 246, 0.07);
	transform: translateX(3px);
}

/* Filmul curent, când apare în top. */
.vodi-film-more__item.is-current {
	border-color: rgba(59, 130, 246, 0.5);
	background: rgba(59, 130, 246, 0.1);
}

.vodi-film-more__item:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-film-more__poster {
	position: relative;
	flex-shrink: 0;
	width: 48px;
}

/* Rating-ul în colțul din stânga jos al posterului, ca în cardurile de lângă hero. */
.vodi-film-more__rating {
	position: absolute;
	left: -6px;
	bottom: -4px;
}

.vodi-film-more__rating .vodi-rating--sm {
	width: 32px;
	height: 32px;
}

.vodi-film-more__rating .vodi-rating--sm .vodi-rating__value {
	font-size: 10px;
	font-weight: 500;
}

.vodi-film-more__rating .vodi-rating--sm .vodi-rating__percent {
	margin-right: -2px;
	font-size: 6px;
}

/* Lista stă în coloana posterului: anulăm stilul `.vodi-single__poster img`. */
.vodi-film-more__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
	object-fit: cover;
}

.vodi-film-more__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.vodi-film-more__name {
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Clasificarea, în chenar mic după an (fără punctul despărțitor). */
.vodi-film-more .vodi-facts__cert {
	flex-shrink: 0;
	margin-left: 13px;
	padding: 0 5px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 10px;
	line-height: 16px;
}

.vodi-film-more .vodi-facts__cert::before {
	display: none;
}

.vodi-film-more__go {
	display: flex;
	flex-shrink: 0;
	color: var(--vodi-muted);
	transition: color 0.2s ease, transform 0.2s ease;
}

.vodi-film-more__go svg {
	width: 16px;
	height: 16px;
}

.vodi-film-more__item:hover .vodi-film-more__name,
.vodi-film-more__item:hover .vodi-film-more__go {
	color: #fff;
}

.vodi-film-more__item:hover .vodi-film-more__go {
	transform: translateX(2px);
}

.vodi-share__label {
	margin-right: 4px;
	font-size: 13px;
	color: var(--vodi-muted);
}

.vodi-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--vodi-border);
	border-radius: 50%;
	background: var(--vodi-card);
	color: var(--vodi-text);
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-share__btn:hover {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
	color: #fff;
}

/* Culoarea brandului la hover: Facebook albastru, WhatsApp verde; „copiază" rămâne pe accent. */
.vodi-share__btn--facebook:hover {
	background: #1877F2;
	border-color: #1877F2;
}

.vodi-share__btn--whatsapp:hover {
	background: #25D366;
	border-color: #25D366;
}

/* Butonul nativ apare doar pe telefoanele care îl au (JS scoate „hidden"). */
.vodi-share__btn[hidden] {
	display: none;
}

.vodi-share__btn--native:hover {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
}

.vodi-share__btn--messenger:hover {
	background: linear-gradient(45deg, #0099FF, #A033FF 60%, #FF5280);
	border-color: #A033FF;
}

.vodi-share__btn--x:hover {
	background: #000;
	border-color: rgba(255, 255, 255, 0.4);
}

.vodi-share__status {
	font-size: 12px;
	color: var(--vodi-ok);
}

/* Întrebări frecvente: acordeon nativ. */
.vodi-single__faq {
	margin-top: 28px;
}

.vodi-faq {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vodi-faq__item {
	border-radius: var(--vodi-radius-sm);
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-faq__item[open] {
	border-color: rgba(59, 130, 246, 0.35);
}

.vodi-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	font-size: 15px;
	font-weight: 700;
	color: var(--vodi-text);
	cursor: pointer;
	list-style: none;
}

.vodi-faq__question::-webkit-details-marker {
	display: none;
}

.vodi-faq__chevron {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--vodi-muted);
	transition: transform 0.2s ease;
}

.vodi-faq__item[open] .vodi-faq__chevron {
	transform: rotate(180deg);
}

.vodi-faq__answer {
	margin: 0;
	padding: 0 16px 14px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--vodi-muted);
}

.vodi-single__content {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding-top: 20px;
}

/* Badge-ul de rating stă în stânga titlului (ca .movie__title pe vodi.ro). */
.vodi-single__heading {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 5px;
}

.vodi-single__rating {
	flex-shrink: 0;
}

.vodi-single__titles {
	min-width: 0;
}

.vodi-single__title {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: clamp(28px, calc(4.2vw - 6px), 50px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.vodi-single__tagline {
	margin: 0;
	color: var(--vodi-accent);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Vibe: pastila din antet + fereastra cu reacții. */
.vodi-vibe {
	flex-shrink: 0;
	margin-bottom: 15px;
}

.vodi-vibe__pill {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 6px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.vodi-vibe__pill:hover {
	border-color: var(--vodi-accent);
	background: var(--vodi-card-strong);
}

/* Primele reacții: unul lângă altul, fără suprapunere. */
.vodi-vibe__top {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.vodi-vibe__top:empty {
	display: none;
}

.vodi-emoji {
	display: inline-block;
	vertical-align: middle;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.vodi-emoji--text {
	font-size: 24px;
	line-height: 1;
}

/* „VIBE" mic deasupra, procentul mare sub el. */
.vodi-vibe__label {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.1;
	white-space: nowrap;
}

.vodi-vibe__label > span:first-child {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--vodi-muted);
}

.vodi-vibe__percent {
	color: var(--vodi-ok);
	font-size: 18px;
	font-weight: 800;
}

.vodi-vibe__percent span {
	font-size: 11px;
	font-weight: 700;
}

/* Reacția ta: disc separat în dreapta. */
.vodi-vibe__mine {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--vodi-card-strong);
	border: 1px solid var(--vodi-border);
	transition: border-color 0.15s ease;
}

.vodi-vibe__pill:hover .vodi-vibe__mine {
	border-color: var(--vodi-accent);
}

.vodi-vibe__plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--vodi-accent);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.vodi-vibe-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.vodi-vibe-modal[hidden] {
	display: none;
}

.vodi-vibe-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 4, 10, 0.85);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.vodi-vibe-modal__body {
	position: relative;
	width: min(560px, 100%);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	overflow-y: auto;
	padding: 28px;
	border-radius: var(--vodi-radius);
	background: var(--vodi-card-bg);
	border: 1px solid var(--vodi-border);
	box-shadow: 0 32px 96px rgba(0, 0, 0, 0.7);
}

.vodi-vibe-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: var(--vodi-card-strong);
	color: var(--vodi-text);
}

.vodi-vibe-modal__title {
	margin: 0 0 4px;
	font-size: 24px;
}

.vodi-vibe-modal__text {
	margin: 0 0 18px;
	color: var(--vodi-muted);
	font-size: 14px;
}

.vodi-vibe-row {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid var(--vodi-border);
}

.vodi-vibe-row:first-child {
	border-top: 0;
}

.vodi-vibe-row__label {
	font-size: 14px;
	font-weight: 700;
}

.vodi-vibe-row__emojis {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.vodi-vibe-emoji {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 2px solid transparent;
	border-radius: 50%;
	background: transparent;
	transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-vibe-emoji:hover {
	background: var(--vodi-card-strong);
	transform: scale(1.15);
}

.vodi-vibe-emoji.is-selected {
	background: rgba(255, 255, 255, 0.12);
	border-color: var(--vodi-accent);
}

.vodi-vibe-modal__status {
	min-height: 20px;
	margin: 14px 0 0;
	font-size: 13px;
	color: var(--vodi-ok);
}

.vodi-vibe-modal__done {
	margin-top: 8px;
}

/* Meta + Vibe pe același rând; Vibe aliniat sus-dreapta. */
.vodi-single__meta-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.vodi-single__meta-row .vodi-single__meta {
	min-width: 0;
}

.vodi-single__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
}

/* „Disponibil pe": platformele filmului, cu numărul țărilor în care apare. */
/* Eticheta ca rândul „Actori:"; chip-urile curg lângă ea, iar cele care nu mai încap
 * trec pe rândul următor, de la marginea din stânga. */
.vodi-platform-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	/* Aceeași distanță ca între rândurile din meta (15px), nu cea dintre secțiuni (22px). */
	margin-top: -7px;
}

.vodi-platform-chips__label {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	height: 34px;
	margin: 0 2px 0 0;
	color: var(--vodi-accent);
	font-size: 16px;
	font-weight: 400;
	white-space: nowrap;
}

.vodi-platform-chips__label svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* Lista nu formează un bloc propriu: chip-urile devin elemente ale rândului. */
.vodi-platform-chips__list {
	display: contents;
	list-style: none;
}

.vodi-platform-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	padding: 0 6px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-text);
	font-size: 14px;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-platform-chip:hover,
.vodi-platform-chip:focus-visible {
	border-color: var(--vodi-accent);
	background: rgba(59, 130, 246, 0.12);
	color: #fff;
}

.vodi-platform-chip:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-platform-chip__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.08);
	font-size: 12px;
	font-weight: 700;
}

.vodi-platform-chip__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-platform-chip__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
}

.vodi-platform-chip--more {
	padding: 0 12px;
	color: var(--vodi-muted);
	font-weight: 600;
}

/* Titlul secțiunii nu se ascunde sub antetul fix când ajungem la el prin ancoră. */
#vodi-platforms-title,
#vodi-actors-title {
	scroll-margin-top: calc(var(--vodi-header-h) + 24px);
}

.vodi-single__meta .vodi-pills {
	gap: 10px;
	margin-bottom: 5px;
}

.vodi-single__meta .vodi-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 60px;
	height: 30px;
	padding: 0 12px;
	border-radius: 12px;
	background: #151f30;
	color: #e0e0e0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

.vodi-single__meta .vodi-pill--solid,
.vodi-single__meta a.vodi-pill:hover {
	background: var(--vodi-accent);
	color: #fff;
}

.vodi-single__meta .vodi-film-meta {
	gap: 15px;
}

.vodi-single__meta .vodi-film-meta__item {
	gap: 8px;
	font-size: 16px;
	font-weight: 400;
	color: #e0e0e0;
}

.vodi-single__meta .vodi-film-meta__item svg {
	width: 22px;
	height: 22px;
}

.vodi-single__meta .vodi-film-meta__label {
	color: var(--vodi-accent);
}

/* Rândul „Actori:" de sub meta — un singur rând, cu „…" la final (ca pe vodi.ro). */
.vodi-single__cast {
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 640px;
	margin: 0;
	font-size: 16px;
	color: #e0e0e0;
	white-space: nowrap;
	overflow: hidden;
}

.vodi-single__cast svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	color: var(--vodi-accent);
}

.vodi-single__cast-label {
	color: var(--vodi-accent);
}

a.vodi-single__cast-label:hover {
	color: #fff;
}

.vodi-single__cast-names {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-single__cast-names a {
	color: #e0e0e0;
}

.vodi-single__cast-names a:hover {
	color: #fff;
}

/* Descrierea cu cardul de trailer în dreapta ei. */
.vodi-single__description-row {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-top: 10px;
}

.vodi-single__description-row .vodi-single__description {
	flex: 1;
	min-width: 0;
}

.vodi-single__description-row .vodi-trailer-card {
	width: 340px;
	flex-shrink: 0;
	margin-top: 10px;
}

.vodi-single__description {
	max-width: 820px;
	color: var(--vodi-muted);
}

.vodi-single__description p {
	margin: 0 0 14px;
	font-size: 15px;
}

.vodi-single__subtitle {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	color: var(--vodi-text);
}

/* Titluri de secțiune cu iconiță (line, în culoarea de accent). */
.vodi-single__subtitle--icon {
	display: flex;
	align-items: center;
	gap: 12px;
}

.vodi-section-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
	top: -2px;
	color: #fff;
}

.vodi-section-icon svg {
	width: 26px;
	height: 26px;
}

.vodi-single__platforms {
	margin-top: 10px;
}

/* „Unde poți viziona": antet cu selector de țară (tab-uri cu steaguri). */
.vodi-single__platforms-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 16px;
}

.vodi-single__platforms-head .vodi-single__subtitle {
	margin: 0;
}

.vodi-country-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 10px 0 5px;
}

.vodi-country-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: var(--vodi-card);
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.vodi-country-tab:hover {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.25);
}

.vodi-country-tab[aria-selected="true"] {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
	color: #fff;
}

.vodi-country-tab__flag {
	font-size: 16px;
	line-height: 1;
}

.vodi-single__platforms-note {
	margin: 14px 0 0;
	font-size: 13px;
}

.vodi-country-tab__count {
	padding: 0 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 11px;
	line-height: 16px;
}

.vodi-country-tab[aria-selected="true"] .vodi-country-tab__count {
	background: rgba(255, 255, 255, 0.25);
}

.vodi-offer-row__tag {
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(34, 197, 94, 0.16);
	color: var(--vodi-ok);
	font-size: 11px;
	font-weight: 700;
}

/* Descrierea generată din oferte, deasupra grupurilor. */
.vodi-offer-description {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--vodi-muted);
}

/* „Unde poți viziona": grupuri pe tip, fiecare o listă de rânduri aliniate pe coloane
   (logo · platformă · calitate · preț · buton). */
.vodi-offer-groups {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.vodi-offer-group__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-family: var(--vodi-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--vodi-muted);
}

.vodi-offer-group__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vodi-accent);
}

.vodi-offer-group--gratuit .vodi-offer-group__dot {
	background: var(--vodi-ok);
}

.vodi-offer-group--inchiriere .vodi-offer-group__dot {
	background: var(--vodi-rent);
}

.vodi-offer-group--cumparare .vodi-offer-group__dot {
	background: var(--vodi-buy);
}

.vodi-offer-group__count {
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--vodi-card-strong);
	font-size: 11px;
	letter-spacing: 0;
}

.vodi-offer-group__min {
	margin-left: auto;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--vodi-card-strong);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: #fff;
}

.vodi-offer-group--inchiriere .vodi-offer-group__min {
	background: rgba(249, 115, 22, 0.16);
	color: var(--vodi-rent);
}

.vodi-offer-group--cumparare .vodi-offer-group__min {
	background: rgba(168, 85, 247, 0.16);
	color: var(--vodi-buy);
}

.vodi-offer-group--abonament .vodi-offer-group__min {
	background: rgba(59, 130, 246, 0.14);
	color: var(--vodi-accent-2);
}

.vodi-offer-rows {
	margin: 0;
	padding: 0;
	list-style: none;
	border-radius: 0 14px 14px 0;
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
	overflow: hidden;
}

.vodi-offer-rows li + li {
	border-top: 1px solid var(--vodi-border);
}

.vodi-offer-row {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) 52px 96px auto;
	align-items: center;
	gap: 14px;
	padding: 10px 14px 10px 12px;
	border-left: 3px solid var(--vodi-brand, transparent);
	color: var(--vodi-text);
	transition: background-color 0.15s ease;
}

.vodi-offer-row:hover {
	background: var(--vodi-card-strong);
	color: #fff;
}

.vodi-offer-row__logo {
	display: inline-flex;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--vodi-card-strong);
}

.vodi-offer-row__logo img {
	width: 40px;
	height: 40px;
	object-fit: cover;
}

.vodi-offer-row__initial {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-weight: 700;
	color: var(--vodi-muted);
}

.vodi-offer-row__name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font-size: 15px;
	font-weight: 700;
}

.vodi-offer-row__expires {
	font-size: 11px;
	font-weight: 600;
	color: var(--vodi-warn);
}

.vodi-offer__quality {
	display: inline-block;
	padding: 2px 7px;
	border: 1px solid var(--vodi-border);
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: var(--vodi-muted);
}

.vodi-offer-row__price {
	text-align: right;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
}

.vodi-offer-row__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--vodi-card-strong);
	font-size: 13px;
	font-weight: 700;
	color: var(--vodi-text);
	white-space: nowrap;
	transition: background-color 0.15s ease;
}

.vodi-offer-row:hover .vodi-offer-row__cta {
	background: var(--vodi-accent);
	color: #fff;
}

.vodi-offer-row__cta svg {
	width: 16px;
	height: 16px;
}

/* Actorii filmului: carusel în coloana de conținut. */
.vodi-single__actors {
	margin-top: 10px;
}

.vodi-single__actors .vodi-section__header {
	margin-bottom: 16px;
}

.vodi-single__actors .vodi-single__subtitle {
	margin: 0;
}

.vodi-single__cast-description {
	margin: -6px 0 16px;
}

.vodi-actor-card__link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: center;
}

.vodi-actor-card__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2 / 3;
	margin-bottom: 6px;
	border-radius: 16px;
	overflow: hidden;
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-actor-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.vodi-actor-card__placeholder {
	font-size: 36px;
	font-weight: 700;
	color: var(--vodi-muted);
}

.vodi-actor-card__name {
	font-family: var(--vodi-font-heading);
	font-size: 14px;
	font-weight: 700;
	color: var(--vodi-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.vodi-actor-card__link:hover .vodi-actor-card__name {
	color: #fff;
}

.vodi-actor-card__role {
	font-size: 12px;
	color: var(--vodi-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ---------------------------------------------------------------------------
 * 404, stări goale, conținut generic
 * ------------------------------------------------------------------------ */

.vodi-404__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	padding: 72px 32px;
	text-align: center;
}

.vodi-404__code {
	margin: 0;
	font-size: clamp(96px, 18vw, 180px);
	font-weight: 700;
	line-height: 1;
	background: var(--vodi-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.vodi-404__title {
	margin: 0;
	font-size: 26px;
	font-weight: 700;
}

.vodi-404__text {
	margin: 0;
	max-width: 520px;
	color: var(--vodi-muted);
}

.vodi-404__search {
	width: 100%;
	max-width: 480px;
}

.vodi-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 72px 24px;
	text-align: center;
	border: 1px dashed var(--vodi-border);
	border-radius: var(--vodi-radius);
}

.vodi-empty__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
}

.vodi-empty__text {
	margin: 0;
	color: var(--vodi-muted);
}

.vodi-empty__search {
	width: 100%;
	max-width: 440px;
}

.vodi-entry {
	max-width: 820px;
	margin: 0 auto 32px;
	padding: 32px;
	border-radius: var(--vodi-radius);
	background: var(--vodi-card);
	border: 1px solid var(--vodi-border);
}

.vodi-entry__title {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: 700;
}

.vodi-entry__title a:hover {
	color: var(--vodi-accent);
}

.vodi-entry__excerpt,
.vodi-entry__content {
	color: rgba(244, 245, 247, 0.88);
}

/* Paginile legale: text de 14px, gri. */
.vodi-legal .vodi-entry__content {
	font-size: 14px;
	line-height: 1.7;
	color: var(--vodi-muted);
}

.vodi-legal .vodi-entry__content h2,
.vodi-legal .vodi-entry__content h3,
.vodi-legal .vodi-entry__content strong {
	color: var(--vodi-text);
}

.vodi-entry__content a,
.vodi-entry__excerpt a {
	color: var(--vodi-accent);
}

/* ---------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------ */

.vodi-footer {
	position: relative;
	margin-top: 72px;
	overflow: hidden;
	border-top: 1px solid var(--vodi-border);
	background:
		radial-gradient(ellipse at 0% 0%, rgba(59, 130, 246, 0.1) 0%, transparent 45%),
		radial-gradient(ellipse at 100% 100%, rgba(236, 72, 153, 0.07) 0%, transparent 45%),
		rgba(255, 255, 255, 0.02);
}

/* Sus: prezentarea (mai lată) și patru coloane de linkuri. */
.vodi-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr) minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(0, 0.9fr);
	gap: 40px 64px;
	padding: 36px 0 28px;
}

.vodi-footer__tagline {
	margin: 10px 0 0;
	color: var(--vodi-text);
	font-size: 15px;
	font-weight: 600;
}

.vodi-footer__about {
	max-width: 420px;
	margin: 8px 0 0;
	color: var(--vodi-muted);
	font-size: 14px;
	line-height: 1.6;
}

.vodi-footer__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.vodi-footer__stats li {
	padding: 6px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.03);
	color: var(--vodi-muted);
	font-size: 13px;
}

.vodi-footer__stats strong {
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-weight: 700;
}

/* „Surprinde-mă": discret, ca o pastilă albastră transparentă. */
.vodi-footer__surprise {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	padding: 6px 12px;
	border: 1px solid rgba(59, 130, 246, 0.35);
	border-radius: 10px;
	background: rgba(59, 130, 246, 0.1);
	color: #93c5fd;
	font-size: 13px;
	font-weight: 600;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.vodi-footer__surprise svg {
	width: 12px;
	height: 12px;
}

.vodi-footer__surprise:hover {
	border-color: rgba(59, 130, 246, 0.6);
	background: rgba(59, 130, 246, 0.18);
	color: #fff;
}

.vodi-footer__title {
	margin: 4px 0 12px;
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 15px;
	font-weight: 600;
}

.vodi-footer__col ul {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Genurile pe două coloane, ca subsolul să nu fie înalt. */
.vodi-footer__col--genres ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px 16px;
}

.vodi-footer__col a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--vodi-muted);
	font-size: 14px;
	transition: color 0.15s ease;
}

.vodi-footer__col a:hover {
	color: #fff;
}

.vodi-footer__logo {
	width: 20px;
	height: 20px;
	border-radius: 5px;
	object-fit: cover;
}

/* Jos: drepturile, atribuirea TMDB și „Sus". */
.vodi-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	padding: 16px 0 20px;
	border-top: 1px solid var(--vodi-border);
}

.vodi-footer__copy {
	margin: 0;
	color: var(--vodi-muted);
	font-size: 13px;
}

.vodi-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
}

.vodi-footer__legal a {
	color: var(--vodi-muted);
	font-size: 13px;
	transition: color 0.15s ease;
}

.vodi-footer__legal a:hover {
	color: #fff;
}

.vodi-footer__up {
	display: inline-flex;
	margin-left: auto;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 10px;
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 600;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.vodi-footer__up svg {
	width: 16px;
	height: 16px;
	transform: rotate(180deg);
}

.vodi-footer__up:hover {
	border-color: var(--vodi-accent);
	color: #fff;
}

@media (max-width: 1280px) {
	.vodi-footer__top {
		column-gap: 40px;
	}
}

@media (max-width: 1024px) {
	.vodi-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 40px;
	}

	.vodi-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 480px) {
	.vodi-footer__top {
		padding-top: 40px;
		gap: 28px 20px;
	}

	.vodi-footer__col a {
		font-size: 13px;
	}
}


/* ---------------------------------------------------------------------------
 * Modal trailer
 * ------------------------------------------------------------------------ */

.vodi-trailer-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.vodi-trailer-modal[hidden] {
	display: none;
}

.vodi-trailer-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 4, 10, 0.88);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.vodi-trailer-modal__body {
	position: relative;
	width: min(1080px, 100%);
}

.vodi-trailer-modal__close {
	position: absolute;
	top: -52px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--vodi-border);
	border-radius: 50%;
	background: rgba(11, 11, 20, 0.8);
	color: #fff;
}

.vodi-trailer-modal__close:hover {
	background: var(--vodi-accent);
	border-color: var(--vodi-accent);
}

.vodi-trailer-modal__frame {
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	background: #000;
	box-shadow: 0 32px 96px rgba(0, 0, 0, 0.7);
}

.vodi-trailer-modal__frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

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

/* ---------------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------------ */

@media (max-width: 1280px) {
	.vodi-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.vodi-hero__poster {
		width: 108px;
	}

	.vodi-hero__group {
		gap: 20px;
	}

	.vodi-hero__title {
		font-size: 40px;
	}

	.vodi-header__search {
		width: 240px;
	}
}

@media (max-width: 1024px) {
	.vodi-hero-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-hero {
		min-height: 480px;
	}

	.vodi-hero__title {
		font-size: 40px;
	}

	.vodi-hero-sidebar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.vodi-single__layout {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 28px;
		margin-top: calc(-120px - var(--vodi-hero-extra));
	}

	.vodi-nav__link {
		padding: 10px 10px;
	}
}

@media (max-width: 768px) {
	.vodi-container {
		padding: 0 20px;
	}

	.vodi-header__inner {
		flex-wrap: wrap;
		gap: 12px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.vodi-nav-toggle {
		display: inline-flex;
		order: 2;
		margin-left: auto;
	}

	.vodi-nav {
		order: 4;
		width: 100%;
		display: none;
	}

	.vodi-nav.is-open {
		display: block;
	}

	.vodi-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	.vodi-nav__link {
		width: 100%;
		justify-content: space-between;
	}

	/* Pe telefon, panourile se deschid în meniu, pe toată lățimea. */
	.vodi-dropdown,
	.vodi-dropdown--genres,
	.vodi-dropdown--platforms,
	.vodi-dropdown--years {
		position: static;
		display: none;
		width: auto;
		margin-top: 4px;
		padding: 12px;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
	}

	.vodi-dropdown::before {
		display: none;
	}

	.vodi-nav__item--dropdown.is-open .vodi-dropdown,
	.vodi-nav__item--dropdown:focus-within .vodi-dropdown {
		display: block;
		transform: none;
	}

	.vodi-dropdown--genres .vodi-dropdown__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vodi-dropdown--platforms .vodi-dropdown__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-dropdown--years .vodi-dropdown__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.vodi-header__search {
		order: 3;
		width: 100%;
	}

	.vodi-hero {
		min-height: 440px;
	}

	.vodi-hero__content {
		max-width: 100%;
		padding: 24px 24px 60px;
	}

	/* Posterul pornește trailerul, deci rămâne vizibil și pe ecrane înguste. */
	.vodi-hero__poster {
		width: 84px;
	}

	.vodi-hero__group {
		gap: 16px;
	}

	.vodi-hero__play {
		width: 36px;
		height: 36px;
	}

	.vodi-hero__play svg {
		width: 14px;
		height: 14px;
	}

	.vodi-hero__play-label {
		display: none;
	}

	.vodi-hero__title {
		font-size: 32px;
	}

	/* Pe mobil textul acoperă toată lățimea, deci imaginea nu mai e decalată. */
	.vodi-hero__backdrop {
		left: 0;
		width: 100%;
	}

	.vodi-hero__overlay {
		background: linear-gradient(
			to top,
			rgba(0, 0, 9, 0.95) 0%,
			rgba(0, 0, 9, 0.6) 45%,
			rgba(0, 0, 9, 0.25) 100%
		);
	}

	.vodi-hero__rating {
		top: 18px;
		right: 18px;
	}

	.vodi-hero__rating .vodi-rating--lg {
		width: 60px;
		height: 60px;
	}

	.vodi-hero__rating .vodi-rating--lg .vodi-rating__value {
		font-size: 17px;
	}

	.vodi-hero-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-genre-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
	}

	.vodi-genre-bar__label {
		flex: 0 0 auto;
		flex-direction: row;
		padding-left: 0;
		gap: 8px;
	}

	.vodi-grid {
		gap: 14px;
	}

	.vodi-single__layout {
		grid-template-columns: minmax(0, 1fr);
		margin-top: calc(-100px - var(--vodi-hero-extra));
	}

	.vodi-single__poster {
		width: 200px;
	}

	.vodi-single__content {
		padding-top: 0;
	}

	.vodi-single__heading {
		align-items: center; /* Titlul și subtitlul centrate față de rating. */
	}

	.vodi-single__tagline {
		margin-bottom: 6px;
	}

	.vodi-single__meta-row {
		flex-direction: column;
	}

	.vodi-single__description-row {
		flex-direction: column;
	}

	.vodi-single__description-row .vodi-trailer-card {
		width: 100%;
		max-width: 360px;
	}

	.vodi-single__title {
		font-size: 28px;
	}

	/* Pe mobil rămân doar iconițele și valorile, ca pe vodi.ro. */
	.vodi-single__meta .vodi-film-meta__label {
		display: none;
	}

	.vodi-search-section {
		margin: 64px 0;
	}

	.vodi-archive__header {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 480px) {
	/* Rândurile de oferte: fără calitate și fără textul butonului. */
	.vodi-offer-row {
		grid-template-columns: 36px minmax(0, 1fr) auto auto;
		gap: 10px;
		padding: 10px 12px;
	}

	.vodi-offer-row__quality {
		display: none;
	}

	.vodi-offer-row__cta-text {
		display: none;
	}

	.vodi-offer-row__cta {
		padding: 7px;
	}

	.vodi-country-tab {
		padding: 6px 8px;
	}

	.vodi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vodi-hero {
		min-height: 400px;
	}

	.vodi-hero__title {
		font-size: 28px;
	}

	.vodi-hero__nav {
		right: 24px;
		bottom: 24px;
	}

	.vodi-section__title {
		font-size: 18px;
	}

	.vodi-section__more {
		display: none;
	}

	.vodi-platforms-row__item img {
		width: 52px;
		height: 52px;
	}

	.vodi-platforms-row__more {
		width: 52px;
		height: 52px;
		font-size: 14px;
	}
}

/* -------------------------------------------------------------------------
 * Nou pe platforme
 * ---------------------------------------------------------------------- */

.vodi-noutati-section {
	position: relative;
	z-index: 2;
}

.vodi-noutati-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0 18px;
}

.vodi-noutati-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-muted);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.vodi-noutati-tab img {
	width: 24px;
	height: 24px;
	border-radius: 6px;
	object-fit: cover;
}

.vodi-noutati-tab__count {
	min-width: 22px;
	padding: 2px 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 12px;
	line-height: 1.4;
	text-align: center;
}

.vodi-noutati-tab:hover {
	color: var(--vodi-text);
	border-color: rgba(255, 255, 255, 0.24);
}

.vodi-noutati-tab.is-active {
	color: var(--vodi-text);
	border-color: var(--vodi-brand, var(--vodi-accent));
	background: color-mix(in srgb, var(--vodi-brand, var(--vodi-accent)) 18%, transparent);
}

.vodi-noutati-panel {
	display: none;
}

.vodi-noutati-panel.is-active {
	display: block;
}

.vodi-noutati-more {
	margin: 14px 0 0;
	font-size: 14px;
}

.vodi-noutati-more a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--vodi-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}

.vodi-noutati-more a:hover {
	color: var(--vodi-text);
}

.vodi-noutati-more svg {
	width: 16px;
	height: 16px;
}

/* -------------------------------------------------------------------------
 * Pagina actorului
 * ---------------------------------------------------------------------- */

.vodi-actor {
	position: relative;
}

/* Hero: backdrop-ul celui mai apreciat film, clar, sub un gradient ca pe pagina de film. */
.vodi-actor__hero {
	position: relative;
	height: clamp(380px, 58vh, 620px);
	margin-top: calc(-1 * var(--vodi-header-h));
	overflow: hidden;
}

.vodi-actor__backdrop {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
}

.vodi-actor__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, var(--vodi-bg) 3%, rgba(0, 0, 10, 0.6) 45%, rgba(0, 0, 10, 0.3) 100%),
		linear-gradient(to right, rgba(0, 0, 10, 0.8) 0%, rgba(0, 0, 10, 0.2) 60%, rgba(0, 0, 10, 0.55) 100%);
}

.vodi-actor__head {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: end;
	margin-top: -250px;
}

.vodi-actor__photo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2 / 3;
	border-radius: var(--vodi-radius);
	overflow: hidden;
	background: var(--vodi-card-bg);
	border: 1px solid var(--vodi-border);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);
}

.vodi-actor__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-actor__initial {
	font-family: var(--vodi-font-heading);
	font-size: 92px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.18);
}

.vodi-actor__name {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: clamp(28px, calc(4.2vw - 6px), 50px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

.vodi-actor__tagline {
	margin: 10px 0 18px;
	color: #d1d5db;
	font-size: 16px;
	font-weight: 500;
}

.vodi-actor__intro {
	max-width: 68ch;
	margin: 0 0 20px;
	color: var(--vodi-muted);
	font-size: 16px;
	line-height: 1.6;
}

.vodi-actor__genres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-actor__genres a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 34px;
	padding: 0 6px 0 14px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-text);
	font-size: 14px;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-actor__genres a:hover,
.vodi-actor__genres a:focus-visible {
	border-color: var(--vodi-accent);
	background: rgba(59, 130, 246, 0.12);
	color: #fff;
}

.vodi-actor__genres span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
}

/* Panoul „Cariera în cifre". */
.vodi-actor__stats {
	padding: 22px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: rgba(12, 14, 24, 0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.vodi-actor__numbers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
	margin: 0;
}

.vodi-actor__numbers dt {
	margin-bottom: 4px;
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-actor__numbers dd {
	margin: 0;
	font-family: var(--vodi-font-heading);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.1;
}

.vodi-actor__numbers dd small {
	margin-left: 1px;
	color: var(--vodi-muted);
	font-size: 15px;
}

/* Anii și genul sunt text, nu cifre: mai mici, pe un singur rând. */
.vodi-actor__numbers .is-text {
	font-size: 19px;
	white-space: nowrap;
}

.vodi-actor__stats-title {
	margin: 22px 0 10px;
	padding-top: 18px;
	border-top: 1px solid var(--vodi-border);
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-actor__top {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-actor__top a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.2s ease;
}

.vodi-actor__top a:hover,
.vodi-actor__top a:focus-visible {
	transform: translateY(-3px);
}

.vodi-actor__top img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

/* „Cunoscut pentru": carduri orizontale cu posterul și rolul jucat. */
.vodi-actor__known-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.vodi-role-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 138px;
	padding: 14px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: var(--vodi-card-bg);
	overflow: hidden;
	color: #fff;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

/* Backdrop-ul e doar atmosferă, estompat spre dreapta; textul stă pe fond închis. */
.vodi-role-card__bg {
	position: absolute;
	inset: 0;
	opacity: 0.35;
	transition: opacity 0.3s ease;
}

.vodi-role-card__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-role-card__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, var(--vodi-card-bg) 25%, rgba(11, 15, 22, 0.75) 60%, rgba(11, 15, 22, 0.35) 100%);
}

.vodi-role-card:hover {
	border-color: rgba(59, 130, 246, 0.6);
	transform: translateY(-2px);
}

.vodi-role-card:hover .vodi-role-card__bg {
	opacity: 0.55;
}

.vodi-role-card:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 3px;
}

.vodi-role-card__poster {
	position: relative;
	flex-shrink: 0;
	width: 72px;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
}

.vodi-role-card__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}

.vodi-role-card__body {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.vodi-role-card__role {
	font-family: var(--vodi-font-heading);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.vodi-role-card__title {
	color: var(--vodi-muted);
	font-size: 13px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.vodi-role-card__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	color: var(--vodi-muted);
	font-size: 12px;
	font-weight: 600;
}

.vodi-role-card__rating {
	padding: 2px 8px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
}

.vodi-role-card__rating.is-high {
	background: rgba(34, 197, 94, 0.16);
	color: var(--vodi-ok);
}

.vodi-role-card__rating.is-mid {
	background: rgba(234, 179, 8, 0.16);
	color: var(--vodi-warn);
}

.vodi-role-card__rating.is-low {
	background: rgba(239, 68, 68, 0.16);
	color: var(--vodi-bad);
}

/* „Despre": biografia în stânga, fișa personală în dreapta. */
.vodi-actor__about-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
}

.vodi-actor__about--solo .vodi-actor__about-grid {
	grid-template-columns: minmax(0, 1fr);
}

.vodi-actor__bio-text {
	color: #c9ced6;
	font-size: 15px;
	line-height: 1.75;
}

.vodi-actor__bio-text p {
	margin: 0 0 14px;
}

.vodi-actor__bio.is-clamped .vodi-actor__bio-text {
	max-height: calc(1.75em * 6);
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
}

.vodi-actor__more {
	margin-top: 10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vodi-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.vodi-actor__more:hover {
	color: #fff;
}

.vodi-actor__infobox {
	margin: 0;
	padding: 6px 22px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: var(--vodi-card);
}

.vodi-actor__infobox > div {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--vodi-border);
}

.vodi-actor__infobox > div:last-child {
	border-bottom: 0;
}

.vodi-actor__infobox dt {
	color: var(--vodi-muted);
	font-size: 14px;
}

.vodi-actor__infobox dd {
	margin: 0;
	color: var(--vodi-text);
	font-size: 14px;
	font-weight: 600;
}

.vodi-actor__infobox dd span {
	color: var(--vodi-muted);
	font-weight: 400;
}

.vodi-actor__infobox a {
	color: var(--vodi-accent);
}

.vodi-actor__infobox a:hover {
	color: #fff;
}

/* Fără biografie, fișa se întinde pe orizontală, pe toată lățimea. */
.vodi-actor__about--solo .vodi-actor__infobox {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	padding: 0;
}

.vodi-actor__about--solo .vodi-actor__infobox > div {
	display: block;
	padding: 18px 22px;
	border-bottom: 0;
	border-right: 1px solid var(--vodi-border);
}

.vodi-actor__about--solo .vodi-actor__infobox > div:last-child {
	border-right: 0;
}

.vodi-actor__about--solo .vodi-actor__infobox dt {
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-actor__about--solo .vodi-actor__infobox dd {
	font-size: 15px;
}

/* Filmografia, cu comutatorul de ordine. */
.vodi-actor__films-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 16px;
}

.vodi-actor__films-head .vodi-single__subtitle {
	margin: 0;
}

.vodi-actor__sort {
	display: inline-flex;
	padding: 4px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: var(--vodi-card);
}

.vodi-actor__sort[hidden] {
	display: none;
}

.vodi-actor__sort button {
	height: 32px;
	padding: 0 14px;
	border: 0;
	border-radius: 9px;
	background: none;
	color: var(--vodi-muted);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.vodi-actor__sort button:hover {
	color: #fff;
}

.vodi-actor__sort button.is-active {
	background: var(--vodi-accent);
	color: #fff;
}

.vodi-actor__sort button:focus-visible,
.vodi-actor__more:focus-visible,
.vodi-actor__top a:focus-visible,
.vodi-actor__genres a:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-card__role {
	display: block;
	margin-top: -2px;
	color: var(--vodi-muted);
	font-size: 13px;
}

@media (max-width: 1280px) {
	.vodi-actor__head {
		grid-template-columns: 220px minmax(0, 1fr) 290px;
		gap: 32px;
	}

	.vodi-actor__about-grid {
		grid-template-columns: minmax(0, 1fr) 320px;
	}
}

@media (max-width: 1024px) {
	.vodi-actor__head {
		grid-template-columns: 200px minmax(0, 1fr);
		margin-top: -200px;
	}

	/* Panoul coboară sub poză și text, pe toată lățimea, cu cifrele pe un rând. */
	.vodi-actor__stats {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 240px;
		gap: 24px;
		align-items: center;
	}

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

	.vodi-actor__stats-title {
		display: none;
	}

	.vodi-actor__known-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vodi-actor__about-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 768px) {
	/* Pe telefon, propoziția de sub titlu și sigla ocupă prea mult loc lângă săgeți. */
	.vodi-section__desc {
		font-size: 13px;
	}

	.vodi-section__logo {
		width: 36px;
		height: 36px;
		border-radius: 10px;
	}

	.vodi-actor__hero {
		height: 320px;
	}

	.vodi-actor__head {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		margin-top: -170px;
	}

	.vodi-actor__photo {
		width: 170px;
	}

	.vodi-actor__stats {
		display: block;
	}

	.vodi-actor__numbers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vodi-actor__stats-title {
		display: block;
	}

	.vodi-actor__infobox > div {
		grid-template-columns: 110px minmax(0, 1fr);
	}

	.vodi-actor__about--solo .vodi-actor__infobox > div {
		border-right: 0;
		border-bottom: 1px solid var(--vodi-border);
	}
}

@media (max-width: 480px) {
	.vodi-actor__known-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-actor__stats {
		padding: 18px;
	}

	.vodi-actor__numbers dd {
		font-size: 22px;
	}
}

/* -------------------------------------------------------------------------
 * Trailere pe prima pagină: primul mare, lista următoarelor în dreapta.
 * ---------------------------------------------------------------------- */

.vodi-trailers__layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 22px;
	align-items: stretch;
}

/* Lățimea fixă (coloana ei): întins pe înălțime cât lista din dreapta, raportul 16:9
   nu mai lățește filmul mare peste listă. Fundalul (object-fit: cover) umple spațiul. */
.vodi-trailers__featured {
	position: relative;
	width: 100%;
	min-width: 0;
	aspect-ratio: 16 / 9;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	overflow: hidden;
	background: var(--vodi-card-bg);
}

.vodi-trailers__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.vodi-trailers__featured:hover .vodi-trailers__bg {
	transform: scale(1.03);
}

.vodi-trailers__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to top, rgba(0, 0, 10, 0.95) 0%, rgba(0, 0, 10, 0.55) 38%, rgba(0, 0, 10, 0) 70%),
		linear-gradient(to right, rgba(0, 0, 10, 0.55) 0%, rgba(0, 0, 10, 0) 55%);
}

/* Butonul mare de play, cu un inel care pulsează ca să atragă privirea. */
.vodi-trailers__play {
	position: absolute;
	top: 42%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border: 0;
	border-radius: 50%;
	background: var(--vodi-accent);
	color: #fff;
	box-shadow: 0 12px 40px rgba(59, 130, 246, 0.45);
	cursor: pointer;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.vodi-trailers__play::before {
	content: "";
	position: absolute;
	inset: -10px;
	border: 2px solid rgba(59, 130, 246, 0.55);
	border-radius: 50%;
	animation: vodi-trailer-pulse 2.2s ease-out infinite;
}

.vodi-trailers__play svg {
	width: 30px;
	height: 30px;
	margin-left: 4px;
}

.vodi-trailers__play:hover {
	background: #2563eb;
	transform: translate(-50%, -50%) scale(1.08);
}

.vodi-trailers__play:focus-visible,
.vodi-trailers__item:focus-visible,
.vodi-trailers__more:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@keyframes vodi-trailer-pulse {
	0% {
		opacity: 0.9;
		transform: scale(0.9);
	}

	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

.vodi-trailers__info {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 24px;
	max-width: 620px;
}

.vodi-trailers__kicker {
	display: inline-block;
	margin-bottom: 8px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(59, 130, 246, 0.2);
	color: #93c5fd;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vodi-trailers__title {
	margin: 0 0 6px;
	font-family: var(--vodi-font-heading);
	font-size: clamp(22px, 2.4vw, 34px);
	font-weight: 700;
	line-height: 1.15;
}

.vodi-trailers__title a {
	color: #fff;
}

.vodi-trailers__title a:hover {
	color: #bfdbfe;
}

.vodi-trailers__info .vodi-facts {
	margin: 0 0 8px;
}

.vodi-trailers__excerpt {
	display: -webkit-box;
	margin: 0 0 12px;
	overflow: hidden;
	color: #c9ced6;
	font-size: 14px;
	line-height: 1.55;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.vodi-trailers__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.vodi-trailers__more svg {
	width: 16px;
	height: 16px;
	transition: transform 0.15s ease;
}

.vodi-trailers__more:hover svg {
	transform: translateX(3px);
}

/* Lista din dreapta: miniatură + titlu; click-ul pornește trailerul. */
.vodi-trailers__list {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-trailers__item {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 8px;
	border: 1px solid transparent;
	border-radius: 14px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-trailers__item:hover {
	border-color: rgba(59, 130, 246, 0.5);
	background: rgba(59, 130, 246, 0.08);
}

.vodi-trailers__thumb {
	position: relative;
	flex-shrink: 0;
	width: 132px;
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	overflow: hidden;
}

.vodi-trailers__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-trailers__thumb-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 10, 0.35);
	color: #fff;
	transition: background-color 0.15s ease;
}

.vodi-trailers__thumb-play svg {
	width: 22px;
	height: 22px;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.6));
}

.vodi-trailers__item:hover .vodi-trailers__thumb-play {
	background: rgba(59, 130, 246, 0.45);
}

.vodi-trailers__item-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.vodi-trailers__item-title {
	display: -webkit-box;
	overflow: hidden;
	font-family: var(--vodi-font-heading);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

@media (max-width: 1024px) {
	.vodi-trailers__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-trailers__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.vodi-trailers__featured {
		aspect-ratio: 4 / 3;
	}

	.vodi-trailers__play {
		width: 64px;
		height: 64px;
	}

	.vodi-trailers__play svg {
		width: 24px;
		height: 24px;
	}

	.vodi-trailers__info {
		left: 18px;
		right: 18px;
		bottom: 16px;
	}

	.vodi-trailers__excerpt {
		display: none;
	}

	.vodi-trailers__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.vodi-trailers__thumb {
		width: 112px;
	}
}

/* Cu mișcare redusă, inelul nu mai pulsează (o animație infinită scurtată ar pâlpâi). */
@media (prefers-reduced-motion: reduce) {
	.vodi-trailers__play::before {
		animation: none;
		opacity: 0.6;
	}
}

/* ---------------------------------------------------------------------------
 * Pagina filmului pe telefon: fundal scund, poster mic peste el, apoi titlul și
 * informațiile; detaliile și lista regizorului pe toată lățimea, după conținut.
 * ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	.vodi-single {
		--vodi-hero-base: 300px;
		--vodi-hero-h: 300px;
		--vodi-hero-extra: 0px;
	}

	.vodi-single__layout {
		margin-top: -170px;
		gap: 24px;
	}

	/* Coloana din stânga își „desface" copiii în grilă, ca să poată fi reordonați. */
	.vodi-single__poster {
		display: contents;
	}

	/* Tot ce e sub poster (detalii, distribuire) vine după conținut; lista regizorului la final. */
	.vodi-single__poster > * {
		order: 3;
	}

	.vodi-single__poster > .vodi-poster-img {
		order: 1;
		width: 140px;
	}

	.vodi-single__content {
		order: 2;
		min-width: 0;
	}

	.vodi-single__poster > .vodi-film-details {
		order: 3;
		margin-top: 0;
	}

	.vodi-single__poster > .vodi-film-more {
		order: 4;
		margin-top: 0;
	}

	.vodi-single__meta-row {
		align-items: stretch;
	}

	.vodi-single__meta-row .vodi-single__meta {
		width: 100%;
	}

	/* Actorii pe mai multe rânduri, aliniați la stânga, nu tăiați. */
	.vodi-single__cast {
		align-items: flex-start;
		white-space: normal;
		overflow: visible;
	}

	.vodi-single__cast-names {
		overflow: visible;
	}

	/* Fără eticheta „Actori:" (ca la an / durată / clasificare); rămâne iconița și, pentru cititoarele de ecran, textul ascuns. */
	.vodi-single__cast-label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
}

/* ---------------------------------------------------------------------------
 * Telefon: chip-urile paginilor de listă pe un rând derulabil, genurile din hero
 * pe rândul lor, titlurile rândurilor fără săgeți (se derulează cu degetul).
 * ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	.vodi-landing__related {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.vodi-landing__related .vodi-actor__genres {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -20px;
		padding: 0 20px 4px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.vodi-landing__related .vodi-actor__genres::-webkit-scrollbar {
		display: none;
	}

	.vodi-landing__related .vodi-actor__genres li {
		flex-shrink: 0;
	}

	/* Genurile pe un rând întreg: anul nu mai începe cu „•". */
	.vodi-hero .vodi-facts__genres {
		flex-basis: 100%;
	}

	.vodi-hero .vodi-facts__genres + .vodi-facts__item::before {
		display: none;
	}

	/* Rândurile se derulează cu degetul: săgețile ies, „Vezi toate" rămâne, discret. */
	.vodi-section__tools .vodi-arrow {
		display: none;
	}

	.vodi-section__more {
		display: inline-flex;
		flex-shrink: 0;
		font-size: 13px;
	}
}

/* ---------------------------------------------------------------------------
 * Telefon: hero fără posterul cu trailer și fără subtitlu; la rânduri (carusele),
 * titlul și descrierea pe toată lățimea, iar „Vezi toate" pe rândul lui, deasupra
 * caruselului.
 * ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	.vodi-hero__poster,
	.vodi-hero .vodi-hero__kicker {
		display: none;
	}

	.vodi-section__header {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.vodi-section__tools {
		justify-content: flex-end;
	}

	.vodi-section__tools:not(:has(.vodi-section__more)) {
		display: none;
	}
}

/* Telefon: iconița rândului în stânga, pe toată înălțimea titlului și a descrierii;
 * în toate cardurile de film (carusele, arhive, liste), doar genul și anul (fără durată). */
@media (max-width: 768px) {
	.vodi-section__heading {
		align-items: flex-start;
	}

	.vodi-card__fact + .vodi-card__fact {
		display: none;
	}
}

/* ---------------------------------------------------------------------------
 * Telefon: sinopsisul filmului strâns la ~6 rânduri, cu „Citește mai mult";
 * secțiunea de căutare de pe prima pagină mai compactă.
 * ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	.vodi-single__synopsis.is-clamped .vodi-single__synopsis-text {
		max-height: calc(1.7em * 6);
		overflow: hidden;
		-webkit-mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
		mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
	}

	.vodi-search-section__text {
		font-size: 15px;
	}

	.vodi-search-section__form .vodi-search-form__input {
		padding: 14px 8px 14px 16px;
		font-size: 14px;
	}

	.vodi-search-section__form .vodi-search-form__submit {
		padding: 0 18px;
	}

	.vodi-platforms-row {
		gap: 10px;
	}

	.vodi-platforms-row__item img,
	.vodi-platforms-row__more {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.vodi-platforms-row__more {
		font-size: 12px;
	}
}

/* Telefon: filele cu țări („Unde poți viziona") toate pe ecran, într-o grilă de 4 pe rând. */
@media (max-width: 768px) {
	.vodi-country-tabs {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.vodi-country-tab {
		justify-content: center;
	}
}

/* Filele cu țări: numele întreg pe ecrane mari, doar codul (RO, IT…) pe telefon. */
.vodi-country-tab__code {
	display: none;
}

@media (max-width: 768px) {
	.vodi-country-tab__name {
		/* Ascuns doar vizual: cititoarele de ecran anunță în continuare „România”. */
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.vodi-country-tab__code {
		display: inline;
		font-weight: 600;
	}
}

/* Steagurile din filele cu țări (SVG, aceeași mărime peste tot); un contur fin,
 * ca steagurile cu alb (Italia, Franța) să nu se piardă pe fundalul închis. */
.vodi-country-tab__flag {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.vodi-flag {
	display: block;
	width: 20px;
	height: 14px;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
}

/* ---------------------------------------------------------------------------
 * Telefon: meniul (submeniurile se închid la al doilea tap, meniul se derulează
 * când e mai înalt decât ecranul), genurile de pe prima pagină pe 2 coloane,
 * cardurile de lângă hero doar cu genul principal, scris albastru.
 * ------------------------------------------------------------------------ */
@media (max-width: 768px) {
	/* Doar clasa is-open deschide submeniul; focusul rămas pe buton nu-l mai ține deschis. */
	.vodi-nav__item--dropdown:not(.is-open):focus-within .vodi-dropdown {
		display: none;
	}

	/* Cu meniul deschis, tot antetul (logo, căutare, meniu) devine un panou pe tot
	 * ecranul, derulat întreg, fără bară vizibilă; pagina din spate rămâne pe loc. */
	.vodi-header:has(.vodi-nav.is-open) {
		position: fixed;
		inset: 0;
		z-index: 200;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--vodi-bg);
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.vodi-header:has(.vodi-nav.is-open)::-webkit-scrollbar {
		display: none;
	}

	html:has(.vodi-nav.is-open) {
		overflow: hidden;
	}

	.vodi-nav.is-open {
		padding-bottom: 32px;
	}

	/* Bara de genuri: eticheta sus, genurile pe 2 coloane, fără derulare laterală. */
	.vodi-genre-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.vodi-genre-bar__scroll {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		overflow: visible;
	}

	.vodi-genre-chip {
		justify-content: flex-start;
		min-width: 0;
	}

	/* Cardurile de lângă hero: doar genul principal (pastila albastră). */
	.vodi-side-card .vodi-pill:not(.vodi-pill--solid) {
		display: none;
	}
}

/* Telefon: genurile de pe prima pagină în căsuțe proprii (bara din spate fără fundal);
 * în meniu, genurile fără numărul de filme. */
@media (max-width: 768px) {
	.vodi-genre-bar {
		padding: 0;
		background: none;
	}

	/* Titlul barei ca titlu de secțiune: „Caută filme după gen", cu „Caută" albastru. */
	.vodi-genre-bar__label {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 6px;
		padding-left: 0;
		font-family: var(--vodi-font-heading);
		line-height: 1.3;
		letter-spacing: 0;
	}

	.vodi-genre-bar__label-top,
	.vodi-genre-bar__label-bottom {
		display: inline-block;
		font-size: 20px;
		font-weight: 600;
		text-transform: none;
	}

	.vodi-genre-bar__label-bottom {
		color: #fff;
	}

	.vodi-genre-bar__label-bottom::first-letter {
		text-transform: lowercase;
	}

	.vodi-genre-chip {
		height: 48px;
		padding: 0 14px;
		border: 1px solid var(--vodi-border);
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.05);
		font-size: 14px;
		line-height: 1;
	}

	.vodi-genre-chip svg {
		width: 22px;
		height: 22px;
		margin-top: 0;
	}

	.vodi-dropdown--genres .vodi-dropdown__count {
		display: none;
	}
}

/* ---------------------------------------------------------------------------
 * Căutarea din antet pe telefon: ascunsă, se deschide din butonul cu lupă de
 * lângă meniu (main.js pune clasa is-search-open pe antet).
 * ------------------------------------------------------------------------ */
.vodi-search-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: var(--vodi-card);
	color: var(--vodi-text);
}

.vodi-search-toggle svg {
	width: 20px;
	height: 20px;
}

.vodi-header.is-search-open .vodi-search-toggle {
	border-color: var(--vodi-accent);
	color: #fff;
}

@media (max-width: 768px) {
	.vodi-search-toggle {
		display: inline-flex;
		order: 2;
		margin-left: auto;
	}

	.vodi-nav-toggle {
		order: 3;
		margin-left: 0;
	}

	.vodi-header__search {
		display: none;
	}

	.vodi-header.is-search-open .vodi-header__search {
		display: block;
	}
}

/* „Născuți în…" pe telefon: primii 4, restul după „Arată toți". */
.vodi-actor-birthdays__more {
	display: none;
}

@media (max-width: 768px) {
	.vodi-actor-birthdays__list:not(.is-expanded) > li:nth-child(n+5) {
		display: none;
	}

	.vodi-actor-birthdays__more {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin-top: 12px;
		padding: 12px;
		border: 1px solid var(--vodi-border);
		border-radius: var(--vodi-radius-sm);
		background: rgba(255, 255, 255, 0.04);
		color: #93c5fd;
		font: inherit;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
	}

	.vodi-actor-birthdays__more[hidden] {
		display: none;
	}
}

/* Pagina 404: genurile populare sub buton și filmele noi dedesubt. */
.vodi-404__genres {
	justify-content: center;
	margin-top: 28px;
}

.vodi-404__films {
	margin-top: 56px;
	text-align: left;
}

.vodi-404__grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Mobil, „Continuă să explorezi”: fără eticheta de deasupra titlului, ca
   fiecare card să fie mai scund; cardurile rămân pe toată lățimea. */
@media (max-width: 768px) {
	.vodi-explore__kicker {
		display: none;
	}

	.vodi-explore__title,
	.vodi-explore--compact .vodi-explore__title {
		margin-top: 0;
	}

	.vodi-explore__card,
	.vodi-explore--compact .vodi-explore__card {
		min-height: 120px;
	}
}

/* Telefon: lupa și meniul mai apropiate. */
@media (max-width: 768px) {
	.vodi-nav-toggle {
		margin-left: -6px;
	}
}

/* ---------------------------------------------------------------------------
 * Bannerul de cookie-uri (inc/consent.php, assets/js/consent.js): card fix în
 * stânga jos, pe telefon pe toată lățimea. Nu blochează pagina.
 * ------------------------------------------------------------------------ */
.vodi-consent {
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 250;
	width: min(440px, calc(100vw - 40px));
	max-height: calc(100vh - 40px);
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	padding: 22px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius);
	background: rgba(11, 15, 22, 0.96);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(12px);
	color: var(--vodi-text);
}

.vodi-consent[hidden] {
	display: none;
}

.vodi-consent__title {
	margin: 0 0 8px;
	font-family: var(--vodi-font-heading);
	font-size: 17px;
	font-weight: 700;
}

.vodi-consent__title:focus {
	outline: none;
}

.vodi-consent__text {
	margin: 0;
	color: var(--vodi-muted);
	font-size: 14px;
	line-height: 1.55;
}

.vodi-consent__text a {
	color: #93c5fd;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.vodi-consent__prefs {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.vodi-consent__prefs[hidden] {
	display: none;
}

.vodi-consent__pref {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: var(--vodi-card);
	cursor: pointer;
}

.vodi-consent__pref input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.vodi-consent__switch {
	position: relative;
	flex-shrink: 0;
	width: 38px;
	height: 22px;
	margin-top: 1px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	transition: background-color 0.15s ease;
}

.vodi-consent__switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.15s ease;
}

.vodi-consent__pref input:checked + .vodi-consent__switch {
	background: var(--vodi-accent);
}

.vodi-consent__pref input:checked + .vodi-consent__switch::after {
	transform: translateX(16px);
}

.vodi-consent__pref input:disabled + .vodi-consent__switch {
	opacity: 0.55;
}

.vodi-consent__pref input:focus-visible + .vodi-consent__switch {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-consent__pref-text {
	color: var(--vodi-muted);
	font-size: 13px;
	line-height: 1.5;
}

.vodi-consent__pref-text strong {
	display: block;
	color: var(--vodi-text);
	font-size: 14px;
	font-weight: 600;
}

.vodi-consent__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

/* „Refuză" și „Acceptă toate" au aceeași mărime și greutate. */
.vodi-consent__btn {
	flex: 1 1 0;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid var(--vodi-border);
	border-radius: 10px;
	background: var(--vodi-card-strong);
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

.vodi-consent__btn:hover {
	background: rgba(255, 255, 255, 0.14);
}

.vodi-consent__btn--primary {
	border-color: transparent;
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
}

.vodi-consent__btn--primary:hover {
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
	opacity: 0.9;
}

.vodi-consent__btn[hidden] {
	display: none;
}

.vodi-consent__btn:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

/* Linkul „Setări cookie-uri" din subsol arată ca celelalte linkuri legale. */
.vodi-footer__cookies {
	padding: 0;
	border: 0;
	background: none;
	color: var(--vodi-muted);
	font: inherit;
	font-size: 13px;
	cursor: pointer;
	transition: color 0.15s ease;
}

.vodi-footer__cookies:hover {
	color: #fff;
}

@media (max-width: 480px) {
	.vodi-consent {
		right: 12px;
		bottom: 12px;
		left: 12px;
		width: auto;
		padding: 18px;
	}
}

/* „Personalizează": pastilă discretă, lipită de text. */
.vodi-consent__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 6px 12px 6px 14px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.vodi-consent__more svg {
	width: 14px;
	height: 14px;
	color: var(--vodi-muted);
}

.vodi-consent__more:hover {
	border-color: rgba(59, 130, 246, 0.55);
	background: rgba(59, 130, 246, 0.1);
}

.vodi-consent__more:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-consent__more[hidden] {
	display: none;
}

/* Cu preferințele deschise, cardul e puțin mai lat. */
.vodi-consent.is-custom {
	width: min(500px, calc(100vw - 40px));
}

/* Bannerul mai compact: mai puțin spațiu ocupat din fereastră. */
.vodi-consent {
	width: min(400px, calc(100vw - 40px));
	padding: 18px;
	border-radius: 18px;
}

.vodi-consent__title {
	margin-bottom: 6px;
	font-size: 16px;
}

.vodi-consent__text {
	font-size: 13px;
	line-height: 1.5;
}

.vodi-consent__more {
	margin-top: 10px;
	padding: 5px 10px 5px 12px;
	font-size: 12px;
}

.vodi-consent__actions {
	gap: 8px;
	margin-top: 14px;
}

.vodi-consent__btn {
	min-height: 38px;
	padding: 7px 14px;
	font-size: 13px;
}

.vodi-consent__pref {
	padding: 10px 12px;
}

.vodi-consent.is-custom {
	width: min(460px, calc(100vw - 40px));
}

@media (max-width: 480px) {
	.vodi-consent {
		width: auto;
		padding: 16px;
	}
}

/* Titlul și linkul spre Politica cookies pe același rând. */
.vodi-consent__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 6px;
}

.vodi-consent__head .vodi-consent__title {
	margin: 0;
}

.vodi-consent__policy {
	flex-shrink: 0;
	color: #93c5fd;
	font-size: 12px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.vodi-consent__policy:hover {
	color: #fff;
}

/* Căutarea din antet: destul de lată cât să încapă tot „Caută un film sau un actor". */
.vodi-header__search {
	width: 340px;
}

.vodi-header__search .vodi-search-form__input:not(:focus) {
	padding-right: 36px;
}

@media (max-width: 1280px) and (min-width: 1025px) {
	.vodi-header__search {
		width: 290px;
	}

	.vodi-header__search .vodi-search-form__input {
		font-size: 14px;
	}
}

/* ---------------------------------------------------------------------------
 * Film fără ofertă în România: „Până apare, poți vedea acum” — filme
 * asemănătoare de pe streaming, cu postere mari (template-parts/no-offer-alternatives.php).
 * ------------------------------------------------------------------------ */
.vodi-alternatives {
	position: relative;
	overflow: hidden;
	padding: 28px;
	border: 1px solid rgba(59, 130, 246, 0.35);
	border-radius: var(--vodi-radius);
	background: radial-gradient(circle at 100% 0, rgba(249, 115, 22, 0.18), transparent 45%), radial-gradient(circle at 0 100%, rgba(236, 72, 153, 0.16), transparent 45%), linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(255, 255, 255, 0.03));
}

.vodi-alternatives__head {
	max-width: 640px;
	margin-bottom: 22px;
}

.vodi-alternatives__kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(239, 68, 68, 0.14);
	color: #fca5a5;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-alternatives__kicker::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--vodi-bad);
}

.vodi-alternatives__title {
	margin: 0 0 6px;
	font-family: var(--vodi-font-heading);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

.vodi-alternatives__text {
	margin: 0;
	color: var(--vodi-muted);
	font-size: 15px;
}

.vodi-alternatives__list {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-alternatives__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--vodi-text);
	text-decoration: none;
}

.vodi-alternatives__poster {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 2 / 3;
	margin-bottom: 6px;
	border-radius: 14px;
	background: var(--vodi-card-strong);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vodi-alternatives__poster img.vodi-poster-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-alternatives__item:hover .vodi-alternatives__poster,
.vodi-alternatives__item:focus-visible .vodi-alternatives__poster {
	box-shadow: 0 18px 40px rgba(59, 130, 246, 0.35);
	transform: translateY(-4px);
}

.vodi-alternatives__item:focus-visible {
	outline: none;
}

.vodi-alternatives__item:focus-visible .vodi-alternatives__poster {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 3px;
}

.vodi-alternatives__rating {
	position: absolute;
	bottom: 8px;
	left: 8px;
	z-index: 3;
}

.vodi-alternatives__logos {
	top: 8px;
	right: 8px;
}

.vodi-alternatives__name {
	overflow: hidden;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.vodi-alternatives__year {
	color: var(--vodi-muted);
	font-size: 13px;
}

@media (max-width: 1280px) {
	.vodi-alternatives__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.vodi-alternatives {
		padding: 20px;
	}

	.vodi-alternatives__title {
		font-size: 21px;
	}

	.vodi-alternatives__list {
		gap: 12px;
	}
}

@media (max-width: 480px) {
	.vodi-alternatives__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Țări fără oferte (altele decât România): casetă compactă cu țările în care e disponibil. */
.vodi-elsewhere {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px;
	border: 1px dashed rgba(255, 255, 255, 0.14);
	border-radius: var(--vodi-radius-sm);
	background: rgba(255, 255, 255, 0.03);
}

.vodi-elsewhere__text {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
}

.vodi-elsewhere__dot {
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vodi-warn);
	box-shadow: 0 0 0 4px rgba(234, 179, 8, 0.15);
}

.vodi-elsewhere__hint {
	margin: 0;
	color: var(--vodi-muted);
	font-size: 14px;
}

.vodi-elsewhere__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.vodi-elsewhere__label {
	margin-right: 2px;
	color: var(--vodi-muted);
	font-size: 14px;
}

.vodi-elsewhere__country {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: var(--vodi-card-strong);
	color: var(--vodi-text);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.vodi-elsewhere__country:hover {
	border-color: rgba(59, 130, 246, 0.6);
	background: rgba(59, 130, 246, 0.14);
}

.vodi-elsewhere__country:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-elsewhere__count {
	padding: 1px 8px;
	border-radius: 999px;
	background: rgba(34, 197, 94, 0.16);
	color: #86efac;
	font-size: 12px;
	font-weight: 700;
}

.vodi-elsewhere__country--cta {
	align-self: flex-start;
	border-color: transparent;
	background: linear-gradient(45deg, #02aafe 0%, #034e9e 100%);
	color: #fff;
}

.vodi-elsewhere__country--cta:hover {
	border-color: transparent;
	background: linear-gradient(45deg, #02aafe 0%, #034e9e 100%);
	opacity: 0.9;
}

/* ---------------------------------------------------------------------------
 * O singură ofertă într-o țară: card evidențiat în culoarea platformei
 * (template-parts/offer-single.php).
 * ------------------------------------------------------------------------ */
.vodi-offer-solo {
	--vodi-brand: var(--vodi-accent);
	position: relative;
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 24px 26px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--vodi-brand) 55%, transparent);
	border-radius: var(--vodi-radius);
	background: radial-gradient(circle at 0 50%, color-mix(in srgb, var(--vodi-brand) 38%, transparent), transparent 60%), linear-gradient(135deg, color-mix(in srgb, var(--vodi-brand) 16%, transparent), rgba(255, 255, 255, 0.03));
	box-shadow: 0 18px 40px color-mix(in srgb, var(--vodi-brand) 18%, transparent);
}

.vodi-offer-solo__logo {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.vodi-offer-solo__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-offer-solo__body {
	flex: 1;
	min-width: 0;
}

.vodi-offer-solo__kicker {
	margin: 0 0 4px;
	color: #cbd5e1;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vodi-offer-solo__title {
	margin: 0 0 10px;
	font-family: var(--vodi-font-heading);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
}

.vodi-offer-solo__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-offer-solo__facts li {
	padding: 3px 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(0, 0, 10, 0.3);
	font-size: 13px;
	font-weight: 600;
}

.vodi-offer-solo__facts li.is-expires {
	border-color: rgba(234, 179, 8, 0.45);
	color: #fde68a;
}

.vodi-offer-solo__cta {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 8px;
	padding: 13px 22px;
	border-radius: 12px;
	background: #fff;
	color: #0b0b14;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.vodi-offer-solo__cta svg {
	width: 18px;
	height: 18px;
}

.vodi-offer-solo__cta:hover {
	color: #0b0b14;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--vodi-brand) 45%, transparent);
	transform: translateY(-2px);
}

.vodi-offer-solo__cta:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

@media (max-width: 768px) {
	.vodi-offer-solo {
		flex-wrap: wrap;
		gap: 16px;
		padding: 20px;
	}

	.vodi-offer-solo__logo {
		width: 56px;
		height: 56px;
		border-radius: 14px;
	}

	.vodi-offer-solo__title {
		font-size: 19px;
	}

	.vodi-offer-solo__cta {
		justify-content: center;
		width: 100%;
	}
}

/* Cardul pentru o singură ofertă, puțin mai discret: culoarea platformei mai slabă. */
.vodi-offer-solo {
	gap: 18px;
	padding: 20px 22px;
	border-color: color-mix(in srgb, var(--vodi-brand) 30%, transparent);
	background: radial-gradient(circle at 0 50%, color-mix(in srgb, var(--vodi-brand) 22%, transparent), transparent 55%), linear-gradient(135deg, color-mix(in srgb, var(--vodi-brand) 8%, transparent), rgba(255, 255, 255, 0.02));
	box-shadow: 0 10px 28px color-mix(in srgb, var(--vodi-brand) 8%, transparent);
}

.vodi-offer-solo__logo {
	width: 60px;
	height: 60px;
	border-radius: 15px;
}

.vodi-offer-solo__title {
	font-size: 20px;
}

.vodi-offer-solo__cta {
	padding: 11px 20px;
	font-size: 14px;
}

/* ---------------------------------------------------------------------------
 * „Unde poți viziona”, rafinat: fiecare ofertă e un card separat, cu o nuanță
 * fină în culoarea platformei; butonul ia culoarea platformei la hover.
 * ------------------------------------------------------------------------ */
.vodi-offer-rows {
	display: flex;
	flex-direction: column;
	gap: 8px;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: none;
}

.vodi-offer-rows li + li {
	border-top: 0;
}

.vodi-offer-row {
	border: 1px solid var(--vodi-border);
	border-left: 1px solid var(--vodi-border);
	border-radius: 14px;
	background: linear-gradient(90deg, color-mix(in srgb, var(--vodi-brand, #3b82f6) 12%, transparent) 0%, transparent 38%), var(--vodi-card);
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.vodi-offer-row:hover {
	border-color: color-mix(in srgb, var(--vodi-brand, #3b82f6) 45%, transparent);
	background: linear-gradient(90deg, color-mix(in srgb, var(--vodi-brand, #3b82f6) 20%, transparent) 0%, transparent 55%), var(--vodi-card-strong);
	transform: translateY(-1px);
}

.vodi-offer-row:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-offer-row__logo {
	border-radius: 11px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.vodi-offer-row:hover .vodi-offer-row__cta {
	background: var(--vodi-brand, var(--vodi-accent));
	color: #fff;
}

.vodi-offer-row__price.is-empty {
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 500;
}

/* Titlul grupului în culoarea tipului de ofertă. */
.vodi-offer-group--abonament .vodi-offer-group__title {
	color: #93c5fd;
}

.vodi-offer-group--gratuit .vodi-offer-group__title {
	color: #86efac;
}

.vodi-offer-group--inchiriere .vodi-offer-group__title {
	color: #fdba74;
}

.vodi-offer-group--cumparare .vodi-offer-group__title {
	color: #d8b4fe;
}

.vodi-offer-group__count {
	color: var(--vodi-text);
}

/* Calitatea (SD / HD / QHD / 4K), în trepte: SD discret, HD albastru, 4K auriu. */
.vodi-offer__quality {
	min-width: 34px;
	text-align: center;
}

.vodi-offer__quality.is-sd {
	border-color: rgba(255, 255, 255, 0.12);
	color: #94a3b8;
}

.vodi-offer__quality.is-hd {
	border-color: rgba(59, 130, 246, 0.5);
	background: rgba(59, 130, 246, 0.14);
	color: #93c5fd;
}

.vodi-offer__quality.is-qhd {
	border-color: rgba(34, 211, 238, 0.5);
	background: rgba(34, 211, 238, 0.12);
	color: #67e8f9;
}

.vodi-offer__quality.is-4k {
	border-color: rgba(251, 191, 36, 0.6);
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.22), rgba(245, 158, 11, 0.1));
	box-shadow: 0 0 12px rgba(251, 191, 36, 0.18);
	color: #fcd34d;
}

/* În cardul pentru o singură ofertă, pastilele de calitate păstrează culorile de mai sus. */
.vodi-offer-solo__facts li.vodi-offer__quality {
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 13px;
	letter-spacing: 0.4px;
}

/* SD argintiu, fără strălucire (mai discret decât HD și 4K). */
.vodi-offer__quality.is-sd {
	border-color: rgba(203, 213, 225, 0.4);
	background: linear-gradient(135deg, rgba(226, 232, 240, 0.16), rgba(148, 163, 184, 0.06));
	color: #e2e8f0;
}

/* Titlurile grupurilor: albe și puțin mai mari, culoarea tipului doar pe punct;
   „de la …” neutru, cu prețul alb (mai puțină culoare în jurul cardurilor). */
.vodi-offer-group__title,
.vodi-offer-group--abonament .vodi-offer-group__title,
.vodi-offer-group--gratuit .vodi-offer-group__title,
.vodi-offer-group--inchiriere .vodi-offer-group__title,
.vodi-offer-group--cumparare .vodi-offer-group__title {
	margin-bottom: 10px;
	color: #fff;
	font-size: 13px;
	letter-spacing: 1.2px;
}

.vodi-offer-group__dot {
	width: 9px;
	height: 9px;
}

.vodi-offer-group__count {
	background: rgba(255, 255, 255, 0.08);
	color: var(--vodi-muted);
}

.vodi-offer-group__min,
.vodi-offer-group--abonament .vodi-offer-group__min,
.vodi-offer-group--inchiriere .vodi-offer-group__min,
.vodi-offer-group--cumparare .vodi-offer-group__min {
	border: 1px solid var(--vodi-border);
	background: rgba(255, 255, 255, 0.04);
	color: var(--vodi-muted);
	font-weight: 500;
}

.vodi-offer-group__min strong {
	color: #fff;
	font-weight: 700;
}

/* Platforme cu culoare deschisă (ex. Apple TV): text închis pe butonul colorat la hover. */
.vodi-offer-row.is-light-brand:hover .vodi-offer-row__cta {
	color: #0b0b14;
}

/* Chip-urile fără caseta de număr (ex. „Cele mai bune filme pe Netflix”): padding normal
   și în dreapta, altfel textul stă lipit de margine. */
.vodi-actor__genres a:not(:has(> span:not(.vodi-landing__chip-icon))) {
	padding-right: 14px;
}

/* Titlurile din subsol și din bannerul de cookie-uri sunt paragrafe (nu H2, ca structura
   paginii să rămână curată); păstrează aspectul titlurilor. */
.vodi-footer__title,
.vodi-consent__title {
	line-height: 1.25;
	letter-spacing: -0.2px;
}

/* ---------------------------------------------------------------------------
 * „În curând pe platforme”: filă de calendar din sticlă și sigla platformei
 * (în locul verdelui); accentul vine din culoarea platformei.
 * ------------------------------------------------------------------------ */
.vodi-trailers__calendar {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 62px;
	padding: 8px 10px 7px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 16px;
	background: rgba(11, 11, 20, 0.45);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
	color: #fff;
	line-height: 1;
	text-align: center;
}

.vodi-trailers__calendar::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: linear-gradient(90deg, #02aafe, #3b82f6, #ec4899);
}

.vodi-trailers__calendar strong {
	font-family: var(--vodi-font-heading);
	font-size: 28px;
	font-weight: 800;
}

.vodi-trailers__calendar span {
	margin-top: 3px;
	color: #cbd5e1;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Pastila cu sigla platformei, deasupra titlului filmului mare. */
.vodi-trailers__soon {
	--vodi-brand: var(--vodi-accent);
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 10px;
	padding: 4px 14px 4px 4px;
	border: 1px solid color-mix(in srgb, var(--vodi-brand) 55%, rgba(255, 255, 255, 0.2));
	border-radius: 999px;
	background: color-mix(in srgb, var(--vodi-brand) 22%, rgba(11, 11, 20, 0.55));
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-trailers__soon img {
	width: 26px;
	height: 26px;
	border-radius: 999px;
	object-fit: cover;
}

/* Cu puține filme, lista stă sus (fără goluri mari între rânduri). */
.vodi-trailers--soon .vodi-trailers__list {
	justify-content: flex-start;
}

.vodi-trailers__calendar--sm {
	top: 6px;
	left: 6px;
	min-width: 34px;
	padding: 5px 5px 4px;
	border-radius: 9px;
	box-shadow: none;
}

.vodi-trailers__calendar--sm::before {
	height: 2px;
}

.vodi-trailers__calendar--sm strong {
	font-size: 15px;
}

.vodi-trailers__calendar--sm span {
	margin-top: 1px;
	font-size: 8px;
}

/* Lista din dreapta: data discretă deasupra titlului, platforma ca pastilă în colțul din dreapta jos. */
.vodi-trailers--soon .vodi-trailers__item {
	position: relative;
}

.vodi-trailers__item-date {
	display: block;
	margin-bottom: 1px;
	color: var(--vodi-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* Doar sigla platformei, mare, în dreapta rândului, pe un gradient subtil în culoarea ei. */
.vodi-trailers--soon .vodi-trailers__item {
	--vodi-brand: var(--vodi-accent);
	padding-right: 64px;
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand) 16%, transparent) 0%, transparent 45%), var(--vodi-card);
}

.vodi-trailers--soon .vodi-trailers__item:hover {
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand) 26%, transparent) 0%, transparent 55%), var(--vodi-card-strong);
}

.vodi-trailers__item-platform {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
}

.vodi-trailers__item-platform img {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	object-fit: cover;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

@media (max-width: 480px) {
	.vodi-trailers--soon .vodi-trailers__item {
		padding-right: 52px;
	}

	.vodi-trailers__item-platform {
		right: 10px;
	}

	.vodi-trailers__item-platform img {
		width: 30px;
		height: 30px;
		border-radius: 8px;
	}
}

/* Gradientul platformei, mai subtil. */
.vodi-trailers--soon .vodi-trailers__item {
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand) 9%, transparent) 0%, transparent 38%), var(--vodi-card);
}

.vodi-trailers--soon .vodi-trailers__item:hover {
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand) 16%, transparent) 0%, transparent 48%), var(--vodi-card-strong);
}

/* ---------------------------------------------------------------------------
 * „Trailere noi” / „În curând”: unde e deja filmul în România.
 * Filmul mare: siglele într-o pastilă din sticlă, în colțul din dreapta sus.
 * Lista: siglele suprapuse ca un teanc, în dreapta rândului.
 * ------------------------------------------------------------------------ */
.vodi-trailers__where {
	top: 18px;
	right: 18px;
	gap: 6px;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 14px;
	background: rgba(11, 11, 20, 0.4);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

.vodi-trailers__where img {
	border-radius: 9px;
}

.vodi-trailers__item:has(.vodi-trailers__stack) {
	position: relative;
	padding-right: 84px;
}

.vodi-trailers__stack {
	top: 50%;
	right: 14px;
	gap: 0;
	padding: 0;
	background: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transform: translateY(-50%);
}

.vodi-trailers__stack img {
	border: 2px solid var(--vodi-card-bg, #0b0f16);
	border-radius: 50%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}

.vodi-trailers__stack img + img {
	margin-left: -9px;
}

.vodi-trailers__stack .vodi-logos__more {
	margin-left: 4px;
	padding: 0;
	color: var(--vodi-muted);
	font-size: 11px;
}

@media (max-width: 480px) {
	.vodi-trailers__where {
		top: 12px;
		right: 12px;
	}

	.vodi-trailers__item:has(.vodi-trailers__stack) {
		padding-right: 70px;
	}

	.vodi-trailers__stack {
		right: 10px;
	}
}

/* „Trailere noi”: același gradient subtil ca la „În curând pe platforme”, în culoarea
   primei platforme; siglele ca pătrate (fără rotunjire), ușor suprapuse. */
.vodi-trailers__item:has(.vodi-trailers__stack) {
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand, #3b82f6) 9%, transparent) 0%, transparent 38%), var(--vodi-card);
}

.vodi-trailers__item:has(.vodi-trailers__stack):hover {
	background: linear-gradient(270deg, color-mix(in srgb, var(--vodi-brand, #3b82f6) 16%, transparent) 0%, transparent 48%), var(--vodi-card-strong);
}

.vodi-trailers__stack img {
	border: 0;
	border-radius: 0;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.vodi-trailers__stack img + img {
	margin-left: -6px;
}

.vodi-trailers__item-platform img {
	border-radius: 0;
}

/* Siglele platformelor din listă: colțuri 25% și umbră spre stânga, ca fiecare să pară
   așezată peste cea dinainte (contur fin închis care le separă la suprapunere). */
.vodi-trailers__stack img,
.vodi-trailers__item-platform img {
	border-radius: 25%;
	box-shadow: 0 0 0 2px rgba(11, 15, 22, 0.9), -6px 4px 12px rgba(0, 0, 0, 0.55);
}

.vodi-trailers__stack img {
	position: relative;
}

.vodi-trailers__stack img + img {
	margin-left: -8px;
}

/* Suprapunerea siglelor: prima platformă (cea mai populară) deasupra, următoarele sub ea;
   umbra cade spre dreapta, pe sigla de dedesubt. */
.vodi-trailers__stack img {
	box-shadow: 0 0 0 2px rgba(11, 15, 22, 0.9), 6px 4px 12px rgba(0, 0, 0, 0.55);
}

.vodi-trailers__stack img:nth-child(1) {
	z-index: 3;
}

.vodi-trailers__stack img:nth-child(2) {
	z-index: 2;
}

.vodi-trailers__stack img:nth-child(3) {
	z-index: 1;
}

/* Umbra siglelor suprapuse, mai discretă. */
.vodi-trailers__stack img {
	box-shadow: 0 0 0 1.5px rgba(11, 15, 22, 0.75), 3px 2px 6px rgba(0, 0, 0, 0.3);
}

/* Fila de calendar din „Filme noi”, în stilul vitrinei „În curând pe platforme”:
   sticlă mată, ziua mare deasupra, luna mică dedesubt, linie în gradientul Vodi sus. */
.vodi-card__calendar {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 42px;
	padding: 7px 7px 6px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 12px;
	background: rgba(11, 11, 20, 0.45);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
	line-height: 1;
}

.vodi-card__calendar::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 3px;
	background: linear-gradient(90deg, #02aafe, #3b82f6, #ec4899);
}

.vodi-card__calendar-day {
	font-family: var(--vodi-font-heading);
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
}

.vodi-card__calendar-month {
	margin-top: 3px;
	background: none;
	color: #cbd5e1;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}

/* Pagina de rezultate, sub 3 filme găsite: recomandarea genului lor. */
.vodi-search-page__related {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	margin-top: 28px;
	padding: 16px 18px;
	border: 1px solid var(--vodi-border);
	border-radius: var(--vodi-radius-sm);
	background: linear-gradient(90deg, color-mix(in srgb, var(--vodi-accent) 12%, transparent), transparent 70%), var(--vodi-card);
}

.vodi-search-page__related p {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 180px;
	margin: 0;
}

.vodi-search-page__related strong {
	font-family: var(--vodi-font-heading);
	font-size: 16px;
}

.vodi-search-page__related p span {
	color: var(--vodi-muted);
	font-size: 13px;
}

/* ---------------------------------------------------------------------------
 * „Platformele mele" (inc/my-platforms.php + main.js).
 * ------------------------------------------------------------------------ */

/* Siglele de pe carduri: cele în plus ascunse; ale vizitatorului cu inel verde, restul estompate. */
.vodi-logos img[hidden] {
	display: none;
}

.vodi-logos.is-personal img:not(.is-mine) {
	opacity: 0.4;
	filter: grayscale(0.6);
}

.vodi-logos img.is-mine {
	box-shadow: 0 0 0 2px var(--vodi-ok);
}

/* Butonul din antet. */
.vodi-mine-toggle {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--vodi-border);
	border-radius: 12px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.vodi-mine-toggle:hover,
.vodi-mine-toggle:focus-visible {
	border-color: var(--vodi-accent);
	color: #fff;
}

.vodi-mine-toggle svg {
	width: 20px;
	height: 20px;
}

.vodi-mine-toggle__count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border: 2px solid var(--vodi-bg);
	border-radius: 999px;
	background: var(--vodi-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 16px;
	text-align: center;
}

@media (max-width: 768px) {
	.vodi-mine-toggle {
		order: 2;
		margin-left: auto;
	}

	.vodi-search-toggle {
		order: 3;
		margin-left: 0;
	}

	.vodi-nav-toggle {
		order: 3;
	}
}

/* Fereastra. */
.vodi-mine {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.vodi-mine[hidden] {
	display: none;
}

.has-mine-dialog {
	overflow: hidden;
}

.vodi-mine__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 12, 0.75);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.vodi-mine__panel {
	position: relative;
	width: min(640px, 100%);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 28px;
	border: 1px solid var(--vodi-border);
	border-radius: 24px;
	background:
		radial-gradient(circle at 0 0, color-mix(in srgb, #EC4899 16%, transparent), transparent 40%),
		radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--vodi-accent) 18%, transparent), transparent 45%),
		#10101b;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}

.vodi-mine__close {
	position: absolute;
	top: 16px;
	right: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--vodi-border);
	border-radius: 50%;
	background: var(--vodi-card);
	color: var(--vodi-text);
	cursor: pointer;
}

.vodi-mine__close svg {
	width: 18px;
	height: 18px;
}

.vodi-mine__title {
	margin: 0 44px 8px 0;
	font-family: var(--vodi-font-heading);
	font-size: 24px;
	font-weight: 700;
}

.vodi-mine__text {
	margin: 0 0 20px;
	color: var(--vodi-muted);
	font-size: 14px;
	line-height: 1.55;
}

.vodi-mine__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vodi-mine__item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px;
	border: 1px solid var(--vodi-border);
	border-radius: 14px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.vodi-mine__item:hover {
	border-color: color-mix(in srgb, var(--vodi-accent) 50%, transparent);
}

.vodi-mine__item img {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 25%;
	object-fit: cover;
}

.vodi-mine__name {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vodi-mine__check {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid var(--vodi-border);
	border-radius: 50%;
	color: transparent;
	font-size: 13px;
	font-weight: 800;
}

.vodi-mine__item[aria-pressed="true"] {
	border-color: var(--vodi-accent);
	background: color-mix(in srgb, var(--vodi-accent) 16%, transparent);
}

.vodi-mine__item[aria-pressed="true"] .vodi-mine__check {
	border-color: var(--vodi-accent);
	background: var(--vodi-accent);
	color: #fff;
}

.vodi-mine__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 22px;
}

.vodi-mine__clear {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px 9px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: #CBD5E1;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
	cursor: pointer;
}

.vodi-mine__clear svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	transform-origin: 50% 90%;
	transition: transform 0.2s ease;
}

.vodi-mine__clear:hover,
.vodi-mine__clear:focus-visible {
	border-color: rgba(239, 68, 68, 0.55);
	background: rgba(239, 68, 68, 0.12);
	color: #fff;
	outline: none;
}

.vodi-mine__clear:hover svg,
.vodi-mine__clear:focus-visible svg {
	transform: rotate(-12deg);
}

@media (prefers-reduced-motion: reduce) {
	.vodi-mine__clear svg {
		transition: none;
	}
}

@media (max-width: 480px) {
	.vodi-mine__panel {
		padding: 22px 16px 18px;
	}

	.vodi-mine__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* Comutatorul „Doar pe platformele mele" din arhive, lângă sortare. */
.vodi-sort-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 18px;
}

.vodi-mine-filter {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px 8px 10px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.vodi-mine-filter[hidden] {
	display: none;
}

.vodi-mine-filter__switch {
	position: relative;
	width: 34px;
	height: 20px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	transition: background-color 0.15s ease;
}

.vodi-mine-filter__switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.15s ease;
}

.vodi-mine-filter[aria-pressed="true"] {
	border-color: color-mix(in srgb, var(--vodi-accent) 60%, transparent);
}

.vodi-mine-filter[aria-pressed="true"] .vodi-mine-filter__switch {
	background: var(--vodi-accent);
}

.vodi-mine-filter[aria-pressed="true"] .vodi-mine-filter__switch::after {
	transform: translateX(14px);
}

/* Pagina filmului: ofertele de pe platformele vizitatorului. */
.vodi-offer-rows > li.is-mine .vodi-offer-row {
	border-color: color-mix(in srgb, var(--vodi-ok) 55%, transparent);
}

.vodi-offer-row__mine {
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(34, 197, 94, 0.16);
	color: var(--vodi-ok);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

.vodi-offer-solo.is-mine {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--vodi-ok) 55%, transparent);
}

/* „Platformele mele": se derulează doar grila (titlul și butoanele rămân fixe),
   cu o bară subțire, discretă, în locul celei implicite. */
.vodi-mine__panel {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.vodi-mine__grid {
	flex: 1 1 auto;
	min-height: 0;
	margin-right: -10px;
	padding-right: 10px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
	overscroll-behavior: contain;
}

.vodi-mine__grid::-webkit-scrollbar {
	width: 6px;
}

.vodi-mine__grid::-webkit-scrollbar-track {
	background: transparent;
}

.vodi-mine__grid::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
}

.vodi-mine__grid::-webkit-scrollbar-thumb:hover {
	background: rgba(255, 255, 255, 0.3);
}

.vodi-mine__title,
.vodi-mine__text,
.vodi-mine__actions {
	flex-shrink: 0;
}

/* Siglele evidențiate pe carduri: inel verde plus o umbră verde discretă. */
.vodi-logos img.is-mine {
	box-shadow: 0 0 0 2px var(--vodi-ok), 0 0 10px 1px rgba(34, 197, 94, 0.45);
}

/* Fereastra primește focusul la deschidere, fără chenar; chenarul de focus al platformelor
   (din tastatură) nu mai e tăiat de zona de derulare; numele lungi trec pe două rânduri. */
.vodi-mine__panel:focus {
	outline: none;
}

.vodi-mine__grid {
	margin: 0 -10px 0 -4px;
	padding: 4px 10px 4px 4px;
}

.vodi-mine__item:focus {
	outline: none;
}

.vodi-mine__item:focus-visible {
	outline: 2px solid var(--vodi-accent);
	outline-offset: 2px;
}

.vodi-mine__name {
	display: -webkit-box;
	overflow: hidden;
	white-space: normal;
	line-height: 1.25;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* „Altă ediție": a doua ofertă de pe aceeași platformă, cu aceeași calitate (altă versiune a filmului). */
.vodi-offer-row__edition {
	margin-left: 8px;
	padding: 2px 8px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--vodi-muted);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

/* ---------------------------------------------------------------------------
 * „Ce mă uit în seara asta?" (inc/tonight.php + main.js).
 * ------------------------------------------------------------------------ */

#vodi-platforms-title {
	scroll-margin-top: calc(var(--vodi-header-h) + 24px);
}

/* Fereastra (sub fereastra de trailer, care se deschide din recomandări). */
.vodi-tonight {
	position: fixed;
	inset: 0;
	z-index: 290;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.vodi-tonight[hidden] {
	display: none;
}

.vodi-tonight__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 12, 0.78);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.vodi-tonight__panel {
	position: relative;
	width: min(760px, 100%);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 28px;
	border: 1px solid var(--vodi-border);
	border-radius: 24px;
	background:
		radial-gradient(circle at 0 0, color-mix(in srgb, #EC4899 20%, transparent), transparent 42%),
		radial-gradient(circle at 100% 0, color-mix(in srgb, #F97316 14%, transparent), transparent 40%),
		radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--vodi-accent) 16%, transparent), transparent 45%),
		#10101b;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

.vodi-tonight__panel:focus {
	outline: none;
}

.vodi-tonight__panel::-webkit-scrollbar {
	width: 6px;
}

.vodi-tonight__panel::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
}

.vodi-tonight__kicker {
	margin: 0 44px 18px 0;
	color: #FDBA74;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.vodi-tonight__progress {
	margin: 0 0 6px;
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 600;
}

.vodi-tonight__title {
	margin: 0 0 20px;
	font-family: var(--vodi-font-heading);
	font-size: 26px;
	font-weight: 700;
}

.vodi-tonight__options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
}

.vodi-tonight__option {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 16px;
	border: 1px solid var(--vodi-border);
	border-radius: 18px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}

.vodi-tonight__option:hover,
.vodi-tonight__option:focus-visible {
	border-color: color-mix(in srgb, var(--vodi-accent) 60%, transparent);
	background: color-mix(in srgb, var(--vodi-accent) 12%, transparent);
	transform: translateY(-2px);
	outline: none;
}

.vodi-tonight__emoji {
	margin-bottom: 4px;
	font-size: 30px;
	line-height: 1;
}

.vodi-tonight__label {
	font-size: 16px;
	font-weight: 800;
}

.vodi-tonight__hint {
	color: var(--vodi-muted);
	font-size: 13px;
	line-height: 1.4;
}

/* Rezultatele. */
.vodi-tonight__results {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 120px;
	transition: opacity 0.2s ease;
}

.vodi-tonight__results.is-loading {
	opacity: 0.4;
}

.vodi-tonight__film {
	display: flex;
	gap: 18px;
	padding: 14px;
	border: 1px solid var(--vodi-border);
	border-radius: 20px;
	background: var(--vodi-card);
}

.vodi-tonight__poster {
	position: relative;
	flex-shrink: 0;
	width: 120px;
}

.vodi-tonight__poster img {
	display: block;
	width: 120px;
	height: 180px;
	border-radius: 14px;
	object-fit: cover;
}

.vodi-tonight__poster .vodi-rating {
	position: absolute;
	right: -8px;
	bottom: -8px;
}

.vodi-tonight__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.vodi-tonight__film-title {
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.vodi-tonight__film-title:hover {
	color: #93C5FD;
}

.vodi-tonight__film-sub {
	margin: 0;
	color: #60A5FA;
	font-size: 13px;
	font-weight: 600;
}

.vodi-tonight__film-meta {
	margin: 0;
	color: var(--vodi-muted);
	font-size: 13px;
	font-weight: 600;
}

.vodi-tonight__film-excerpt {
	display: -webkit-box;
	margin: 6px 0 0;
	overflow: hidden;
	color: #CBD5E1;
	font-size: 14px;
	line-height: 1.5;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.vodi-tonight__logos {
	display: flex;
	gap: 6px;
	margin-top: 8px;
}

.vodi-tonight__logos img {
	width: 28px;
	height: 28px;
	border-radius: 25%;
	object-fit: cover;
}

.vodi-tonight__logos img.is-mine {
	box-shadow: 0 0 0 2px var(--vodi-ok), 0 0 10px 1px rgba(34, 197, 94, 0.45);
}

.vodi-tonight__film-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 12px;
}

.vodi-tonight__film-actions .vodi-btn {
	padding: 8px 16px;
	font-size: 14px;
}

.vodi-tonight__empty {
	margin: 0;
	padding: 24px;
	border: 1px dashed var(--vodi-border);
	border-radius: 18px;
	color: var(--vodi-muted);
	text-align: center;
}

.vodi-tonight__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
}

.vodi-tonight__actions .vodi-tonight__back {
	margin-top: 0;
}

@media (max-width: 480px) {
	.vodi-tonight__panel {
		padding: 22px 16px 18px;
	}

	.vodi-tonight__title {
		font-size: 22px;
	}

	.vodi-tonight__options {
		grid-template-columns: 1fr 1fr;
	}

	.vodi-tonight__film {
		gap: 12px;
		padding: 12px;
	}

	.vodi-tonight__poster,
	.vodi-tonight__poster img {
		width: 88px;
	}

	.vodi-tonight__poster img {
		height: 132px;
	}

	.vodi-tonight__film-title {
		font-size: 17px;
	}

	.vodi-tonight__film-excerpt {
		display: none;
	}
}


/* Prima pagină: cele două funcții ca două carduri, sub rândul de platforme. */
.vodi-feature-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: min(780px, 100%);
	margin: 36px auto 0;
}

.vodi-feature-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid var(--vodi-border);
	border-radius: 20px;
	background: var(--vodi-card);
	color: var(--vodi-text);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.vodi-feature-card:hover,
.vodi-feature-card:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--vodi-accent) 55%, transparent);
	background: var(--vodi-card-strong);
	outline: none;
}

/* „Ce film văd": marginea în gradientul lui, ca să atragă primul. */
.vodi-feature-card--tonight {
	border-color: transparent;
	background:
		linear-gradient(var(--vodi-card-bg), var(--vodi-card-bg)) padding-box,
		linear-gradient(135deg, color-mix(in srgb, #EC4899 70%, transparent), color-mix(in srgb, #F97316 70%, transparent)) border-box;
}

.vodi-feature-card--tonight:hover,
.vodi-feature-card--tonight:focus-visible {
	border-color: transparent;
	background:
		linear-gradient(#141420, #141420) padding-box,
		linear-gradient(135deg, #EC4899, #F97316) border-box;
}

.vodi-feature-card__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	color: #fff;
}

.vodi-feature-card--tonight .vodi-feature-card__icon {
	background: linear-gradient(135deg, #EC4899 0%, #F97316 100%);
}

.vodi-feature-card--mine .vodi-feature-card__icon {
	background: linear-gradient(135deg, var(--vodi-accent) 0%, var(--vodi-accent-2) 100%);
}

.vodi-feature-card__icon svg {
	width: 22px;
	height: 22px;
}

.vodi-feature-card__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.vodi-feature-card__title {
	font-family: var(--vodi-font-heading);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
}

.vodi-feature-card__desc {
	color: var(--vodi-muted);
	font-size: 13.5px;
	line-height: 1.4;
}

.vodi-feature-card__go {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--vodi-muted);
	transition: transform 0.18s ease, color 0.18s ease;
}

.vodi-feature-card__go svg {
	width: 18px;
	height: 18px;
}

.vodi-feature-card:hover .vodi-feature-card__go,
.vodi-feature-card:focus-visible .vodi-feature-card__go {
	transform: translateX(3px);
	color: #fff;
}

@media (max-width: 768px) {
	.vodi-feature-cards {
		grid-template-columns: 1fr;
		margin-top: 28px;
	}
}

/* Antetul: „Ce film văd în seara asta?" (luna) și „Platformele mele", unul lângă altul. */
.vodi-header__tools {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	gap: 10px;
}

@media (max-width: 768px) {
	.vodi-header__tools {
		order: 2;
		gap: 8px;
		margin-left: auto;
	}

	.vodi-header__tools .vodi-mine-toggle {
		margin-left: 0;
	}
}

/* Cardurile de pe prima pagină: iconițe ceva mai mari. */
.vodi-feature-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
}

.vodi-feature-card__icon svg {
	width: 30px;
	height: 30px;
}

/* Antetul: meniul la mijlocul paginii. Logo-ul și grupul din dreapta (căutarea +
   butoanele) primesc spații egale; niciunul nu se strânge sub conținutul lui. */
.vodi-header__brand,
.vodi-header__right {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	min-width: max-content;
}

.vodi-header__right {
	justify-content: flex-end;
	gap: 12px;
}

.vodi-nav {
	flex: 0 0 auto;
	margin-inline: 0;
}

/* Pe telefon, căutarea și butoanele rămân direct în antet (ordinea de acolo). */
@media (max-width: 768px) {
	.vodi-header__brand {
		flex: 0 0 auto;
		min-width: 0;
	}

	.vodi-header__right {
		display: contents;
	}
}

/* „Ce film văd în seara asta?": același fundal ca fereastra „Platformele mele". */
.vodi-tonight__panel {
	background:
		radial-gradient(circle at 0 0, color-mix(in srgb, #EC4899 16%, transparent), transparent 40%),
		radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--vodi-accent) 18%, transparent), transparent 45%),
		#10101b;
}

/* Antetul ferestrei „Ce film văd în seara asta?": iconița lunii (ca pe cardul de pe
   prima pagină) și titlul, alb, fără majuscule. */
.vodi-tonight__kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 52px 24px 0;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--vodi-border);
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: normal;
	text-transform: none;
}

.vodi-tonight__kicker-icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: linear-gradient(135deg, #EC4899 0%, #F97316 100%);
	color: #fff;
}

.vodi-tonight__kicker-icon svg {
	width: 20px;
	height: 20px;
}

/* Indicatorul de pași din „Ce film văd în seara asta?": trei cercuri unite de o linie
   care se umple în gradient; pasul curent mai mare, cu halou care pulsează; cei făcuți
   bifați, cu alegerea dedesubt, apăsabili; cei următori estompați. */
.vodi-stepper {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.vodi-stepper::before,
.vodi-stepper::after {
	content: "";
	position: absolute;
	top: 19px;
	left: calc(100% / 6);
	height: 2px;
	border-radius: 2px;
}

.vodi-stepper::before {
	right: calc(100% / 6);
	background: rgba(255, 255, 255, 0.1);
}

.vodi-stepper::after {
	width: 0;
	background: linear-gradient(90deg, #EC4899, #F97316);
	transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.vodi-stepper[data-progress="1"]::after {
	width: calc((100% - 100% / 3) / 2);
}

.vodi-stepper[data-progress="2"]::after {
	width: calc(100% - 100% / 3);
}

.vodi-stepper__button {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: 100%;
	padding: 0 4px;
	border: 0;
	background: none;
	color: var(--vodi-muted);
	font: inherit;
	text-align: center;
	cursor: default;
}

.vodi-stepper__dot {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 2px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	background: #10101b;
	color: rgba(255, 255, 255, 0.45);
	font-size: 15px;
	font-weight: 800;
	transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.vodi-stepper__check {
	display: none;
}

.vodi-stepper__label {
	font-size: 13px;
	font-weight: 700;
	opacity: 0.6;
	transition: opacity 0.25s ease, color 0.25s ease;
}

.vodi-stepper__value {
	max-width: 100%;
	min-height: 16px;
	overflow: hidden;
	color: #FDBA74;
	font-size: 12px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Pasul curent. */
.vodi-stepper__step.is-current .vodi-stepper__dot {
	border-color: transparent;
	background:
		linear-gradient(#10101b, #10101b) padding-box,
		linear-gradient(135deg, #EC4899, #F97316) border-box;
	color: #fff;
	transform: scale(1.15);
	animation: vodi-stepper-pulse 2s ease-in-out infinite;
}

.vodi-stepper__step.is-current .vodi-stepper__label {
	color: #fff;
	opacity: 1;
}

@keyframes vodi-stepper-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(236, 72, 153, 0.35);
	}

	50% {
		box-shadow: 0 0 0 8px rgba(236, 72, 153, 0);
	}
}

/* Pașii făcuți: bifați, cu alegerea dedesubt; se pot apăsa. */
.vodi-stepper__step.is-done .vodi-stepper__dot {
	border-color: transparent;
	background: linear-gradient(135deg, #EC4899, #F97316);
	color: #fff;
}

.vodi-stepper__step.is-done .vodi-stepper__number {
	display: none;
}

.vodi-stepper__step.is-done .vodi-stepper__check {
	display: inline;
}

.vodi-stepper__step.is-done .vodi-stepper__label {
	color: #CBD5E1;
	opacity: 1;
}

.vodi-stepper__step.is-done .vodi-stepper__button {
	cursor: pointer;
}

.vodi-stepper__step.is-done .vodi-stepper__button:hover .vodi-stepper__dot,
.vodi-stepper__step.is-done .vodi-stepper__button:focus-visible .vodi-stepper__dot {
	transform: translateY(-2px) scale(1.06);
}

.vodi-stepper__button:focus-visible {
	outline: none;
}

.vodi-stepper__button:focus-visible .vodi-stepper__dot {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--vodi-accent) 60%, transparent);
}

/* Alegerea făcută într-un pas rămâne marcată când revii la el. */
.vodi-tonight__option.is-selected {
	border-color: transparent;
	background:
		linear-gradient(color-mix(in srgb, #EC4899 10%, #14141f), color-mix(in srgb, #F97316 8%, #14141f)) padding-box,
		linear-gradient(135deg, #EC4899, #F97316) border-box;
}

@media (prefers-reduced-motion: reduce) {
	.vodi-stepper::after,
	.vodi-stepper__dot {
		transition: none;
	}

	.vodi-stepper__step.is-current .vodi-stepper__dot {
		animation: none;
	}
}

/* Antetul ferestrei stă acum deasupra indicatorului, fără linia de separare. */
.vodi-tonight__kicker {
	margin-bottom: 22px;
	padding-bottom: 0;
	border-bottom: 0;
}

/* „Ce film văd în seara asta?": antetul (titlul + indicatorul de pași) ca bandă separată,
   compactă, deasupra conținutului pasului. */
.vodi-tonight__head {
	margin: -28px -28px 24px;
	padding: 20px 28px 16px;
	border-bottom: 1px solid var(--vodi-border);
	border-radius: 24px 24px 0 0;
	background: rgba(255, 255, 255, 0.03);
}

.vodi-tonight__head .vodi-tonight__kicker {
	margin: 0 52px 16px 0;
	font-size: 16px;
}

.vodi-tonight__head .vodi-tonight__kicker-icon {
	width: 36px;
	height: 36px;
	border-radius: 11px;
}

.vodi-tonight__head .vodi-tonight__kicker-icon svg {
	width: 18px;
	height: 18px;
}

.vodi-tonight__head .vodi-stepper {
	margin: 0;
}

.vodi-tonight__head .vodi-stepper::before,
.vodi-tonight__head .vodi-stepper::after {
	top: 13px;
}

.vodi-tonight__head .vodi-stepper__button {
	gap: 4px;
}

.vodi-tonight__head .vodi-stepper__dot {
	width: 28px;
	height: 28px;
	font-size: 12px;
}

.vodi-tonight__head .vodi-stepper__step.is-current .vodi-stepper__dot {
	transform: scale(1.12);
}

.vodi-tonight__head .vodi-stepper__label {
	font-size: 12px;
}

.vodi-tonight__head .vodi-stepper__value {
	min-height: 14px;
	font-size: 11px;
}

@media (max-width: 480px) {
	.vodi-tonight__head {
		margin: -22px -16px 20px;
		padding: 18px 16px 14px;
	}
}

/* „Ce film văd în seara asta?": antetul pe un rând — titlul în stânga, numerele pașilor
   în dreapta (lângă butonul de închidere), unite de linii scurte care se umplu. Etichetele
   și alegerile nu se mai văd sub numere (rămân pentru cititoarele de ecran și la hover). */
.vodi-tonight__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 20px 28px;
}

.vodi-tonight__head .vodi-tonight__kicker {
	flex: 1 1 auto;
	margin: 0;
}

.vodi-tonight__panel > .vodi-mine__close {
	top: 19px;
	right: 20px;
}

.vodi-tonight__head .vodi-stepper {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	margin: 0 52px 0 0;
}

.vodi-tonight__head .vodi-stepper::before,
.vodi-tonight__head .vodi-stepper::after {
	content: none;
}

.vodi-tonight__head .vodi-stepper__step {
	display: flex;
	align-items: center;
}

/* Linia scurtă dinaintea fiecărui pas (după primul): se umple când pasul e făcut sau curent. */
.vodi-tonight__head .vodi-stepper__step + .vodi-stepper__step::before {
	content: "";
	width: 22px;
	height: 2px;
	margin: 0 4px;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.12);
	transition: background 0.35s ease;
}

.vodi-tonight__head .vodi-stepper__step.is-done + .vodi-stepper__step::before,
.vodi-tonight__head .vodi-stepper__step.is-current::before {
	background: linear-gradient(90deg, #EC4899, #F97316);
}

.vodi-tonight__head .vodi-stepper__button {
	width: auto;
	padding: 0;
}

.vodi-tonight__head .vodi-stepper__dot {
	width: 26px;
	height: 26px;
	font-size: 12px;
}

.vodi-tonight__head .vodi-stepper__step.is-current .vodi-stepper__dot {
	transform: scale(1.15);
}

.vodi-tonight__head .vodi-stepper__label,
.vodi-tonight__head .vodi-stepper__value {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (max-width: 480px) {
	.vodi-tonight__head {
		padding: 16px 16px 14px;
	}

	.vodi-tonight__head .vodi-tonight__kicker {
		flex-basis: calc(100% - 52px);
	}

	.vodi-tonight__head .vodi-stepper {
		margin-right: 0;
	}

	.vodi-tonight__panel > .vodi-mine__close {
		top: 14px;
		right: 14px;
	}
}

/* Antetul „Ce film văd…": numerele într-o capsulă (se citesc ca un indicator de progres). */
.vodi-tonight__head .vodi-stepper {
	gap: 0;
	margin-right: 44px;
	padding: 4px 5px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
}

.vodi-tonight__head .vodi-stepper__step + .vodi-stepper__step::before {
	width: 14px;
	margin: 0 3px;
}

.vodi-tonight__head .vodi-stepper__dot {
	border-width: 1.5px;
}

.vodi-tonight__head .vodi-stepper__step.is-current .vodi-stepper__dot {
	transform: none;
	animation: none;
	box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.18);
}

@media (max-width: 480px) {
	.vodi-tonight__head .vodi-stepper {
		margin-right: 0;
	}
}

/* Capsula cu numere imediat după titlu (nu împinsă spre dreapta). */
.vodi-tonight__head .vodi-tonight__kicker {
	flex: 0 1 auto;
}

.vodi-tonight__head .vodi-stepper {
	margin-right: 0;
}

/* Titlul ferestrei pe două rânduri (titlu + un text scurt), centrat față de iconiță;
   capsula cu numere puțin mai departe de el. */
.vodi-tonight__head {
	column-gap: 36px;
}

.vodi-tonight__head .vodi-tonight__kicker-icon {
	width: 42px;
	height: 42px;
	border-radius: 13px;
}

.vodi-tonight__head .vodi-tonight__kicker-icon svg {
	width: 20px;
	height: 20px;
}

.vodi-tonight__kicker-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vodi-tonight__kicker-title {
	color: #fff;
	font-family: var(--vodi-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
}

.vodi-tonight__kicker-sub {
	color: var(--vodi-muted);
	font-family: var(--vodi-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

/* Stările din „Ce film văd în seara asta?": emoji-uri 3D (Fluent, ca la Vibe), care se
   măresc și se înclină ușor la hover. */
.vodi-tonight__emoji--3d {
	display: block;
	margin-bottom: 6px;
	line-height: 0;
}

.vodi-tonight__emoji--3d img {
	display: block;
	width: 44px;
	height: 44px;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.vodi-tonight__option:hover .vodi-tonight__emoji--3d img,
.vodi-tonight__option:focus-visible .vodi-tonight__emoji--3d img,
.vodi-tonight__option.is-selected .vodi-tonight__emoji--3d img {
	transform: scale(1.14) rotate(-6deg);
}

@media (prefers-reduced-motion: reduce) {
	.vodi-tonight__emoji--3d img {
		transition: none;
	}
}

/* „Înapoi" și „Ia-o de la capăt": pastile cu iconiță, în stilul site-ului. */
.vodi-tonight__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding: 9px 16px 9px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	font: inherit;
	color: #CBD5E1;
	font-size: 14px;
	font-weight: 700;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
	cursor: pointer;
}

.vodi-tonight__back svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.vodi-tonight__back:hover,
.vodi-tonight__back:focus-visible {
	border-color: color-mix(in srgb, var(--vodi-accent) 55%, transparent);
	background: color-mix(in srgb, var(--vodi-accent) 12%, transparent);
	color: #fff;
	outline: none;
}

.vodi-tonight__back:hover svg,
.vodi-tonight__back:focus-visible svg {
	transform: translateX(-3px);
}

.vodi-tonight__back--restart:hover svg,
.vodi-tonight__back--restart:focus-visible svg {
	transform: rotate(-60deg);
}

@media (prefers-reduced-motion: reduce) {
	.vodi-tonight__back svg {
		transition: none;
	}
}

/* „Ce film văd…": fereastra nu mai derulează în întregime; antetul și butoanele de jos
   rămân pe loc, iar la rezultate derulează doar lista de filme. */
.vodi-tonight__panel {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.vodi-tonight__head {
	flex-shrink: 0;
}

.vodi-tonight__step:not([hidden]) {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

.vodi-tonight__step[data-step="rezultate"]:not([hidden]) {
	overflow: hidden;
}

.vodi-tonight__step[data-step="rezultate"] > * {
	flex-shrink: 0;
}

.vodi-tonight__step[data-step="rezultate"] .vodi-tonight__results {
	flex: 1 1 auto;
	min-height: 120px;
	margin-right: -18px;
	padding-right: 12px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

.vodi-tonight__step::-webkit-scrollbar,
.vodi-tonight__results::-webkit-scrollbar {
	width: 6px;
}

.vodi-tonight__step::-webkit-scrollbar-thumb,
.vodi-tonight__results::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
}

/* Cardul de film: subtitlul (majuscule, fără bold) deasupra titlului, siglele în dreapta. */
.vodi-tonight__film-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.vodi-tonight__film-names {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.vodi-tonight__film-names .vodi-tonight__film-title {
	display: block;
}

.vodi-tonight__film-sub {
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
}

.vodi-tonight__film-head .vodi-tonight__logos {
	flex-wrap: wrap;
	flex-shrink: 0;
	justify-content: flex-end;
	max-width: 96px;
	margin-top: 2px;
}

.vodi-tonight__film-meta {
	margin-top: 4px;
}

@media (max-width: 480px) {
	.vodi-tonight__step[data-step="rezultate"] .vodi-tonight__results {
		margin-right: -10px;
		padding-right: 6px;
	}

	.vodi-tonight__film-head {
		flex-direction: column;
		gap: 6px;
	}

	.vodi-tonight__film-head .vodi-tonight__logos {
		justify-content: flex-start;
		max-width: none;
		margin-top: 0;
	}
}

/* „Ce film văd…": cercul de rating în colțul din stânga jos al posterului; rândul
   gen · an · durată ca pe carduri (genul albastru, restul fără bold). */
.vodi-tonight__poster .vodi-rating {
	right: auto;
	left: -8px;
}

.vodi-tonight__film-meta.vodi-card__meta {
	font-weight: 400;
}

.vodi-tonight__film-meta .vodi-card__genre {
	font-weight: 500;
}

/* „Ce film văd…": posterul mai mare, pe măsura textului din dreapta. */
.vodi-tonight__poster,
.vodi-tonight__poster img {
	width: 150px;
}

.vodi-tonight__poster img {
	height: 225px;
}

@media (max-width: 480px) {
	.vodi-tonight__poster,
	.vodi-tonight__poster img {
		width: 100px;
	}

	.vodi-tonight__poster img {
		height: 150px;
	}
}

/* „Ce film văd…": textul și butoanele aliniate jos, lângă baza posterului; siglele
   platformelor rămân sus, în dreapta. */
.vodi-tonight__film-head {
	flex: 1 1 auto;
	align-items: stretch;
}

.vodi-tonight__film-names {
	justify-content: flex-end;
}

.vodi-tonight__film-head .vodi-tonight__logos {
	align-self: flex-start;
}

.vodi-tonight__film-actions {
	margin-top: 0;
}

@media (max-width: 480px) {
	.vodi-tonight__film-head {
		flex: 0 0 auto;
	}

	.vodi-tonight__film-actions {
		margin-top: auto;
	}
}

/* „Ce film văd…": conținutul cardului centrat pe verticală, lângă poster; siglele
   platformelor stau fix în colțul din dreapta sus al cardului. */
.vodi-tonight__film {
	position: relative;
}

.vodi-tonight__body {
	justify-content: center;
}

.vodi-tonight__film-head {
	flex: 0 0 auto;
	padding-right: 108px;
}

.vodi-tonight__film-head .vodi-tonight__logos {
	position: absolute;
	top: 14px;
	right: 14px;
	margin: 0;
}

.vodi-tonight__film-actions {
	margin-top: 0;
	padding-top: 14px;
}

/* Butoanele cardului: „Unde îl vezi" (gradient, iconiță de ecran, săgeată care alunecă)
   și „Trailer" (pastilă translucidă cu butonul de play într-un cerc alb). */
.vodi-tonight__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px 9px 14px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(45deg, #02AAFE 0%, #034E9E 100%);
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.vodi-tonight__cta svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.vodi-tonight__cta:hover,
.vodi-tonight__cta:focus-visible {
	filter: brightness(1.1);
	color: #fff;
}

.vodi-tonight__cta--trailer {
	padding: 5px 16px 5px 5px;
	border: 1px solid var(--vodi-border);
	background: rgba(255, 255, 255, 0.06);
}

.vodi-tonight__cta--trailer:hover,
.vodi-tonight__cta--trailer:focus-visible {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.12);
	filter: none;
}

.vodi-tonight__cta-play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	color: #0B0B14;
	transition: transform 0.2s ease;
}

.vodi-tonight__cta-play svg {
	width: 14px;
	height: 14px;
	margin-left: 2px;
}

.vodi-tonight__cta--trailer:hover .vodi-tonight__cta-play,
.vodi-tonight__cta--trailer:focus-visible .vodi-tonight__cta-play {
	transform: scale(1.1);
}

.vodi-tonight__cta:focus-visible {
	outline: 2px solid #93C5FD;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.vodi-tonight__cta-play {
		transition: none;
	}
}

@media (max-width: 480px) {
	.vodi-tonight__body {
		justify-content: flex-start;
	}

	.vodi-tonight__film-head {
		padding-right: 0;
	}

	.vodi-tonight__film-head .vodi-tonight__logos {
		position: static;
	}

	.vodi-tonight__film-actions {
		margin-top: auto;
	}

	.vodi-tonight__cta {
		padding: 8px 12px 8px 10px;
		font-size: 13px;
	}

	.vodi-tonight__cta--trailer {
		padding: 4px 12px 4px 4px;
	}
}

/* „Unde rulează": gradientul se închide mai puțin spre colțul de jos. */
.vodi-tonight__cta {
	background: linear-gradient(45deg, #02AAFE 0%, #0369C9 100%);
}

.vodi-tonight__cta--trailer {
	background: rgba(255, 255, 255, 0.06);
}

/* „Altă variantă": în culorile ferestrei (roz → portocaliu, ca iconița lunii), pastilă cu
   iconița de amestecare, ca să nu semene cu butoanele albastre din carduri. */
.vodi-tonight__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px 11px 18px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #EC4899 0%, #F97316 100%);
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: filter 0.2s ease;
}

.vodi-tonight__more svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	transition: transform 0.3s ease;
}

.vodi-tonight__more:hover,
.vodi-tonight__more:focus-visible {
	filter: brightness(1.08);
}

.vodi-tonight__more:hover svg,
.vodi-tonight__more:focus-visible svg {
	transform: rotate(180deg);
}

.vodi-tonight__more:focus-visible {
	outline: 2px solid #FDBA74;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.vodi-tonight__more svg {
		transition: none;
	}
}

/* „Altă variantă", „Ia-o de la capăt" și „Înapoi" fără bold. */
.vodi-tonight__more,
.vodi-tonight__back {
	font-weight: 400;
}

/* ---------------------------------------------------------------------------
 * „Favorite": butonul cu inimă, iconița din antet, pagina
 * /favorite/ și rândul de pe prima pagină.
 * ------------------------------------------------------------------------ */

.vodi-save {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid var(--vodi-border);
	color: #fff;
	font: inherit;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.vodi-save svg {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
}

/* Favorit: inima plină (prin variabilă, ca să ajungă și în iconițele din sprite). */
.vodi-save.is-saved {
	border-color: var(--vodi-accent);
	background: var(--vodi-accent);
	color: #fff;
}

.vodi-save.is-saved svg {
	--vodi-heart-fill: currentColor;
}

.vodi-save:focus-visible {
	outline: 2px solid #93C5FD;
	outline-offset: 2px;
}

.vodi-save.is-bumped svg {
	animation: vodi-save-bump 0.35s ease;
}

@keyframes vodi-save-bump {
	40% {
		transform: scale(1.3);
	}

	100% {
		transform: scale(1);
	}
}

/* Pe carduri: cerc în colțul din dreapta jos al posterului. Zona are proporția posterului
   (2:3), ca butonul să stea pe poster, deși e în afara linkului. */
.vodi-card {
	position: relative;
}

.vodi-card__save {
	position: absolute;
	z-index: 4;
	top: 0;
	right: 0;
	left: 0;
	aspect-ratio: 2 / 3;
	pointer-events: none;
}

.vodi-save--card {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 36px;
	height: 36px;
	padding: 0;
	border-color: rgba(255, 255, 255, 0.18);
	border-radius: 50%;
	background: rgba(11, 11, 20, 0.6);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	pointer-events: auto;
}

.vodi-save--card:hover {
	border-color: var(--vodi-accent);
}

/* Cu mouse: apare la trecerea peste card (sau dacă filmul e salvat). Pe touch: mereu. */
@media (hover: hover) {
	.vodi-save--card:not(.is-saved) {
		opacity: 0;
	}

	.vodi-card:hover .vodi-save--card,
	.vodi-save--card:focus-visible {
		opacity: 1;
	}
}

/* Pe pagina filmului: cerc în colțul din dreapta jos al posterului; textul apare ca
   etichetă în stânga cercului la hover / focus (pe touch rămâne doar pentru cititoare). */
.vodi-single__poster-media {
	position: relative;
}

.vodi-save--page {
	position: absolute;
	right: 14px;
	bottom: 14px;
	width: 48px;
	height: 48px;
	padding: 0;
	border-color: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	background: rgba(11, 11, 20, 0.6);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.vodi-save--page svg {
	width: 22px;
	height: 22px;
}

.vodi-save--page:hover {
	border-color: #F472B6;
}

.vodi-save--page .vodi-save__text {
	position: absolute;
	top: 50%;
	right: calc(100% + 10px);
	padding: 7px 12px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: rgba(11, 11, 20, 0.85);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: 13px;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(6px, -50%);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.vodi-save--page:hover .vodi-save__text,
.vodi-save--page:focus-visible .vodi-save__text {
	opacity: 1;
	transform: translate(0, -50%);
}

@media (hover: none) {
	.vodi-save--page .vodi-save__text {
		clip-path: inset(50%);
		width: 1px;
		height: 1px;
		padding: 0;
		border: 0;
		overflow: hidden;
	}
}

/* În recomandările din „Ce film văd…": cerc lângă „Vezi trailer". */
.vodi-save--round {
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
}

.vodi-save--round:hover {
	border-color: rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.12);
}

.vodi-save--round.is-saved:hover {
	border-color: var(--vodi-accent);
	background: var(--vodi-accent);
}

/* Iconița din antet e link, nu buton. */
.vodi-list-toggle {
	text-decoration: none;
}

/* Pagina „Favorite". */
.vodi-list-page {
	min-height: 60vh;
}

.vodi-list-page__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: linear-gradient(135deg, #3B82F6 0%, #06B6D4 100%);
	color: #fff;
}

.vodi-list-page__icon svg {
	width: 28px;
	height: 28px;
}

.vodi-list-page__clear[hidden],
.vodi-list-page__empty[hidden] {
	display: none;
}

.vodi-list-page.is-loading .vodi-list-page__grid {
	min-height: 320px;
	border-radius: var(--vodi-radius);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
	background-size: 200% 100%;
	animation: vodi-list-loading 1.2s linear infinite;
}

@keyframes vodi-list-loading {
	to {
		background-position: -200% 0;
	}
}

.vodi-list-page__empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	color: #93C5FD;
}

.vodi-list-page__empty-icon svg {
	width: 30px;
	height: 30px;
}

.vodi-list-page__empty-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 6px;
}

.vodi-list-page__empty-actions .vodi-tonight__back {
	margin-top: 0;
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.vodi-save.is-bumped svg,
	.vodi-list-page.is-loading .vodi-list-page__grid {
		animation: none;
	}
}

@media (max-width: 480px) {
	.vodi-list-page__icon {
		width: 46px;
		height: 46px;
		border-radius: 13px;
	}

	.vodi-list-page__icon svg {
		width: 22px;
		height: 22px;
	}
}

/* Favorite: inima plină, pe roz-roșu. */
.vodi-save.is-saved,
.vodi-save--page.is-saved:hover,
.vodi-save--round.is-saved:hover {
	border-color: transparent;
	background: linear-gradient(45deg, #EC4899 0%, #E11D48 100%);
}

.vodi-save--card:hover {
	border-color: #F472B6;
}

.vodi-list-page__icon {
	background: linear-gradient(135deg, #EC4899 0%, #E11D48 100%);
}

.vodi-list-page__empty-icon {
	color: #F9A8D4;
}

/* Pagina „Favorite": antet ca la paginile de listă (fundal estompat al primului film,
   titlu mare, descriere), cu inima pe roz-roșu și rândul cu numărul de filme. */
.vodi-landing__logo.vodi-list-page__icon {
	border: 0;
	background: linear-gradient(135deg, #EC4899 0%, #E11D48 100%);
	box-shadow: 0 10px 30px rgba(236, 72, 153, 0.3);
	color: #fff;
}

.vodi-landing__logo.vodi-list-page__icon svg {
	width: 28px;
	height: 28px;
}

.vodi-list-page__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.vodi-list-page__count {
	margin: 0;
	padding: 6px 14px;
	border: 1px solid var(--vodi-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: #F9A8D4;
	font-size: 14px;
	font-weight: 600;
}

.vodi-list-page__count[hidden] {
	display: none;
}

.vodi-list-page .vodi-landing__explore {
	margin-top: 64px;
}

@media (max-width: 480px) {
	.vodi-landing__logo.vodi-list-page__icon svg {
		width: 22px;
		height: 22px;
	}
}

/* Favorite, lista goală: casetă cu lumină roz, evantai de postere cu inima în față
   și sugestiile din tendințe dedesubt. */
.vodi-list-page__empty {
	position: relative;
	overflow: hidden;
	padding: 48px 24px 44px;
	border: 1px solid var(--vodi-border);
	background:
		radial-gradient(ellipse at 50% 0, color-mix(in srgb, #EC4899 18%, transparent), transparent 60%),
		radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--vodi-accent) 12%, transparent), transparent 45%),
		rgba(255, 255, 255, 0.02);
}

.vodi-list-page__fan {
	position: relative;
	width: 220px;
	height: 170px;
	margin-bottom: 8px;
}

.vodi-list-page__fan-poster {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100px;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	margin-left: -50px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	background: var(--vodi-card);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55);
	transform-origin: 50% 100%;
	transition: transform 0.3s ease;
}

.vodi-list-page__fan-poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vodi-list-page__fan-poster:nth-child(1) {
	transform: translateX(-62px) rotate(-14deg);
	filter: brightness(0.7);
}

.vodi-list-page__fan-poster:nth-child(2) {
	z-index: 2;
	transform: translateY(-10px);
}

.vodi-list-page__fan-poster:nth-child(3) {
	transform: translateX(62px) rotate(14deg);
	filter: brightness(0.7);
}

.vodi-list-page__empty:hover .vodi-list-page__fan-poster:nth-child(1) {
	transform: translateX(-72px) rotate(-18deg);
}

.vodi-list-page__empty:hover .vodi-list-page__fan-poster:nth-child(3) {
	transform: translateX(72px) rotate(18deg);
}

.vodi-list-page__fan-heart {
	position: absolute;
	z-index: 3;
	bottom: -14px;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-left: -26px;
	border: 3px solid #10101b;
	border-radius: 50%;
	background: linear-gradient(135deg, #EC4899 0%, #E11D48 100%);
	box-shadow: 0 8px 24px rgba(236, 72, 153, 0.45);
	color: #fff;
}

.vodi-list-page__fan-heart svg {
	width: 24px;
	height: 24px;
}

.vodi-list-page__fan-heart svg {
	--vodi-heart-fill: currentColor;
}

.vodi-list-page__empty .vodi-empty__title {
	margin-top: 18px;
	font-size: clamp(22px, 2.4vw, 28px);
}

.vodi-list-page__suggest {
	margin-top: 56px;
}

.vodi-list-page__suggest[hidden] {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.vodi-list-page__fan-poster {
		transition: none;
	}
}

@media (max-width: 480px) {
	.vodi-list-page__empty {
		padding: 36px 16px 32px;
	}

	.vodi-list-page__fan {
		transform: scale(0.85);
	}
}

/* „Toate filmele" cu iconița de peliculă: fără mișcare la hover (nu e buton „Înapoi"). */
.vodi-list-page__all:hover svg,
.vodi-list-page__all:focus-visible svg {
	transform: none;
}

.vodi-list-page__clear {
	font-weight: 400;
}

/* „Toate filmele" la aceeași mărime ca „Ce film văd în seara asta?" de alături
   (1px mai puțin sus/jos, pentru margine). */
.vodi-list-page__empty-actions .vodi-list-page__all {
	padding: 10px 22px 10px 18px;
	font-size: 15px;
	line-height: 1.2;
}

/* Antetul pe telefon: doar căutarea și meniul; „Ce văd diseară?", „Platformele mele"
   și „Filmele favorite" stau într-o bară discretă, fixată jos. */
.vodi-tabbar {
	display: none;
}

@media (max-width: 768px) {
	.vodi-header__tools {
		display: none;
	}

	.vodi-search-toggle {
		margin-left: auto;
	}

	.vodi-tabbar {
		position: fixed;
		z-index: 150;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
		border-top: 1px solid rgba(255, 255, 255, 0.06);
		background: rgba(11, 11, 20, 0.82);
		-webkit-backdrop-filter: blur(14px);
		backdrop-filter: blur(14px);
	}

	/* Conținutul și subsolul nu rămân sub bară. */
	body {
		padding-bottom: calc(60px + env(safe-area-inset-bottom));
	}

	.vodi-tabbar__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		min-width: 0;
		padding: 6px 4px;
		border: 0;
		border-radius: 12px;
		background: none;
		color: var(--vodi-muted);
		font: inherit;
		font-size: 11px;
		line-height: 1.2;
		text-decoration: none;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.vodi-tabbar__item svg {
		width: 22px;
		height: 22px;
	}

	.vodi-tabbar__item:active,
	.vodi-tabbar__item:focus-visible,
	.vodi-tabbar__item.is-active {
		color: #fff;
	}

	.vodi-tabbar__item:focus-visible {
		outline: 2px solid #93C5FD;
		outline-offset: -2px;
	}

	.vodi-tabbar__item.is-active svg {
		--vodi-heart-fill: currentColor;
		color: #F472B6;
	}

	.vodi-tabbar__icon {
		position: relative;
		display: inline-flex;
	}

	.vodi-tabbar__label {
		overflow: hidden;
		max-width: 100%;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.vodi-tabbar__count {
		position: absolute;
		top: -5px;
		right: -10px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		border: 2px solid #0B0B14;
		border-radius: 999px;
		background: var(--vodi-accent);
		color: #fff;
		font-size: 9px;
		font-weight: 800;
		line-height: 12px;
		text-align: center;
	}

	.vodi-tabbar__count[hidden] {
		display: none;
	}
}

/* Ferestrele pe telefon: cele două coloane se pot strânge sub lățimea celui mai lung
   cuvânt (altfel împing cardurile în afara ferestrei); conținutul e puțin mai mic. */
@media (max-width: 480px) {
	.vodi-mine__grid,
	.vodi-tonight__options {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.vodi-mine__item {
		gap: 8px;
		padding: 8px;
		font-size: 13px;
	}

	.vodi-mine__item img {
		width: 34px;
		height: 34px;
	}

	.vodi-mine__name {
		overflow-wrap: anywhere;
	}

	.vodi-tonight__option {
		min-width: 0;
		padding: 12px;
	}

	.vodi-tonight__option .vodi-tonight__label {
		font-size: 15px;
		overflow-wrap: anywhere;
	}

	.vodi-tonight__option .vodi-tonight__hint {
		font-size: 12px;
	}
}

/* Ferestrele (Platformele mele, Ce film văd…): înălțimea ecranului vizibil (dvh), nu
   100vh — pe telefon, 100vh include și zona barelor browserului, iar fereastra ieșea. */
.vodi-mine,
.vodi-tonight {
	height: 100vh;
	height: 100dvh;
}

.vodi-mine__panel,
.vodi-tonight__panel {
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
}

/* Meniul pe telefon: fiecare intrare e o placă cu iconiță (Genuri, Platforme, Ani, Top
   filme, Actori), pe fundalul cu luminile roz / albastre ale ferestrelor; butonul de
   meniu devine X cât meniul e deschis. Pe calculator, iconițele nu se văd. */
.vodi-nav__icon,
.vodi-nav-toggle__close {
	display: none;
}

.vodi-nav-toggle[aria-expanded="true"] .vodi-nav-toggle__open {
	display: none;
}

.vodi-nav-toggle[aria-expanded="true"] .vodi-nav-toggle__close {
	display: inline-flex;
}

.vodi-nav-toggle__open,
.vodi-nav-toggle__close {
	align-items: center;
	justify-content: center;
}

.vodi-nav-toggle__open {
	display: inline-flex;
}

.vodi-nav-toggle svg {
	width: 22px;
	height: 22px;
}

@media (max-width: 768px) {
	.vodi-header:has(.vodi-nav.is-open) {
		background:
			radial-gradient(circle at 0 0, color-mix(in srgb, #EC4899 14%, transparent), transparent 45%),
			radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--vodi-accent) 16%, transparent), transparent 50%),
			var(--vodi-bg);
	}

	.vodi-nav-toggle[aria-expanded="true"] {
		border-color: var(--vodi-accent);
		color: #fff;
	}

	.vodi-nav.is-open {
		padding-top: 8px;
	}

	.vodi-nav__list {
		gap: 8px;
	}

	.vodi-nav__link {
		gap: 14px;
		padding: 10px 14px 10px 10px;
		border: 1px solid var(--vodi-border);
		border-radius: 16px;
		background: rgba(255, 255, 255, 0.04);
		font-size: 16px;
	}

	.vodi-nav__link:hover,
	.vodi-nav__link.is-active,
	.vodi-nav__item--dropdown.is-open > .vodi-nav__link {
		border-color: color-mix(in srgb, var(--vodi-accent) 55%, transparent);
		background: color-mix(in srgb, var(--vodi-accent) 10%, transparent);
	}

	.vodi-nav__icon {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.06);
		color: #93C5FD;
	}

	.vodi-nav__icon svg {
		width: 20px;
		height: 20px;
	}

	.vodi-nav__link.is-active .vodi-nav__icon,
	.vodi-nav__item--dropdown.is-open > .vodi-nav__link .vodi-nav__icon {
		background: linear-gradient(135deg, var(--vodi-accent) 0%, var(--vodi-accent-2) 100%);
		color: #fff;
	}

	.vodi-nav__text {
		flex: 1;
		text-align: left;
	}

	.vodi-nav__dropdown-toggle > svg {
		color: var(--vodi-muted);
		transition: transform 0.2s ease;
	}

	.vodi-nav__item--dropdown.is-open > .vodi-nav__dropdown-toggle > svg {
		transform: rotate(180deg);
	}
}

/* Iconițele din meniul de pe telefon: mai mari (fundalul rămâne 40px), albe. */
@media (max-width: 768px) {
	.vodi-nav__icon {
		color: #fff;
	}

	.vodi-nav__icon svg {
		width: 24px;
		height: 24px;
	}
}

/* Meniul deschis pe telefon stă sub textura de noise (body::before, z-index 200),
   ca restul paginii; altfel panoul o acoperea. */
@media (max-width: 768px) {
	.vodi-header:has(.vodi-nav.is-open) {
		z-index: 199;
	}
}

/* Etichetele de lângă numele platformei („Cel mai ieftin", „Altă ediție", „Abonamentul
   tău", „Expiră curând"): aceeași înălțime și același chenar, fără margine în plus,
   ca pe telefon, când trec sub nume, să pornească aliniate cu el. */
.vodi-offer-row__tag,
.vodi-offer-row__edition,
.vodi-offer-row__mine,
.vodi-offer-row__expires {
	display: inline-flex;
	align-items: center;
	margin-left: 0;
	padding: 1px 8px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 16px;
	white-space: nowrap;
}

.vodi-offer-row__tag,
.vodi-offer-row__mine {
	border-color: rgba(34, 197, 94, 0.3);
}

.vodi-offer-row__edition {
	border-color: rgba(255, 255, 255, 0.14);
}

.vodi-offer-row__expires {
	border-color: color-mix(in srgb, var(--vodi-warn) 35%, transparent);
	background: color-mix(in srgb, var(--vodi-warn) 12%, transparent);
}

@media (max-width: 768px) {
	.vodi-offer-row__name {
		row-gap: 4px;
		column-gap: 6px;
	}
}

/* Pe telefon, posterul (acum în .vodi-single__poster-media, cu inima pe el) urcă din nou
   primul, la 140px, ca înainte; inima e mai mică pe posterul mic. */
@media (max-width: 768px) {
	.vodi-single__poster > .vodi-single__poster-media {
		order: 1;
		width: 140px;
	}

	.vodi-single__poster-media .vodi-poster-img {
		width: 100%;
	}

	.vodi-save--page {
		right: 8px;
		bottom: 8px;
		width: 36px;
		height: 36px;
	}

	.vodi-save--page svg {
		width: 18px;
		height: 18px;
	}
}

/* Pagina filmului pe telefon: „Detalii film" și „Distribuie" vin după „Unde poți viziona"
   și înaintea actorilor. Și coloana de conținut își „desface" copiii în grilă (ca cea a
   posterului), ca să poată fi intercalate; distanța dintre ele rămâne cea a grilei. */
@media (max-width: 768px) {
	.vodi-single__content {
		display: contents;
	}

	.vodi-single__content > * {
		order: 2;
		min-width: 0;
	}

	.vodi-single__content > .vodi-single__actors,
	.vodi-single__content > .vodi-single__faq {
		order: 4;
	}

	.vodi-single__poster > .vodi-film-more {
		order: 5;
	}
}

/* Pe telefon, „Copiază link-ul" nu mai apare (butonul nativ de distribuire are deja copierea). */
@media (max-width: 768px) {
	.vodi-share [data-vodi-copy] {
		display: none;
	}
}
