/**
 * Intelliguard Elements — FAQ + Events page widget styles.
 *
 * Ported from src/pages/FAQ.tsx and src/pages/Events.tsx (plus SectionLabel.tsx
 * and the shared RequestDemoCTA.tsx which reuses the base `.ig-cta` widget).
 *
 * All selectors are ig-prefixed and page-namespaced (`ig-faq-` / `ig-ev-`) to
 * avoid collisions with other page widgets. Brand tokens mirror the base
 * assets/css/widgets.css block and are set on each section root so the
 * variables resolve regardless of :root support. :root is NEVER redefined.
 */

/* =========================================================================
   Brand tokens (mirrors assets/css/widgets.css — do NOT redefine :root)
   ========================================================================= */
.ig-faq-hero,
.ig-faq-list,
.ig-faq-cta,
.ig-ev-hero,
.ig-ev-spotlight,
.ig-ev-list {
	--ig-navy: hsl(225 70% 17%);
	--ig-navy-light: hsl(225 50% 30%);
	--ig-gold: hsl(38 91% 55%);
	--ig-gold-light: hsl(38 91% 70%);
	--ig-teal: hsl(174 60% 42%);
	--ig-teal-light: hsl(174 50% 60%);
	--ig-background: var(--ig-surface, hsl(0 0% 100%));
	--ig-foreground: var(--ig-ink, hsl(225 70% 17%));
	--ig-muted: hsl(220 20% 96%);
	--ig-muted-foreground: hsl(220 10% 46%);
	--ig-border: hsl(220 20% 90%);
	--ig-card: hsl(0 0% 100%);
	--ig-radius: 0.75rem;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	box-sizing: border-box;
}

.ig-faq-hero *,
.ig-faq-list *,
.ig-faq-cta *,
.ig-ev-hero *,
.ig-ev-spotlight *,
.ig-ev-list * {
	box-sizing: border-box;
}

/* Shared container (matches Tailwind centered container: max 1400px, 2rem pad). */
.ig-fe-container {
	width: 100%;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
}

.ig-fe-container--3xl { max-width: 48rem; }
.ig-fe-container--5xl { max-width: 64rem; }
.ig-fe-container--6xl { max-width: 72rem; }

/* Shared eyebrow label (SectionLabel.tsx). */
.ig-fe-eyebrow {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--ig-gold);
}

/* Shared pill buttons. */
.ig-fe-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	border-radius: 9999px;
	padding: 0.75rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ig-fe-btn--sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
}

.ig-fe-btn--gold {
	background: var(--ig-gold);
	color: var(--ig-navy);
}

.ig-fe-btn--gold:hover {
	background: var(--ig-gold-light);
	color: var(--ig-navy);
}

.ig-fe-btn--outline-navy {
	background: transparent;
	border-color: var(--ig-navy);
	color: var(--ig-navy);
}

.ig-fe-btn--outline-navy:hover {
	background: var(--ig-navy);
	color: #fff;
}

.ig-fe-btn--outline-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.3);
	color: #fff;
}

.ig-fe-btn--outline-light:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.ig-fe-btn svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.ig-fe-btn--sm svg {
	width: 0.875rem;
	height: 0.875rem;
}

/* =========================================================================
   FAQ — Hero
   ========================================================================= */
.ig-faq-hero {
	position: relative;
	overflow: hidden;
	background: var(--ig-surface, var(--ig-navy));
	background-image: linear-gradient(to bottom right, var(--ig-navy), var(--ig-navy-light), var(--ig-navy));
}

/* Ribbon accents (index.css .ribbon-section — gold bottom-left, teal top-right). */
.ig-faq-hero__ribbon {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}

.ig-faq-hero__ribbon--gold {
	left: -60px;
	bottom: -40px;
	width: 220px;
	height: 350px;
	background: var(--ig-gold);
	opacity: 0.25;
	clip-path: polygon(100% 30%, 0 0, 0 100%, 100% 100%);
}

.ig-faq-hero__ribbon--teal {
	right: -40px;
	top: -40px;
	width: 200px;
	height: 320px;
	background: var(--ig-teal);
	opacity: 0.25;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 60%);
}

.ig-faq-hero__inner {
	position: relative;
	z-index: 10;
	padding-top: 5rem;
	padding-bottom: 5rem;
	text-align: center;
	animation: ig-fe-fade-up 0.6s ease-out both;
}

@media (min-width: 1024px) {
	.ig-faq-hero__inner { padding-top: 6rem; padding-bottom: 6rem; }
}

