/* ==========================================================================
 * Archive Events — Hero + Grid Layout
 * ========================================================================== */

/* Hero
 * ----------------------------------------------- */
.sffilm-archive-events__hero {
	background-color: #000;
	color: #fff;
	padding: 80px 0 60px;
}

.sffilm-archive-events__hero-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.sffilm-archive-events__breadcrumb {
	display: block;
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-1, #5251F7);
	text-decoration: none;
	margin-bottom: 16px;
}

.sffilm-archive-events__breadcrumb:hover {
	text-decoration: underline;
}

.sffilm-archive-events__title {
	font-family: var(--wp--preset--font-family--instrument-sans, 'Instrument Sans', sans-serif);
	font-weight: 700;
	font-size: clamp(32px, 5vw, 48px);
	line-height: 1.1;
	text-transform: uppercase;
	margin: 0 0 16px;
	color: #fff;
}

.sffilm-archive-events__description {
	font-family: var(--wp--preset--font-family--instrument-sans, 'Instrument Sans', sans-serif);
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.7);
	max-width: 680px;
	margin: 0;
}

/* Content Area
 * ----------------------------------------------- */
.sffilm-archive-events__content {
	padding: 60px 0 80px;
}

.sffilm-archive-events__content-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.sffilm-archive-events__section-heading {
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.5);
	margin: 0 0 32px;
	font-weight: 400;
}

/* Card Grid
 * ----------------------------------------------- */
.sffilm-archive-events__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px 24px;
}

/* Responsive */
@media (max-width: 960px) {
	.sffilm-archive-events__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.sffilm-archive-events__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.sffilm-archive-events__hero {
		padding: 60px 0 40px;
	}
}

/* No Results
 * ----------------------------------------------- */
.sffilm-archive-events__no-results {
	font-family: var(--wp--preset--font-family--instrument-sans, 'Instrument Sans', sans-serif);
	font-size: 16px;
	color: rgba(0, 0, 0, 0.5);
	text-align: center;
	padding: 60px 0;
}

/* Card overrides for grid context (cards reuse .sffilm-event-carousel__card styles)
 * The carousel block styles handle the card internals. These overrides
 * ensure cards fill the grid cell properly instead of carousel sizing. */
.sffilm-archive-events__grid .sffilm-event-carousel__card {
	width: 100%;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-image {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #222;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-link:hover .sffilm-event-carousel__card-image img,
.sffilm-archive-events__grid .sffilm-event-carousel__card-link:focus .sffilm-event-carousel__card-image img {
	transform: scale(1.1);
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-link:hover .sffilm-event-carousel__card-image,
.sffilm-archive-events__grid .sffilm-event-carousel__card-link:focus .sffilm-event-carousel__card-image {
	box-shadow: 0 0 4px 4px var(--wp--preset--color--accent-1, #5251F7);
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-placeholder {
	width: 100%;
	height: 100%;
	background: #333;
}

/* Date badge */
.sffilm-archive-events__grid .sffilm-event-carousel__date-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 80px;
	height: 80px;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.sffilm-archive-events__grid .sffilm-event-carousel__date-day {
	font-family: var(--wp--preset--font-family--instrument-sans, 'Instrument Sans', sans-serif);
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.sffilm-archive-events__grid .sffilm-event-carousel__date-month {
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 16px;
	text-transform: uppercase;
	color: #000;
}

/* Status chip (sold out / at capacity) */
.sffilm-archive-events__grid .sffilm-event-carousel__status-chip {
	position: absolute;
	top: 12px;
	right: 12px;
	background: #e53e3e;
	color: #fff;
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 6px 10px;
	z-index: 1;
}

/* Chamfer */
.sffilm-archive-events__grid .sffilm-event-carousel__card-chamfer {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 40px;
	height: 40px;
	background: #fff;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* Card info */
.sffilm-archive-events__grid .sffilm-event-carousel__card-info {
	padding-top: 16px;
	flex: 1;
}

.sffilm-archive-events__grid .sffilm-event-carousel__title-row {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-title {
	font-family: var(--wp--preset--font-family--instrument-sans, 'Instrument Sans', sans-serif);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-link:hover .sffilm-event-carousel__card-title,
.sffilm-archive-events__grid .sffilm-event-carousel__card-link:focus .sffilm-event-carousel__card-title {
	color: var(--wp--preset--color--accent-1, #5251F7);
}

.sffilm-archive-events__grid .sffilm-event-carousel__title-arrow {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	overflow: hidden;
}

.sffilm-archive-events__grid .sffilm-event-carousel__title-arrow svg {
	transform: translate(-100%, 100%);
	transition: transform 0.3s ease;
}

.sffilm-archive-events__grid .sffilm-event-carousel__card-link:hover .sffilm-event-carousel__title-arrow svg,
.sffilm-archive-events__grid .sffilm-event-carousel__card-link:focus .sffilm-event-carousel__title-arrow svg {
	transform: translate(0, 0);
}

/* Venue */
.sffilm-archive-events__grid .sffilm-event-carousel__venue {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: rgba(0, 0, 0, 0.7);
}

.sffilm-archive-events__grid .sffilm-event-carousel__venue svg {
	flex-shrink: 0;
	color: var(--wp--preset--color--accent-1, #5251F7);
}

.sffilm-archive-events__grid .sffilm-event-carousel__venue span {
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 14px;
	text-transform: uppercase;
}

/* Chips */
.sffilm-archive-events__grid .sffilm-event-carousel__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}

.sffilm-archive-events__grid .sffilm-event-carousel__chip {
	font-family: var(--wp--preset--font-family--fragment-mono, 'Fragment Mono', monospace);
	font-size: 12px;
	text-transform: uppercase;
	background: var(--wp--preset--color--accent-1, #5251F7);
	color: #fff;
	padding: 4px 10px;
}
