/*
 * Iguana Events — "Iguana Brand" theme.
 *
 * Layers on top of events.css / calendar.css to match iguanamexicangrill.com.
 * Values verified against the live site's computed styles (2026-08-11):
 *   - Hind for headings, UPPERCASE, line-height ~1.0
 *   - Sora for body and UI
 *   - Square buttons (radius 0), 2px outline, uppercase Hind 16/700
 *   - Palette: teal #14a3a2, orange #e35a2c, brown #503428, cream #f7f4eb
 *
 * Loaded only when General Settings → Appearance → Theme is "Iguana Brand".
 */

/* ======================== TOKENS ======================== */
:root {
	/* brand palette */
	--igev-teal: #14a3a2;
	--igev-teal-d: #0c6f6e;
	--igev-teal-dd: #095857;
	--igev-orange: #e35a2c;
	--igev-orange-d: #c94d22;
	--igev-brown: #503428;
	--igev-cream: #f7f4eb;
	--igev-sand: #ffd9a8;

	/* overrides of the plugin's structural defaults */
	--igev-accent: #e35a2c;           /* default #b3452a is not a brand color */
	--igev-text: #503428;
	--igev-muted: #7a5c4a;
	--igev-card-bg: #fff;
	--igev-card-radius: 18px;         /* default 12px */
	--igev-max-width: 1200px;         /* default 1080px */
	--igev-gap: 24px;

	/* derived: no reading-column width exists in the brand system */
	--igev-prose: 720px;

	--igev-shadow: 0 18px 40px -18px rgba(20, 40, 40, .42);
	--igev-shadow-sm: 0 6px 20px -8px rgba(20, 40, 40, .28);

	/* category colors remapped onto the brand palette */
	--igev-cat-1: #e35a2c;
	--igev-cat-2: #14a3a2;
	--igev-cat-3: #0c6f6e;
	--igev-cat-4: #503428;
	--igev-cat-5: #c98a3c;
	--igev-cat-6: #8a5a3c;

	/* calendar chrome */
	--igev-cal-border: rgba(80, 52, 40, .16);
	--igev-cal-outside: rgba(80, 52, 40, .04);
	--igev-cal-radius: 14px;
	--igev-cal-today: rgba(227, 90, 44, .07);
}

/* calendar.css scopes its defaults to these components, so the brand
   variables must be repeated at the same scope to win the cascade. */
.igev-calendar,
.igev-pop {
	--igev-cat-1: #e35a2c;
	--igev-cat-2: #14a3a2;
	--igev-cat-3: #0c6f6e;
	--igev-cat-4: #503428;
	--igev-cat-5: #c98a3c;
	--igev-cat-6: #8a5a3c;
	--igev-cal-border: rgba(80, 52, 40, .16);
	--igev-cal-outside: rgba(80, 52, 40, .04);
	--igev-cal-radius: 14px;
	--igev-cal-today: rgba(227, 90, 44, .07);
}

/* Divi's global template currently applies its cream heading color after the
   plugin stylesheet. Keep plugin-owned text readable on the calendar's white
   panels and event-card backgrounds, without changing any surrounding Divi
   shell text. */
body.et-db #et-boc .et-l .igev-calendar,
body.et-db #et-boc .et-l .igev-grid,
body.et-db #et-boc .et-l .igev-empty,
body.et-db #et-boc .et-l .igev-single {
	color: var(--igev-brown);
}

body.et-db #et-boc .et-l .igev-card__title,
body.et-db #et-boc .et-l .igev-archive__subhead,
body.et-db #et-boc .et-l .igev-cal__label,
body.et-db #et-boc .et-l .igev-cal__list-date,
body.et-db #et-boc .et-l .igev-cal__event,
body.et-db #et-boc .et-l .igev-cal__list-event,
body.et-db #et-boc .et-l .igev-pop__title,
body.et-db #et-boc .et-l .igev-event__title,
body.et-db #et-boc .et-l .igev-event__content h2,
body.et-db #et-boc .et-l .igev-event__content h3,
body.et-db #et-boc .et-l .igev-event__content h4 {
	color: var(--igev-brown) !important;
}

/* ==================== HOMEPAGE ANNOUNCEMENT ==================== */
/* The popup stylesheet loads only when a current announcement exists. These
   variables keep it visibly part of the Iguana Brand rather than a generic
   browser modal. */
:root {
	--igev-popup-bg: #f7f4eb;
	--igev-popup-text: #503428;
	--igev-popup-overlay: rgba(31, 23, 18, .68);
	--igev-popup-width: 520px;
	--igev-popup-radius: 0;
	--igev-popup-button-radius: 0;
	--igev-popup-focus: #0c6f6e;
	--igev-accent-dark: #c94d22;
}

