/* =========================================
   Savepoint — menu drill-down (off-canvas)
   ========================================= */
.sp-drill {
	--spd-color: #fff;
	--spd-main-size: 30px;
	--spd-main-gap: 14px;
	--spd-secondary-size: 18px;
	--spd-secondary-gap: 12px;
	--spd-sub-size: 24px;
	--spd-sub-gap: 14px;
	--spd-speed: .32s;
	--spd-ease: cubic-bezier(.4, 0, .2, 1);

	position: relative;
	overflow: hidden;
	min-height: 100%;
	color: var(--spd-color);
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
}

.sp-drill ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.sp-drill li { margin: 0; padding: 0; }

/* Cor forçada: o kit do Elementor costuma pintar links e botões */
.sp-drill a,
.sp-drill a:hover,
.sp-drill a:focus,
.sp-drill a:visited,
.sp-drill button,
.sp-drill button:hover,
.sp-drill button:focus,
.sp-drill .sp-drill__title {
	color: var(--spd-color) !important;
	text-decoration: none !important;
	background: none !important;
	box-shadow: none !important;
}

.sp-drill button {
	font: inherit;
	border: 0 !important;
	border-radius: 0;
	padding: 0 !important;
	margin: 0;
	cursor: pointer;
	text-transform: none;
	letter-spacing: inherit;
	-webkit-tap-highlight-color: transparent;
}

.sp-drill a:focus-visible,
.sp-drill button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
	border-radius: 4px;
}

/* ---------- Painéis ---------- */
.sp-drill__panel {
	transition:
		transform var(--spd-speed) var(--spd-ease),
		opacity var(--spd-speed) var(--spd-ease);
}

.sp-drill__root { position: relative; }

.sp-drill.is-drilled .sp-drill__root {
	transform: translateX(-20%);
	opacity: 0;
	pointer-events: none;
}

.sp-drill__sub {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateX(100%);
	opacity: 0;
	visibility: hidden;
	transition:
		transform var(--spd-speed) var(--spd-ease),
		opacity var(--spd-speed) var(--spd-ease),
		visibility 0s linear var(--spd-speed);
}

.sp-drill__sub.is-open {
	transform: none;
	opacity: 1;
	visibility: visible;
	transition:
		transform var(--spd-speed) var(--spd-ease),
		opacity var(--spd-speed) var(--spd-ease);
}

/* ---------- Nível principal: linha inteira clicável ---------- */
.sp-drill__main .sp-drill__item + .sp-drill__item { margin-top: var(--spd-main-gap); }

.sp-drill__main .sp-drill__row {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 44px;
	text-align: left;
	font-size: var(--spd-main-size) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em;
}

.sp-drill__row svg {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	opacity: .85;
	transition: transform .2s, opacity .2s;
}

.sp-drill__row:hover svg { opacity: 1; transform: translateX(3px); }

/* ---------- Bloco secundário ---------- */
.sp-drill__secondary { margin-top: 56px !important; }
.sp-drill__secondary > li + li { margin-top: var(--spd-secondary-gap); }

