/* Consent */

[hidden] {
	display: none !important;
}

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


/* Footer cookie settings */

.footer-cookie-settings {
	padding: 0;

	border: 0;

	background: transparent;
	color: inherit;

	cursor: pointer;

	font: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;

	transition:
		color 150ms ease;
}

.footer-cookie-settings:hover {
	color: #ffffff;
}


/* Consent banner */

.consent-banner {
	position: fixed;
	z-index: 1000;
	right: 22px;
	bottom: 22px;
	left: 22px;

	max-width: 1160px;

	margin-inline: auto;

	border:
		1px solid rgba(236, 232, 223, 0.28);

	background:
		rgba(19, 17, 14, 0.985);

	color: var(--color-text);

	box-shadow:
		0 22px 70px rgba(0, 0, 0, 0.46);
}

.consent-banner__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto;

	align-items: end;

	gap: 40px;

	padding:
		25px
		28px;
}

.consent-kicker {
	margin:
		0
		0
		7px;

	color: var(--color-accent);

	font-size: 9px;
	font-weight: 700;

	letter-spacing: 0.18em;

	text-transform: uppercase;
}

.consent-banner h2,
.consent-modal h2 {
	margin: 0;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-weight: 400;
}

.consent-banner h2 {
	font-size: 27px;
}

.consent-banner__content > p:not(.consent-kicker) {
	max-width: 650px;

	margin:
		8px
		0
		5px;

	color: var(--color-text-muted);

	font-size: 13px;
	line-height: 1.6;
}

.consent-banner__content > a {
	color: rgba(236, 232, 223, 0.78);

	font-size: 11px;

	text-decoration: underline;
	text-underline-offset: 3px;
}

.consent-banner__actions,
.consent-modal__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 9px;
}


/* Consent buttons */

.consent-button {
	min-height: 42px;

	padding:
		10px
		16px;

	border:
		1px solid rgba(236, 232, 223, 0.40);

	background: transparent;
	color: var(--color-text);

	cursor: pointer;

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 0.10em;

	text-transform: uppercase;

	transition:
		background 150ms ease,
		border-color 150ms ease,
		color 150ms ease;
}

.consent-button--choice {
	border-color:
		rgba(236, 232, 223, 0.55);

	background:
		rgba(255, 255, 255, 0.035);
}

.consent-button--choice:hover {
	border-color: #ffffff;

	background: #ffffff;
	color: #15130f;
}

.consent-button--settings:hover {
	border-color: #ffffff;

	background:
		rgba(255, 255, 255, 0.08);
}

.consent-button--save {
	border-color: var(--color-accent);

	background: var(--color-accent);
	color: #ffffff;
}

.consent-button--save:hover {
	border-color: var(--color-accent-hover);

	background: var(--color-accent-hover);
}


/* Consent modal */

.consent-backdrop {
	position: fixed;
	z-index: 1100;
	inset: 0;

	background:
		rgba(0, 0, 0, 0.68);

	backdrop-filter:
		blur(3px);
}

.consent-modal {
	position: fixed;
	z-index: 1101;
	top: 50%;
	left: 50%;

	width:
		min(
			calc(100% - 40px),
			680px
		);

	max-height:
		calc(100svh - 40px);

	padding:
		30px;

	overflow-y: auto;

	border:
		1px solid rgba(236, 232, 223, 0.26);

	background: #171511;
	color: var(--color-text);

	box-shadow:
		0 30px 90px rgba(0, 0, 0, 0.60);

	transform:
		translate(-50%, -50%);
}

.consent-modal__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: 30px;
}

.consent-modal h2 {
	font-size:
		clamp(34px, 5vw, 48px);
}

.consent-modal__close {
	width: 40px;
	height: 40px;

	padding: 0;

	border: 0;

	background: transparent;
	color: var(--color-text);

	cursor: pointer;

	font-size: 30px;
	font-weight: 300;
	line-height: 1;
}

.consent-modal__intro {
	max-width: 580px;

	margin:
		17px
		0
		28px;

	color: var(--color-text-muted);

	font-size: 13px;
	line-height: 1.65;
}