.ig-faq-hero__eyebrow {
	color: var(--ig-gold-light);
	margin-bottom: 1rem;
}

.ig-faq-hero__heading {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 800;
	color: #fff;
	line-height: 1.1;
	margin: 0 0 1.5rem;
}

.ig-faq-hero__heading em {
	font-style: normal;
	color: var(--ig-gold);
}

.ig-faq-hero__sub {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.8);
	max-width: 42rem;
	margin: 0 auto 2.5rem;
	line-height: 1.6;
}

/* Search field. */
.ig-faq-search {
	position: relative;
	max-width: 36rem;
	margin: 0 auto;
}

.ig-faq-search__icon {
	position: absolute;
	left: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
	height: 1.25rem;
	color: var(--ig-muted-foreground);
	pointer-events: none;
}

.ig-faq-search__input {
	width: 100%;
	border-radius: 9999px;
	background: var(--ig-card);
	border: 1px solid var(--ig-border);
	padding: 1rem 3rem 1rem 3.5rem;
	font-size: 1rem;
	font-family: inherit;
	color: var(--ig-foreground);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.25);
}

.ig-faq-search__input:focus {
	outline: none;
	box-shadow: 0 0 0 2px var(--ig-gold);
}

.ig-faq-search__clear {
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
	height: 1.75rem;
	border: none;
	border-radius: 9999px;
	background: var(--ig-muted);
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ig-faq-search__clear:hover { background: hsl(220 20% 90%); }
.ig-faq-search.is-filled .ig-faq-search__clear { display: inline-flex; }

.ig-faq-search__clear svg {
	width: 1rem;
	height: 1rem;
	color: var(--ig-muted-foreground);
}

/* =========================================================================
   FAQ — List (chips + accordion)
   ========================================================================= */
.ig-faq-list {
	padding: 4rem 0;
	background: var(--ig-background);
}

@media (min-width: 1024px) {
	.ig-faq-list { padding: 5rem 0; }
}

/* Category chips. */
.ig-faq-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 3rem;
}

.ig-faq-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border-radius: 9999px;
	border: 1px solid var(--ig-border);
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	background: var(--ig-card);
	color: hsl(225 70% 17% / 0.8);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.ig-faq-chip:hover {
	border-color: hsl(38 91% 55% / 0.5);
	color: var(--ig-navy);
}

.ig-faq-chip svg {
	width: 1rem;
	height: 1rem;
	color: var(--ig-teal);
}

.ig-faq-chip__count {
	font-size: 0.75rem;
	border-radius: 9999px;
	padding: 0.05rem 0.5rem;
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
}

.ig-faq-chip.is-active {
	background: var(--ig-navy);
	color: #fff;
	border-color: var(--ig-navy);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

.ig-faq-chip.is-active svg { color: var(--ig-gold); }

.ig-faq-chip.is-active .ig-faq-chip__count {
	background: hsl(38 91% 55% / 0.3);
	color: var(--ig-gold);
}

/* Results meta row. */
.ig-faq-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding: 0 0.25rem;
}

.ig-faq-meta__count {
	font-size: 0.875rem;
	color: var(--ig-muted-foreground);
	margin: 0;
}

.ig-faq-meta__count b {
	font-weight: 600;
	color: var(--ig-navy);
}

.ig-faq-meta__reset {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--ig-teal);
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.2s ease;
	display: none;
}

.ig-faq-meta__reset:hover { color: var(--ig-navy); }
.ig-faq-list.is-filtered .ig-faq-meta__reset { display: inline-block; }

/* Grouped results. */
.ig-faq-groups {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.ig-faq-group__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

/* Group headers only show when the "all" category is active. */
.ig-faq-list:not(.is-all) .ig-faq-group__head { display: none; }

.ig-faq-group__icon {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.5rem;
	background: hsl(38 91% 55% / 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ig-faq-group__icon svg {
	width: 1rem;
	height: 1rem;
	color: var(--ig-gold);
}

.ig-faq-group__title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--ig-navy);
	margin: 0;
}

.ig-faq-group__count {
	font-size: 0.75rem;
	color: var(--ig-muted-foreground);
}

/* A group is hidden if it has no visible items (JS toggles is-empty). */
.ig-faq-group.is-empty { display: none; }

/* Accordion. */
.ig-faq-accordion {
	background: var(--ig-card);
	border-radius: 1rem;
	border: 1px solid var(--ig-border);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}

.ig-faq-item { border-top: 1px solid var(--ig-border); }
.ig-faq-item:first-child { border-top: 0; }
.ig-faq-item.is-hidden { display: none; }

.ig-faq-item__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	padding: 1.25rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--ig-navy);
	transition: color 0.2s ease;
}