.igev-popup__card {
	border: 2px solid var(--igev-brown);
	box-shadow: 0 28px 70px rgba(20, 40, 40, .42);
}

.igev-popup__body { padding: 26px 30px 30px; }

.igev-popup__eyebrow {
	color: var(--igev-orange);
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 11px;
	letter-spacing: .13em;
}

.igev-popup__title {
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

/* Homepage popup is rendered after the Divi builder shell, so it needs an
   explicit scoped override instead of relying on .et-l ancestry. */
body .igev-popup__title {
	color: var(--igev-brown) !important;
	font-family: 'Hind', system-ui, sans-serif !important;
}

.igev-popup__when,
.igev-popup__loc,
.igev-popup__excerpt { font-family: 'Sora', system-ui, sans-serif; }

.igev-popup__when { color: var(--igev-brown); }
.igev-popup__loc,
.igev-popup__excerpt { color: var(--igev-muted); opacity: 1; }

.igev-popup__btn {
	border-width: 2px;
	border-color: var(--igev-brown);
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.igev-popup__btn--primary { border-color: var(--igev-orange); background: var(--igev-orange); color: #fff; }

.igev-popup__close { border-radius: 0; border-color: var(--igev-cream); background: var(--igev-brown); }
.igev-popup__nav { border-radius: 0; border-color: var(--igev-brown); color: var(--igev-brown); font-family: 'Hind', system-ui, sans-serif; }
.igev-popup__count { color: var(--igev-muted); font-family: 'Sora', system-ui, sans-serif; }

@media (hover: hover) and (pointer: fine) {
	.igev-popup__btn:hover { background: var(--igev-brown); color: var(--igev-cream); }
	.igev-popup__btn--primary:hover { border-color: var(--igev-orange-d); background: var(--igev-orange-d); color: #fff; }
	.igev-popup__close:hover { background: var(--igev-teal-d); }
	.igev-popup__nav:hover { background: var(--igev-brown); color: var(--igev-cream); }
}

@media (max-width: 480px) {
	.igev-popup__body { padding: 22px 20px 24px; }
	.igev-popup__title { font-size: 30px; }
}

/* ======================== ARCHIVE SHELL ======================== */
.igev-archive,
.igev-single {
	max-width: var(--igev-max-width);
	padding: 0 40px 0;
	color: var(--igev-text);
}

.igev-archive__header {
	padding: 64px 0 34px;
	margin-bottom: 0;
	text-align: center;
}

.igev-archive__header h1 {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: 57.6px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--igev-brown);
	margin: 0 0 14px;
}

/* Optional intro line, if a theme template adds one. */
.igev-archive__header p {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 18px;
	line-height: 1.7;
	color: var(--igev-muted);
	max-width: 56ch;
	margin: 0 auto;
}

.igev-archive__subhead {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: 42.4px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--igev-brown);
	text-align: center;
	margin: 76px 0 34px;
}

/* ======================== EVENT CARDS ======================== */
.igev-grid {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: var(--igev-gap);
}

.igev-card {
	background: var(--igev-card-bg);
	border-radius: var(--igev-card-radius);
	box-shadow: var(--igev-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}

.igev-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--igev-shadow);
}

.igev-card__media {
	position: relative;
	height: 220px;
	overflow: hidden;
}

.igev-card__media img {
	height: 100%;
	transition: transform .4s ease;
}

.igev-card:hover .igev-card__media img {
	transform: scale(1.04);
}

/* Date badge over the photo (emitted by the card template). */
.igev-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--igev-cream);
	border-radius: 10px;
	padding: 8px 12px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
	line-height: 1;
}

.igev-card__badge-month {
	display: block;
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--igev-orange);
	line-height: 1.2;
}

.igev-card__badge-day {
	display: block;
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--igev-brown);
	line-height: 1.1;
}

.igev-card__body {
	padding: 20px 22px 24px;
}

.igev-card__when {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--igev-orange);
	margin-bottom: 8px;
}

.igev-card__title {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: 22px;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--igev-brown);
	margin: 0 0 10px;
}

.igev-card__location,
.igev-card__excerpt {
	font-family: 'Sora', system-ui, sans-serif;
	color: var(--igev-muted);
}

.igev-card__location {
	font-size: 13px;
	font-weight: 500;
	margin: 0 0 10px;
}

.igev-card__excerpt {
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}

