/* Animal Flow Events — full-width modern archive + single.
   Brand: Oswald uppercase headings, Lato body, event red #a00303, ink #141827.
   The theme's site-header is transparent + absolutely positioned site-wide, so every af view
   opens with a dark band/hero that gives the nav something readable to float over. */

:root {
	--af-red: #a00303;
	--af-red-dark: #7c0202;
	--af-ink: #141827;
	--af-ink-2: #0d0f16;
	--af-muted: #575760;
	--af-line: #e4e6ea;
	--af-card: #ffffff;
	--af-radius: 14px;
}

/* Full-width canvas: flatten any theme container padding on af views. */
.af-view .site-content { padding: 0; margin: 0; max-width: none; display: block; } /* GP makes this flex; our hero + shell must stack */
.af-view #page.grid-container { max-width: none; } /* GP caps the page at 1400px; af views own their widths */

.af-shell--wide {
	/* Match the site header's inner container (1400px + 20px gutters) so content and hero
	   text line up with the logo on the x-axis. */
	box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto;
	padding: 44px 20px 80px;
}

.af-layout {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

/* =============================== archive header band =============================== */
.af-band {
	background:
		radial-gradient(1100px 400px at 85% -60%, rgba(160, 3, 3, .45), transparent 60%),
		linear-gradient(160deg, #10131e 0%, var(--af-ink-2) 55%, #16101a 100%);
	color: #fff;
	padding: 168px 0 56px; /* clears the floating nav */
}
.af-band__inner { box-sizing: border-box; max-width: 1400px; margin: 0 auto; padding: 0 20px; }
.af-band__kicker {
	margin: 0 0 6px;
	font-family: Oswald, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}
.af-band__title {
	margin: 0;
	color: #fff;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1.02;
}
.af-band__count { margin: 10px 0 0; color: rgba(255, 255, 255, .65); font-size: 15px; }
.af-band .af-pills { margin-top: 18px; }

.af-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.af-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	color: #fff;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 999px;
	text-decoration: none;
	transition: background .15s ease, border-color .15s ease;
}
.af-pill:hover { background: var(--af-red); border-color: var(--af-red); color: #fff; }
.af-pill span[aria-hidden] { font-size: 14px; line-height: 1; }

/* =============================== single hero =============================== */
.af-hero {
	position: relative;
	color: #fff;
	padding: 190px 0 64px;
	background-color: var(--af-ink-2);
	background-image: var(--af-hero-img);
	background-size: cover;
	background-position: center 30%;
}
.af-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(8, 9, 14, .88) 0%, rgba(8, 9, 14, .45) 34%, rgba(8, 9, 14, .55) 70%, rgba(8, 9, 14, .92) 100%),
		linear-gradient(90deg, rgba(8, 9, 14, .72) 0%, rgba(8, 9, 14, .25) 60%, rgba(8, 9, 14, .1) 100%);
}
.af-hero--plain { background-image: linear-gradient(160deg, #10131e, #16101a); }
.af-hero__inner { position: relative; box-sizing: border-box; max-width: 1400px; margin: 0 auto; padding: 0 20px; }

.af-hero .af-back { margin: 0 0 22px; }
.af-hero .af-back a {
	color: rgba(255, 255, 255, .75);
	text-decoration: none;
	font-family: Oswald, sans-serif;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.af-hero .af-back a:hover { color: #fff; }

.af-hero__chip {
	display: inline-block;
	background: var(--af-red);
	color: #fff;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 5px 13px;
	border-radius: 5px;
	margin-bottom: 16px;
}
.af-hero__title {
	margin: 0 0 20px;
	color: #fff;
	font-size: clamp(34px, 4.2vw, 58px);
	line-height: 1.05;
	max-width: 20ch;
	text-wrap: balance;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .45);
}
.af-hero__meta {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	font-family: Oswald, sans-serif;
	font-size: 16px;
	letter-spacing: .04em;
}
.af-hero__meta-item { display: inline-flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, .92); }
.af-hero__meta-item::before {
	content: "";
	width: 15px;
	height: 15px;
	flex: none;
	background: var(--af-red);
	-webkit-mask: var(--af-icon) center / contain no-repeat;
	mask: var(--af-icon) center / contain no-repeat;
}
.af-hero__meta-item--date  { --af-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M152 24V64H296V24a24 24 0 1 1 48 0V64h40a64 64 0 0 1 64 64V448a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V128A64 64 0 0 1 64 64h40V24a24 24 0 1 1 48 0zM48 192V448a16 16 0 0 0 16 16H384a16 16 0 0 0 16-16V192H48z'/%3E%3C/svg%3E"); }
.af-hero__meta-item--where { --af-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192 384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2 12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E"); }
.af-hero__meta-item--cost  { --af-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M64 64C28.7 64 0 92.7 0 128v64c35.3 0 64 28.7 64 64s-28.7 64-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c-35.3 0-64-28.7-64-64s28.7-64 64-64V128c0-35.3-28.7-64-64-64H64z'/%3E%3C/svg%3E"); }

/* Our add-to-calendar: a details dropdown that opens a clean menu. */
.af-cal { position: relative; display: inline-block; }
.af-cal__button {
	list-style: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--af-red);
	color: #fff;
	font-family: Oswald, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 12px 24px;
	border-radius: 9px;
	transition: background .15s ease;
	user-select: none;
}
.af-cal__button::-webkit-details-marker { display: none; }
.af-cal__button::after { content: "\25BE"; font-size: 12px; }
.af-cal:hover .af-cal__button, .af-cal[open] .af-cal__button { background: var(--af-red-dark); }
.af-cal__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 210px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 18px 44px rgba(8, 9, 14, .35);
	padding: 6px;
	z-index: 30;
}
.af-cal__menu a {
	display: block;
	padding: 10px 14px;
	border-radius: 7px;
	color: var(--af-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.af-cal__menu a:hover { background: #f2f3f5; color: var(--af-red); }

/* =============================== ticket module =============================== */
/* Same card language as the filter sidebar: white, hairline border, soft radius. */
.af-tickets {
	background: var(--af-card);
	border: 1px solid var(--af-line);
	border-radius: var(--af-radius);
	padding: 18px 18px 16px;
	margin-bottom: 22px;
	box-shadow: 0 1px 3px rgba(20, 24, 39, .05);
}
.af-tickets__title {
	margin: 0 0 10px;
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
	color: var(--af-ink);
}
.af-tickets__title::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: var(--af-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M64 64C28.7 64 0 92.7 0 128v64c35.3 0 64 28.7 64 64s-28.7 64-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c-35.3 0-64-28.7-64-64s28.7-64 64-64V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M64 64C28.7 64 0 92.7 0 128v64c35.3 0 64 28.7 64 64s-28.7 64-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c-35.3 0-64-28.7-64-64s28.7-64 64-64V128c0-35.3-28.7-64-64-64H64zm64 112l0 160c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.af-tickets .woocommerce-message,
.af-tickets .woocommerce-error,
.af-tickets .woocommerce-info { font-size: 13px; margin: 8px 0 4px; padding: 8px 12px; border-radius: 8px; background: #f2f3f5; color: var(--af-ink); }
.af-tickets .woocommerce-error { background: #fdeaea; color: var(--af-red-dark); }
.af-tickets .woocommerce-message a,
.af-tickets .woocommerce-info a { color: var(--af-red); text-decoration: underline; }

.af-ticket { padding: 14px 0; border-top: 1px solid var(--af-line); }
.af-ticket:first-of-type { border-top: 0; padding-top: 4px; }
.af-ticket__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.af-ticket__name { font-weight: 700; font-size: 14.5px; line-height: 1.35; color: var(--af-ink); }
.af-ticket__price { font-family: Oswald, sans-serif; font-size: 19px; font-weight: 600; color: var(--af-red); white-space: nowrap; }
.af-ticket__price del { opacity: .45; margin-right: 6px; font-size: 14px; }
.af-ticket__note { margin: 5px 0 0; font-size: 12px; color: var(--af-muted); }
.af-ticket__note--low { color: var(--af-red); font-weight: 700; }

.af-ticket__form { display: flex; gap: 10px; margin-top: 11px; }
.af-ticket__form input[type="number"] {
	box-sizing: border-box;
	width: 60px;
	border: 1px solid var(--af-line);
	border-radius: 8px;
	background: #f7f8fa;
	color: var(--af-ink);
	padding: 9px 6px;
	font-size: 14px;
	text-align: center;
}
.af-ticket__form input[type="number"]:focus { border-color: var(--af-ink); background: #fff; outline: none; }
.af-ticket__form .af-btn { flex: 1; padding: 10px 12px; }
.af-ticket--soldout .af-ticket__head, .af-ticket--ended .af-ticket__head { opacity: .55; }

.af-tickets__cart {
	display: inline-block;
	margin-top: 10px;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--af-red);
	text-decoration: none;
}
.af-tickets__cart:hover { text-decoration: underline; }

/* Our module is the purchase path; suppress Event Tickets' in-content form to avoid two buy UIs. */
.af-has-tickets .af-single__content .tribe-tickets__tickets-wrapper,
.af-has-tickets .af-single__content .tribe-common.event-tickets { display: none; }

/* =============================== sidebar =============================== */
.af-sidebar {
	position: sticky;
	top: 104px;
	max-height: calc(100vh - 124px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #c9ccd3 transparent;
	padding-right: 2px;
}
.af-sidebar::-webkit-scrollbar { width: 6px; }
.af-sidebar::-webkit-scrollbar-thumb { background: #c9ccd3; border-radius: 3px; }

.af-filters {
	background: var(--af-card);
	border: 1px solid var(--af-line);
	border-radius: var(--af-radius);
	padding: 16px;
	box-shadow: 0 1px 3px rgba(20, 24, 39, .05);
}

.af-filters__search input {
	width: 100%;
	border: 1px solid var(--af-line);
	border-radius: 9px;
	padding: 10px 13px;
	font-size: 14px;
	background: #f7f8fa;
	transition: border-color .15s ease, background .15s ease;
}
.af-filters__search input:focus { border-color: var(--af-ink); background: #fff; outline: none; }

/* Segmented when-control */
.af-seg {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	background: #f0f1f4;
	border-radius: 9px;
	padding: 3px;
	margin: 12px 0 6px;
}
.af-seg__opt { position: relative; margin: 0; } /* the theme gives labels a bottom margin */
.af-seg__opt input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.af-seg__opt span {
	display: block;
	text-align: center;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--af-muted);
	padding: 7px 4px;
	border-radius: 7px;
	transition: all .15s ease;
}
.af-seg__opt input:checked + span { background: var(--af-ink); color: #fff; box-shadow: 0 2px 6px rgba(20, 24, 39, .25); }

/* Accordion facets */
.af-facet { border-top: 1px solid var(--af-line); }
.af-facet:first-of-type { border-top: 0; }
.af-facet summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px 2px;
	font-family: Oswald, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--af-ink);
	user-select: none;
}
.af-facet summary::-webkit-details-marker { display: none; }
.af-facet summary::after {
	content: "\25BE";
	margin-left: auto;
	font-size: 11px;
	color: var(--af-muted);
	transition: transform .18s ease;
}
.af-facet[open] summary::after { transform: rotate(180deg); }
.af-facet summary i {
	font-style: normal;
	background: var(--af-red);
	color: #fff;
	font-size: 10px;
	line-height: 1;
	padding: 3px 7px;
	border-radius: 999px;
}
.af-facet__body { padding: 0 2px 14px; max-height: 228px; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; }
.af-filters label { margin: 0; }
.af-sidebar { overflow-x: hidden; }

.af-choice {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 4px 0;
	font-size: 13.5px;
	color: var(--af-ink);
	cursor: pointer;
}
.af-choice input { accent-color: var(--af-red); width: 15px; height: 15px; flex: none; margin: 0; }
.af-choice span { flex: 1 1 auto; min-width: 0; }
.af-choice em {
	font-style: normal;
	font-size: 11px;
	color: var(--af-muted);
	background: #f0f1f3;
	border-radius: 999px;
	padding: 1px 7px;
}

.af-filters select {
	/* The theme leaves selects content-box, so width:100% + padding overflows the card and
	   drags in a horizontal scrollbar — pin the sizing model down. */
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	border: 1px solid var(--af-line);
	border-radius: 8px;
	padding: 9px 10px;
	font-size: 13.5px;
	background: #f7f8fa;
	color: var(--af-ink);
}

.af-filters__actions { border-top: 1px solid var(--af-line); padding-top: 14px; margin-top: 2px; text-align: center; }
.af-btn {
	display: inline-block;
	background: var(--af-red);
	color: #fff !important;
	font-family: Oswald, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	padding: 11px 22px;
	border: 0;
	border-radius: 9px;
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease;
}
.af-btn:hover { background: var(--af-red-dark); }
.af-btn--block { display: block; width: 100%; }
.af-filters__reset { display: inline-block; margin-top: 10px; font-size: 12.5px; color: var(--af-muted); text-decoration: underline; }
.af-filters__reset:hover { color: var(--af-red); }

.af-filters-toggle { display: none; }

/* =============================== card grid =============================== */
.af-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(295px, 1fr));
	gap: 28px;
}

.af-card {
	background: var(--af-card);
	border: 1px solid var(--af-line);
	border-radius: var(--af-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.af-card:hover {
	transform: translateY(-5px);
	border-color: transparent;
	box-shadow: 0 18px 40px rgba(20, 24, 39, .14);
}

.af-card__media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--af-ink); } /* match the 1920x1080 event artwork */
.af-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.af-card:hover .af-card__media img { transform: scale(1.05); }
.af-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 9, 14, .18), transparent 45%);
	pointer-events: none;
}
.af-card__media-fallback { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #1c2130, #141827); }

.af-card__date {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: var(--af-red);
	color: #fff;
	font-family: Oswald, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	padding: 5px 11px;
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
}

.af-card__body { padding: 17px 19px 19px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.af-card__chip {
	align-self: flex-start;
	font-family: Oswald, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--af-red);
}
.af-card__title { margin: 0; font-size: 19px; line-height: 1.25; }
.af-card__title a { color: var(--af-ink); text-decoration: none; }
.af-card__title a:hover { color: var(--af-red); }
.af-card__time {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--af-muted);
}
.af-card__time::before {
	content: "";
	width: 12px;
	height: 12px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.af-card__meta {
	margin: auto 0 0;
	padding-top: 9px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	font-size: 13px;
	color: var(--af-muted);
}
.af-card__where::before {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	margin-right: 5px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192 384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2 12.3 15.3 35.1 15.3 47.4 0z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192 384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2 12.3 15.3 35.1 15.3 47.4 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.af-card__cost { font-weight: 700; color: var(--af-ink); white-space: nowrap; }

/* =============================== pagination / empty =============================== */
.af-pagination { margin-top: 44px; text-align: center; }
.af-pagination .page-numbers {
	display: inline-block;
	min-width: 42px;
	padding: 9px 13px;
	margin: 0 3px;
	border: 1px solid var(--af-line);
	border-radius: 9px;
	background: #fff;
	color: var(--af-ink);
	font-family: Oswald, sans-serif;
	font-size: 14px;
	text-decoration: none;
	transition: all .15s ease;
}
.af-pagination .page-numbers.current { background: var(--af-red); border-color: var(--af-red); color: #fff; }
.af-pagination .page-numbers:hover:not(.current) { border-color: var(--af-ink); transform: translateY(-1px); }

.af-empty {
	background: var(--af-card);
	border: 1px dashed var(--af-line);
	border-radius: var(--af-radius);
	padding: 64px 30px;
	text-align: center;
}
.af-empty h2 { margin-top: 0; }
.af-empty p { color: var(--af-muted); margin-bottom: 22px; }

/* =============================== single content =============================== */
.af-single__content { min-width: 0; }
.af-single__content img { max-width: 100%; height: auto; }

/* The hero already presents date, image, calendar and (via the sidebar) similar events —
   suppress the legacy in-content duplicates. :has() removes the whole emptied intro row. */
.af-single__content .tribe-events-schedule,
.af-single__content .tribe-events-c-subscribe-dropdown__container,
.af-single__content .gb-element-aa219220,
.af-single__content .tribe-events-event-image { display: none; }
/* Same suppressions for the af/* replacements: the hero and sidebar already present these. */
.af-single__content .af-block-datetime,
.af-single__content .af-block-links,
.af-single__content .af-block-featured-image,
.af-single__content .af-block-categories { display: none; }
.af-has-tickets .af-single__content .af-block-tickets { display: none; }
.af-single__content > .wp-block-columns:has(.gb-element-aa219220) { display: none; }

.af-adjacent {
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--af-line);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.af-adjacent__link { text-decoration: none; min-width: 0; }
.af-adjacent__link--next { text-align: right; }
.af-adjacent__link span {
	display: block;
	font-family: Oswald, sans-serif;
	font-size: 12px;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--af-muted);
	margin-bottom: 4px;
}
.af-adjacent__link strong { color: var(--af-ink); font-size: 15px; line-height: 1.3; }
.af-adjacent__link:hover strong { color: var(--af-red); }

/* =============================== related: triple feature row =============================== */
.af-related-row {
	margin-top: 60px;
	padding-top: 44px;
	border-top: 1px solid var(--af-line);
}
.af-related-row__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 26px;
}
.af-related-row__title { margin: 0; font-size: 28px; letter-spacing: .04em; }
.af-related-row__all {
	font-family: Oswald, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--af-red);
	text-decoration: none;
	white-space: nowrap;
}
.af-related-row__all:hover { text-decoration: underline; }
.af-related-row__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

/* =============================== responsive =============================== */
@media (max-width: 1024px) {
	.af-shell--wide { padding: 28px 20px 64px; }
	.af-band { padding: 138px 0 40px; }
	.af-hero { padding: 150px 0 44px; }
	.af-layout { grid-template-columns: 1fr; gap: 24px; }
	.af-sidebar { position: static; max-height: none; overflow: visible; }

	.af-filters-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		background: var(--af-ink);
		color: #fff;
		font-family: Oswald, sans-serif;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: .08em;
		text-transform: uppercase;
		padding: 12px 18px;
		border: 0;
		border-radius: 10px;
		cursor: pointer;
	}
	.af-filters-toggle__icon::before { content: "\25BC"; font-size: 10px; }
	.af-filters-toggle[aria-expanded="true"] .af-filters-toggle__icon::before { content: "\25B2"; }
	.af-filters { display: none; margin-top: 10px; }
	.af-sidebar.is-open .af-filters { display: block; }

	.af-layout--single { display: flex; flex-direction: column; }
	.af-layout--single .af-sidebar { order: 2; }
	.af-layout--single .af-main { order: 1; }

	.af-hero__meta { font-size: 14px; gap: 8px 18px; }
	.af-adjacent { grid-template-columns: 1fr; }
	.af-adjacent__link--next { text-align: left; }
	.af-related-row__grid { grid-template-columns: 1fr; gap: 20px; }
	.af-related-row__title { font-size: 24px; }
}

@media (min-width: 1025px) and (max-width: 1280px) {
	.af-related-row__grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

.af-tickets__fineprint { margin: 12px 0 0; font-size: 11.5px; color: var(--af-muted); }
