/*
Theme Name: Create it yourself
Author: Create it yourself
Description: A Classic PHP WordPress theme inspired by the Poolix reference, built with dynamic posts, Customizer-controlled styling, and prefixed theme output.
Version: 1.0.0
Text Domain: nycfoodfilmfestival-theme
*/

:root {
	--nycfoodfilmfestival-container: 82rem;
	--nycfoodfilmfestival-narrow: 54rem;
	--nycfoodfilmfestival-radius: 8px;
	--nycfoodfilmfestival-pill: 999px;
	--nycfoodfilmfestival-space-xs: 0.5rem;
	--nycfoodfilmfestival-space-sm: 0.75rem;
	--nycfoodfilmfestival-space-md: 1rem;
	--nycfoodfilmfestival-space-lg: 1.5rem;
	--nycfoodfilmfestival-space-xl: 2.25rem;
	--nycfoodfilmfestival-space-xxl: 4rem;
}

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

html {
	scroll-behavior: smooth;
}

body.nycfoodfilmfestival-body {
	margin: 0;
	min-height: 100vh;
	background: var(--nycfoodfilmfestival-background);
	color: var(--nycfoodfilmfestival-text);
	font-family: var(--nycfoodfilmfestival-font-family);
	font-size: var(--nycfoodfilmfestival-body-size);
	line-height: 1.65;
	letter-spacing: 0;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

a {
	color: inherit;
	text-decoration: none;
}

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

button,
input,
select,
textarea {
	font: inherit;
}

.nycfoodfilmfestival-page {
	min-height: 100vh;
	overflow-x: clip;
}

.nycfoodfilmfestival-wrap {
	width: min(100% - 2rem, var(--nycfoodfilmfestival-container));
	margin-inline: auto;
}

.nycfoodfilmfestival-site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	padding-block: var(--nycfoodfilmfestival-space-md);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 92%, transparent);
	backdrop-filter: blur(18px);
}

.nycfoodfilmfestival-header-shell {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-sm);
	align-items: center;
	padding: var(--nycfoodfilmfestival-space-sm);
	border: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-primary) 10%, transparent);
	border-radius: var(--nycfoodfilmfestival-pill);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 88%, var(--nycfoodfilmfestival-accent) 12%);
	box-shadow: 0 1.25rem 4rem color-mix(in srgb, var(--nycfoodfilmfestival-primary) 10%, transparent);
}

.nycfoodfilmfestival-brand-link {
	display: inline-flex;
	align-items: center;
	gap: var(--nycfoodfilmfestival-space-sm);
	min-height: 2.75rem;
	padding-inline: var(--nycfoodfilmfestival-space-md);
	border-radius: var(--nycfoodfilmfestival-pill);
	color: var(--nycfoodfilmfestival-primary);
	font-weight: 800;
	line-height: 1.1;
}

.nycfoodfilmfestival-logo {
	width: auto;
	max-width: 11rem;
	max-height: 2.75rem;
	object-fit: contain;
}

.nycfoodfilmfestival-brand-text {
	display: inline-block;
	max-width: 16rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nycfoodfilmfestival-navigation {
	min-width: 0;
}

.nycfoodfilmfestival-nav-list,
.nycfoodfilmfestival-footer-nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nycfoodfilmfestival-space-xs);
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nycfoodfilmfestival-nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	padding-inline: var(--nycfoodfilmfestival-space-md);
	border-radius: var(--nycfoodfilmfestival-pill);
	color: var(--nycfoodfilmfestival-primary);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.nycfoodfilmfestival-nav-link:hover,
.nycfoodfilmfestival-nav-link:focus-visible,
.nycfoodfilmfestival-nav-item-current > .nycfoodfilmfestival-nav-link {
	background: var(--nycfoodfilmfestival-primary);
	color: var(--nycfoodfilmfestival-background);
	outline: 0;
	transform: translateY(-1px);
}

.nycfoodfilmfestival-sub-menu {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-xs);
	margin: var(--nycfoodfilmfestival-space-xs) 0 0;
	padding: var(--nycfoodfilmfestival-space-xs);
	border-radius: var(--nycfoodfilmfestival-radius);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 94%, var(--nycfoodfilmfestival-primary) 6%);
	list-style: none;
}

.nycfoodfilmfestival-main {
	padding-block: var(--nycfoodfilmfestival-space-lg) var(--nycfoodfilmfestival-space-xxl);
}

.nycfoodfilmfestival-hero {
	padding-block: var(--nycfoodfilmfestival-space-md) var(--nycfoodfilmfestival-space-xl);
}

.nycfoodfilmfestival-hero-frame {
	position: relative;
	min-height: calc(var(--nycfoodfilmfestival-hero-height) * 0.62);
	overflow: hidden;
	border-radius: 1.75rem;
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--nycfoodfilmfestival-accent) 35%, var(--nycfoodfilmfestival-background) 65%),
		color-mix(in srgb, var(--nycfoodfilmfestival-primary) 12%, var(--nycfoodfilmfestival-background) 88%)
	);
	box-shadow: 0 2rem 5rem color-mix(in srgb, var(--nycfoodfilmfestival-primary) 14%, transparent);
}