/* ======================== EMPTY STATE ======================== */
.igev-empty {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--igev-muted);
	text-align: center;
	background: rgba(247, 244, 235, .78);
	border: 1px solid rgba(80, 52, 40, .16);
	border-left: 4px solid var(--igev-teal);
	border-radius: 12px;
	padding: 24px 30px;
	max-width: 560px;
	margin: 0 auto 72px;
}

/* ======================== PAGINATION ======================== */
.igev-archive .navigation.pagination {
	margin-top: 52px;
	padding-bottom: 20px;
}

.igev-archive .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.igev-archive .page-numbers {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	min-width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border: 1.5px solid rgba(80, 52, 40, .2);
	background: #fff;
	color: var(--igev-brown);
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.igev-archive .page-numbers:hover {
	border-color: var(--igev-orange);
	color: var(--igev-orange);
}

.igev-archive .page-numbers.current {
	background: var(--igev-brown);
	border-color: var(--igev-brown);
	color: var(--igev-cream);
}

/* ======================== SINGLE EVENT ======================== */
.igev-single {
	padding-bottom: 0;
}

.igev-event__header {
	max-width: 1000px;
	margin: 0 auto;
	padding: 58px 0 38px;
}

/* Category pills — cream-background variant (the brand comps only had a
   teal-background pill, which is unreadable on this page). */
.igev-event__terms {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
}

.igev-event__term {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	padding: 7px 15px;
	border-radius: 999px;
	background: rgba(227, 90, 44, .10);
	color: var(--igev-orange);
	border: 1px solid rgba(227, 90, 44, .28);
	text-decoration: none;
	transition: background .15s ease;
}

.igev-event__term:hover {
	background: rgba(227, 90, 44, .18);
	color: var(--igev-orange);
}

.igev-event__title {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(40px, 4.35vw, 60px);
	line-height: 1;
	letter-spacing: -.015em;
	text-transform: uppercase;
	color: var(--igev-brown);
	margin: 0 0 22px;
}

.igev-event__meta {
	font-family: 'Sora', system-ui, sans-serif;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .075em;
	text-transform: uppercase;
	color: var(--igev-muted);
	margin-bottom: 12px;
}

.igev-event__when {
	font-weight: 600;
	color: var(--igev-orange);
}

.igev-event__location::before {
	content: '•';
	margin-right: 18px;
	color: var(--igev-teal);
}

/* Square outline button, matching the live site's button convention. */
.igev-event__add {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .32px;
	text-transform: uppercase;
	padding: 14px 20px;
	border: 2px solid var(--igev-brown);
	border-radius: 0;
	color: var(--igev-brown);
}

@media (hover: hover) and (pointer: fine) {
	.igev-event__add:hover {
		background: var(--igev-brown);
		color: var(--igev-cream);
	}
}

.igev-event__media {
	max-width: 1120px;
	height: clamp(360px, 42vw, 560px);
	margin: 0 auto 64px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--igev-shadow);
}

.igev-event__media img {
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	border-radius: 0;
	margin: 0 !important;
}

/* ---- prose ----
   No reading-column style exists in the brand system; derived here. */
.igev-event__content {
	max-width: var(--igev-prose);
	margin: 0 auto;
	padding-bottom: 40px;
}

.igev-event__content > * {
	margin-bottom: 24px;
}

.igev-event__content > *:last-child {
	margin-bottom: 0;
}

.igev-event__content p,
.igev-event__content li {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.8;
	color: var(--igev-brown);
}

.igev-event__content h2,
.igev-event__content h3,
.igev-event__content h4 {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--igev-brown);
}

.igev-event__content h2 {
	font-size: 28px;
	margin: 48px 0 16px;
}

.igev-event__content h3 {
	font-size: 22px;
	margin: 36px 0 12px;
}

.igev-event__content a {
	color: var(--igev-orange);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.igev-event__content ul,
.igev-event__content ol {
	padding-left: 22px;
}

.igev-event__content li {
	margin-bottom: 10px;
}

.igev-event__content li::marker {
	color: var(--igev-orange);
	font-weight: 700;
}

.igev-event__content blockquote {
	border-left: 3px solid var(--igev-orange);
	padding: 6px 0 6px 24px;
	margin: 36px 0;
}

.igev-event__content blockquote p {
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 24px;
	line-height: 1.35;
	font-style: italic;
	text-transform: none;
}

.igev-event__content img {
	border-radius: 18px;
}

.igev-event__content hr {
	border: none;
	border-top: 1px solid rgba(80, 52, 40, .15);
	margin: 44px 0;
}

.igev-event__footer {
	max-width: var(--igev-prose);
	margin: 0 auto;
	padding: 32px 0 76px;
	border-top: 1px solid rgba(80, 52, 40, .15);
}

.igev-event__back {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--igev-brown);
	transition: color .15s ease;
}

