/*
 * Agenda Missionária — frontend.
 * Mobile-first, CSS variables. Tematização via tema do site.
 */

:root {
	/* Cores */
	--am-color-primary: #1f4e7a;
	--am-color-primary-dark: #163759;
	--am-color-primary-ink: #ffffff;
	--am-color-bg: #ffffff;
	--am-color-surface: #f7f8fa;
	--am-color-surface-2: #eef0f3;
	--am-color-ink: #14181d;
	--am-color-ink-soft: #2c333d;
	--am-color-muted: #6b7280;
	--am-color-border: #e3e6ea;
	--am-color-border-soft: #eef0f3;
	--am-color-shadow: rgba(15, 23, 42, 0.1);
	--am-color-shadow-lg: rgba(15, 23, 42, 0.18);

	/* Tipografia */
	--am-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--am-font-display: var(--am-font-sans);

	/* Espaçamento / radius */
	--am-radius: 16px;
	--am-radius-sm: 10px;
	--am-radius-pill: 999px;
	--am-gap: 1.5rem;

	/* Slider */
	--am-slider-height-mobile: 460px;
	--am-slider-height-desktop: 580px;
	--am-slider-radius: 20px;
}

/* ============================================================
 * Botões
 * ============================================================ */
.am-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.8rem 1.4rem;
	border-radius: var(--am-radius-sm);
	font-family: var(--am-font-sans);
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	letter-spacing: 0.01em;
}
.am-btn:hover { transform: translateY(-1px); }
.am-btn--primary { background: var(--am-color-primary); color: var(--am-color-primary-ink); }
.am-btn--primary:hover { background: var(--am-color-primary-dark); color: var(--am-color-primary-ink); }
.am-btn--ghost { background: transparent; color: var(--am-color-primary); border-color: var(--am-color-primary); }
.am-btn--ghost:hover { background: var(--am-color-primary); color: var(--am-color-primary-ink); }
.am-btn--block { display: flex; width: 100%; }

/* ============================================================
 * Badge missão
 * ============================================================ */
.am-mission-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.85rem;
	border-radius: var(--am-radius-pill);
	background: var(--am-mission-color, var(--am-color-primary));
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.4;
	white-space: nowrap;
}
.am-mission-badge:hover { filter: brightness(1.1); color: #fff; }

.am-empty-message {
	padding: 2rem 1rem;
	text-align: center;
	color: var(--am-color-muted);
	background: var(--am-color-surface);
	border-radius: var(--am-radius);
}

/* ============================================================
 * SLIDER — editorial hero
 * ============================================================ */
.am-slider {
	position: relative;
	width: 100%;
	border-radius: var(--am-slider-radius);
	overflow: hidden;
	background: #1a1f2a;
	box-shadow: 0 30px 60px -30px var(--am-color-shadow-lg);
	isolation: isolate;
}

.am-slide {
	position: relative;
	min-height: var(--am-slider-height-mobile);
	display: flex;
	align-items: stretch;
	color: #fff;
	overflow: hidden;
}
@media (min-width: 768px) {
	.am-slide { min-height: var(--am-slider-height-desktop); }
}

.am-slide__bg-img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	background-color: #1a1f2a !important;
	transform: scale(1.02);
	transition: transform 6s ease-out;
	max-width: none !important;
}
.swiper-slide-active .am-slide__bg-img {
	transform: scale(1.08);
}

.am-slide__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.55) 45%, rgba(0, 0, 0, 0.18) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.55) 100%);
	pointer-events: none;
}
.am-slide--no-image .am-slide__overlay {
	background: linear-gradient(135deg, var(--am-color-primary) 0%, var(--am-color-primary-dark) 100%);
}

.am-slide__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	width: 100%;
	padding: 2.5rem 1.5rem 3.5rem;
}
@media (min-width: 768px) {
	.am-slide__inner {
		padding: 4rem 5rem 4.5rem 6.5rem;
		align-items: center;
	}
}
@media (min-width: 1200px) {
	.am-slide__inner {
		padding: 4.5rem 6rem 5rem 7.5rem;
	}
}