/* Consent options */

.consent-options {
	border-top:
		1px solid var(--color-border);
}

.consent-option {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 30px;

	padding:
		20px
		0;

	border-bottom:
		1px solid var(--color-border);

	cursor: pointer;
}

.consent-option--necessary {
	cursor: default;
}

.consent-option__text {
	display: flex;
	flex-direction: column;

	gap: 4px;
}

.consent-option__text strong {
	font-size: 13px;
}

.consent-option__text > span {
	color: var(--color-text-muted);

	font-size: 12px;
	line-height: 1.5;
}

.consent-option input {
	position: absolute;

	width: 1px;
	height: 1px;

	opacity: 0;
}

.consent-switch {
	position: relative;

	flex-shrink: 0;

	width: 44px;
	height: 24px;

	border:
		1px solid rgba(236, 232, 223, 0.35);

	background:
		rgba(255, 255, 255, 0.05);
}

.consent-switch::after {
	position: absolute;
	top: 4px;
	left: 4px;

	width: 14px;
	height: 14px;

	background:
		rgba(236, 232, 223, 0.60);

	content: "";

	transition:
		left 160ms ease,
		background 160ms ease;
}

.consent-option input:checked + .consent-switch {
	border-color: var(--color-accent);

	background:
		rgba(156, 51, 45, 0.25);
}

.consent-option input:checked + .consent-switch::after {
	left: 24px;

	background: #ffffff;
}

.consent-option input:focus-visible + .consent-switch {
	outline:
		2px solid #ffffff;

	outline-offset: 3px;
}

.consent-option input:disabled + .consent-switch {
	opacity: 0.5;
}

.consent-modal__actions {
	margin-top: 28px;
}


/* External media placeholders */

.external-media-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	width: 100%;
	height: 100%;

	min-height: 190px;

	padding: 25px;

	background:
		linear-gradient(
			135deg,
			#1b1d24,
			#111318
		);

	color: #e6e9ef;

	text-align: center;
}

.external-media-placeholder__brand {
	margin-bottom: 8px;

	color: #ffffff;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 22px;
}

.external-media-placeholder p {
	max-width: 390px;

	margin:
		0
		0
		16px;

	color:
		rgba(230, 233, 239, 0.68);

	font-size: 12px;
	line-height: 1.55;
}

.external-media-placeholder__button {
	padding:
		9px
		15px;

	border:
		1px solid rgba(255, 255, 255, 0.42);

	background: transparent;
	color: #ffffff;

	cursor: pointer;

	font-size: 9px;
	font-weight: 700;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	transition:
		background 150ms ease,
		border-color 150ms ease;
}

.external-media-placeholder__button:hover {
	border-color: #ffffff;

	background:
		rgba(255, 255, 255, 0.08);
}

.trailer-player__consent-note {
	position: absolute;
	z-index: 3;
	top: calc(50% + 58px);
	left: 50%;

	color:
		rgba(255, 255, 255, 0.66);

	transform:
		translateX(-50%);

	font-size: 9px;
	letter-spacing: 0.08em;

	text-align: center;
	text-transform: uppercase;

	white-space: nowrap;
}


/* Mobile */

@media (max-width: 760px) {
	.consent-banner {
		right: 10px;
		bottom: 10px;
		left: 10px;
	}

	.consent-banner__inner {
		grid-template-columns: 1fr;

		gap: 20px;

		padding:
			22px
			20px;
	}

	.consent-banner__actions {
		display: grid;

		grid-template-columns:
			1fr
			1fr;

		width: 100%;
	}

	.consent-banner__actions .consent-button--settings {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.consent-button {
		width: 100%;
	}

	.consent-modal {
		width:
			calc(100% - 20px);

		max-height:
			calc(100svh - 20px);

		padding: 22px;
	}

	.consent-modal__actions {
		display: grid;

		grid-template-columns:
			1fr
			1fr;
	}

	.consent-modal__actions .consent-button--save {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.consent-option {
		gap: 15px;
	}

	.trailer-player__consent-note {
		top: calc(50% + 52px);

		font-size: 8px;
	}
}