body.post-type-archive-film #content > .ast-container,
body.post-type-archive-film .site-content > .ast-container {
	max-width: none;
	padding: 0;
	display: block;
}

.iff38-films-page {
	--iff-navy: #071a3d;
	--iff-blue: #032a5e;
	--iff-coral: #F04B47;
	--iff-orange: #EB651B;
	--iff-text: #071a3d;
	--iff-muted: #5d6577;
	--iff-line: #b9c0cc;
	--iff-margin: clamp(24px,4.2vw,80px);
	--iff-head-h: 76px;

	background: #fff;
	color: var(--iff-text);
	font-family: 'Jost','Heebo',sans-serif;
	font-size: 17px;
	line-height: 1.55;
	overflow-x: clip;
}

.iff38-films-page *,
.iff38-films-page *::before,
.iff38-films-page *::after {
	box-sizing: border-box;
}

.iff38-films-page a {
	text-decoration: none;
}

.iff38-films-mono {
	font-family: 'JetBrains Mono',monospace;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .16em;
	color: #c9d1df;
}

.iff38-films-gradient-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: 30px;
	background: linear-gradient(90deg,var(--iff-coral) 0%,var(--iff-orange) 50%,var(--iff-orange) 100%) 0 0 / 200% 100%;
	color: #fff !important;
	font-family: 'Jost','Heebo',sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	white-space: nowrap;
	transition: background-position .9s ease,color .3s ease;
}

.iff38-films-gradient-btn:hover {
	background-position: 100% 0;
	color: #020611 !important;
}

/* Sticky page header */

.iff38-films-head {
	position: sticky;
	top: var(--iff-head-h);
	z-index: 20;
	background: var(--iff-navy);
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.12);
}

.iff38-films-head__inner {
	padding: 56px var(--iff-margin) 24px;
	transition: padding .5s cubic-bezier(.4,0,.2,1);
}

.iff38-films-head__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}

.iff38-films-head__title {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.iff38-films-head h1 {
	margin: 0;
	font-family: 'Poppins','Heebo',sans-serif;
	font-size: clamp(46px,4.6vw,82px);
	font-weight: 800;
	line-height: .95;
	color: #fff;
	transition: font-size .5s cubic-bezier(.4,0,.2,1);
	text-transform: uppercase;
}

.iff38-films-head__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	color: #c9d1df;
	font-size: 18px;
	font-weight: 600;
	transition: opacity .3s,max-height .5s;
}

.iff38-films-head__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

#iff38-films-page .iff38-films-search input {
	width: 260px;
	height: 44px;
	padding: 0 20px;
	border: 1px solid rgba(255,255,255,.35);
	border-radius: 30px;
	background: rgba(255,255,255,.08);
	color: #fff;
	font: inherit;
	font-size: 17px;
	outline: none;
}

#iff38-films-page .iff38-films-search input::placeholder {
	color: rgba(255,255,255,.65);
}

#iff38-films-page .iff38-films-search input:focus {
	border-color: #fff;
}

#iff38-films-page .iff38-films-outline-btn {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	padding: 0 22px;
	border: 1px solid #fff;
	border-radius: 30px;
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	transition: background .3s,color .3s;
}

#iff38-films-page .iff38-films-outline-btn:hover {
	background: #fff;
	color: var(--iff-navy) !important;
}

.iff38-films-head.is-compact .iff38-films-head__inner {
	padding-top: 14px;
	padding-bottom: 14px;
}

.iff38-films-head.is-compact h1 {
	font-size: 34px;
}

.iff38-films-head.is-compact .iff38-films-head__meta {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	display: none;
}

#iff38-films-page .iff38-films-head.is-compact .iff38-films-search input,
#iff38-films-page .iff38-films-head.is-compact .iff38-films-outline-btn,
#iff38-films-page .iff38-films-head.is-compact .iff38-films-gradient-btn {
	height: 38px;
	min-height: 38px;
}

/* Categories + groups */

.iff38-films-grid {
	position: relative;
	background: #fff;
}