.am-slide__content {
	width: 100%;
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.am-slide__mission .am-mission-badge {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.am-slide__when {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}
.am-slide__when time { display: inline-flex; align-items: center; gap: 0.55rem; }
.am-slide__sep { opacity: 0.5; font-weight: 400; }

.am-slide__title {
	font-family: var(--am-font-display);
	font-size: clamp(1.85rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.02em;
	margin: 0;
	color: #fff;
	text-wrap: balance;
}
.am-slide__title a { color: inherit; text-decoration: none; }
.am-slide__title a:hover { color: #fff; text-decoration: none; }

.am-slide__venue {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.88);
	margin: 0;
}
.am-slide__icon { flex-shrink: 0; opacity: 0.85; }

.am-slide__excerpt {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.86);
	line-height: 1.55;
	margin: 0;
	max-width: 52ch;
}

.am-slide__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.5rem;
	align-self: flex-start;
	padding: 0.85rem 1.6rem;
	background: #fff;
	color: var(--am-color-primary-dark);
	border-radius: var(--am-radius-pill);
	font-family: var(--am-font-sans);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.am-slide__cta svg {
	transition: transform 0.25s ease;
}
.am-slide__cta:hover {
	color: var(--am-color-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}
.am-slide__cta:hover svg { transform: translateX(4px); }

/* Setas customizadas */
.am-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	transform: translateY(-50%);
	width: 3rem;
	height: 3rem;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	padding: 0;
}
.am-slider__arrow:hover {
	background: rgba(255, 255, 255, 0.95);
	color: var(--am-color-primary-dark);
	border-color: transparent;
	transform: translateY(-50%) scale(1.05);
}
.am-slider__arrow:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}
.am-slider__arrow svg {
	transition: transform 0.2s ease;
}
.am-slider__arrow--prev { left: 1rem; }
.am-slider__arrow--next { right: 1rem; }

@media (min-width: 768px) {
	.am-slider__arrow {
		display: flex;
		width: 3.4rem;
		height: 3.4rem;
	}
	.am-slider__arrow--prev { left: 1.5rem; }
	.am-slider__arrow--next { right: 1.5rem; }
}

/* Paginação (dots) */
.am-slider__pagination.swiper-pagination {
	position: absolute;
	bottom: 1.2rem;
	left: 0;
	right: 0;
	z-index: 10;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
}
.am-slider__pagination .swiper-pagination-bullet {
	width: 0.5rem;
	height: 0.5rem;
	background: rgba(255, 255, 255, 0.55);
	opacity: 1;
	margin: 0;
	transition: width 0.3s ease, background 0.3s ease;
	border-radius: 999px;
}
.am-slider__pagination .swiper-pagination-bullet-active {
	background: #fff;
	width: 1.8rem;
}

/* Hide default Swiper buttons (estamos usando customizadas) */
.am-slider .swiper-button-prev,
.am-slider .swiper-button-next { display: none !important; }

/* ============================================================
 * CARDS GRID
 * ============================================================ */
.am-cards {
	display: grid;
	gap: var(--am-gap);
	grid-template-columns: 1fr;
}
@media (min-width: 640px) {
	.am-cards--cols-2, .am-cards--cols-3, .am-cards--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
	.am-cards--cols-3, .am-cards--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.am-cards--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.am-card {
	display: flex;
	flex-direction: column;
	background: var(--am-color-bg);
	border: 1px solid var(--am-color-border);
	border-radius: var(--am-radius);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	font-family: var(--am-font-sans);
}
.am-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 22px 42px -18px var(--am-color-shadow-lg);
}
.am-card__media-wrap {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--am-radius) var(--am-radius) 0 0;
}
.am-card__media {
	position: absolute;
	inset: 0;
	display: block;
	background: var(--am-color-surface);
	overflow: hidden;
	box-shadow: none !important;
}
.am-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.am-card:hover .am-card__media img { transform: scale(1.04); }
.am-card__placeholder {
	width: 100%; height: 100%;
	background: linear-gradient(135deg, var(--am-color-primary), var(--am-color-primary-dark));
}
.am-card__mission {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	pointer-events: auto;
}
.am-card__body { padding: 1.3rem; display: flex; flex-direction: column; gap: 0.6rem; flex: 1; }
.am-card__when {
	display: inline-flex; align-items: baseline; gap: 0.45rem;
	font-size: 0.78rem; font-weight: 700;
	color: var(--am-color-primary);
	letter-spacing: 0.12em; text-transform: uppercase;
}
.am-card__date { font-weight: 800; }
.am-card__time { font-weight: 500; color: var(--am-color-muted); }
.am-card__title {
	font-family: var(--am-font-display);
	font-size: 1.25rem; font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	margin: 0;
}
.am-card__title a { color: var(--am-color-ink); text-decoration: none; }
.am-card__title a:hover { color: var(--am-color-primary); }
.am-card__venue { font-size: 0.86rem; color: var(--am-color-muted); margin: 0; }
.am-card__excerpt { font-size: 0.92rem; color: var(--am-color-ink-soft); line-height: 1.55; margin: 0; }
.am-card__body .am-btn { margin-top: auto; align-self: flex-start; }

