.hwfp-container:before { display: none !important; }

.hwfp {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 0 60px;
}

.hwfp-title {
	margin: 0 0 24px;
	font-size: clamp(26px, 4vw, 40px);
	line-height: 1.2;
}

.hwfp-player,
.hwfp-stage {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000 center / cover no-repeat;
	border-radius: 6px;
	overflow: hidden;
}

.hwfp-player video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
}

.hwfp-stage form {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .45);
}

.hwfp-stage--locked:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0) 60%);
}

.hwfp-btn {
	display: inline-block;
	padding: 14px 28px;
	border: 2px solid #111;
	border-radius: 4px;
	background: #111;
	color: #fff;
	font: inherit;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: opacity .15s;
}

.hwfp-btn:hover,
.hwfp-btn:focus-visible { opacity: .82; }

.hwfp-btn--play {
	border-color: #fff;
	background: #fff;
	color: #111;
	font-size: 19px;
}

.hwfp-btn--ghost {
	background: transparent;
	color: inherit;
	border-color: currentColor;
	padding: 9px 18px;
	font-size: 15px;
}

.hwfp-description { margin: 28px 0 0; }

.hwfp-buy {
	margin: 28px 0 0;
	padding: 24px;
	border: 1px solid rgba(128, 128, 128, .35);
	border-radius: 6px;
}

.hwfp-terms {
	margin: 0 0 16px;
	padding: 0 0 0 1.1em;
	list-style: disc;
	font-weight: 600;
	line-height: 1.6;
}

.hwfp-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.hwfp-btn--outline {
	background: transparent;
	color: inherit;
	border-color: currentColor;
}

.hwfp-subtitle { margin: 32px 0 10px; font-size: 22px; }

.hwfp-episodes {
	margin: 0;
	padding: 0 0 0 1.4em;
	list-style: decimal;
	line-height: 2;
}

.hwfp-badge {
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 10px;
	background: rgba(46, 139, 87, .15);
	color: #2e8b57;
	font-size: 12px;
	font-weight: 600;
}

.hwfp-season-hint { margin: 16px 0 0; padding: 0; font-weight: 600; }

.hwfp-consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.5;
	cursor: pointer;
}

.hwfp-consent input { margin-top: 4px; flex: none; }

.hwfp-small,
.hwfp-meta,
.hwfp-lang {
	margin: 12px 0 0;
	padding: 0;
	font-size: 14px;
	opacity: .75;
}

.hwfp-notice {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-left: 4px solid #b58900;
	background: rgba(181, 137, 0, .12);
}

.hwfp-notice--thanks { border-color: #2e8b57; background: rgba(46, 139, 87, .12); }
.hwfp-notice--invalid,
.hwfp-notice--error { border-color: #c0392b; background: rgba(192, 57, 43, .1); }

.hwfp-resend { margin: 22px 0 0; font-size: 15px; }
.hwfp-resend summary { cursor: pointer; }

.hwfp-resend form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.hwfp-resend input[type="email"] {
	flex: 1 1 240px;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid rgba(128, 128, 128, .5);
	border-radius: 4px;
	font: inherit;
	font-size: 16px;
	background: #fff;
	color: #111;
}

.hwfp-lang { text-align: right; }