.sp-drill__secondary a,
.sp-drill__secondary button {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	font-size: var(--spd-secondary-size) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.sp-drill__secondary button svg { width: 16px; height: 16px; transition: transform .2s; }
.sp-drill__secondary button:hover svg { transform: translateX(3px); }

/* ---------- Sub-painel ---------- */
.sp-drill__back {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	margin-bottom: 24px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	opacity: .85;
}

.sp-drill__back:hover { opacity: 1; }
.sp-drill__back svg { width: 18px; height: 18px; }

.sp-drill__title {
	display: block;
	margin: 0 0 22px !important;
	font-size: var(--spd-main-size) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em;
}

.sp-drill__list li + li { margin-top: var(--spd-sub-gap); }

.sp-drill__list a {
	display: inline-block;
	font-size: var(--spd-sub-size) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	transition: transform .2s;
}

.sp-drill__list a:hover { transform: translateX(4px); }

@media (max-width: 360px) {
	.sp-drill { --spd-main-size: 26px; --spd-sub-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
	.sp-drill__panel, .sp-drill__sub, .sp-drill__sub.is-open { transition: none; }
}

/* Barra "← Pai" ao estilo Benikids */
.sp-drill__back {
	display: flex !important;
	width: 100%;
	font-size: 16px !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, .35) !important;
	margin-bottom: 16px !important;
	opacity: 1;
}

/* v1.4 — o painel aberto define a altura (sem cortes) */
.sp-drill__sub { overflow: visible; }
.sp-drill { transition: min-height var(--spd-speed) var(--spd-ease); }

/* Linhas com filhos no bloco secundário (modo menu) */
.sp-drill__secondary .sp-drill__row { justify-content: flex-start; }

/* =========================================
   Gaveta "Últimas" — [sp_ultimas]
   ========================================= */
.sp-ult {
	--spu-label-size: 30px;
	--spu-latest-size: 13px;
	--spu-post-size: 17px;
	--spu-meta-size: 13px;
	--spu-line: rgba(255, 255, 255, .35);
	--spu-dot: #fe7141;
}

/* Cabeçalho "ÚLTIMAS  ·  Ver tudo" */
.sp-ult__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0 0 14px;
}
.sp-ult .sp-ult__heading {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--spd-color);
}
.sp-ult .sp-ult__all {
	font-size: 14px !important;
	font-weight: 700;
	white-space: nowrap;
}

/* Nível 1: um bloco por tipo */
.sp-ult__item { border-bottom: 1px solid var(--spu-line); }

.sp-drill.sp-ult .sp-ult__row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 6px;
	width: 100%;
	padding: 14px 0 !important;
	text-align: left;
}
.sp-ult__label {
	font-size: var(--spu-label-size);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.01em;
}
.sp-ult__row svg { width: 20px; height: 20px; opacity: .85; transition: transform .2s, opacity .2s; }
.sp-ult__row:hover svg { opacity: 1; transform: translateX(3px); }

.sp-ult__latest {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font-size: var(--spu-latest-size);
	font-weight: 600;
	line-height: 1.3;
}
.sp-ult__dot {
	flex: 0 0 auto;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--spu-dot);
}
.sp-ult__latest-title {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.sp-ult__time { flex: 0 0 auto; opacity: .8; font-weight: 500; }
.sp-ult__latest-title + .sp-ult__time::before { content: "· "; }

/* Nível 2: cabeçalho do painel */
.sp-ult__subhead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 0 0 12px;
	margin: 0 0 4px;
	border-bottom: 1px solid var(--spu-line);
}
.sp-drill.sp-ult .sp-ult__back {
	display: inline-flex !important;
	width: auto;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	opacity: 1;
}

/* Nível 2: lista de conteúdos */
.sp-ult__posts li { border-bottom: 1px solid var(--spu-line); }
.sp-drill .sp-ult__post {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 0;
}
.sp-ult__post-title {
	font-size: var(--spu-post-size);
	font-weight: 700;
	line-height: 1.25;
}
.sp-ult__post-meta {
	font-size: var(--spu-meta-size);
	font-weight: 500;
	opacity: .85;
}
.sp-ult__post:hover .sp-ult__post-title { text-decoration: underline; text-underline-offset: 3px; }

/* v1.7 — Últimas: anula estilos herdados de .sp-drill__next (44px de altura, opacidade, hover) */
.sp-drill.sp-ult .sp-ult__row {
	height: auto !important;
	min-height: 0;
	margin: 0 !important;
	opacity: 1 !important;
	transform: none !important;
	justify-content: stretch;
	padding: 16px 0 !important;
}
.sp-drill.sp-ult .sp-ult__row:focus-visible { outline-offset: -2px; }

.sp-ult__head {
	padding: 0 0 12px;
	margin: 0;
	border-bottom: 1px solid var(--spu-line);
}

.sp-ult .sp-ult__label { color: var(--spd-color); }
.sp-ult__latest { margin-top: 2px; }
.sp-ult__dot { margin-right: 2px; }
