:root {
	--mb-card-bg: rgba(255, 255, 255, 0.92);
	--mb-card-border: rgba(17, 17, 17, 0.10);
	--mb-ink: rgba(17, 17, 17, 1);
	--mb-ink-soft: rgba(17, 17, 17, 0.72);
}

.mb-cartoons__header {
	margin-bottom: 16px;
}

.mb-cartoons__lead {
	margin: 8px 0 0;
	color: var(--mb-ink-soft);
	font-weight: 700;
}

.mb-season-nav {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 18px 0;
}

.mb-season-tabs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.mb-season-tab {
	appearance: none;
	border: 2px solid var(--mb-card-border);
	background: rgba(255, 255, 255, 0.70);
	border-radius: 999px;
	padding: 10px 14px;
	font-weight: 900;
	cursor: pointer;
}

.mb-season-tab.is-active {
	background: rgba(6, 137, 133, 0.10);
	border-color: rgba(6, 137, 133, 0.22);
}

.mb-season-select select {
	border: 2px solid var(--mb-card-border);
	border-radius: 16px;
	padding: 10px 12px;
	font-weight: 800;
	background: rgba(255, 255, 255, 0.90);
}

@media (min-width: 761px) {
	.mb-season-select {
		display: none;
	}
}

@media (max-width: 760px) {
	.mb-season-tabs {
		display: none;
	}
}

.mb-season-panel {
	display: none;
}

.mb-season-panel.is-active {
	display: block;
}

.mb-season-panel__title {
	margin: 10px 0 14px;
	font-size: 22px;
	font-weight: 900;
}

.mb-episode-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

@media (max-width: 1100px) {
	.mb-episode-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.mb-episode-grid {
		grid-template-columns: 1fr;
	}
}

.mb-episode-card {
	display: block;
	text-decoration: none;
	color: inherit;
	padding: 14px;
	border-radius: 28px;
	background: var(--mb-card-bg);
	border: 2px solid var(--mb-card-border);
	box-shadow: 0 14px 0 rgba(255, 128, 0, 0.10), 0 28px 60px rgba(0, 0, 0, 0.06);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mb-episode-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 0 rgba(6, 137, 133, 0.12), 0 34px 70px rgba(0, 0, 0, 0.08);
}

.mb-episode-card__thumb {
	position: relative;
	display: block;
	border-radius: 22px;
	overflow: hidden;
	border: 2px solid var(--mb-card-border);
	background: rgba(6, 137, 133, 0.08);
	aspect-ratio: 16 / 9;
}

.mb-episode-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mb-episode-card__play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 50% 55%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.25));
}

.mb-episode-card__play::before {
	content: '';
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 10px 0 rgba(0, 0, 0, 0.08);
}

.mb-episode-card__play::after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-left: 16px solid rgba(17, 17, 17, 0.92);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	transform: translateX(3px);
}

.mb-episode-card__body {
	display: block;
	margin-top: 12px;
}

.mb-episode-card__meta {
	display: block;
	font-weight: 900;
	color: rgba(6, 137, 133, 0.90);
}

.mb-episode-card__title {
	display: block;
	margin-top: 6px;
	font-size: 18px;
	font-weight: 900;
	color: var(--mb-ink);
}

.mb-episode-card__desc {
	display: block;
	margin-top: 6px;
	color: var(--mb-ink-soft);
	font-weight: 700;
}

/* YouTube component */
.mb-yt {
	border-radius: 28px;
	overflow: hidden;
	border: 2px solid var(--mb-card-border);
	background: rgba(6, 137, 133, 0.08);
	box-shadow: 0 16px 0 rgba(6, 137, 133, 0.10), 0 34px 70px rgba(0, 0, 0, 0.06);
	margin: 18px 0;
}

.mb-yt__btn {
	all: unset;
	display: block;
	width: 100%;
	cursor: pointer;
	position: relative;
	aspect-ratio: 16 / 9;
}

.mb-yt__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(1.02) contrast(1.02);
}

.mb-yt__play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: radial-gradient(circle at 50% 55%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.38));
}

.mb-yt__play::before {
	content: '';
	width: 78px;
	height: 56px;
	border-radius: 16px;
	background: rgba(255, 0, 0, 0.86);
	box-shadow: 0 12px 0 rgba(0, 0, 0, 0.10);
}

.mb-yt__play::after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-left: 18px solid rgba(255, 255, 255, 0.96);
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	transform: translateX(2px);
}

.mb-yt__iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* Episode nav */
.mb-episode-nav-wrap {
	margin-top: 22px;
	padding-top: 14px;
	border-top: 2px dashed rgba(17, 17, 17, 0.12);
}

.mb-episode-nav-title {
	margin: 0 0 12px;
	font-weight: 900;
	font-size: 22px;
}

.mb-episode-picker {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 14px;
}

.mb-episode-picker label {
	display: flex;
	gap: 8px;
	align-items: center;
	font-weight: 900;
}

.mb-episode-picker select {
	border: 2px solid var(--mb-card-border);
	border-radius: 14px;
	padding: 8px 10px;
	font-weight: 800;
	background: rgba(255, 255, 255, 0.90);
}

.mb-episode-deck {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 760px) {
	.mb-episode-deck {
		grid-template-columns: 1fr;
	}
}

.mb-episode-nav-card {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 12px;
	align-items: center;
	padding: 14px;
	border-radius: 28px;
	background: var(--mb-card-bg);
	border: 2px solid var(--mb-card-border);
	box-shadow: 0 14px 0 rgba(255, 128, 0, 0.10), 0 26px 60px rgba(0, 0, 0, 0.06);
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.mb-episode-nav-card.is-prev {
	transform: rotate(-0.4deg);
}

.mb-episode-nav-card.is-next {
	transform: rotate(0.4deg);
}

.mb-episode-nav-card:hover {
	transform: translateY(-2px) rotate(0deg);
	box-shadow: 0 16px 0 rgba(6, 137, 133, 0.12), 0 34px 70px rgba(0, 0, 0, 0.08);
}

.mb-episode-nav-card__thumb img {
	width: 88px;
	height: 56px;
	object-fit: cover;
	border-radius: 18px;
	border: 2px solid var(--mb-card-border);
	display: block;
}

.mb-episode-nav-card__meta {
	display: block;
	font-weight: 900;
	color: rgba(6, 137, 133, 0.90);
}

.mb-episode-nav-card__title {
	display: block;
	margin-top: 4px;
	font-weight: 900;
}

