/* ============================================================
   AGENDA DE EVENTOS — Arquivo (listagem paginada)
   ============================================================ */

#ae-main {
	padding: 64px 0;
}

.ae-intro {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.55;
	color: #58536f;
	margin: 0 0 32px;
}

.ae-lista {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 24px;
}

.ae-card {
	display: flex;
	align-items: center;
	gap: 24px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
	padding: 24px;
}

.ae-badge {
	flex-shrink: 0;
	width: 90px;
	height: 90px;
	border-radius: 12px;
	background: #66589e;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.ae-badge-dia {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 28px;
	color: #fff;
	line-height: 1.2;
}

.ae-badge-mes {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.5px;
	color: #d9d2ef;
}

.ae-conteudo {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ae-titulo {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 19px;
	color: #58536f;
	margin: 0;
}

.ae-info {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #5a738d;
	margin: 0;
}

.ae-detalhes {
	flex-shrink: 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: -0.3px;
	color: #66589e;
	text-decoration: none;
	white-space: nowrap;
}
.ae-detalhes:hover {
	color: #58536f;
	text-decoration: underline;
}

.ae-vazio {
	padding: 40px 0;
}
.ae-vazio p {
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #58536f;
	margin: 0;
}

/* ---- Paginação ---- */
.ae-paginacao {
	display: flex;
	justify-content: center;
	padding-top: 16px;
}

.ae-paginacao ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.ae-paginacao .page-numbers li {
	display: flex;
}

.ae-paginacao a.page-numbers,
.ae-paginacao span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 31px;
	height: 30px;
	padding: 0 12px;
	border-radius: 50px;
	background: #66589e;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: -0.16px;
	text-decoration: none;
	transition: opacity 0.15s ease;
}

.ae-paginacao a.page-numbers:hover {
	opacity: 0.85;
}

.ae-paginacao span.page-numbers.current {
	background: #5a738d;
}

.ae-paginacao span.page-numbers.dots {
	background: transparent;
	color: #4d4d5a;
	min-width: auto;
	padding: 0 4px;
}

.ae-paginacao a.next.page-numbers,
.ae-paginacao a.prev.page-numbers {
	padding: 0 17px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.3px;
}

/* ---- Modal de detalhes ---- */
#ae-main .modal-body :last-child {
	margin-bottom: 0;
}

/* ---- Responsivo ---- */
@media (max-width: 768px) {
	#ae-main { padding: 40px 0; }
	.ae-card { flex-wrap: wrap; }
	.ae-badge { width: 70px; height: 70px; }
	.ae-badge-dia { font-size: 22px; }
	.ae-titulo { font-size: 17px; }
}

/* Ajustes específicos para notebooks (1366x768): nenhum ajuste necessário —
   lista de largura única dentro do .container padrão, sem grids fixos nem
   elementos posicionados que dependam de uma largura de referência maior. */