.iff38-films-grid__inner {
	padding: 40px var(--iff-margin) 96px;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.iff38-film-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.iff38-film-categories button {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 18px !important;
	border: 1px solid var(--iff-line);
	border-radius: 30px;
	background: transparent;
	color: var(--iff-navy);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: all .3s;
}

.iff38-film-categories button span {
	opacity: .6;
}

.iff38-film-categories button:hover,
.iff38-film-categories button.is-active {
	border-color: var(--iff-navy);
	background: var(--iff-navy);
	color: #fff;
}

.iff38-film-groups {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.iff38-film-group {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.iff38-film-group[hidden] {
	display: none !important;
}

.iff38-film-group__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
}

.iff38-film-group__head > span {
	color: var(--iff-muted);
	font-size: 17px;
	font-weight: 600;
}

.iff38-film-row {
	display: flex;
	gap: 20px;
	width: 100%;
	min-height: 520px;
	align-items: stretch;
}

/* Film card CSS moved to assets/films/css/film-slider.css */

/* Empty search */

.iff38-films-empty {
	padding: 64px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.iff38-films-empty[hidden] {
	display: none !important;
}

.iff38-films-empty strong {
	font-family: 'Poppins','Heebo',sans-serif;
	font-size: 30px;
	font-weight: 800;
}

.iff38-films-empty button {
	padding: 0;
	border: 0;
	background: none;
	color: var(--iff-coral);
	font: inherit;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	cursor: pointer;
}

/* Pass CTA */

.iff38-films-cta {
	padding: 24px var(--iff-margin) 96px;
	background: #fff;
	color: #fff;
}

.iff38-films-cta__inner {
	padding: 64px 56px;
	display: grid;
	grid-template-columns: repeat(12,minmax(0,1fr));
	column-gap: 24px;
	row-gap: 28px;
	align-items: center;
	border-radius: 5px;
	background: linear-gradient(120deg,var(--iff-blue) 0%,var(--iff-navy) 70%);
	box-shadow: 0 24px 48px rgba(7,26,61,.18);
}

.iff38-films-cta__copy {
	grid-column: 1 / 8;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.iff38-films-cta__copy h2 {
	margin: 0;
	font-family: 'Poppins','Heebo',sans-serif;
	font-size: clamp(42px,3.4vw,66px);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.iff38-films-cta__copy h2 span {
	background: linear-gradient(90deg,var(--iff-coral),var(--iff-orange));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.iff38-films-cta__copy p {
	max-width: 46ch;
	margin: 0;
	color: #c9d1df;
	font-size: 20px;
	line-height: 1.55;
}

.iff38-films-cta__buttons {
	grid-column: 9 / 13;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 16px;
}

.iff38-films-gradient-btn--large,
.iff38-films-cta__outline {
	min-height: 52px;
	padding: 0 28px;
}

.iff38-films-cta__outline {
	display: inline-flex;
	align-items: center;
	border: 1px solid #fff;
	border-radius: 30px;
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .06em;
	white-space: nowrap;
	transition: background .3s,color .3s;
}

.iff38-films-cta__outline:hover {
	background: #fff;
	color: var(--iff-navy) !important;
}

/* Tablet */

@media (max-width: 1199px) and (min-width: 768px) {
	.iff38-films-head__row {
		align-items: flex-start;
	}

	.iff38-film-row {
		min-height: 480px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.iff38-film-row::-webkit-scrollbar {
		display: none;
	}

	.iff38-film-card,
	.iff38-film-card:hover,
	.iff38-film-card.is-active {
		flex: 0 0 42%;
		min-width: 330px;
		scroll-snap-align: start;
	}

	.iff38-films-cta__copy {
		grid-column: 1 / 8;
	}

	.iff38-films-cta__buttons {
		grid-column: 8 / 13;
	}
}

/* Mobile */

@media (max-width: 767px) {
	.iff38-films-page {
		--iff-head-h: 66px;
		--iff-margin: 20px;
	}

	.iff38-films-head {
		top: var(--iff-head-h);
	}

	.iff38-films-head__inner {
		padding: 28px 20px 20px;
	}

	.iff38-films-head__row {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
	}

	.iff38-films-head h1 {
		font-size: 42px;
	}

	.iff38-films-head__meta {
		font-size: 15px;
	}

	.iff38-films-head__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.iff38-films-search {
		grid-column: 1 / 3;
	}

	.iff38-films-search input {
		width: 100%;
	}

	.iff38-films-outline-btn,
	.iff38-films-head__actions > .iff38-films-gradient-btn {
		justify-content: center;
	}

	.iff38-films-head.is-compact .iff38-films-head__inner {
		padding: 10px 20px 12px;
	}

	.iff38-films-head.is-compact h1 {
		font-size: 27px;
	}

	.iff38-films-head.is-compact .iff38-films-head__actions {
		display: none;
	}

	.iff38-films-grid__inner {
		padding: 28px 20px 64px;
		gap: 40px;
	}

	.iff38-film-categories {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-inline: -20px;
		padding-inline: 20px;
		scrollbar-width: none;
	}

	.iff38-film-categories::-webkit-scrollbar {
		display: none;
	}

	.iff38-film-categories button {
		flex: none;
	}

	.iff38-film-groups {
		gap: 50px;
	}

	.iff38-film-group {
		gap: 22px;
	}

	.iff38-film-group__head h2 {
		font-size: 34px;
	}

	.iff38-film-group__head > span {
		font-size: 14px;
	}

	.iff38-film-row {
		min-height: 455px;
		overflow-x: auto;
		margin-inline: -20px;
		padding-inline: 20px;
		gap: 14px;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.iff38-film-row::-webkit-scrollbar {
		display: none;
	}

	.iff38-film-card,
	.iff38-film-card:hover,
	.iff38-film-card.is-active {
		flex: 0 0 82%;
		min-width: 0;
		min-height: 455px;
		scroll-snap-align: start;
	}

	.iff38-film-card__play {
		display: flex;
	}

	.iff38-film-card__synopsis {
		max-height: 0;
	}

	.iff38-film-card.is-active .iff38-film-card__synopsis {
		max-height: 220px;
	}

	.iff38-film-card__ribbon {
		top: 18px;
		left: -92px;
	}

	.iff38-film-card__body {
		padding: 18px;
	}

	.iff38-films-cta {
		padding: 0 20px 72px;
	}

	.iff38-films-cta__inner {
		padding: 38px 24px;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
	}

	.iff38-films-cta__copy h2 {
		font-size: 36px;
	}

	.iff38-films-cta__copy p {
		font-size: 17px;
	}

	.iff38-films-cta__buttons {
		display: flex;
		justify-content: flex-start;
	}

	.iff38-films-cta__buttons a {
		flex: 1;
		justify-content: center;
		padding-inline: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iff38-films-page *,
	.iff38-films-page *::before,
	.iff38-films-page *::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

/* Shared carousel behavior and section hover moved to film-slider.css */