/* ============================================================
 * LISTA — agenda diária estilo Notion/GCal
 * ============================================================ */
.am-lista {
	font-family: var(--am-font-sans);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	max-width: 880px;
	margin: 0 auto;
}

.am-lista__group {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.8rem;
	position: relative;
}
@media (min-width: 768px) {
	.am-lista__group {
		grid-template-columns: 5.5rem 1fr;
		gap: 1.8rem;
	}
}

.am-lista__day {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--am-color-border-soft);
}
@media (min-width: 768px) {
	.am-lista__day {
		flex-direction: column;
		align-items: flex-end;
		text-align: right;
		gap: 0.15rem;
		border-bottom: none;
		padding-top: 0.6rem;
		padding-bottom: 0;
		position: sticky;
		top: 1rem;
	}
}
.am-lista__day-num {
	font-family: var(--am-font-display);
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1;
	color: var(--am-color-ink);
	letter-spacing: -0.02em;
}
@media (min-width: 768px) {
	.am-lista__day-num { font-size: 3.2rem; }
}
.am-lista__day-meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	line-height: 1.2;
}
@media (min-width: 768px) {
	.am-lista__day-meta { text-align: right; }
}
.am-lista__weekday {
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--am-color-primary);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.am-lista__month {
	font-size: 0.78rem;
	color: var(--am-color-muted);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.am-lista__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.am-lista__item { margin: 0; }
.am-lista__row {
	display: grid;
	grid-template-columns: 4.5rem 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--am-color-bg);
	border: 1px solid var(--am-color-border-soft);
	border-radius: var(--am-radius-sm);
	text-decoration: none;
	color: var(--am-color-ink);
	transition: border-color 0.2s ease, background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.am-lista__row:hover {
	border-color: var(--am-color-border);
	background: var(--am-color-surface);
	transform: translateX(2px);
	box-shadow: 0 6px 16px -10px var(--am-color-shadow);
	color: var(--am-color-ink);
}
@media (min-width: 640px) {
	.am-lista__row {
		grid-template-columns: 3.2rem 2.8rem 1fr auto 1.2rem;
		gap: 1.1rem;
		padding: 1rem 1.1rem;
	}
	.am-lista__row .am-lista__thumb { order: 2; }
	.am-lista__row .am-lista__time  { order: 1; }
	.am-lista__row .am-lista__main  { order: 3; }
	.am-lista__row .am-lista__mission { order: 4; }
	.am-lista__row .am-lista__chevron { order: 5; }
}
.am-lista__time {
	font-family: var(--am-font-display);
	font-size: 1rem;
	font-weight: 700;
	color: var(--am-color-ink);
	letter-spacing: 0.02em;
	line-height: 1;
	white-space: nowrap;
}
.am-lista__thumb {
	display: none;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: var(--am-radius-sm);
	overflow: hidden;
	flex-shrink: 0;
	background: var(--am-color-surface);
	align-items: center; justify-content: center;
}
@media (min-width: 640px) {
	.am-lista__thumb { display: flex; }
}
.am-lista__thumb img { width: 100%; height: 100%; object-fit: cover; }
.am-lista__thumb-fallback { width: 60%; height: 60%; background: linear-gradient(135deg, var(--am-color-primary), var(--am-color-primary-dark)); border-radius: 4px; }
.am-lista__main {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}
.am-lista__title {
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--am-color-ink);
	overflow: hidden;
	text-overflow: ellipsis;
}
.am-lista__venue {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
	color: var(--am-color-muted);
	line-height: 1.3;
}
.am-lista__venue svg { flex-shrink: 0; opacity: 0.8; }
.am-lista__mission {
	display: none;
}
@media (min-width: 768px) {
	.am-lista__mission { display: inline-block; }
}
.am-lista__chevron {
	color: var(--am-color-muted);
	display: none;
	transition: transform 0.2s ease, color 0.2s ease;
}
@media (min-width: 640px) {
	.am-lista__chevron { display: inline-flex; }
}
.am-lista__row:hover .am-lista__chevron {
	color: var(--am-color-primary);
	transform: translateX(3px);
}

