/*
 * CD Mafra SAD — Componentes globais (catálogo de docs/02-design-system.md).
 * GERADO por tools/concat-css.php a partir de assets/css/components/*.css — não editar aqui.
 */
@layer components {
/* ==== btn ==== */
.cdm-btn {
	--_bg: transparent;
	--_fg: var(--cdm-fg);
	--_bd: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--cdm-sp-2);
	min-block-size: var(--cdm-touch-target);
	padding: var(--cdm-sp-2) var(--cdm-sp-5);
	border: var(--cdm-border-w-strong) solid var(--_bd);
	border-radius: var(--cdm-radius);
	font-family: var(--cdm-font-display);
	font-size: var(--cdm-fs-md);
	font-weight: var(--cdm-fw-display);
	line-height: var(--cdm-lh-snug);
	letter-spacing: var(--cdm-ls-caps);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--_fg);
	background: var(--_bg);
	cursor: pointer;
	transition: background-color var(--cdm-dur-fast) var(--cdm-ease), color var(--cdm-dur-fast) var(--cdm-ease), border-color var(--cdm-dur-fast) var(--cdm-ease);
}
.cdm-btn:hover {
	color: var(--_fg);
}
.cdm-btn--primary {
	--_bg: var(--cdm-accent);
	--_fg: var(--cdm-on-accent);
}
.cdm-btn--primary:hover {
	--_bg: var(--cdm-accent-hover);
}
.cdm-btn--secondary {
	--_bg: var(--cdm-solid);
	--_fg: var(--cdm-on-solid);
}
.cdm-btn--secondary:hover {
	--_bg: var(--cdm-solid-hover);
}
.cdm-btn--ghost {
	--_bd: currentColor;
	--_fg: var(--cdm-fg);
}
.cdm-btn--ghost:hover {
	--_bg: var(--cdm-fg);
	--_fg: var(--cdm-bg);
	--_bd: var(--cdm-fg);
}
.cdm-btn--link {
	--_fg: var(--cdm-link);
	padding-inline: 0;
	border-width: 0;
}
.cdm-btn--link:hover {
	--_fg: var(--cdm-link-hover);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.cdm-btn--sm {
	padding-inline: var(--cdm-sp-3);
	font-size: var(--cdm-fs-sm);
}
.cdm-btn--lg {
	min-block-size: calc(var(--cdm-touch-target) + var(--cdm-sp-2));
	padding-inline: var(--cdm-sp-8);
	font-size: var(--cdm-fs-lg);
}
.cdm-btn--icon {
	inline-size: var(--cdm-touch-target);
	padding: 0;
}
.cdm-btn--block {
	inline-size: 100%;
}
@media (min-width: 40em) {
	.cdm-btn--block {
		inline-size: auto;
	}
}
.cdm-btn .cdm-icon {
	inline-size: 1.15em;
	block-size: 1.15em;
	vertical-align: 0;
}
.cdm-btn:is([disabled], [aria-disabled="true"]) {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}
.cdm-btn[aria-busy="true"] {
	cursor: progress;
}
.cdm-btn[aria-busy="true"]::before {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	border: var(--cdm-border-w-strong) solid currentColor;
	border-inline-end-color: transparent;
	border-radius: var(--cdm-radius-pill);
	animation: cdm-spin calc(var(--cdm-dur-slow) * 2) linear infinite;
}
@keyframes cdm-spin {
	to {
		transform: rotate(1turn);
	}
}
/* ==== badge ==== */
.cdm-badge {
	--_bg: var(--cdm-solid);
	--_fg: var(--cdm-on-solid);
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--cdm-sp-2);
	padding: var(--cdm-sp-1) var(--cdm-sp-3);
	border: var(--cdm-border-w) solid var(--_bd, var(--_bg));
	border-radius: var(--cdm-radius-pill);
	font-size: var(--cdm-fs-xs);
	font-weight: var(--cdm-fw-bold);
	line-height: var(--cdm-lh-snug);
	letter-spacing: var(--cdm-ls-caps);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--_fg);
	background: var(--_bg);
	transition: background-color var(--cdm-dur-fast) var(--cdm-ease);
}
.cdm-badge--accent,
.cdm-badge--live {
	--_bg: var(--cdm-accent);
	--_fg: var(--cdm-on-accent);
}
.cdm-badge--outline {
	--_bg: transparent;
	--_fg: var(--cdm-fg);
	--_bd: currentColor;
}
.cdm-badge--live::before {
	content: "";
	flex-shrink: 0;
	inline-size: 0.5em;
	block-size: 0.5em;
	border-radius: var(--cdm-radius-pill);
	background: currentColor;
	animation: cdm-pulse calc(var(--cdm-dur-slow) * 4) ease-in-out infinite;
}
@keyframes cdm-pulse {
	50% {
		opacity: 0.25;
	}
}
a.cdm-badge:hover {
	--_bg: var(--cdm-solid-hover);
}
a.cdm-badge--accent:hover,
a.cdm-badge--live:hover {
	--_bg: var(--cdm-accent-hover);
}
a.cdm-badge--outline:hover {
	--_bg: var(--cdm-bg-alt);
}
a.cdm-badge::after {
	content: "";
	position: absolute;
	inset: 50% 0 auto;
	min-block-size: var(--cdm-touch-target);
	transform: translateY(-50%);
}
/* ==== section-header ==== */
.cdm-section-header {
	display: grid;
	gap: var(--cdm-sp-2);
	margin-block-end: var(--cdm-sp-8);
}
.cdm-section-header :is(h2, h3) {
	margin: 0;
}
.cdm-section-header__lead {
	max-inline-size: var(--cdm-content-measure);
	font-size: var(--cdm-fs-md);
	color: var(--cdm-fg-muted);
}
.cdm-section-header--row {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: var(--cdm-sp-4);
}
.cdm-section-header--row > div {
	display: grid;
	gap: var(--cdm-sp-2);
}
.cdm-section-header--center {
	justify-items: center;
	text-align: center;
}
.cdm-section-header--center .cdm-section-header__lead {
	margin-inline: auto;
}
/* ==== hero ==== */
.cdm-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	align-items: end;
	min-block-size: var(--cdm-hero-min-page);
	overflow: hidden;
}
.cdm-hero__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	object-fit: cover;
}
.cdm-hero:has(.cdm-hero__media)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, var(--cdm-overlay-strong), var(--cdm-overlay) 60%, var(--cdm-overlay));
}
.cdm-hero__inner {
	position: relative;
	display: grid;
	justify-items: start;
	gap: var(--cdm-sp-4);
}
.cdm-hero__title {
	max-inline-size: 22ch;
	margin: 0;
	font-size: var(--cdm-fs-4xl);
}
.cdm-hero__lead {
	max-inline-size: var(--cdm-content-measure);
	margin: 0;
	font-size: var(--cdm-fs-lg);
	color: var(--cdm-fg-muted);
}
.cdm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cdm-sp-3);
	margin-block-start: var(--cdm-sp-2);
}
.cdm-hero--home {
	min-block-size: var(--cdm-hero-min-home);
}
.cdm-hero--home .cdm-hero__title {
	max-inline-size: 16ch;
	font-size: var(--cdm-fs-display);
	font-weight: var(--cdm-fw-display-heavy);
}
.cdm-hero__aside {
	inline-size: 100%;
}
@media (min-width: 64em) {
	.cdm-hero--home .cdm-hero__inner:has(.cdm-hero__aside) {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		align-items: end;
		column-gap: var(--cdm-sp-12);
	}
	.cdm-hero__aside {
		grid-column: 2;
		grid-row: 1 / span 4;
		align-self: end;
	}
}
.cdm-hero--compact {
	min-block-size: var(--cdm-hero-min-compact);
	padding-block: var(--cdm-section-y-sm);
}
.cdm-hero--compact .cdm-hero__title {
	font-size: var(--cdm-fs-3xl);
}
/* ==== card ==== */
.cdm-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-inline-size: 0;
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius);
	overflow: hidden;
	color: var(--cdm-fg);
	background: var(--cdm-bg);
	box-shadow: var(--cdm-elevation);
	transition: box-shadow var(--cdm-dur-fast) var(--cdm-ease), border-color var(--cdm-dur-fast) var(--cdm-ease);
}
.cdm-card:hover {
	border-color: var(--cdm-control-border);
	box-shadow: var(--cdm-elevation-hover);
}
.cdm-card__media {
	aspect-ratio: var(--cdm-ratio-card);
	overflow: hidden;
	background: var(--cdm-bg-alt);
}
.cdm-card__img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform var(--cdm-dur-slow) var(--cdm-ease-out);
}
.cdm-card:hover .cdm-card__img {
	transform: scale(1.04);
}
.cdm-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--cdm-sp-2);
	padding: var(--cdm-sp-5);
}
.cdm-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--cdm-sp-2);
	margin: 0;
	font-size: var(--cdm-fs-sm);
	color: var(--cdm-fg-muted);
}
.cdm-card__title {
	margin: 0;
	font-size: var(--cdm-fs-xl);
}
.cdm-card__title a {
	color: var(--cdm-heading);
	text-decoration: none;
}
.cdm-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.cdm-card__title a:hover {
	text-decoration: underline;
	text-decoration-thickness: var(--cdm-border-w-strong);
}
.cdm-card :is(.cdm-btn, a.cdm-badge, .cdm-card__actions) {
	position: relative;
	z-index: 1;
}
@supports selector(:has(*)) {
	.cdm-card__title a:focus-visible {
		box-shadow: none;
	}
	.cdm-card:has(.cdm-card__title a:focus-visible) {
		box-shadow: var(--cdm-focus-ring);
	}
}
.cdm-card__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--cdm-fg-muted);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
.cdm-card--featured {
	grid-column: 1 / -1;
}
.cdm-card--featured .cdm-card__media {
	aspect-ratio: var(--cdm-ratio-wide);
}
.cdm-card--featured .cdm-card__title {
	font-size: var(--cdm-fs-2xl);
}
@media (min-width: 48em) {
	.cdm-card--featured {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	}
	.cdm-card--featured .cdm-card__media {
		aspect-ratio: auto;
		min-block-size: 100%;
	}
	.cdm-card--featured .cdm-card__body {
		justify-content: center;
		padding: var(--cdm-sp-8);
	}
}
.cdm-news--rows {
	display: grid;
	gap: var(--cdm-sp-4);
}
.cdm-card--row {
	flex-direction: row;
}
.cdm-card--row .cdm-card__media {
	flex: 0 0 35%;
	align-self: stretch;
}
.cdm-card--row .cdm-card__body {
	padding: var(--cdm-sp-3) var(--cdm-sp-4);
}
.cdm-card--row .cdm-card__title {
	font-size: var(--cdm-fs-lg);
}
.cdm-card--row .cdm-card__excerpt {
	display: none;
}
@media (min-width: 48em) {
	.cdm-card--row .cdm-card__media {
		flex-basis: 30%;
	}
	.cdm-card--row .cdm-card__body {
		justify-content: center;
		padding: var(--cdm-sp-5) var(--cdm-sp-6);
	}
	.cdm-card--row .cdm-card__excerpt {
		display: -webkit-box;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
}
/* ==== sponsors ==== */
.cdm-sponsors {
	--cdm-sponsors-cols: 2;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-sponsors__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 0;
	min-block-size: var(--cdm-touch-target);
	padding: var(--cdm-sp-2) var(--cdm-sp-4);
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius);
	background: var(--cdm-logo-plate, var(--cdm-white));
}
.cdm-sponsors__item > a {
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 100%;
	min-block-size: var(--cdm-touch-target);
	text-decoration: none;
	border-radius: var(--cdm-radius-sm);
}
.cdm-sponsors__logo {
	inline-size: auto;
	max-inline-size: 100%;
	block-size: var(--cdm-sponsor-h);
	object-fit: contain;
	opacity: 0.8;
	transition: opacity var(--cdm-dur) var(--cdm-ease);
}
.cdm-sponsors a:is(:hover, :focus-visible) .cdm-sponsors__logo {
	opacity: 1;
}
.cdm-sponsors__name {
	font-family: var(--cdm-font-display);
	font-size: var(--cdm-fs-lg);
	font-weight: var(--cdm-fw-display);
	line-height: var(--cdm-lh-snug);
	text-align: center;
	text-transform: uppercase;
	color: var(--cdm-on-plate, var(--cdm-on-accent));
}
.cdm-sponsors--strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--cdm-sp-3) var(--cdm-sp-4);
}
.cdm-sponsors__item--principal .cdm-sponsors__logo {
	block-size: var(--cdm-sponsor-h-main);
}
.cdm-sponsors--grid {
	display: grid;
	grid-template-columns: repeat(var(--cdm-sponsors-cols), minmax(0, 1fr));
	gap: var(--cdm-grid-gap);
}
.cdm-sponsors--grid .cdm-sponsors__item {
	padding: var(--cdm-sp-4);
}
.cdm-sponsors--tier-principal {
	--cdm-sponsors-cols: 1;
}
.cdm-sponsors--tier-principal .cdm-sponsors__logo {
	block-size: var(--cdm-sponsor-h-main);
}
.cdm-sponsors--tier-parceiro .cdm-sponsors__logo {
	block-size: calc(var(--cdm-sponsor-h) * 0.75);
}
.cdm-sponsors__group + .cdm-sponsors__group {
	margin-block-start: var(--cdm-sp-10);
}
.cdm-sponsors__title {
	margin-block-end: var(--cdm-sp-4);
	font-size: var(--cdm-fs-lg);
	letter-spacing: var(--cdm-ls-caps);
	text-transform: uppercase;
	color: var(--cdm-fg-muted);
}
@media (min-width: 40em) {
	.cdm-sponsors--grid {
		--cdm-sponsors-cols: 3;
	}
}
@media (min-width: 48em) {
	.cdm-sponsors--tier-principal {
		--cdm-sponsors-cols: 2;
	}
}
@media (min-width: 64em) {
	.cdm-sponsors--grid:not(.cdm-sponsors--tier-principal) {
		--cdm-sponsors-cols: 4;
	}
}
@media (min-width: 80em) {
	.cdm-sponsors--grid:not(.cdm-sponsors--tier-principal) {
		--cdm-sponsors-cols: 6;
	}
}
/* ==== breadcrumbs ==== */
.cdm-breadcrumbs {
	font-size: var(--cdm-fs-sm);
	color: var(--cdm-fg-muted);
}
.cdm-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	min-inline-size: 0;
	overflow-wrap: anywhere;
}
.cdm-breadcrumbs__item + .cdm-breadcrumbs__item::before {
	content: "/" / "";
	padding-inline: var(--cdm-sp-2);
}
.cdm-breadcrumbs__item a {
	padding-block: var(--cdm-sp-3);
	text-decoration: none;
	color: var(--cdm-fg-muted);
}
.cdm-breadcrumbs__item a:hover {
	color: var(--cdm-link-hover);
	text-decoration: underline;
}
.cdm-breadcrumbs__item[aria-current="page"] {
	font-weight: var(--cdm-fw-medium);
	color: var(--cdm-fg);
}
/* ==== lang ==== */
.cdm-lang__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-lang__link {
	display: flex;
	align-items: center;
	min-block-size: var(--cdm-touch-target);
	text-decoration: none;
	color: var(--cdm-fg);
}
.cdm-lang__link[aria-current="true"] {
	font-weight: var(--cdm-fw-bold);
}
.cdm-lang--header .cdm-lang__menu {
	position: relative;
}
.cdm-lang__toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--cdm-sp-2);
	min-block-size: var(--cdm-touch-target);
	padding-inline: var(--cdm-sp-3);
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius);
	font-weight: var(--cdm-fw-bold);
	letter-spacing: var(--cdm-ls-caps);
	list-style: none;
	cursor: pointer;
	color: var(--cdm-fg);
}
.cdm-lang__toggle::-webkit-details-marker {
	display: none;
}
.cdm-lang__toggle::after {
	content: "";
	inline-size: 0.4em;
	block-size: 0.4em;
	border-inline-end: var(--cdm-border-w-strong) solid currentColor;
	border-block-end: var(--cdm-border-w-strong) solid currentColor;
	transform: translateY(-25%) rotate(45deg);
	transition: transform var(--cdm-dur-fast) var(--cdm-ease);
}
.cdm-lang__menu[open] > .cdm-lang__toggle::after {
	transform: translateY(25%) rotate(-135deg);
}
.cdm-lang--header .cdm-lang__list {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-end: 0;
	z-index: var(--cdm-z-drawer);
	min-inline-size: var(--cdm-dropdown-w);
	margin-block-start: var(--cdm-sp-1);
	padding: var(--cdm-sp-2);
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius);
	background: var(--cdm-bg);
	box-shadow: var(--cdm-shadow-lg);
}
.cdm-lang--header .cdm-lang__link {
	padding-inline: var(--cdm-sp-3);
	border-inline-start: var(--cdm-accent-bar) solid transparent;
	border-radius: var(--cdm-radius-sm);
}
.cdm-lang--header .cdm-lang__link:hover {
	background: var(--cdm-bg-alt);
}
.cdm-lang--header .cdm-lang__link[aria-current="true"] {
	border-inline-start-color: var(--cdm-accent);
}
.cdm-lang--footer .cdm-lang__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.cdm-lang--footer .cdm-lang__item {
	display: flex;
	align-items: center;
}
.cdm-lang--footer .cdm-lang__item + .cdm-lang__item::before {
	content: "·" / "";
	color: var(--cdm-fg-muted);
}
.cdm-lang--footer .cdm-lang__link {
	padding-inline: var(--cdm-sp-2);
	font-size: var(--cdm-fs-sm);
	color: var(--cdm-fg-muted);
}
.cdm-lang--footer .cdm-lang__link:hover {
	color: var(--cdm-link-hover);
}
.cdm-lang--footer .cdm-lang__link[aria-current="true"] {
	color: var(--cdm-fg);
	text-decoration: underline;
	text-decoration-thickness: var(--cdm-border-w-strong);
	text-decoration-color: var(--cdm-accent);
	text-underline-offset: var(--cdm-sp-1);
}
/* ==== header ==== */
.cdm-header {
	position: sticky;
	inset-block-start: 0;
	z-index: var(--cdm-z-header);
	color: var(--cdm-fg);
	background: var(--cdm-bg);
	border-block-end: var(--cdm-border-w) solid var(--cdm-border);
	transition: background-color var(--cdm-dur) var(--cdm-ease), box-shadow var(--cdm-dur) var(--cdm-ease);
}
.cdm-header.is-scrolled {
	box-shadow: var(--cdm-shadow);
}
.cdm-header__inner {
	display: flex;
	align-items: center;
	gap: var(--cdm-sp-3);
	min-block-size: var(--cdm-header-h);
}
.cdm-header__logo {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	min-block-size: var(--cdm-touch-target);
	margin-inline-end: auto;
}
.cdm-header__logo img {
	inline-size: auto;
	block-size: var(--cdm-logo-h);
}
.cdm-header__actions {
	display: flex;
	align-items: center;
	gap: var(--cdm-sp-2);
}
.cdm-header__toggle {
	display: inline-grid;
	place-items: center;
	inline-size: var(--cdm-touch-target);
	block-size: var(--cdm-touch-target);
	padding: 0;
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius);
	color: var(--cdm-fg);
	background: transparent;
}
.cdm-header__toggle .cdm-icon {
	inline-size: 1.5em;
	block-size: 1.5em;
	vertical-align: 0;
}
.cdm-header__toggle[aria-expanded="true"] {
	border-color: var(--cdm-accent);
}
@media (max-width: 39.99em) {
	.cdm-header__actions .cdm-lang {
		display: none;
	}
	.cdm-header__cta {
		padding-inline: var(--cdm-sp-3);
		font-size: var(--cdm-fs-sm);
	}
}
.cdm-nav__list,
.cdm-nav .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-nav a {
	display: flex;
	align-items: center;
	min-block-size: var(--cdm-touch-target);
	font-family: var(--cdm-font-display);
	font-weight: var(--cdm-fw-display);
	letter-spacing: var(--cdm-ls-caps);
	text-decoration: none;
	text-transform: uppercase;
	color: var(--cdm-fg);
}
.cdm-nav a:hover,
.cdm-nav a[aria-current="page"] {
	color: var(--cdm-link);
}
@media (max-width: 63.99em) {
	.cdm-nav {
		order: 10;
		flex-basis: 100%;
	}
	.cdm-header__inner {
		flex-wrap: wrap;
	}
	.cdm-js .cdm-nav {
		position: fixed;
		inset: var(--cdm-header-h) 0 0;
		z-index: var(--cdm-z-drawer);
		padding: var(--cdm-sp-4) var(--cdm-gutter) var(--cdm-sp-12);
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--cdm-bg);
		visibility: hidden;
		opacity: 0;
		transform: translateY(calc(var(--cdm-sp-4) * -1));
		transition: opacity var(--cdm-dur) var(--cdm-ease), transform var(--cdm-dur) var(--cdm-ease), visibility 0s linear var(--cdm-dur);
	}
	.cdm-js .cdm-nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity var(--cdm-dur) var(--cdm-ease), transform var(--cdm-dur) var(--cdm-ease), visibility 0s;
	}
	.cdm-nav__list > li {
		border-block-end: var(--cdm-border-w) solid var(--cdm-border);
	}
	.cdm-nav__list > li > a {
		min-block-size: calc(var(--cdm-touch-target) + var(--cdm-sp-2));
		font-size: var(--cdm-fs-xl);
	}
	.cdm-nav .sub-menu {
		padding-block-end: var(--cdm-sp-3);
		padding-inline-start: var(--cdm-sp-4);
	}
	.cdm-nav .sub-menu a {
		font-family: var(--cdm-font-body);
		font-size: var(--cdm-fs-md);
		font-weight: var(--cdm-fw-medium);
		letter-spacing: 0;
		text-transform: none;
	}
}
@media (min-width: 64em) {
	.cdm-header__inner {
		min-block-size: var(--cdm-header-h-lg);
		gap: var(--cdm-sp-6);
	}
	.cdm-header__logo {
		margin-inline-end: 0;
	}
	.cdm-header__toggle {
		display: none;
	}
	.cdm-nav {
		margin-inline-end: auto;
	}
	.cdm-nav__list {
		display: flex;
		align-items: center;
		gap: var(--cdm-sp-1);
	}
	.cdm-nav__list > li {
		position: relative;
	}
	.cdm-nav__list > li > a {
		padding-inline: var(--cdm-sp-3);
		font-size: var(--cdm-fs-md);
		border-radius: var(--cdm-radius-sm);
	}
	.cdm-nav .menu-item-has-children > a::after {
		content: "";
		inline-size: 0.4em;
		block-size: 0.4em;
		margin-inline-start: var(--cdm-sp-2);
		border-inline-end: var(--cdm-border-w-strong) solid currentColor;
		border-block-end: var(--cdm-border-w-strong) solid currentColor;
		transform: translateY(-25%) rotate(45deg);
	}
	.cdm-nav .sub-menu {
		position: absolute;
		inset-block-start: 100%;
		inset-inline-start: 0;
		z-index: var(--cdm-z-drawer);
		min-inline-size: var(--cdm-dropdown-w);
		padding: var(--cdm-sp-2);
		border: var(--cdm-border-w) solid var(--cdm-border);
		border-radius: var(--cdm-radius);
		background: var(--cdm-bg);
		box-shadow: var(--cdm-shadow-lg);
		visibility: hidden;
		opacity: 0;
		transform: translateY(var(--cdm-sp-1));
		transition: opacity var(--cdm-dur-fast) var(--cdm-ease), transform var(--cdm-dur-fast) var(--cdm-ease), visibility 0s linear var(--cdm-dur-fast);
	}
	.cdm-nav .menu-item-has-children:is(:hover, :focus-within):not(.is-closed) > .sub-menu {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity var(--cdm-dur-fast) var(--cdm-ease), transform var(--cdm-dur-fast) var(--cdm-ease), visibility 0s;
	}
	.cdm-nav .sub-menu a {
		padding-inline: var(--cdm-sp-3);
		font-family: var(--cdm-font-body);
		font-size: var(--cdm-fs-sm);
		font-weight: var(--cdm-fw-medium);
		letter-spacing: 0;
		text-transform: none;
		white-space: nowrap;
		border-radius: var(--cdm-radius-sm);
	}
	.cdm-nav .sub-menu a:hover {
		background: var(--cdm-bg-alt);
	}
}
.cdm-header--transparent:not(.is-scrolled) {
	--cdm-bg: transparent;
	border-block-end-color: transparent;
}
.cdm-header--landing .cdm-header__inner {
	justify-content: space-between;
}
.cdm-lock,
.cdm-lock body {
	overflow: hidden;
}
/* ==== footer ==== */
.cdm-footer__sponsors {
	margin-block-end: var(--cdm-sp-8);
	padding-block-end: var(--cdm-sp-8);
	border-block-end: var(--cdm-border-w) solid var(--cdm-border);
}
.cdm-footer__grid {
	row-gap: var(--cdm-sp-8);
}
.cdm-footer__emblem {
	inline-size: auto;
	block-size: var(--cdm-sponsor-h-main);
}
.cdm-footer__motto {
	margin: var(--cdm-sp-3) 0 0;
	font-family: var(--cdm-font-display);
	font-size: var(--cdm-fs-lg);
	font-weight: var(--cdm-fw-display);
	letter-spacing: var(--cdm-ls-caps);
	text-transform: uppercase;
	color: var(--cdm-heading);
}
.cdm-footer__title {
	margin: 0 0 var(--cdm-sp-3);
	font-size: var(--cdm-fs-md);
	letter-spacing: var(--cdm-ls-caps);
	text-transform: uppercase;
}
.cdm-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-footer__list a {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--cdm-touch-target);
	text-decoration: none;
	color: var(--cdm-fg-muted);
}
.cdm-footer__list a:hover {
	color: var(--cdm-link-hover);
}
.cdm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--cdm-sp-4);
	margin-block-start: var(--cdm-sp-8);
	padding-block-start: var(--cdm-sp-6);
	border-block-start: var(--cdm-border-w) solid var(--cdm-border);
	font-size: var(--cdm-fs-sm);
}
.cdm-footer__legal {
	margin: 0;
	color: var(--cdm-fg-muted);
}
.cdm-footer--landing .cdm-footer__bottom {
	justify-content: center;
	margin-block-start: 0;
	padding-block-start: 0;
	border-block-start: 0;
	text-align: center;
}
.cdm-social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cdm-sp-2);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-social__link {
	display: inline-grid;
	place-items: center;
	inline-size: var(--cdm-touch-target);
	block-size: var(--cdm-touch-target);
	border: var(--cdm-border-w) solid transparent;
	border-radius: var(--cdm-radius-pill);
	color: var(--cdm-fg);
	transition: color var(--cdm-dur-fast) var(--cdm-ease), border-color var(--cdm-dur-fast) var(--cdm-ease);
}
.cdm-social__link:hover {
	color: var(--cdm-link-hover);
}
.cdm-social--footer .cdm-social__link {
	border-color: var(--cdm-control-border);
}
.cdm-social--footer .cdm-social__link:hover {
	border-color: var(--cdm-link-hover);
}
.cdm-contacts {
	font-style: normal;
}
.cdm-contacts__address {
	margin: 0 0 var(--cdm-sp-3);
	color: var(--cdm-fg-muted);
}
.cdm-contacts__list {
	display: grid;
	gap: var(--cdm-sp-1);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-contacts__item {
	display: flex;
	align-items: center;
	gap: var(--cdm-sp-3);
}
.cdm-contacts__item .cdm-icon {
	color: var(--cdm-link);
}
.cdm-contacts__item a {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--cdm-touch-target);
	overflow-wrap: anywhere;
	text-decoration: none;
	color: var(--cdm-fg);
}
.cdm-contacts__item a:hover {
	color: var(--cdm-link-hover);
	text-decoration: underline;
}
.cdm-contacts--page {
	font-size: var(--cdm-fs-lg);
}
.cdm-contacts--page .cdm-contacts__address {
	margin-block-end: var(--cdm-sp-6);
	color: var(--cdm-fg);
}
.cdm-contacts--page .cdm-contacts__list {
	gap: var(--cdm-sp-3);
}
/* ==== cookies ==== */
.cdm-cookies {
	position: fixed;
	inset-inline: 0;
	inset-block-end: 0;
	z-index: var(--cdm-z-toast);
	color: var(--cdm-fg);
	background: var(--cdm-bg);
	border-block-start: var(--cdm-border-w) solid var(--cdm-border);
	box-shadow: var(--cdm-shadow-lg);
}
.cdm-cookies[hidden] {
	display: none;
}
.cdm-cookies__inner {
	display: grid;
	gap: var(--cdm-sp-4);
	max-inline-size: var(--cdm-container);
	margin-inline: auto;
	padding: var(--cdm-sp-5) var(--cdm-gutter);
}
.cdm-cookies__title {
	margin: 0;
	font-size: var(--cdm-fs-xl);
	color: var(--cdm-heading);
}
.cdm-cookies__text {
	margin: 0;
	font-size: var(--cdm-fs-sm);
}
.cdm-cookies__text a {
	color: var(--cdm-link);
}
.cdm-cookies__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--cdm-sp-3);
}
@media (min-width: 48em) {
	.cdm-cookies__inner {
		grid-template-columns: 1fr auto;
		align-items: center;
		column-gap: var(--cdm-sp-8);
	}
	.cdm-cookies__title {
		grid-column: 1;
	}
	.cdm-cookies__text {
		grid-column: 1;
		max-inline-size: var(--cdm-content-measure);
	}
	.cdm-cookies__actions {
		grid-column: 2;
		grid-row: 1 / span 2;
		grid-template-columns: auto auto;
	}
}
/* ==== blocks ==== */
.cdm-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--cdm-sp-6);
}
.cdm-cta__text {
	min-inline-size: 0;
}
.cdm-cta__title {
	margin: 0;
	font-size: var(--cdm-fs-2xl);
}
.cdm-cta__lead {
	max-inline-size: var(--cdm-content-measure);
	margin-block: var(--cdm-sp-2) 0;
	color: var(--cdm-fg-muted);
}
.cdm-tickets {
	display: grid;
	justify-items: start;
	gap: var(--cdm-sp-3);
	padding: var(--cdm-sp-6) var(--cdm-sp-5);
	border: var(--cdm-border-w) solid var(--cdm-border);
	border-radius: var(--cdm-radius-lg);
	background: var(--cdm-bg-alt);
}
.cdm-tickets > p {
	margin: 0;
}
.cdm-tickets__label {
	font-size: var(--cdm-fs-xs);
	font-weight: var(--cdm-fw-bold);
	letter-spacing: var(--cdm-ls-caps);
	text-transform: uppercase;
	color: var(--cdm-fg-muted);
}
.cdm-tickets__match {
	font-family: var(--cdm-font-display);
	font-size: var(--cdm-fs-2xl);
	font-weight: var(--cdm-fw-display);
	line-height: var(--cdm-lh-tight);
	text-transform: uppercase;
	color: var(--cdm-heading);
}
.cdm-instagram__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--cdm-grid-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cdm-instagram__item a {
	display: block;
	min-block-size: var(--cdm-touch-target);
	aspect-ratio: var(--cdm-ratio-square);
	overflow: hidden;
	border-radius: var(--cdm-radius);
}
.cdm-instagram__item img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform var(--cdm-dur) var(--cdm-ease);
}
.cdm-instagram__item a:is(:hover, :focus-visible) img {
	transform: scale(1.04);
}
.cdm-instagram__follow {
	margin-block: var(--cdm-sp-6) 0;
	text-align: center;
}
@media (min-width: 48em) {
	.cdm-cta__inner {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.cdm-cta__text {
		flex: 1 1 var(--cdm-content-measure);
	}
	.cdm-tickets {
		grid-template-columns: minmax(0, 1fr) auto;
		align-content: center;
		align-items: center;
		justify-items: stretch;
		padding: var(--cdm-sp-8);
	}
	.cdm-tickets > .cdm-btn {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
	.cdm-instagram__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
/* ==== states ==== */
.cdm-empty {
	padding: var(--cdm-sp-8) var(--cdm-sp-4);
	border: var(--cdm-border-w-strong) dashed var(--cdm-border);
	border-radius: var(--cdm-radius);
	text-align: center;
	color: var(--cdm-fg-muted);
}
.cdm-empty > :first-child {
	margin-block-start: 0;
}
.cdm-empty > :last-child {
	margin-block-end: 0;
}
.cdm-skeleton {
	display: block;
	border-radius: var(--cdm-radius);
	background: linear-gradient(90deg, var(--cdm-bg-alt) 25%, var(--cdm-border) 50%, var(--cdm-bg-alt) 75%) 0 0 / 200% 100%;
	animation: cdm-shimmer calc(var(--cdm-dur-slow) * 4) linear infinite;
}
.cdm-skeleton--text {
	block-size: 1em;
	margin-block-end: var(--cdm-sp-2);
	border-radius: var(--cdm-radius-sm);
}
.cdm-skeleton--text:last-child {
	inline-size: 60%;
	margin-block-end: 0;
}
.cdm-skeleton--media {
	inline-size: 100%;
	aspect-ratio: var(--cdm-ratio-card);
}
@keyframes cdm-shimmer {
	to {
		background-position-x: -200%;
	}
}
[aria-busy="true"] {
	cursor: progress;
}
.cdm-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--cdm-sp-4);
}
}
