.aysa-seo-events-footer,
.aysa-seo-events-page {
	--aysa-events-red: #e11937;
	--aysa-events-ink: #09090b;
	--aysa-events-muted: #676767;
	--aysa-events-border: #e7e7e7;
	--aysa-events-soft: #f7f7f4;
	font-family: Inter, Geist, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.aysa-seo-events-footer {
	border-top: 1px solid var(--aysa-events-border);
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(220px, 0.8fr) minmax(190px, 0.55fr) minmax(0, 1.45fr);
	margin-top: 44px;
	padding-top: 30px;
}

.aysa-seo-events-footer__intro {
	display: grid;
	gap: 10px;
}

.aysa-seo-events-footer__intro > span,
.aysa-seo-events-hero__copy > span,
.aysa-seo-events-section__head > span {
	color: var(--aysa-events-red);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aysa-seo-events-footer h2 {
	color: var(--aysa-events-ink);
	font-size: clamp(22px, 3vw, 34px);
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
}

.aysa-seo-events-footer p,
.aysa-seo-events-section__head p,
.aysa-seo-events-hero p {
	color: var(--aysa-events-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.aysa-seo-events-footer__intro a,
.aysa-seo-event-card a,
.aysa-seo-events-single__cta,
.aysa-seo-events-single__back {
	align-items: center;
	color: var(--aysa-events-ink);
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 8px;
	text-decoration: none;
}

.aysa-seo-events-footer__intro a::after,
.aysa-seo-event-card a::after,
.aysa-seo-events-single__cta::after {
	content: "->";
}

.aysa-seo-events-footer__calendar {
	align-self: stretch;
	background: linear-gradient(135deg, #fff, #f9f7f6);
	border: 1px solid var(--aysa-events-border);
	border-radius: 18px;
	box-shadow: 0 20px 55px rgba(15, 23, 42, 0.06);
	padding: 16px;
}

.aysa-seo-events-footer__calendar-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 14px;
}

.aysa-seo-events-footer__calendar-top span {
	color: var(--aysa-events-muted);
	font-size: 12px;
	font-weight: 700;
}

.aysa-seo-events-footer__calendar-top strong {
	color: var(--aysa-events-ink);
	font-size: 18px;
}

.aysa-seo-events-footer__calendar-grid {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(7, 1fr);
}

.aysa-seo-events-footer__calendar-grid span {
	aspect-ratio: 1;
	background: #f0f0ee;
	border-radius: 999px;
	display: block;
	position: relative;
}

.aysa-seo-events-footer__calendar-grid span.is-active {
	background: #141414;
	box-shadow: inset 0 -12px 18px rgba(225, 25, 55, 0.38);
}

.aysa-seo-events-footer__list {
	display: grid;
	gap: 10px;
}

.aysa-seo-event-card {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--aysa-events-border);
	border-radius: 16px;
	display: grid;
	gap: 14px;
	grid-template-columns: 74px minmax(0, 1fr);
	padding: 14px;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.aysa-seo-event-card:hover {
	border-color: rgba(225, 25, 55, 0.24);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.07);
	transform: translateY(-1px);
}

.aysa-seo-event-card__date {
	align-items: center;
	background: #111;
	border-radius: 14px;
	color: #fff;
	display: grid;
	justify-items: center;
	min-height: 72px;
	padding: 9px;
}

.aysa-seo-event-card__date span,
.aysa-seo-event-card__date small {
	color: rgba(255, 255, 255, 0.7);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aysa-seo-event-card__date strong {
	font-size: 24px;
	line-height: 1;
}

.aysa-seo-event-card__body {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.aysa-seo-event-card__meta {
	color: var(--aysa-events-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	font-weight: 700;
	gap: 6px 10px;
}

.aysa-seo-event-card__meta span + span::before {
	color: var(--aysa-events-red);
	content: "/";
	margin-right: 10px;
}

.aysa-seo-event-card h3 {
	color: var(--aysa-events-ink);
	font-size: 15px;
	line-height: 1.22;
	margin: 0;
}

.aysa-seo-event-card p {
	color: var(--aysa-events-muted);
	font-size: 12px;
	line-height: 1.45;
	margin: 0;
}

.aysa-seo-events-page {
	background: #fff;
	color: var(--aysa-events-ink);
}

.aysa-seo-events-hero,
.aysa-seo-events-section,
.aysa-seo-events-single {
	margin: 0 auto;
	max-width: 1180px;
	padding: 86px 24px;
}

.aysa-seo-events-hero {
	align-items: stretch;
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
}

.aysa-seo-events-hero__copy {
	align-content: center;
	display: grid;
	gap: 16px;
}

.aysa-seo-events-hero h1,
.aysa-seo-events-section__head h2,
.aysa-seo-events-single h1 {
	font-size: clamp(44px, 7vw, 88px);
	letter-spacing: 0;
	line-height: 0.96;
	margin: 0;
}

.aysa-seo-events-hero p {
	font-size: clamp(17px, 2vw, 22px);
	max-width: 760px;
}

.aysa-seo-events-hero__visual {
	background: radial-gradient(circle at 25% 20%, rgba(225, 25, 55, 0.12), transparent 34%), #111;
	border: 1px solid rgba(225, 25, 55, 0.18);
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(15, 23, 42, 0.14);
	min-height: 360px;
	padding: 26px;
}

.aysa-seo-events-hero__calendar {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 22px;
	display: grid;
	gap: 30px;
	height: 100%;
	padding: 24px;
}

.aysa-seo-events-hero__calendar > div:first-child {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.aysa-seo-events-hero__calendar span {
	color: var(--aysa-events-muted);
	font-weight: 800;
}

.aysa-seo-events-hero__calendar strong {
	font-size: 42px;
}

.aysa-seo-events-hero__months {
	align-content: end;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, 1fr);
}

.aysa-seo-events-hero__months span {
	background: var(--aysa-events-soft);
	border: 1px solid var(--aysa-events-border);
	border-radius: 999px;
	color: var(--aysa-events-ink);
	padding: 12px 14px;
}

.aysa-seo-events-section {
	border-top: 1px solid var(--aysa-events-border);
}

.aysa-seo-events-section__head {
	display: grid;
	gap: 12px;
	margin-bottom: 28px;
	max-width: 820px;
}

.aysa-seo-events-section__head h2 {
	font-size: clamp(34px, 5vw, 58px);
}

.aysa-seo-events-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aysa-seo-event-card--archive,
.aysa-seo-event-card--past {
	grid-template-columns: 84px minmax(0, 1fr);
	padding: 18px;
}

.aysa-seo-event-card--archive h3,
.aysa-seo-event-card--past h3 {
	font-size: 18px;
}

.aysa-seo-event-card--archive p,
.aysa-seo-event-card--past p {
	font-size: 14px;
}

.aysa-seo-event-card--past {
	opacity: 0.72;
}

.aysa-seo-events-empty {
	border: 1px dashed var(--aysa-events-border);
	border-radius: 18px;
	color: var(--aysa-events-muted);
	padding: 22px;
}

.aysa-seo-events-single {
	display: grid;
	gap: 26px;
	max-width: 860px;
}

.aysa-seo-events-single__header {
	display: grid;
	gap: 12px;
}

.aysa-seo-events-single__header > span {
	color: var(--aysa-events-red);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.aysa-seo-events-single__content {
	border: 1px solid var(--aysa-events-border);
	border-radius: 22px;
	color: #333;
	font-size: 18px;
	line-height: 1.75;
	padding: 30px;
}

.aysa-seo-events-single__cta {
	background: #111;
	border-radius: 999px;
	color: #fff;
	justify-content: center;
	padding: 15px 20px;
	width: fit-content;
}

@media (max-width: 980px) {
	.aysa-seo-events-footer,
	.aysa-seo-events-hero {
		grid-template-columns: 1fr;
	}

	.aysa-seo-events-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.aysa-seo-events-footer {
		gap: 16px;
		margin-top: 30px;
		padding-top: 24px;
	}

	.aysa-seo-events-footer__calendar {
		display: none;
	}

	.aysa-seo-events-footer h2 {
		font-size: 26px;
	}

	.aysa-seo-event-card,
	.aysa-seo-event-card--archive,
	.aysa-seo-event-card--past {
		grid-template-columns: 62px minmax(0, 1fr);
		padding: 12px;
	}

	.aysa-seo-event-card__date {
		min-height: 62px;
	}

	.aysa-seo-event-card__date strong {
		font-size: 20px;
	}

	.aysa-seo-events-hero,
	.aysa-seo-events-section,
	.aysa-seo-events-single {
		padding: 58px 16px;
	}

	.aysa-seo-events-hero h1 {
		font-size: 44px;
	}

	.aysa-seo-events-hero__visual {
		min-height: 250px;
		padding: 16px;
	}

	.aysa-seo-events-grid {
		grid-template-columns: 1fr;
	}

	.aysa-seo-events-single__content {
		font-size: 16px;
		padding: 22px;
	}
}