/* ============================================================
 * SINGLE EVENT
 * ============================================================ */
.am-single { font-family: var(--am-font-sans); }
.am-single__hero { position: relative; height: 300px; background-size: cover; background-position: center; }
@media (min-width: 768px) { .am-single__hero { height: 440px; } }
.am-single__hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, 0.55) 100%);
}
.am-single__container { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.25rem; }
.am-single__header { margin-bottom: 2.5rem; }
.am-single__mission { margin-bottom: 0.8rem; }
.am-single__title {
	font-family: var(--am-font-display);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.8rem;
	color: var(--am-color-ink);
}
.am-single__when {
	display: inline-flex; align-items: baseline; gap: 0.4rem;
	font-size: 1.05rem; font-weight: 600;
	color: var(--am-color-primary);
	letter-spacing: 0.04em;
}
.am-single__layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; }
@media (min-width: 960px) { .am-single__layout { grid-template-columns: 2fr 1fr; } }
.am-single__body { font-size: 1.05rem; line-height: 1.7; color: var(--am-color-ink); }
.am-single__body p { margin: 0 0 1rem; }
.am-single__meta {
	background: var(--am-color-surface);
	border-radius: var(--am-radius);
	padding: 1.5rem;
	display: flex; flex-direction: column;
	gap: 1.2rem;
	position: sticky; top: 2rem;
}
.am-single__meta-item { display: flex; flex-direction: column; gap: 0.25rem; }
.am-single__meta-label {
	font-size: 0.74rem; font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--am-color-muted);
}
.am-single__meta-item strong { font-size: 1rem; color: var(--am-color-ink); }
.am-single__meta-item p { margin: 0; font-size: 0.92rem; color: var(--am-color-muted); }

/* Galeria do single */
.am-single__gallery { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--am-color-border-soft); }
.am-single__gallery-title {
	font-family: var(--am-font-display);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 1.2rem;
}
.am-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.8rem;
}
@media (min-width: 640px) { .am-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 1024px) { .am-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.am-gallery__item {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--am-radius-sm);
	overflow: hidden;
	background: var(--am-color-surface);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.am-gallery__item:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px -16px var(--am-color-shadow-lg);
}
.am-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.am-gallery__item:hover img { transform: scale(1.05); }

/* ============================================================
 * ARCHIVE & MISSION pages
 * ============================================================ */
.am-archive { font-family: var(--am-font-sans); }
.am-archive__container { max-width: 1200px; margin: 0 auto; padding: 2.5rem 1.25rem; }
.am-archive__header { margin-bottom: 2rem; }
.am-archive__header-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}
.am-archive__title {
	font-family: var(--am-font-display);
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem;
}
.am-archive__intro { color: var(--am-color-muted); font-size: 1.05rem; margin: 0; max-width: 60ch; }
.am-archive__nav { margin-top: 2rem; }

/* Filtros — !important contra Materialize/temas agressivos */
.am-archive .am-archive__filters {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.8rem !important;
	align-items: center !important;
	margin-bottom: 2rem !important;
	padding: 1rem !important;
	background: var(--am-color-surface) !important;
	border-radius: var(--am-radius) !important;
	box-sizing: border-box !important;
}
.am-archive .am-archive__filters input,
.am-archive .am-archive__filters select {
	box-sizing: border-box !important;
	height: auto !important;
	border-bottom: 1px solid var(--am-color-border) !important;
	box-shadow: none !important;
}
.am-archive__select,
.am-archive__search {
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--am-color-border);
	border-radius: var(--am-radius-sm);
	background: #fff;
	font: inherit;
	color: var(--am-color-ink);
	min-width: 180px;
}
.am-archive__select:focus,
.am-archive__search:focus {
	outline: none;
	border-color: var(--am-color-primary);
	box-shadow: 0 0 0 3px rgba(31, 78, 122, 0.12);
}