.ig-faq-item__trigger:hover { color: var(--ig-gold); }

.ig-faq-item__chevron {
	width: 1.15rem;
	height: 1.15rem;
	flex-shrink: 0;
	color: var(--ig-muted-foreground);
	transition: transform 0.25s ease;
}

.ig-faq-item.is-open .ig-faq-item__chevron { transform: rotate(180deg); }

.ig-faq-item__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.28s ease;
}

.ig-faq-item.is-open .ig-faq-item__panel { grid-template-rows: 1fr; }

.ig-faq-item__panel-inner {
	overflow: hidden;
}

.ig-faq-item__body {
	padding: 0 1.5rem 1.25rem;
	color: var(--ig-muted-foreground);
	font-size: 1rem;
	line-height: 1.7;
}

.ig-faq-item__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.ig-faq-tag {
	font-size: 0.75rem;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
	border: none;
	cursor: pointer;
	font-family: inherit;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ig-faq-tag:hover {
	background: hsl(174 60% 42% / 0.1);
	color: var(--ig-teal);
}

/* Empty state. */
.ig-faq-empty {
	display: none;
	background: var(--ig-card);
	border-radius: 1rem;
	border: 1px solid var(--ig-border);
	padding: 3rem;
	text-align: center;
}

.ig-faq-list.is-empty .ig-faq-empty { display: block; }
.ig-faq-list.is-empty .ig-faq-groups { display: none; }

.ig-faq-empty__icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 9999px;
	background: var(--ig-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1rem;
}

.ig-faq-empty__icon svg {
	width: 1.5rem;
	height: 1.5rem;
	color: var(--ig-muted-foreground);
}

.ig-faq-empty__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ig-navy);
	margin: 0 0 0.5rem;
}

.ig-faq-empty__text {
	font-size: 0.875rem;
	color: var(--ig-muted-foreground);
	max-width: 28rem;
	margin: 0 auto 1.5rem;
}

/* =========================================================================
   FAQ — "Still have questions?" CTA
   ========================================================================= */
.ig-faq-cta {
	padding: 5rem 0;
	background: var(--ig-surface, var(--ig-muted));
}

.ig-faq-cta__panel {
	position: relative;
	overflow: hidden;
	border-radius: 1.5rem;
	background-image: linear-gradient(to bottom right, var(--ig-navy), var(--ig-navy-light), var(--ig-navy));
	padding: 2.5rem;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
}

@media (min-width: 768px) {
	.ig-faq-cta__panel { padding: 3.5rem; }
}

.ig-faq-cta__blur {
	position: absolute;
	width: 12rem;
	height: 12rem;
	border-radius: 9999px;
	filter: blur(48px);
	pointer-events: none;
}

.ig-faq-cta__blur--gold {
	top: -3rem;
	right: -3rem;
	background: hsl(38 91% 55% / 0.2);
}

.ig-faq-cta__blur--teal {
	bottom: -3rem;
	left: -3rem;
	background: hsl(174 60% 42% / 0.2);
}

.ig-faq-cta__grid {
	position: relative;
	z-index: 10;
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

@media (min-width: 768px) {
	.ig-faq-cta__grid { grid-template-columns: 1fr auto; }
}

.ig-faq-cta__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem 0.75rem;
	border-radius: 9999px;
	background: hsl(38 91% 55% / 0.2);
	border: 1px solid hsl(38 91% 55% / 0.3);
	margin-bottom: 1rem;
}

.ig-faq-cta__badge svg {
	width: 0.875rem;
	height: 0.875rem;
	color: var(--ig-gold);
}

.ig-faq-cta__badge span {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ig-gold-light);
}