.nycfoodfilmfestival-hero-link,
.nycfoodfilmfestival-hero-image {
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.nycfoodfilmfestival-hero-image {
	object-fit: cover;
}

.nycfoodfilmfestival-category-strip {
	display: flex;
	gap: var(--nycfoodfilmfestival-space-sm);
	align-items: center;
	margin-block: 0 var(--nycfoodfilmfestival-space-xl);
	padding: var(--nycfoodfilmfestival-space-sm);
	overflow-x: auto;
	border: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-primary) 10%, transparent);
	border-radius: var(--nycfoodfilmfestival-pill);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 90%, var(--nycfoodfilmfestival-accent) 10%);
	scrollbar-width: thin;
}

.nycfoodfilmfestival-category-link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	min-height: 2.375rem;
	padding-inline: var(--nycfoodfilmfestival-space-md);
	border: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-primary) 12%, transparent);
	border-radius: var(--nycfoodfilmfestival-pill);
	color: var(--nycfoodfilmfestival-primary);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1;
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 85%, transparent);
}

.nycfoodfilmfestival-category-link:hover,
.nycfoodfilmfestival-category-link:focus-visible {
	background: var(--nycfoodfilmfestival-accent);
	outline: 0;
}

.nycfoodfilmfestival-layout {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-xl);
	align-items: start;
}

.nycfoodfilmfestival-layout-full .nycfoodfilmfestival-posts-section,
.nycfoodfilmfestival-layout-full .nycfoodfilmfestival-single-article {
	width: min(100%, var(--nycfoodfilmfestival-container));
}

.nycfoodfilmfestival-posts-grid {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-lg);
}

.nycfoodfilmfestival-post-card {
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-primary) 10%, transparent);
	border-radius: var(--nycfoodfilmfestival-radius);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 92%, var(--nycfoodfilmfestival-accent) 8%);
	box-shadow: 0 1.25rem 3.5rem color-mix(in srgb, var(--nycfoodfilmfestival-primary) 8%, transparent);
}

.nycfoodfilmfestival-post-media-link {
	display: block;
	overflow: hidden;
	background: color-mix(in srgb, var(--nycfoodfilmfestival-accent) 25%, var(--nycfoodfilmfestival-background) 75%);
}

.nycfoodfilmfestival-post-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 240ms ease;
}

.nycfoodfilmfestival-post-card:hover .nycfoodfilmfestival-post-image {
	transform: scale(1.035);
}

.nycfoodfilmfestival-post-body {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-sm);
	padding: var(--nycfoodfilmfestival-space-lg);
}

.nycfoodfilmfestival-post-meta,
.nycfoodfilmfestival-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nycfoodfilmfestival-space-xs);
	align-items: center;
	color: color-mix(in srgb, var(--nycfoodfilmfestival-text) 68%, transparent);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
}

.nycfoodfilmfestival-post-category,
.nycfoodfilmfestival-single-category {
	display: inline-flex;
	align-items: center;
	min-height: 1.875rem;
	padding-inline: var(--nycfoodfilmfestival-space-sm);
	border-radius: var(--nycfoodfilmfestival-pill);
	background: var(--nycfoodfilmfestival-accent);
	color: var(--nycfoodfilmfestival-primary);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1;
}

.nycfoodfilmfestival-post-title {
	margin: 0;
	color: var(--nycfoodfilmfestival-primary);
	font-size: 1.35rem;
	line-height: 1.15;
	letter-spacing: 0;
}

.nycfoodfilmfestival-post-title-link:hover,
.nycfoodfilmfestival-post-title-link:focus-visible {
	color: color-mix(in srgb, var(--nycfoodfilmfestival-primary) 70%, var(--nycfoodfilmfestival-accent) 30%);
	outline: 0;
}

.nycfoodfilmfestival-post-excerpt {
	margin: 0;
	color: var(--nycfoodfilmfestival-text);
}

.nycfoodfilmfestival-sidebar {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-md);
	align-content: start;
}

.nycfoodfilmfestival-widget,
.nycfoodfilmfestival-sidebar-panel {
	padding: var(--nycfoodfilmfestival-space-lg);
	border: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-primary) 10%, transparent);
	border-radius: var(--nycfoodfilmfestival-radius);
	background: color-mix(in srgb, var(--nycfoodfilmfestival-background) 90%, var(--nycfoodfilmfestival-accent) 10%);
}

.nycfoodfilmfestival-widget-title {
	margin: 0 0 var(--nycfoodfilmfestival-space-md);
	color: var(--nycfoodfilmfestival-primary);
	font-size: 1rem;
	line-height: 1.2;
}