.igev-event__back:hover {
	color: var(--igev-orange);
}

/* ======================== CALENDAR ======================== */
.igev-calendar {
	max-width: var(--igev-max-width);
	margin: 0 auto 64px;
}

/* A single, balanced control bar: navigation left, month centered, filters
   and view controls right. This avoids a loose row of unrelated buttons. */
.igev-cal__toolbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 20px;
	margin-bottom: 24px;
	padding: 0 2px;
}

.igev-cal__nav {
	gap: 0;
}

.igev-cal__label {
	font-family: 'Hind', system-ui, sans-serif;
	font-weight: 700;
	font-size: 28px;
	text-transform: uppercase;
	color: var(--igev-brown);
	justify-self: center;
	text-align: center;
}

.igev-cal__nav-btn {
	background: #fff;
	border: 1.5px solid var(--igev-cal-border);
	border-radius: 0;
	color: var(--igev-brown);
	width: 40px;
	height: 40px;
	margin-left: -1px;
}

.igev-cal__nav-btn:first-child {
	margin-left: 0;
}

.igev-cal__today {
	width: auto;
	padding: 0 16px;
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
	.igev-cal__nav-btn:hover {
		background: var(--igev-orange);
		border-color: var(--igev-orange);
		color: #fff;
	}
}

/* Already on this month: "Today" shows as the current state, matching the
   active view toggle rather than the orange hover. */
.igev-cal__today.is-active {
	background: var(--igev-brown);
	border-color: var(--igev-brown);
	color: var(--igev-cream);
}

@media (hover: hover) and (pointer: fine) {
	.igev-cal__today.is-active:hover {
		background: var(--igev-orange);
		border-color: var(--igev-orange);
		color: #fff;
	}
}

.igev-cal__chip {
	font-family: 'Sora', system-ui, sans-serif;
	border-color: rgba(80, 52, 40, .22);
	color: var(--igev-muted);
	background: transparent;
}

@media (hover: hover) and (pointer: fine) {
	.igev-cal__chip:hover {
		border-color: var(--igev-orange);
		color: var(--igev-orange);
	}
}

.igev-cal__view {
	font-family: 'Sora', system-ui, sans-serif;
	background: #fff;
	border-color: var(--igev-cal-border);
	border-radius: 0;
	color: var(--igev-muted);
}

.igev-cal__view.is-active {
	background: var(--igev-brown);
	border-color: var(--igev-brown);
	color: var(--igev-cream);
}

/* List view: a compact event ledger rather than a lightly styled fallback. */
.igev-cal__list-day {
	padding: 20px 0 10px;
	border-bottom-color: var(--igev-cal-border);
}

.igev-cal__list-date {
	margin-bottom: 10px;
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 23px;
	font-weight: 700;
	letter-spacing: .01em;
	line-height: 1;
	text-transform: uppercase;
}

.igev-cal__list-event {
	align-items: center;
	min-height: 64px;
	padding: 11px 14px;
	border-radius: 0;
	color: var(--igev-brown);
}

.igev-cal__list-time {
	flex-basis: 92px;
	color: var(--igev-orange);
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	opacity: 1;
	text-transform: uppercase;
}