.ig-faq-cta__heading {
	font-size: clamp(1.875rem, 4vw, 2.25rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

.ig-faq-cta__text {
	color: rgba(255, 255, 255, 0.8);
	max-width: 36rem;
	margin: 0;
	line-height: 1.6;
}

.ig-faq-cta__text a {
	color: var(--ig-gold);
	text-decoration: underline;
	white-space: nowrap;
}

/* =========================================================================
   Events — Hero
   ========================================================================= */
.ig-ev-hero {
	position: relative;
	overflow: hidden;
	background: var(--ig-surface, var(--ig-navy));
	padding: 6rem 0;
}

@media (min-width: 768px) {
	.ig-ev-hero { padding: 8rem 0; }
}

.ig-ev-hero__blurs {
	position: absolute;
	inset: 0;
	opacity: 0.1;
	pointer-events: none;
}

.ig-ev-hero__blur {
	position: absolute;
	border-radius: 9999px;
}

.ig-ev-hero__blur--gold {
	top: 5rem;
	left: 2.5rem;
	width: 18rem;
	height: 18rem;
	background: var(--ig-gold);
	filter: blur(120px);
}

.ig-ev-hero__blur--teal {
	bottom: 2.5rem;
	right: 5rem;
	width: 24rem;
	height: 24rem;
	background: var(--ig-teal);
	filter: blur(150px);
}

.ig-ev-hero__grid-overlay {
	position: absolute;
	inset: 0;
	opacity: 0.03;
	pointer-events: none;
	background-image:
		linear-gradient(var(--ig-gold) 1px, transparent 1px),
		linear-gradient(90deg, var(--ig-gold) 1px, transparent 1px);
	background-size: 60px 60px;
}

.ig-ev-hero__inner {
	position: relative;
	z-index: 10;
	max-width: 48rem;
	animation: ig-fe-fade-up 0.7s ease-out both;
}

.ig-ev-hero__heading {
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.1;
	margin: 0 0 1.5rem;
}

.ig-ev-hero__heading span {
	display: block;
	color: var(--ig-gold);
}

.ig-ev-hero__sub {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.7);
	max-width: 42rem;
	line-height: 1.6;
	margin: 0;
}

/* =========================================================================
   Events — Upcoming spotlight
   ========================================================================= */
.ig-ev-spotlight {
	padding: 5rem 0;
	background: var(--ig-background);
}

.ig-ev-spotlight__panel {
	position: relative;
	overflow: hidden;
	border-radius: 1.5rem;
	background-image: linear-gradient(to bottom right, var(--ig-navy), var(--ig-navy), var(--ig-navy-light));
	padding: 2rem;
}

@media (min-width: 768px) { .ig-ev-spotlight__panel { padding: 3rem; } }
@media (min-width: 1024px) { .ig-ev-spotlight__panel { padding: 4rem; } }

.ig-ev-spotlight__blurs {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
	opacity: 0.1;
	pointer-events: none;
}

.ig-ev-spotlight__blur--gold {
	position: absolute;
	top: 2.5rem;
	right: 2.5rem;
	width: 16rem;
	height: 16rem;
	border-radius: 9999px;
	background: var(--ig-gold);
	filter: blur(100px);
}

.ig-ev-spotlight__blur--teal {
	position: absolute;
	bottom: 5rem;
	right: 10rem;
	width: 12rem;
	height: 12rem;
	border-radius: 9999px;
	background: var(--ig-teal);
	filter: blur(80px);
}

.ig-ev-spotlight__row {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2.5rem;
}

@media (min-width: 1024px) {
	.ig-ev-spotlight__row { flex-direction: row; }
}

.ig-ev-spotlight__main { flex: 1; }

.ig-ev-spotlight__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.375rem 0.75rem;
	border-radius: 9999px;
	background: hsl(174 60% 42% / 0.2);
	color: var(--ig-teal-light);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 1.5rem;
}

.ig-ev-spotlight__badge svg { width: 0.875rem; height: 0.875rem; }

.ig-ev-spotlight__title {
	font-size: clamp(1.875rem, 4vw, 2.25rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.15;
	margin: 0 0 1rem;
}

.ig-ev-spotlight__desc {
	font-size: 1.125rem;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.6;
	margin: 0 0 1.5rem;
}

.ig-ev-spotlight__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 2rem;
}

.ig-ev-spotlight__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.ig-ev-spotlight__meta svg { width: 1.25rem; height: 1.25rem; }
.ig-ev-spotlight__meta .ig-ev-ico--gold { color: var(--ig-gold); }
.ig-ev-spotlight__meta .ig-ev-ico--teal { color: var(--ig-teal); }