/* Segmented control — !important contra Materialize */
.am-archive .am-segmented {
	display: inline-flex !important;
	padding: 0.2rem !important;
	background: #fff !important;
	border: 1px solid var(--am-color-border) !important;
	border-radius: var(--am-radius-pill) !important;
}
.am-archive .am-segmented input[type="radio"] {
	display: none !important;
	position: absolute !important;
	left: -9999px !important;
}
.am-archive .am-segmented label {
	display: inline-block !important;
	padding: 0.5rem 1.1rem !important;
	font-size: 0.86rem !important;
	font-weight: 600 !important;
	color: var(--am-color-muted) !important;
	cursor: pointer !important;
	border-radius: var(--am-radius-pill) !important;
	transition: background 0.2s, color 0.2s !important;
	line-height: 1 !important;
	margin: 0 !important;
	background: transparent !important;
}
.am-archive .am-segmented input[type="radio"]:checked + label {
	background: var(--am-color-primary) !important;
	color: #fff !important;
}

/* Mini calendário */
.am-mini-cal {
	background: var(--am-color-bg);
	border: 1px solid var(--am-color-border);
	border-radius: var(--am-radius);
	padding: 1.2rem;
	margin-bottom: 2.5rem;
	max-width: 460px;
}
.am-mini-cal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.8rem;
}
.am-mini-cal__title {
	font-family: var(--am-font-display);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--am-color-ink);
}
.am-mini-cal__nav {
	width: 2rem;
	height: 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--am-color-muted);
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}
.am-mini-cal__nav:hover {
	background: var(--am-color-surface);
	color: var(--am-color-primary);
}
.am-mini-cal__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0.2rem;
	margin-bottom: 0.35rem;
}
.am-mini-cal__weekdays span {
	text-align: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--am-color-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.am-archive .am-mini-cal__grid {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 0.25rem !important;
}
.am-archive .am-mini-cal__weekdays {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr) !important;
	gap: 0.2rem !important;
}
.am-archive .am-mini-cal__day {
	position: relative !important;
	aspect-ratio: 1 / 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--am-font-sans) !important;
	font-size: 0.85rem !important;
	color: var(--am-color-muted) !important;
	cursor: not-allowed !important;
	border-radius: 8px !important;
	padding: 0 !important;
	transition: background 0.15s, color 0.15s !important;
	box-shadow: none !important;
	min-width: 0 !important;
	height: auto !important;
	line-height: 1 !important;
	text-transform: none !important;
}
.am-archive .am-mini-cal__day--empty { visibility: hidden !important; }
.am-archive .am-mini-cal__day--has-event {
	background: rgba(31, 78, 122, 0.1) !important;
	color: var(--am-color-primary) !important;
	cursor: pointer !important;
	font-weight: 700 !important;
}
.am-archive .am-mini-cal__day--has-event:hover {
	background: var(--am-color-primary) !important;
	color: #fff !important;
}
.am-archive .am-mini-cal__day--today {
	box-shadow: inset 0 0 0 2px var(--am-color-primary) !important;
	color: var(--am-color-primary) !important;
	font-weight: 800 !important;
}
.am-archive .am-mini-cal__day.is-active {
	background: var(--am-color-primary) !important;
	color: #fff !important;
}
.am-archive .am-mini-cal__day.is-active .am-mini-cal__dot { background: #fff !important; }
.am-archive .am-mini-cal__num { line-height: 1 !important; }
.am-archive .am-mini-cal__dot {
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background: var(--am-color-primary) !important;
	margin-top: 3px !important;
	display: block !important;
}
.am-mini-cal__hint {
	margin-top: 0.8rem;
	font-size: 0.82rem;
	color: var(--am-color-muted);
	text-align: center;
}
.am-mini-cal__clear {
	background: none;
	border: 0;
	color: var(--am-color-primary);
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	font-size: inherit;
	text-decoration: underline;
}

/* Seções da archive */
.am-archive__section { margin-bottom: 3rem; }
.am-archive__section-title {
	font-family: var(--am-font-display);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 1.5rem;
	padding-bottom: 0.7rem;
	border-bottom: 2px solid var(--am-color-border-soft);
}
.am-archive__month-group {
	margin-bottom: 2.5rem;
}
.am-archive__month-title {
	font-family: var(--am-font-display);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--am-color-primary);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.am-archive__event-wrap { display: contents; }
.am-archive__event-wrap.is-highlighted .am-card {
	border-color: var(--am-color-primary);
	box-shadow: 0 12px 28px -12px rgba(31, 78, 122, 0.3);
}

/* Lista de passados */
.am-past-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.am-past-list__item { margin: 0; }
.am-past-list__row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--am-color-border-soft);
	border-radius: var(--am-radius-sm);
	text-decoration: none;
	color: var(--am-color-ink);
	background: var(--am-color-bg);
	opacity: 0.85;
	transition: opacity 0.2s, border-color 0.2s, transform 0.15s;
}
.am-past-list__row:hover {
	opacity: 1;
	border-color: var(--am-color-border);
	transform: translateX(2px);
	color: var(--am-color-ink);
}
.am-past-list__thumb {
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
	background: var(--am-color-surface);
}
.am-past-list__thumb img { width: 100%; height: 100%; object-fit: cover; }
.am-past-list__main {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}
.am-past-list__date {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--am-color-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.am-past-list__title {
	font-weight: 600;
	font-size: 0.95rem;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Paginação */
.am-archive__pagination {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 2rem;
}
.am-archive__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	padding: 0.5rem 0.8rem;
	border: 1px solid var(--am-color-border);
	border-radius: var(--am-radius-sm);
	color: var(--am-color-ink);
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.am-archive__page:hover {
	border-color: var(--am-color-primary);
	color: var(--am-color-primary);
}
.am-archive__page.is-active {
	background: var(--am-color-primary);
	color: #fff;
	border-color: var(--am-color-primary);
}

.am-mission-single { font-family: var(--am-font-sans); }
.am-mission-single__header {
	position: relative;
	height: 280px;
	background-color: var(--am-mission-color, var(--am-color-primary));
	background-size: cover;
	background-position: center;
	color: #fff;
	display: flex; align-items: flex-end;
	overflow: hidden;
}
.am-mission-single__header-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.6));
}
.am-mission-single__header-content {
	position: relative; z-index: 1;
	max-width: 1100px; width: 100%; margin: 0 auto;
	padding: 2rem 1.25rem;
}
.am-mission-single__title {
	font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800;
	letter-spacing: -0.02em; line-height: 1.1; margin: 0;
}
.am-mission-single__leader { margin: 0.5rem 0 0; opacity: 0.9; }
.am-mission-single__container { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.25rem; }
.am-mission-single__intro { font-size: 1.05rem; line-height: 1.7; color: var(--am-color-ink); margin-bottom: 2.5rem; }
.am-mission-single__section-title {
	font-family: var(--am-font-display);
	font-size: 1.6rem; font-weight: 700;
	margin: 0 0 1.5rem;
	padding-bottom: 0.7rem;
	border-bottom: 3px solid var(--am-mission-color, var(--am-color-primary));
	display: inline-block;
}

.am-missions-grid {
	display: grid; gap: var(--am-gap);
	grid-template-columns: 1fr;
}
@media (min-width: 640px) { .am-missions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .am-missions-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.am-mission-card {
	display: flex; flex-direction: column;
	border-radius: var(--am-radius);
	overflow: hidden;
	background: var(--am-color-bg);
	border: 1px solid var(--am-color-border);
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.am-mission-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: 0 16px 36px -16px var(--am-color-shadow);
	color: inherit;
}
.am-mission-card__media {
	aspect-ratio: 4 / 3;
	background-color: var(--am-mission-color, var(--am-color-primary));
	background-size: cover; background-position: center;
	display: flex; align-items: center; justify-content: center;
}
.am-mission-card__initial {
	font-family: var(--am-font-display);
	font-size: 5rem;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 800;
	line-height: 1;
}
.am-mission-card__body { padding: 1.25rem; }
.am-mission-card__title {
	font-family: var(--am-font-display);
	font-size: 1.25rem; font-weight: 700;
	margin: 0 0 0.5rem;
	letter-spacing: -0.01em;
}
.am-mission-card__excerpt {
	font-size: 0.92rem; color: var(--am-color-muted);
	margin: 0; line-height: 1.5;
}