.igev-cal__list-title {
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.igev-cal__list-loc {
	margin-top: 3px;
	color: var(--igev-muted);
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 12px;
	opacity: 1;
}

/* Calendar event detail modal: reuse the brand's editorial hierarchy rather
   than letting the generic popover inherit Divi's global heading color. */
.igev-pop {
	--igev-pop-bg: var(--igev-cream);
	--igev-pop-text: var(--igev-brown);
}

.igev-pop__card {
	width: 380px;
	border-radius: 0;
	border-top-width: 4px;
	box-shadow: var(--igev-shadow);
}

.igev-pop__media img {
	height: 180px;
	object-position: center center;
}

.igev-pop__body {
	padding: 20px 22px 22px;
}

.igev-pop__type {
	color: var(--igev-orange);
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 10px;
	letter-spacing: .12em;
}

.igev-pop__title {
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.igev-pop__when {
	color: var(--igev-orange);
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.igev-pop__loc,
.igev-pop__excerpt {
	color: var(--igev-muted);
	font-family: 'Sora', system-ui, sans-serif;
	opacity: 1;
}

.igev-pop__excerpt { font-size: 13px; line-height: 1.65; }

.igev-pop__btn {
	border-width: 2px;
	border-radius: 0;
	border-color: var(--igev-brown);
	color: var(--igev-brown);
	font-family: 'Hind', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.igev-pop__btn--primary { border-color: var(--igev-orange); background: var(--igev-orange); color: #fff; }

.igev-pop__close { border-radius: 0; background: var(--igev-brown); }

@media (hover: hover) and (pointer: fine) {
	.igev-pop__btn:hover { background: var(--igev-brown); color: var(--igev-cream); }
	.igev-pop__btn--primary:hover { border-color: var(--igev-orange-d); background: var(--igev-orange-d); color: #fff; }
	.igev-pop__close:hover { background: var(--igev-teal-d); }
}

.igev-cal__controls {
	justify-self: end;
}

.igev-cal__gridwrap {
	background: #fff;
	border: 1px solid var(--igev-cal-border);
	border-radius: var(--igev-cal-radius);
	overflow: hidden;
	box-shadow: var(--igev-shadow-sm);
}

.igev-cal__dow {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--igev-cream);
	background: var(--igev-teal);
	padding: 14px 10px;
	text-align: center;
	border: none;
}

.igev-cal__cell,
.igev-cal__skeleton-cell {
	min-height: 132px;
	border-color: var(--igev-cal-border);
}

.igev-cal__daynum {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--igev-muted);
}

.igev-cal__cell.is-today .igev-cal__daynum {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--igev-orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.igev-cal__event {
	border-radius: 6px;
}

.igev-cal__event-inner {
	font-family: 'Sora', system-ui, sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.35;
	padding: 4px 7px;
}

/* ======================== RESPONSIVE ========================
   The brand comps are desktop-only; these mirror the breakpoints
   already used by events.css / calendar.css. */
@media (max-width: 900px) {
	.igev-archive__header h1,
	.igev-event__title {
		font-size: 40px;
	}

	.igev-archive__subhead {
		font-size: 32px;
		margin-top: 56px;
	}

	.igev-event__media img {
		height: 100% !important;
	}
}

@media (max-width: 640px) {
	.igev-cal__toolbar {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
	}

	.igev-cal__label {
		grid-column: 1 / -1;
		grid-row: 1;
		width: auto;
	}

	.igev-cal__nav {
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
	}

	.igev-cal__controls {
		display: contents;
		margin-left: 0;
	}

	/* Filter chips became three stacked rows on a phone, pushing the grid off
	   screen. Keep them on one line as a horizontally scrollable rail, with
	   the view toggle pinned beside it. */
	.igev-cal__chips {
		grid-column: 1 / -1;
		grid-row: 3;
		width: 100%;
		flex: 1 1 auto;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		/* Fade the right edge so it reads as scrollable. */
		mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent 100%);
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent 100%);
		padding-bottom: 2px;
	}

	.igev-cal__chips::-webkit-scrollbar {
		display: none;
	}

	.igev-cal__chip {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.igev-cal__views {
		grid-column: 3;
		grid-row: 2;
		justify-self: end;
		flex: 0 0 auto;
	}

	/* The month grid intentionally remains seven columns wide; restore the
	   base stylesheet's touch scrolling instead of clipping four columns. */
	.igev-cal__gridwrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	.igev-archive,
	.igev-single {
		padding-left: 20px;
		padding-right: 20px;
	}

	.igev-archive__header h1,
	.igev-event__title {
		font-size: clamp(30px, 8.2vw, 34px);
	}

	.igev-cal__label {
		font-size: 22px;
	}

	.igev-cal__cell,
	.igev-cal__skeleton-cell {
		min-height: 84px;
	}

	.igev-event__content p,
	.igev-event__content li {
		font-size: 16px;
	}

	.igev-event__header {
		padding: 32px 0 28px;
	}

	.igev-event__title {
		line-height: 1.04;
		margin-bottom: 14px;
		padding: 0 !important;
		text-wrap: balance;
		overflow-wrap: anywhere;
	}

	.igev-event__meta {
		font-size: 11px;
		line-height: 1.45;
		gap: 4px 12px;
		margin-bottom: 18px;
	}

	.igev-event__location {
		flex-basis: 100%;
	}

	.igev-event__location::before {
		display: none;
	}

	.igev-event__media {
		height: auto;
		aspect-ratio: 16 / 9;
		margin-bottom: 36px;
		border-radius: 12px;
	}

	.igev-cal__list-event {
		align-items: flex-start;
		gap: 10px;
	}

	.igev-cal__list-time { flex-basis: 70px; font-size: 11px; }
	.igev-cal__list-title { font-size: 17px; }
	.igev-pop__media img { height: 160px; }
}