.nycfoodfilmfestival-sidebar-list {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.nycfoodfilmfestival-sidebar-link {
	display: inline-flex;
	color: var(--nycfoodfilmfestival-primary);
	font-weight: 800;
	line-height: 1.35;
}

.nycfoodfilmfestival-sidebar-link:hover,
.nycfoodfilmfestival-sidebar-link:focus-visible {
	color: color-mix(in srgb, var(--nycfoodfilmfestival-primary) 68%, var(--nycfoodfilmfestival-accent) 32%);
	outline: 0;
}

.nycfoodfilmfestival-sidebar-date {
	display: block;
	color: color-mix(in srgb, var(--nycfoodfilmfestival-text) 68%, transparent);
	font-size: 0.85rem;
	font-weight: 700;
}

.nycfoodfilmfestival-single-article {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-xl);
}

.nycfoodfilmfestival-single-header {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-md);
	max-width: var(--nycfoodfilmfestival-narrow);
}

.nycfoodfilmfestival-single-title {
	margin: 0;
	color: var(--nycfoodfilmfestival-primary);
	font-size: calc(var(--nycfoodfilmfestival-heading-size) * 0.72);
	line-height: 1.04;
	letter-spacing: 0;
}

.nycfoodfilmfestival-entry-content {
	max-width: var(--nycfoodfilmfestival-narrow);
	color: var(--nycfoodfilmfestival-text);
	font-size: 1.05rem;
}

.nycfoodfilmfestival-entry-content > *:first-child {
	margin-top: 0;
}

.nycfoodfilmfestival-entry-content > *:last-child {
	margin-bottom: 0;
}

.nycfoodfilmfestival-entry-content a {
	color: var(--nycfoodfilmfestival-primary);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: var(--nycfoodfilmfestival-accent);
	text-decoration-thickness: 0.16em;
	text-underline-offset: 0.16em;
}

.nycfoodfilmfestival-entry-content h1,
.nycfoodfilmfestival-entry-content h2,
.nycfoodfilmfestival-entry-content h3,
.nycfoodfilmfestival-entry-content h4,
.nycfoodfilmfestival-entry-content h5,
.nycfoodfilmfestival-entry-content h6 {
	color: var(--nycfoodfilmfestival-primary);
	line-height: 1.12;
	letter-spacing: 0;
}

.nycfoodfilmfestival-entry-content figure {
	margin-inline: 0;
}

.nycfoodfilmfestival-entry-content img {
	border-radius: var(--nycfoodfilmfestival-radius);
}

.nycfoodfilmfestival-site-footer {
	margin-top: var(--nycfoodfilmfestival-space-xxl);
	padding-block: var(--nycfoodfilmfestival-space-xl);
	background: var(--nycfoodfilmfestival-primary);
	color: var(--nycfoodfilmfestival-background);
}

.nycfoodfilmfestival-footer-grid {
	display: grid;
	gap: var(--nycfoodfilmfestival-space-lg);
	align-items: center;
}

.nycfoodfilmfestival-footer-brand-link {
	display: inline-flex;
	align-items: center;
	color: var(--nycfoodfilmfestival-background);
	font-weight: 900;
	line-height: 1.1;
}

.nycfoodfilmfestival-footer-logo {
	width: auto;
	max-width: 10rem;
	max-height: 2.5rem;
	object-fit: contain;
}

.nycfoodfilmfestival-footer-nav-link {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	color: color-mix(in srgb, var(--nycfoodfilmfestival-background) 82%, transparent);
	font-size: 0.95rem;
	font-weight: 800;
}

.nycfoodfilmfestival-footer-nav-link:hover,
.nycfoodfilmfestival-footer-nav-link:focus-visible,
.nycfoodfilmfestival-footer-nav-item-current > .nycfoodfilmfestival-footer-nav-link {
	color: var(--nycfoodfilmfestival-accent);
	outline: 0;
}

.nycfoodfilmfestival-footer-bottom {
	margin-top: var(--nycfoodfilmfestival-space-lg);
	padding-top: var(--nycfoodfilmfestival-space-lg);
	border-top: 1px solid color-mix(in srgb, var(--nycfoodfilmfestival-background) 18%, transparent);
}

.nycfoodfilmfestival-footer-text {
	margin: 0;
	color: color-mix(in srgb, var(--nycfoodfilmfestival-background) 78%, transparent);
	font-size: 0.95rem;
}

@media (min-width: 44rem) {
	.nycfoodfilmfestival-header-shell {
		grid-template-columns: auto 1fr;
	}

	.nycfoodfilmfestival-nav-list {
		justify-content: flex-end;
	}

	.nycfoodfilmfestival-posts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nycfoodfilmfestival-footer-grid {
		grid-template-columns: auto 1fr;
	}

	.nycfoodfilmfestival-footer-nav-list {
		justify-content: flex-end;
	}
}

@media (min-width: 62rem) {
	.nycfoodfilmfestival-main {
		padding-top: var(--nycfoodfilmfestival-space-xl);
	}

	.nycfoodfilmfestival-hero-frame {
		min-height: var(--nycfoodfilmfestival-hero-height);
	}

	.nycfoodfilmfestival-layout-has-sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
	}

	.nycfoodfilmfestival-posts-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.nycfoodfilmfestival-single-title {
		font-size: var(--nycfoodfilmfestival-heading-size);
	}
}