.ig-ev-spotlight__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ig-ev-spotlight__datebox {
	display: none;
	width: 6rem;
	height: 6rem;
	border-radius: 1rem;
	background: hsl(38 91% 55% / 0.2);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

@media (min-width: 1024px) { .ig-ev-spotlight__datebox { display: flex; } }

.ig-ev-spotlight__datebox-month {
	color: var(--ig-gold);
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.ig-ev-spotlight__datebox-day {
	color: #fff;
	font-size: 1.875rem;
	font-weight: 700;
}

/* =========================================================================
   Events — All events list
   ========================================================================= */
.ig-ev-list {
	padding: 4rem 0 6rem;
	background: var(--ig-background);
}

.ig-ev-list__head {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
	.ig-ev-list__head {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}
}

.ig-ev-list__title {
	font-size: clamp(1.875rem, 4vw, 2.25rem);
	font-weight: 700;
	color: var(--ig-foreground);
	margin: 0 0 0.5rem;
}

.ig-ev-list__sub {
	color: var(--ig-muted-foreground);
	margin: 0;
}

.ig-ev-list__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.ig-ev-tabs { display: flex; gap: 0.5rem; }

.ig-ev-tab {
	padding: 0.5rem 1rem;
	border-radius: 9999px;
	border: none;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: inherit;
	text-transform: capitalize;
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.ig-ev-tab:hover { background: hsl(220 20% 92%); }

.ig-ev-tab.is-active {
	background: var(--ig-navy);
	color: #fff;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.15);
}

.ig-ev-year {
	padding: 0.5rem 0.75rem;
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 500;
	font-family: inherit;
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
	border: none;
	outline: none;
	cursor: pointer;
}

.ig-ev-cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ig-ev-card {
	position: relative;
	border-radius: 1rem;
	border: 1px solid var(--ig-border);
	background: var(--ig-card);
	padding: 1.5rem;
	transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}

@media (min-width: 768px) { .ig-ev-card { padding: 2rem; } }

.ig-ev-card:hover {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
	border-color: hsl(38 91% 55% / 0.2);
}

.ig-ev-card.is-hidden { display: none; }

.ig-ev-card__row {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.ig-ev-card__row { flex-direction: row; align-items: flex-start; }
}

.ig-ev-card__date {
	flex-shrink: 0;
	width: 5rem;
	height: 5rem;
	border-radius: 0.75rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.ig-ev-card__date--upcoming {
	background: hsl(174 60% 42% / 0.1);
	color: var(--ig-teal);
}

.ig-ev-card__date--past {
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
}

.ig-ev-card__date-month {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.ig-ev-card__date-day {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	margin-top: 0.125rem;
}

.ig-ev-card__body { flex: 1; min-width: 0; }

.ig-ev-card__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.ig-ev-badge {
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.25rem 0.625rem;
	border-radius: 9999px;
	border: 1px solid transparent;
}

.ig-ev-badge--upcoming {
	background: hsl(174 60% 42% / 0.15);
	color: var(--ig-teal);
	border-color: hsl(174 60% 42% / 0.3);
}

.ig-ev-badge--past {
	background: var(--ig-muted);
	color: var(--ig-muted-foreground);
	border-color: var(--ig-border);
}

.ig-ev-badge--booth {
	background: hsl(225 70% 17% / 0.1);
	color: var(--ig-navy);
	border-color: hsl(225 70% 17% / 0.2);
}

.ig-ev-card__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--ig-foreground);
	margin: 0 0 0.5rem;
	transition: color 0.2s ease;
}

@media (min-width: 768px) { .ig-ev-card__title { font-size: 1.25rem; } }

.ig-ev-card:hover .ig-ev-card__title { color: var(--ig-gold); }

.ig-ev-card__desc {
	font-size: 0.875rem;
	color: var(--ig-muted-foreground);
	line-height: 1.6;
	margin: 0 0 1rem;
}

.ig-ev-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	font-size: 0.875rem;
	color: var(--ig-muted-foreground);
}

.ig-ev-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.ig-ev-card__meta svg { width: 1rem; height: 1rem; }
.ig-ev-card__meta .ig-ev-ico--gold { color: hsl(38 91% 55% / 0.7); }
.ig-ev-card__meta .ig-ev-ico--teal { color: hsl(174 60% 42% / 0.7); }

.ig-ev-card__actions {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	align-self: center;
}

/* Events empty state. */
.ig-ev-empty {
	display: none;
	text-align: center;
	padding: 4rem 0;
	color: var(--ig-muted-foreground);
}

.ig-ev-list.is-empty .ig-ev-empty { display: block; }

.ig-ev-empty svg {
	width: 3rem;
	height: 3rem;
	margin: 0 auto 1rem;
	opacity: 0.3;
	display: block;
}

.ig-ev-empty__text {
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0;
}

/* =========================================================================
   Keyframes
   ========================================================================= */
@keyframes ig-fe-fade-up {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.ig-faq-hero__inner,
	.ig-ev-hero__inner {
		animation: none !important;
	}

	.ig-faq-item__panel { transition: none !important; }
	.ig-ev-card { transition: none !important; }
}
