/* ==========================================================================
   Recriando Theme — App-like CSS (mobile-first)
   ========================================================================== */

/* --------- Design Tokens --------- */
:root {
	--c-primary: #1a2e6c;
	--c-primary-dark: #142252;
	--c-primary-medium: #2d4a8a;
	--c-accent: #f47c20;
	--c-accent-hover: #d96a15;

	--c-success: #3b6d11;
	--c-success-bg: #eaf3de;
	--c-warning: #854f0b;
	--c-warning-bg: #faeeda;
	--c-danger: #c0392b;
	--c-danger-bg: #f9ebea;
	--c-info: #185fa5;
	--c-info-bg: #e6f1fb;

	--c-bg: #ffffff;
	--c-bg-soft: #f6f8fb;
	--c-bg-muted: #eef1f7;
	--c-text: #1f2330;
	--c-text-soft: #5b6172;
	--c-text-muted: #8a909c;
	--c-border: #e2e5ef;
	--c-border-soft: #eef0f6;

	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-10: 40px;
	--space-12: 48px;
	--space-16: 64px;

	--font-sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

	--text-xs: 12px;
	--text-sm: 14px;
	--text-base: 15px;
	--text-md: 16px;
	--text-lg: 18px;
	--text-xl: 22px;
	--text-2xl: 28px;
	--text-3xl: 36px;

	--radius-sm: 6px;
	--radius-md: 10px;
	--radius-lg: 16px;
	--radius-xl: 24px;
	--radius-full: 999px;

	--shadow-sm: 0 1px 3px rgba(20, 34, 82, 0.06);
	--shadow-md: 0 4px 14px rgba(20, 34, 82, 0.08);
	--shadow-lg: 0 12px 32px rgba(20, 34, 82, 0.12);
	--shadow-nav: 0 -2px 16px rgba(20, 34, 82, 0.06);

	--transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
	--transition-slow: 320ms cubic-bezier(0.4, 0, 0.2, 1);

	--max-content: 1200px;
	--header-h: 56px;
	--bottom-nav-h: 64px;

	--safe-top: env(safe-area-inset-top, 0px);
	--safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* --------- Reset --------- */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--text-base);
	line-height: 1.55;
	color: var(--c-text);
	background: var(--c-bg-soft);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
}

img, svg, video, canvas, picture {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--c-primary);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover {
	color: var(--c-accent);
}

button {
	font-family: inherit;
	cursor: pointer;
}

/* Reset escopado — só componentes do tema, não interfere no Elementor */
.rt-card h1, .rt-card h2, .rt-card h3, .rt-card h4, .rt-card h5, .rt-card h6,
.rt-page h1, .rt-page h2, .rt-page h3, .rt-page h4, .rt-page h5, .rt-page h6,
.rt-drawer h1, .rt-drawer h2, .rt-drawer h3,
.rt-main > h1, .rt-main > h2, .rt-main > h3 {
	margin: 0 0 var(--space-4);
	line-height: 1.25;
	color: var(--c-text);
	font-weight: 700;
}

.rt-card h1, .rt-page h1, .rt-main > h1 { font-size: var(--text-2xl); }
.rt-card h2, .rt-page h2, .rt-main > h2 { font-size: var(--text-xl); }
.rt-card h3, .rt-page h3, .rt-main > h3 { font-size: var(--text-lg); }

.rt-page-content p, .rt-card p { margin: 0 0 var(--space-4); }

/* --------- App Shell layout --------- */
.rt-body {
	padding-top: calc(var(--header-h) + var(--safe-top));
	padding-bottom: calc(var(--bottom-nav-h) + var(--safe-bottom));
}

.rt-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
}
.rt-skip-link:focus {
	left: var(--space-4);
	top: var(--space-4);
	background: var(--c-primary);
	color: #fff;
	padding: var(--space-2) var(--space-4);
	border-radius: var(--radius-md);
}

/* --------- Container --------- */
.rt-container {
	max-width: var(--max-content);
	margin: 0 auto;
	padding: 0 var(--space-4);
}

.rt-main {
	padding: var(--space-6) 0;
	min-height: calc(100vh - var(--header-h) - var(--bottom-nav-h));
}

/* --------- Header --------- */
.rt-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: calc(var(--header-h) + var(--safe-top));
	padding-top: var(--safe-top);
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid transparent;
	z-index: 50;
	transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.rt-header.is-scrolled {
	border-bottom-color: var(--c-border-soft);
	background: rgba(255, 255, 255, 0.98);
}

.rt-header.is-hidden {
	transform: translateY(-100%);
}

.rt-header-inner {
	max-width: var(--max-content);
	margin: 0 auto;
	height: var(--header-h);
	padding: 0 var(--space-3);
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.rt-header-inner .rt-logo {
	flex: 1;
	min-width: 0;
	justify-content: flex-start;
}

.rt-header-inner .rt-header-actions {
	flex-shrink: 0;
}

.rt-logo {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: 700;
	color: var(--c-primary);
	font-size: var(--text-lg);
}

.rt-logo img {
	max-height: 36px;
	width: auto;
}

.rt-logo-text {
	font-size: var(--text-lg);
	letter-spacing: -0.02em;
}

.rt-nav-desktop {
	display: none;
}

.rt-header-actions {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

/* Botões de ícone (hambúrguer + close drawer) — força reset agressivo
   para vencer qualquer reset de plugin/Elementor que estilize buttons */
body .rt-header button.rt-menu-toggle,
body .rt-drawer button.rt-drawer-close {
	all: unset;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-md);
	background: transparent;
	color: var(--c-text);
	cursor: pointer;
	transition: background 200ms ease, color 200ms ease;
	flex-shrink: 0;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
}
body .rt-header button.rt-menu-toggle:hover,
body .rt-header button.rt-menu-toggle:focus,
body .rt-drawer button.rt-drawer-close:hover,
body .rt-drawer button.rt-drawer-close:focus {
	background: var(--c-bg-muted);
	color: var(--c-primary);
	outline: none;
}
body .rt-header button.rt-menu-toggle svg,
body .rt-drawer button.rt-drawer-close svg {
	width: 24px;
	height: 24px;
	display: block;
	fill: none;
	stroke: currentColor;
	pointer-events: none;
}
body .rt-header button.rt-menu-toggle svg path,
body .rt-drawer button.rt-drawer-close svg path {
	fill: none;
	stroke: currentColor;
}

.rt-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-full);
	background: var(--c-primary);
	color: #fff;
	font-weight: 600;
	font-size: var(--text-sm);
}

.rt-avatar:hover {
	background: var(--c-primary-medium);
	color: #fff;
}

/* Botão Sair no cabeçalho (logado) */
.rt-header-logout {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: var(--radius-full);
	border: 1px solid var(--c-border, #e2e8f0);
	color: var(--c-text, #334155);
	font-size: var(--text-sm);
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}
.rt-header-logout:hover {
	background: #f1f5f9;
	color: #0f172a;
}

/* Drawer: bloco de conta (Minha Área + Sair) */
.rt-drawer-account {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px 0;
	margin-top: 8px;
	border-top: 1px solid var(--c-border-soft, #f1f5f9);
}
.rt-drawer-account-link {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	font-weight: 700;
	color: var(--c-text, #334155);
	background: #f8fafc;
}
.rt-drawer-account-link:hover {
	background: #eef2f7;
}
.rt-drawer-logout {
	color: #b91c1c;
	background: #fef2f2;
}
.rt-drawer-logout:hover {
	background: #fee2e2;
}

/* --------- Drawer lateral --------- */
.rt-drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(20, 34, 82, 0.55);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity var(--transition);
	z-index: 60;
}
.rt-drawer-backdrop.is-open {
	opacity: 1;
}

.rt-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(88vw, 340px);
	max-width: 100%;
	background: var(--c-bg);
	box-shadow: var(--shadow-lg);
	transform: translateX(100%);
	transition: transform var(--transition-slow);
	z-index: 70;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.rt-drawer.is-open {
	transform: translateX(0);
}
.rt-drawer[hidden] {
	display: flex;
}

.rt-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--c-border-soft);
	padding-top: calc(var(--space-4) + var(--safe-top));
}

.rt-drawer-logo img {
	max-height: 36px;
}

.rt-drawer-close {
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: var(--radius-md);
	background: var(--c-bg-soft);
	color: var(--c-text);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background var(--transition);
}
.rt-drawer-close:hover {
	background: var(--c-bg-muted);
}
.rt-drawer-close svg {
	width: 22px;
	height: 22px;
}

.rt-drawer-user {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	background: var(--c-bg-soft);
	border-bottom: 1px solid var(--c-border-soft);
}
.rt-drawer-user .rt-avatar {
	width: 44px;
	height: 44px;
	font-size: var(--text-md);
	flex-shrink: 0;
}
.rt-drawer-user-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.rt-drawer-user-info strong {
	font-size: var(--text-base);
	color: var(--c-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rt-drawer-user-info span {
	font-size: var(--text-xs);
	color: var(--c-text-soft);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rt-drawer-nav {
	flex: 1;
	padding: var(--space-3) 0;
}
.rt-drawer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rt-drawer-menu li + li {
	border-top: 1px solid var(--c-border-soft);
}
body .rt-drawer .rt-drawer-menu a {
	display: flex !important;
	align-items: center !important;
	padding: var(--space-3) var(--space-5) !important;
	color: var(--c-text) !important;
	font-size: var(--text-base) !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: background var(--transition), color var(--transition) !important;
	min-height: 48px !important;
	background: transparent !important;
}
body .rt-drawer .rt-drawer-menu a:hover {
	background: var(--c-bg-soft) !important;
	color: var(--c-primary) !important;
}
body .rt-drawer .rt-drawer-menu .current-menu-item > a {
	background: var(--c-bg-soft) !important;
	color: var(--c-primary) !important;
	font-weight: 600 !important;
}

/* Submenus dentro do drawer (Instagram/Youtube dentro de Redes Sociais) */
body .rt-drawer .rt-drawer-menu .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	background: var(--c-bg-soft);
}
body .rt-drawer .rt-drawer-menu .sub-menu a {
	padding-left: var(--space-8) !important;
	font-size: var(--text-sm) !important;
	color: var(--c-text-soft) !important;
}
body .rt-drawer .rt-drawer-menu .sub-menu a::before {
	content: "→ ";
	color: var(--c-accent);
	margin-right: 4px;
}
body .rt-drawer .rt-drawer-menu .menu-item-has-children > a::after {
	content: " ▾";
	font-size: 11px;
	opacity: 0.6;
	margin-left: auto;
}

.rt-drawer-social {
	padding: var(--space-4) var(--space-5);
	border-top: 1px solid var(--c-border-soft);
	background: var(--c-bg-soft);
}
.rt-drawer-social-label {
	display: block;
	font-size: var(--text-xs);
	color: var(--c-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: var(--space-3);
	font-weight: 600;
}
.rt-drawer-social-icons {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
}
.rt-drawer-social-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: var(--radius-full);
	background: var(--c-bg);
	color: var(--c-primary);
	border: 1px solid var(--c-border);
	transition: all var(--transition);
}
.rt-drawer-social-icons a:hover {
	background: var(--c-primary);
	color: #fff;
	border-color: var(--c-primary);
	transform: translateY(-2px);
}
.rt-drawer-social-icons svg {
	width: 20px;
	height: 20px;
}

.rt-drawer-foot {
	padding: var(--space-4) var(--space-5);
	padding-bottom: calc(var(--space-4) + var(--safe-bottom));
	border-top: 1px solid var(--c-border-soft);
	color: var(--c-text-muted);
	text-align: center;
}

/* Lock scroll when drawer open */
body.rt-drawer-open {
	overflow: hidden;
}

/* --------- Bottom Navigation (mobile only) --------- */
.rt-bottom-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	height: calc(var(--bottom-nav-h) + var(--safe-bottom));
	padding-bottom: var(--safe-bottom);
	background: rgba(255, 255, 255, 0.97);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-top: 1px solid var(--c-border-soft);
	box-shadow: var(--shadow-nav);
	display: flex;
	align-items: stretch;
	justify-content: space-around;
	z-index: 40;
}

.rt-bottom-nav-item {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: var(--space-2) 4px;
	color: var(--c-text-soft);
	font-size: clamp(11px, 2.6vw, 12.5px);
	font-weight: 500;
	text-decoration: none;
	transition: color var(--transition), transform var(--transition);
	min-height: 48px;
	position: relative;
}

.rt-bottom-nav-item:hover {
	color: var(--c-primary);
}

.rt-bottom-nav-item.is-active {
	color: var(--c-primary);
}

.rt-bottom-nav-item.is-active::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 28px;
	height: 3px;
	background: var(--c-primary);
	border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}

.rt-nav-icon {
	width: 24px;
	height: 24px;
	stroke: currentColor;
	transition: transform var(--transition);
}

.rt-bottom-nav-item.is-active .rt-nav-icon {
	transform: scale(1.08);
}

.rt-bottom-nav-label {
	letter-spacing: -0.01em;
	line-height: 1;
}

/* --------- Buttons --------- */
.rt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-5);
	min-height: 48px;
	font-size: var(--text-base);
	font-weight: 600;
	font-family: inherit;
	border: 1.5px solid transparent;
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: all var(--transition);
	text-decoration: none;
	white-space: nowrap;
}

.rt-btn:focus-visible {
	outline: 3px solid var(--c-accent);
	outline-offset: 2px;
}

body a.rt-btn.rt-btn-primary,
body button.rt-btn.rt-btn-primary {
	background: var(--c-primary) !important;
	background-color: var(--c-primary) !important;
	color: #fff !important;
	border-color: var(--c-primary) !important;
}
body a.rt-btn.rt-btn-primary:hover,
body button.rt-btn.rt-btn-primary:hover {
	background: var(--c-primary-medium) !important;
	background-color: var(--c-primary-medium) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: var(--shadow-md);
}

.rt-btn-accent {
	background: var(--c-accent);
	color: #fff;
}
.rt-btn-accent:hover {
	background: var(--c-accent-hover);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: var(--shadow-md);
}

.rt-btn-outline {
	background: transparent;
	color: var(--c-primary);
	border-color: var(--c-border);
}
.rt-btn-outline:hover {
	border-color: var(--c-primary);
	background: var(--c-bg-soft);
	color: var(--c-primary);
}

.rt-btn-ghost {
	background: transparent;
	color: var(--c-text);
}
.rt-btn-ghost:hover {
	background: var(--c-bg-muted);
}

.rt-btn-sm {
	min-height: 38px;
	padding: var(--space-2) var(--space-4);
	font-size: var(--text-sm);
}

.rt-btn-block {
	width: 100%;
}

/* --------- Cards --------- */
.rt-card {
	background: var(--c-bg);
	border: 1px solid var(--c-border-soft);
	border-radius: var(--radius-lg);
	padding: var(--space-5);
	box-shadow: var(--shadow-sm);
	margin-bottom: var(--space-4);
}

.rt-card-flat {
	background: var(--c-bg);
	border: 1px solid var(--c-border-soft);
	border-radius: var(--radius-md);
	padding: var(--space-4);
}

.rt-card-elevated {
	background: var(--c-bg);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	box-shadow: var(--shadow-md);
}

/* --------- Page elements --------- */
.rt-page {
	background: var(--c-bg);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	box-shadow: var(--shadow-sm);
}

.rt-page-header {
	margin-bottom: var(--space-6);
	padding-bottom: var(--space-4);
	border-bottom: 1px solid var(--c-border-soft);
}

.rt-page-title {
	font-size: var(--text-2xl);
	color: var(--c-primary-dark);
	margin: 0;
}

.rt-page-content {
	font-size: var(--text-base);
	line-height: 1.7;
}

.rt-page-content > * + * {
	margin-top: var(--space-4);
}

/* --------- Forms --------- */
.rt-input, .rt-select, .rt-textarea {
	width: 100%;
	padding: var(--space-3) var(--space-4);
	font-size: var(--text-base);
	font-family: inherit;
	border: 1.5px solid var(--c-border);
	border-radius: var(--radius-md);
	background: var(--c-bg);
	color: var(--c-text);
	transition: border-color var(--transition), box-shadow var(--transition);
	min-height: 48px;
}

.rt-textarea {
	min-height: 120px;
	resize: vertical;
}

.rt-input:focus, .rt-select:focus, .rt-textarea:focus {
	outline: none;
	border-color: var(--c-primary);
	box-shadow: 0 0 0 3px rgba(26, 46, 108, 0.12);
}

.rt-label {
	display: block;
	margin-bottom: var(--space-2);
	font-weight: 600;
	font-size: var(--text-sm);
	color: var(--c-text);
}

/* --------- Footer --------- */
.rt-footer {
	padding: var(--space-6) 0;
	color: var(--c-text-muted);
	font-size: var(--text-sm);
	text-align: center;
}

.rt-footer-text {
	margin: 0;
}

/* --------- Empty state --------- */
.rt-empty {
	padding: var(--space-12) var(--space-4);
	text-align: center;
	color: var(--c-text-muted);
}

/* --------- Excerpt --------- */
.rt-excerpt p {
	color: var(--c-text-soft);
	font-size: var(--text-sm);
}

/* --------- Utility classes --------- */
.rt-stack-2 > * + * { margin-top: var(--space-2); }
.rt-stack-3 > * + * { margin-top: var(--space-3); }
.rt-stack-4 > * + * { margin-top: var(--space-4); }
.rt-stack-6 > * + * { margin-top: var(--space-6); }

.rt-flex { display: flex; }
.rt-flex-center { display: flex; align-items: center; justify-content: center; }
.rt-flex-between { display: flex; align-items: center; justify-content: space-between; }
.rt-flex-col { display: flex; flex-direction: column; }
.rt-gap-2 { gap: var(--space-2); }
.rt-gap-4 { gap: var(--space-4); }
.rt-gap-6 { gap: var(--space-6); }

.rt-text-center { text-align: center; }
.rt-text-soft { color: var(--c-text-soft); }
.rt-text-muted { color: var(--c-text-muted); }
.rt-text-primary { color: var(--c-primary); }
.rt-text-accent { color: var(--c-accent); }

.rt-hidden { display: none !important; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ==========================================================================
   Small phones (≤ 480px) — espaçamentos mais compactos
   ========================================================================== */
@media (max-width: 480px) {
	:root {
		--space-5: 16px;
		--space-6: 18px;
	}
	.rt-container { padding: 0 var(--space-3); }
	.rt-hero-inner { padding: 64px var(--space-4) 40px; }
	.rt-page { padding: var(--space-5); }
	.rt-card { padding: var(--space-4); }
	.rt-feature-card { padding: var(--space-4); }
}

/* ==========================================================================
   Touch devices — desabilita hover states que ficam "grudados" em touchscreen
   ========================================================================== */
@media (hover: none) {
	.rt-btn:hover,
	.rt-feature-card:hover,
	.rt-tm-card:hover,
	.rt-bottom-nav-item:hover,
	.rt-drawer-menu a:hover {
		transform: none !important;
		background: initial;
	}
	.rt-btn:active {
		transform: scale(0.98);
		opacity: 0.92;
	}
	.rt-bottom-nav-item:active .rt-nav-icon {
		transform: scale(1.15);
	}
}

/* ==========================================================================
   Tablet (≥ 600px)
   ========================================================================== */
@media (min-width: 600px) {
	:root {
		--text-base: 16px;
	}

	.rt-container {
		padding: 0 var(--space-6);
	}

	.rt-main {
		padding: var(--space-8) 0;
	}

	.rt-page {
		padding: var(--space-8);
	}

	.rt-page-title {
		font-size: var(--text-3xl);
	}
}

/* ==========================================================================
   Desktop (≥ 1024px) — esconde bottom nav, mostra menu desktop
   ========================================================================== */
@media (min-width: 1024px) {
	:root {
		--header-h: 64px;
	}

	.rt-body {
		padding-bottom: 0;
	}

	.rt-bottom-nav {
		display: none;
	}

	.rt-nav-desktop {
		display: block;
		flex: 1;
	}

	.rt-menu {
		display: flex;
		align-items: center;
		gap: var(--space-2);
		list-style: none;
		margin: 0;
		padding: 0;
		justify-content: center;
	}

	.rt-menu li {
		position: relative;
	}

	.rt-menu a {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		padding: var(--space-2) var(--space-4);
		color: var(--c-text);
		font-weight: 500;
		font-size: var(--text-sm);
		border-radius: var(--radius-md);
		transition: all var(--transition);
		white-space: nowrap;
		line-height: 1.4;
	}

	.rt-menu a:hover {
		background: var(--c-bg-soft);
		color: var(--c-primary);
	}

	.rt-menu .current-menu-item > a,
	.rt-menu .current-menu-parent > a {
		color: var(--c-primary);
		background: var(--c-bg-soft);
	}

	/* Submenu dropdown (Redes Sociais → Instagram/Youtube) */
	.rt-menu .menu-item-has-children > a::after {
		content: "▾";
		font-size: 10px;
		margin-left: 2px;
		opacity: 0.7;
	}

	.rt-menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 200px;
		background: var(--c-bg);
		border: 1px solid var(--c-border-soft);
		border-radius: var(--radius-md);
		box-shadow: var(--shadow-lg);
		padding: 8px;
		list-style: none;
		margin: 8px 0 0;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);
		transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
		z-index: 100;
	}

	.rt-menu li:hover > .sub-menu,
	.rt-menu li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 0s;
	}

	.rt-menu .sub-menu a {
		display: block;
		width: 100%;
		padding: var(--space-2) var(--space-3);
		font-weight: 500;
	}

	.rt-menu .sub-menu .menu-item-has-children > a::after {
		content: "▸";
	}

	.rt-main {
		padding: var(--space-10) 0;
	}
}

/* ==========================================================================
   Large desktop (≥ 1280px)
   ========================================================================== */
@media (min-width: 1280px) {
	.rt-container {
		padding: 0 var(--space-8);
	}
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
	.rt-header, .rt-bottom-nav, .rt-footer { display: none; }
	.rt-body { padding: 0; }
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   Elementor compat — não interferir com páginas do Elementor
   ========================================================================== */
.elementor-page .rt-main {
	padding: 0;
}

.elementor-page .rt-container {
	max-width: none;
	padding: 0;
}

/* ==========================================================================
   FIX CRÍTICO — Elementor Kit (5) tem bug: line-height: 1.3px (deveria ser
   sem px). Isso colapsa linhas e cria efeito de "texto duplicado" em todos
   os headings do site. Aqui forçamos line-height correto e removemos
   text-transform: uppercase + letter-spacing forçado.
   ========================================================================== */
body.elementor-kit-5 h1,
body.elementor-kit-5 h2,
body.elementor-kit-5 h3,
body.elementor-kit-5 h4,
body.elementor-kit-5 h5,
body.elementor-kit-5 h6,
body h1, body h2, body h3, body h4, body h5, body h6 {
	line-height: 1.25 !important;
}

body .rt-main h1, body .rt-main h2, body .rt-main h3,
body .rt-main h4, body .rt-main h5, body .rt-main h6,
body .rt-drawer h1, body .rt-drawer h2, body .rt-drawer h3 {
	text-transform: none !important;
	letter-spacing: normal !important;
	font-family: var(--font-sans) !important;
}

body .rt-hero-title { letter-spacing: -0.02em !important; }
body .rt-section-title { letter-spacing: -0.02em !important; }
body .rt-cta-title { letter-spacing: -0.02em !important; }
body .rt-am-name { letter-spacing: -0.01em !important; }

/* ==========================================================================
   Neutraliza ícones e textos injetados por plugins de terceiros
   Regra MUITO agressiva — bloqueia QUALQUER ::before/::after dentro de
   headings, strong e elementos do tema (rt-*).
   ========================================================================== */
body :is(h1, h2, h3, h4, h5, h6, strong, em, b, i)::before,
body :is(h1, h2, h3, h4, h5, h6, strong, em, b, i)::after,
body [class*="rt-section"] *::before,
body [class*="rt-section"] *::after,
body [class*="rt-hero"]::before,
body [class*="rt-hero"]::after,
body [class*="rt-tm-"]::before,
body [class*="rt-tm-"]::after,
body [class*="rt-feature"]::before,
body [class*="rt-feature"]::after,
body [class*="rt-am-"]::before,
body [class*="rt-am-"]::after,
body [class*="rt-cta"]::before,
body [class*="rt-cta"]::after,
body [class*="rt-stat"]::before,
body [class*="rt-stat"]::after,
body [class*="rt-drawer"] *::before,
body [class*="rt-drawer"] *::after,
body [class*="rt-page-wrap"] h1::before,
body [class*="rt-page-wrap"] h2::before,
body [class*="rt-page-wrap"] h3::before {
	content: none !important;
	display: none !important;
}

/* Exceções — coisas que MEU CSS adiciona via ::before/::after */
body .rt-bottom-nav-item.is-active::before {
	content: '' !important;
	display: block !important;
}

/* ==========================================================================
   Home — Hero + Stats
   ========================================================================== */
.rt-home {
	padding: 0;
	background: var(--c-bg);
}

.rt-home > .rt-section:not(.rt-cta) {
	width: min(100%, var(--max-content));
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.rt-home > .rt-section:not(.rt-cta) {
		width: calc(100% - 24px);
		overflow: hidden;
	}
}

.rt-hero {
	position: relative;
	min-height: 640px;
	background: var(--c-primary-dark);
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	color: #fff;
}

.rt-hero-img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: 15% center;
	z-index: 0;
}

.rt-hero-img-desktop {
	display: none;
}

@media (min-width: 768px) {
	.rt-hero {
		align-items: center;
	}
	.rt-hero-img-mobile {
		display: none;
	}
	.rt-hero-img-desktop {
		display: block;
	}
	.rt-hero-img {
		object-position: center;
	}
}

.rt-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(20, 34, 82, 0.05) 0%, rgba(20, 34, 82, 0.45) 50%, rgba(20, 34, 82, 0.92) 100%);
	pointer-events: none;
	z-index: 1;
}

.rt-hero-inner {
	z-index: 2;
}

.rt-hero-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--max-content);
	margin: 0 auto;
	padding: 80px var(--space-4) calc(var(--bottom-nav-h) + var(--space-6));
	box-sizing: border-box;
}

.rt-hero-content {
	max-width: 100%;
	box-sizing: border-box;
}

.rt-hero-content {
	max-width: 640px;
}

.rt-hero-badge {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: var(--radius-full);
	color: #fff;
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: var(--space-5);
}

.rt-hero-title {
	font-size: clamp(24px, 6vw, 48px);
	font-weight: 800 !important;
	line-height: 1.15;
	margin: 0 0 var(--space-4);
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	-webkit-text-stroke: 0 !important;
	letter-spacing: -0.02em;
	text-shadow: none !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: none;
}

/* Mobile: empurra título e conteúdo pra direita pra não cobrir o rosto na imagem */
@media (max-width: 767px) {
	.rt-hero-content {
		margin-left: 38% !important;
		max-width: 62% !important;
		text-align: left;
	}
	.rt-hero-title {
		font-size: clamp(18px, 5.5vw, 26px) !important;
		line-height: 1.2;
	}
	.rt-hero-subtitle {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}
	.rt-hero-badge {
		font-size: 11px !important;
		padding: 4px 10px !important;
	}
	.rt-hero-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.rt-hero-actions .rt-btn {
		width: 100%;
	}
}

@media (max-width: 380px) {
	.rt-hero-content {
		margin-left: 42% !important;
		max-width: 58% !important;
	}
}

.rt-hero-subtitle {
	font-size: clamp(15px, 2.2vw, 18px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
	margin: 0 0 var(--space-6);
	text-shadow: none !important;
}

.rt-hero-actions {
	display: flex;
	gap: var(--space-3);
	row-gap: var(--space-3);
	flex-wrap: wrap;
}

.rt-hero-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-3);
	width: min(100%, 720px);
	margin: var(--space-6) auto 0;
}

.rt-hero-stat {
	min-height: 92px;
	padding: var(--space-4) var(--space-3);
	background: rgba(20, 34, 82, 0.28);
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 28px rgba(20, 34, 82, 0.18);
}

.rt-hero-stat-number {
	font-size: clamp(26px, 4vw, 42px);
	font-weight: 800;
	color: #fff;
	line-height: 1;
	letter-spacing: -0.02em;
}

.rt-hero-stat-label {
	margin-top: var(--space-2);
	font-size: var(--text-xs);
	font-weight: 600;
	line-height: 1.25;
	color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 767px) {
	.rt-hero-stats {
		grid-template-columns: 1fr;
		gap: 8px;
		margin-top: 14px;
	}
	.rt-hero-stat {
		min-height: 58px;
		padding: 8px 10px;
	}
	.rt-hero-stat-number {
		font-size: 22px;
	}
	.rt-hero-stat-label {
		font-size: 10px;
		margin-top: 4px;
	}
}

.rt-btn-ghost-light {
	background: transparent;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
}
.rt-btn-ghost-light:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border-color: #fff;
}

@media (max-width: 767px) {
	.rt-hero {
		min-height: 668px;
	}
	.rt-hero-inner {
		padding: 44px 18px calc(var(--bottom-nav-h) + 24px);
	}
	.rt-hero-content {
		margin-left: 39% !important;
		max-width: calc(61% - 8px) !important;
	}
	.rt-hero-badge {
		display: table;
		margin: 0 0 14px;
		max-width: 100%;
		white-space: normal;
		line-height: 1.15;
	}
	.rt-hero-title {
		margin-bottom: 16px;
		font-size: clamp(19px, 6vw, 25px) !important;
		line-height: 1.12 !important;
	}
	.rt-hero-subtitle {
		margin-bottom: 18px;
		font-size: 13px !important;
		line-height: 1.48 !important;
	}
	.rt-hero-actions {
		gap: 10px;
	}
	.rt-hero-actions .rt-btn {
		width: 100%;
		min-height: 44px;
		padding: 10px 11px;
		font-size: 13.5px;
		line-height: 1.15;
		text-align: center;
		white-space: normal;
		overflow-wrap: normal;
	}
	body .rt-hero-actions a.rt-btn.rt-btn-accent {
		font-size: 13px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	body .rt-hero-actions a.rt-btn.rt-btn-ghost-light {
		background: rgba(255, 255, 255, 0.1) !important;
		background-color: rgba(255, 255, 255, 0.1) !important;
		color: #fff !important;
		-webkit-text-fill-color: #fff !important;
		border-color: rgba(255, 255, 255, 0.82) !important;
		font-weight: 700 !important;
	}
	.rt-hero-stats {
		gap: 9px;
		margin-top: 14px;
		width: 100%;
	}
	.rt-hero-stat {
		min-height: 58px;
		padding: 8px 10px;
	}
}

@media (min-width: 768px) {
	.rt-hero {
		min-height: 560px;
	}
	.rt-hero-overlay {
		background: linear-gradient(90deg, rgba(20, 34, 82, 0.75) 0%, rgba(20, 34, 82, 0.35) 50%, rgba(20, 34, 82, 0.75) 100%);
	}
	.rt-hero-inner {
		padding: 96px var(--space-8) 80px;
	}
}

@media (min-width: 1024px) {
	.rt-hero {
		min-height: 640px;
	}
	.rt-hero-inner {
		padding: 120px var(--space-8) 96px;
	}
	.rt-hero-content {
		text-align: center;
		margin: 0 auto;
		max-width: 760px;
	}
	.rt-hero-actions {
		justify-content: center;
	}
}

/* Stats section */
.rt-stats {
	background: var(--c-bg);
	padding: var(--space-10) 0;
	border-bottom: 1px solid var(--c-border-soft);
}

.rt-stats-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-6);
	text-align: center;
}

.rt-stat-number {
	font-size: clamp(36px, 6vw, 56px);
	font-weight: 800;
	color: var(--c-primary);
	line-height: 1;
	letter-spacing: -0.02em;
}

.rt-stat-label {
	font-size: var(--text-sm);
	color: var(--c-text-soft);
	margin-top: var(--space-2);
	font-weight: 500;
}

@media (min-width: 600px) {
	.rt-stats-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--space-8);
	}
}

@media (min-width: 1024px) {
	.rt-stats {
		padding: var(--space-16) 0;
	}
}

/* Compatibilidade: se uma versão cacheada ainda trouxer a seção antiga,
   ela é puxada para dentro do hero e ganha o mesmo visual dos novos cards. */
.rt-home > .rt-stats {
	position: relative;
	z-index: 3;
	width: min(100%, 720px);
	margin: -128px auto 0;
	padding: 0 var(--space-4) var(--space-8);
	background: transparent;
	border-bottom: 0;
}

.rt-home > .rt-stats .rt-stats-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-3);
}

.rt-home > .rt-stats .rt-stat {
	min-height: 92px;
	padding: var(--space-4) var(--space-3);
	background: rgba(20, 34, 82, 0.28);
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: 0 10px 28px rgba(20, 34, 82, 0.18);
}

.rt-home > .rt-stats .rt-stat-number {
	font-size: clamp(26px, 4vw, 42px);
	color: #fff;
}

.rt-home > .rt-stats .rt-stat-label {
	font-size: var(--text-xs);
	font-weight: 600;
	line-height: 1.25;
	color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 767px) {
	.rt-home > .rt-stats {
		width: min(calc(100% - 32px), 260px);
		margin: -230px 16px 0 auto;
		padding: 0 0 var(--space-6);
	}
	.rt-home > .rt-stats .rt-stats-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.rt-home > .rt-stats .rt-stat {
		min-height: 58px;
		padding: 8px 10px;
	}
	.rt-home > .rt-stats .rt-stat-number {
		font-size: 22px;
	}
	.rt-home > .rt-stats .rt-stat-label {
		font-size: 10px;
		margin-top: 4px;
	}
}

/* View Transitions desabilitadas (causavam ghosting em alguns browsers) */

/* ==========================================================================
   Skeleton loading state
   ========================================================================== */
.rt-skeleton {
	background: linear-gradient(90deg, var(--c-bg-soft) 0%, var(--c-bg-muted) 50%, var(--c-bg-soft) 100%);
	background-size: 200% 100%;
	animation: rt-skeleton 1.4s ease-in-out infinite;
	border-radius: var(--radius-md);
}

@keyframes rt-skeleton {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* ==========================================================================
   Focus states acessíveis em tudo
   ========================================================================== */
:focus-visible {
	outline: 3px solid var(--c-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
input:focus:not(:focus-visible) {
	outline: none;
}

/* ==========================================================================
   Auth pages compat — formulários do recriando-controleacesso-senha
   ========================================================================== */
.rt-main-boxed .recriando-auth-wrap {
	margin-top: 0;
	margin-bottom: 0;
}

.rt-main-boxed .recriando-auth-card {
	box-shadow: var(--shadow-md);
	border-radius: var(--radius-lg);
}

/* ==========================================================================
   Wrapper genérico — páginas sem Elementor (shortcode, JetEngine, HTML)
   ========================================================================== */
.rt-main-fluid {
	padding: 0;
}

.rt-main-boxed {
	padding: var(--space-6) 0 var(--space-10);
}

@media (min-width: 1024px) {
	.rt-main-boxed {
		padding: var(--space-10) 0 var(--space-16);
	}
}

.rt-page-wrap {
	max-width: var(--max-content);
}

/* Reset top/bottom de elementos diretos pra evitar duplo espaçamento */
.rt-page-wrap > :first-child { margin-top: 0; }
.rt-page-wrap > :last-child  { margin-bottom: 0; }

/* Tipografia padrão para conteúdo de páginas */
.rt-page-wrap h1:not([class*="rt-"]):not([class*="elementor"]),
.rt-page-wrap h2:not([class*="rt-"]):not([class*="elementor"]),
.rt-page-wrap h3:not([class*="rt-"]):not([class*="elementor"]) {
	color: var(--c-primary-dark);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	margin: var(--space-8) 0 var(--space-4);
}

.rt-page-wrap h1:not([class*="rt-"]):not([class*="elementor"]) { font-size: clamp(26px, 4vw, 36px); }
.rt-page-wrap h2:not([class*="rt-"]):not([class*="elementor"]) { font-size: clamp(22px, 3vw, 28px); }
.rt-page-wrap h3:not([class*="rt-"]):not([class*="elementor"]) { font-size: clamp(18px, 2.5vw, 22px); }

.rt-page-wrap p:not([class*="rt-"]):not([class*="elementor"]) {
	line-height: 1.7;
	margin: 0 0 var(--space-4);
	color: var(--c-text);
}

.rt-page-wrap ul:not([class]),
.rt-page-wrap ol:not([class]) {
	margin: 0 0 var(--space-4);
	padding-left: var(--space-6);
	line-height: 1.7;
}

.rt-page-wrap ul:not([class]) li,
.rt-page-wrap ol:not([class]) li {
	margin-bottom: var(--space-2);
}

.rt-page-wrap img:not([class*="elementor"]):not([class*="wp-smiley"]) {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-md);
}

.rt-page-wrap blockquote {
	border-left: 4px solid var(--c-accent);
	margin: var(--space-6) 0;
	padding: var(--space-4) var(--space-5);
	background: var(--c-bg-soft);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-style: italic;
	color: var(--c-text-soft);
}

.rt-page-wrap blockquote p:last-child { margin-bottom: 0; }

/* Tabelas */
.rt-page-wrap table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--space-4);
	background: var(--c-bg);
	border: 1px solid var(--c-border-soft);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.rt-page-wrap th, .rt-page-wrap td {
	padding: var(--space-3) var(--space-4);
	text-align: left;
	border-bottom: 1px solid var(--c-border-soft);
}

.rt-page-wrap th {
	background: var(--c-bg-soft);
	font-weight: 700;
	color: var(--c-primary-dark);
}

.rt-page-wrap tr:last-child td { border-bottom: 0; }

/* Iframes / vídeos responsivos */
.rt-page-wrap iframe,
.rt-page-wrap video {
	max-width: 100%;
	border-radius: var(--radius-md);
}

/* Formulários genéricos dentro de páginas */
.rt-page-wrap input[type="text"]:not([class]),
.rt-page-wrap input[type="email"]:not([class]),
.rt-page-wrap input[type="password"]:not([class]),
.rt-page-wrap input[type="url"]:not([class]),
.rt-page-wrap input[type="tel"]:not([class]),
.rt-page-wrap input[type="search"]:not([class]),
.rt-page-wrap textarea:not([class]),
.rt-page-wrap select:not([class]) {
	width: 100%;
	padding: var(--space-3) var(--space-4);
	border: 1.5px solid var(--c-border);
	border-radius: var(--radius-md);
	font-size: var(--text-base);
	font-family: inherit;
	min-height: 48px;
	background: var(--c-bg);
	color: var(--c-text);
	transition: border-color var(--transition);
}

.rt-page-wrap input:not([class]):focus,
.rt-page-wrap textarea:not([class]):focus,
.rt-page-wrap select:not([class]):focus {
	outline: none;
	border-color: var(--c-primary);
	box-shadow: 0 0 0 3px rgba(26, 46, 108, 0.12);
}

/* Links de texto */
.rt-page-wrap a:not([class]) {
	color: var(--c-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color var(--transition);
}

.rt-page-wrap a:not([class]):hover {
	color: var(--c-accent);
}

/* ==========================================================================
   Seções genéricas da Home
   ========================================================================== */
.rt-section {
	padding: var(--space-12) 0;
}
@media (max-width: 767px) {
	.rt-section {
		padding: var(--space-10) 0;
	}
	.rt-section-title {
		font-size: clamp(24px, 7.4vw, 31px);
		line-height: 1.16;
		margin-bottom: var(--space-5);
	}
	.rt-section-text {
		margin-bottom: var(--space-6);
	}
}
@media (min-width: 1024px) {
	.rt-section {
		padding: var(--space-16) 0;
	}
}

.rt-section-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto var(--space-10);
}

.rt-section-title {
	font-size: clamp(24px, 4vw, 36px);
	font-weight: 800 !important;
	color: var(--c-primary-dark) !important;
	-webkit-text-fill-color: var(--c-primary-dark) !important;
	-webkit-text-stroke: 0 !important;
	margin: 0 0 var(--space-3);
	line-height: 1.2;
	letter-spacing: -0.02em;
	text-shadow: none !important;
	filter: none !important;
}

.rt-section-subtitle {
	font-size: var(--text-lg);
	color: var(--c-text-soft);
	margin: 0;
}

.rt-section-text {
	color: var(--c-text-soft);
	line-height: 1.7;
	margin-bottom: var(--space-5);
}

.rt-section-text p + p {
	margin-top: var(--space-3);
}

.rt-eyebrow {
	display: inline-block;
	font-size: var(--text-sm);
	font-weight: 700;
	color: var(--c-accent);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: var(--space-4);
}

/* ==========================================================================
   Section 2: Sobre o Blog
   ========================================================================== */
.rt-about-blog {
	background: var(--c-bg-soft);
}

.rt-ab-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-10);
	align-items: center;
}

@media (max-width: 767px) {
	.rt-ab-grid {
		gap: var(--space-6);
	}
	.rt-ab-intro .rt-btn {
		width: auto;
		min-width: 156px;
	}
	.rt-ab-features {
		gap: var(--space-3);
	}
	.rt-feature-card {
		grid-template-columns: 42px 1fr;
		column-gap: var(--space-3);
		padding: var(--space-4);
	}
	.rt-feature-icon {
		width: 42px;
		height: 42px;
	}
	.rt-feature-icon svg {
		width: 21px;
		height: 21px;
	}
	.rt-feature-title {
		font-size: 18px;
		line-height: 1.2;
	}
	.rt-feature-text {
		font-size: 12.5px;
		line-height: 1.45;
	}
}

@media (min-width: 900px) {
	.rt-ab-grid {
		grid-template-columns: 1fr 1.1fr;
		gap: var(--space-12);
	}
}

.rt-ab-features {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 600px) {
	.rt-ab-features {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.rt-ab-features {
		grid-template-columns: 1fr;
	}
}

.rt-feature-card {
	background: var(--c-bg);
	border: 1px solid var(--c-border-soft);
	border-radius: var(--radius-lg);
	padding: var(--space-5);
	display: grid;
	grid-template-columns: 48px 1fr;
	grid-template-rows: auto auto;
	column-gap: var(--space-4);
	row-gap: 4px;
	align-items: start;
	transition: all var(--transition);
}
.rt-feature-card:hover {
	border-color: var(--c-primary);
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}

.rt-feature-icon {
	grid-column: 1;
	grid-row: 1 / 3;
	align-self: start;
	width: 48px;
	height: 48px;
	border-radius: var(--radius-md);
	background: var(--c-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.rt-feature-icon svg {
	width: 24px;
	height: 24px;
}

.rt-feature-title {
	grid-column: 2;
	grid-row: 1;
	font-size: var(--text-lg);
	font-weight: 700 !important;
	color: var(--c-primary-dark) !important;
	-webkit-text-fill-color: var(--c-primary-dark) !important;
	-webkit-text-stroke: 0 !important;
	margin: 0;
	line-height: 1.3;
	text-shadow: none !important;
	filter: none !important;
}

.rt-feature-text {
	grid-column: 2;
	grid-row: 2;
	font-size: var(--text-sm);
	color: var(--c-text-soft);
	margin: 0;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.rt-ab-features {
		gap: var(--space-3);
	}
	.rt-feature-card {
		grid-template-columns: 42px 1fr;
		column-gap: var(--space-3);
		padding: var(--space-4);
	}
	.rt-feature-icon {
		width: 42px;
		height: 42px;
	}
	.rt-feature-icon svg {
		width: 21px;
		height: 21px;
	}
	.rt-feature-title {
		font-size: 18px;
		line-height: 1.2;
	}
	.rt-feature-text {
		font-size: 12.5px;
		line-height: 1.45;
	}
}

/* ==========================================================================
   Section 3: Quem Sou Eu (Leandro)
   ========================================================================== */
.rt-about-me {
	background: var(--c-bg);
}

.rt-am-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-8);
	align-items: center;
}

@media (min-width: 900px) {
	.rt-am-grid {
		grid-template-columns: 360px 1fr;
		gap: var(--space-12);
	}
}

.rt-am-photo-wrap {
	text-align: center;
}

.rt-am-photo {
	max-width: 320px;
	margin: 0 auto var(--space-4);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	background: var(--c-primary);
	aspect-ratio: 1;
}

.rt-am-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rt-am-name {
	font-size: var(--text-xl);
	font-weight: 800;
	color: var(--c-primary-dark);
	margin: 0;
	letter-spacing: -0.01em;
}

.rt-am-role {
	color: var(--c-accent);
	font-weight: 600;
	margin: var(--space-1) 0 0;
}

@media (min-width: 900px) {
	.rt-am-photo-wrap {
		text-align: left;
	}
	.rt-am-photo {
		margin-left: 0;
	}
}

/* ==========================================================================
   Section 4: Depoimentos
   ========================================================================== */
.rt-testimonials {
	background: var(--c-primary-dark);
	color: #fff;
}

.rt-testimonials .rt-section-title {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.rt-testimonials .rt-section-subtitle {
	color: rgba(255, 255, 255, 0.72);
	-webkit-text-fill-color: rgba(255, 255, 255, 0.72);
}

.rt-tm-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
}

@media (min-width: 768px) {
	.rt-tm-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.rt-tm-card {
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-lg);
	padding: var(--space-6);
	transition: all var(--transition);
}
.rt-tm-card:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.2);
	transform: translateY(-2px);
}

.rt-tm-stars {
	color: var(--c-accent);
	font-size: var(--text-lg);
	letter-spacing: 2px;
	margin-bottom: var(--space-3);
}

.rt-tm-text {
	color: rgba(255, 255, 255, 0.92);
	font-size: var(--text-base);
	line-height: 1.6;
	margin: 0 0 var(--space-4);
	font-style: italic;
}

.rt-tm-author {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	line-height: 1.4 !important;
}

.rt-tm-author strong {
	display: block !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	-webkit-text-stroke: 0 !important;
	font-size: var(--text-base) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-shadow: none !important;
	filter: none !important;
}

.rt-tm-author span {
	display: block !important;
	line-height: 1.4 !important;
	color: rgba(255, 255, 255, 0.65) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.65) !important;
	font-size: var(--text-sm) !important;
}

.rt-tm-author span {
	color: rgba(255, 255, 255, 0.65);
	font-size: var(--text-sm);
}

@media (max-width: 767px) {
	.rt-testimonials {
		padding-top: 28px;
		padding-bottom: 34px;
	}
	.rt-testimonials .rt-section-head {
		margin-bottom: 18px;
		padding: 0 12px;
	}
	.rt-testimonials .rt-section-title {
		display: block;
		margin: 0 0 6px;
		font-size: 22px;
		line-height: 1.15;
		text-align: center;
	}
	.rt-testimonials .rt-section-subtitle {
		display: block;
		margin: 0;
		font-size: 13px;
		line-height: 1.35;
		text-align: center;
	}
	.rt-tm-grid {
		gap: 12px;
	}
	.rt-tm-card {
		padding: 16px;
		border-radius: 10px;
	}
	.rt-tm-stars {
		margin-bottom: 8px;
	}
	.rt-tm-text {
		margin-bottom: 12px;
		font-size: 13px;
		line-height: 1.5;
	}
}

/* ==========================================================================
   Section 5: CTA Final
   ========================================================================== */
.rt-cta {
	background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-hover) 100%);
	color: #fff;
}

.rt-cta-inner {
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}

.rt-cta-title {
	font-size: clamp(26px, 4.5vw, 42px);
	font-weight: 800 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	-webkit-text-stroke: 0 !important;
	margin: 0 0 var(--space-4);
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-shadow: none !important;
	filter: none !important;
}

.rt-cta-subtitle {
	font-size: var(--text-lg);
	color: rgba(255, 255, 255, 0.92);
	margin: 0 0 var(--space-6);
	line-height: 1.5;
}

body a.rt-btn.rt-btn-accent,
body button.rt-btn.rt-btn-accent {
	background: var(--c-accent) !important;
	background-color: var(--c-accent) !important;
	color: #fff !important;
	border-color: var(--c-accent) !important;
}
body a.rt-btn.rt-btn-accent:hover,
body button.rt-btn.rt-btn-accent:hover {
	background: var(--c-accent-hover) !important;
	background-color: var(--c-accent-hover) !important;
}

/* CTA section: botão invertido (fundo branco, texto laranja) */
body .rt-cta a.rt-btn.rt-btn-accent {
	background: #fff !important;
	background-color: #fff !important;
	color: var(--c-accent-hover) !important;
	border-color: #fff !important;
}
body .rt-cta a.rt-btn.rt-btn-accent:hover {
	background: var(--c-primary-dark) !important;
	background-color: var(--c-primary-dark) !important;
	color: #fff !important;
}

.rt-btn-large {
	min-height: 56px !important;
	padding: var(--space-4) var(--space-8) !important;
	font-size: var(--text-lg) !important;
}

/* CSS de visibilidade responsiva do Elementor removido — Elementor controla isso nativamente
   Se aparecerem listagens duplicadas, edite no Elementor pra excluir a versão que sobra. */

/* Cards de atividade — sem CSS custom, Elementor controla nativamente */

/* ==========================================================================
   RecrIAr 2.0 — Menu "Painel do Professor" — ajuste MOBILE ONLY
   Transforma os pills em grid 2x2 equilibrado (em vez de flex-wrap torto)
   ========================================================================== */
@media (max-width: 767px) {
	body .r2-prof-head {
		padding: 18px 16px !important;
		border-radius: 18px !important;
	}

	body .r2-prof-row {
		gap: 18px !important;
	}

	body .r2-prof-brand-wrap {
		gap: 12px !important;
	}

	body .r2-prof-mark {
		width: 40px !important;
		height: 40px !important;
		border-radius: 12px !important;
	}

	body .r2-prof-title {
		font-size: 20px !important;
	}

	body .r2-prof-sub {
		margin-top: 8px !important;
		font-size: 12px !important;
	}

	/* NAV em grid 2x2 — pills equilibrados */
	body .r2-prof-nav {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		width: 100% !important;
	}

	/* Cada pill ocupa a célula inteira, conteúdo alinhado à esquerda */
	body .r2-prof-link,
	body .r2-prof-link.ativa {
		width: 100% !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		padding: 10px 12px !important;
		min-height: 46px !important;
		box-sizing: border-box !important;
		font-size: 13px !important;
	}

	body .r2-prof-link > span:last-child {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Badge das 2 letras um pouco menor no mobile */
	body .r2-prof-ico {
		width: 22px !important;
		height: 22px !important;
		font-size: 9px !important;
	}
}

/* Mantém 2x2 mesmo em telas pequenas — pills compactam mas ficam equilibrados */
@media (max-width: 380px) {
	body .r2-prof-link,
	body .r2-prof-link.ativa {
		padding: 9px 10px !important;
		font-size: 12px !important;
		gap: 6px !important;
	}
	body .r2-prof-ico {
		width: 20px !important;
		height: 20px !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Cards de estatísticas (Aulas salvas, Turmas, etc.) — MOBILE
   De 1 coluna para grid 2x2
   ========================================================================== */
@media (max-width: 767px) {
	body .r2-proto-grid-metrics {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}
	body .r2-proto-metric {
		min-height: 84px !important;
		padding: 14px !important;
		border-radius: 16px !important;
		gap: 4px !important;
	}
	body .r2-proto-metric strong {
		font-size: 26px !important;
	}
	body .r2-proto-metric span {
		font-size: 10px !important;
		letter-spacing: 0.04em !important;
	}
	body .r2-proto-metric.alerta {
		padding-left: 12px !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Cards "Aulas recentes" — MOBILE (melhor formatação)
   Título em cima → pills em linha → botão Abrir full-width
   ========================================================================== */
@media (max-width: 767px) {
	body .r2-proto-recent-item {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 16px !important;
	}

	/* Bloco título + data ocupa a linha inteira */
	body .r2-proto-recent-item > div:first-child {
		flex: 1 1 100% !important;
		min-width: 0 !important;
	}

	body .r2-proto-recent-title {
		font-size: 17px !important;
	}

	/* Pills lado a lado, quebrando quando precisa */
	body .r2-proto-pill {
		flex: 0 0 auto !important;
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Botão Abrir ocupa a linha inteira embaixo */
	body .r2-shell a.r2-btn-ver,
	body .r2-shell button.r2-btn-ver {
		flex: 1 1 100% !important;
		width: 100% !important;
		justify-content: center !important;
		margin-top: 4px !important;
	}

	/* Header da seção (título + Ver todas) empilha bonito */
	body .r2-proto-head {
		flex-wrap: wrap !important;
		gap: 10px !important;
		align-items: center !important;
	}
}

/* ==========================================================================
   Estúdio (Criador de Plano de Aulas) — menu MOBILE
   Troca o scroll horizontal por grid 2 colunas (igual ao RecrIAr 2.0)
   ========================================================================== */
@media (max-width: 640px) {
	body .estudio-ui .estudio-panel-nav {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		flex-wrap: wrap !important;
		overflow-x: visible !important;
		gap: 8px !important;
		padding: 12px 0 0 !important;
	}
	body .estudio-ui .estudio-panel-nav-link {
		flex: none !important;
		width: 100% !important;
		box-sizing: border-box !important;
		justify-content: flex-start !important;
		min-height: 46px !important;
		padding: 10px 12px !important;
	}
	body .estudio-ui .estudio-panel-nav-link.is-active {
		padding: 10px 12px !important;
	}
	body .estudio-ui .estudio-panel-nav-label {
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Botões "Gerar Aula" + "Ver Minhas Aulas" lado a lado — MOBILE
   ========================================================================== */
@media (max-width: 767px) {
	body .r2-shell .r2-inline-actions {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		gap: 10px !important;
		width: 100% !important;
	}
	body .r2-shell .r2-inline-actions > a,
	body .r2-shell .r2-inline-actions > button {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		justify-content: center !important;
		text-align: center !important;
		white-space: nowrap !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
		font-size: 13px !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Minhas Turmas (perfil) — MOBILE
   Card de escola: nome em cima (linha cheia), botões Editar/Excluir embaixo
   ========================================================================== */
@media (max-width: 767px) {
	/* Cabeçalho do card de escola empilha */
	body .r2-proto-school-head {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}

	/* Badge + nome ocupam a linha inteira, nome quebra natural */
	body .r2-proto-school-ident {
		width: 100% !important;
		align-items: center !important;
	}
	body .r2-proto-school-name {
		font-size: 16px !important;
		line-height: 1.3 !important;
		word-break: break-word !important;
	}

	/* Botões Editar/Excluir lado a lado, largura igual */
	body .r2-proto-school-head > div:last-child {
		display: flex !important;
		width: 100% !important;
		gap: 8px !important;
	}
	body .r2-proto-school-head > div:last-child > button {
		flex: 1 1 0 !important;
		justify-content: center !important;
		min-height: 40px !important;
	}

	/* Linha "adicionar turma": input full-width, botão embaixo */
	body .r2-proto-school-add {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 8px !important;
	}
	body .r2-proto-school-add .r2-input {
		width: 100% !important;
		max-width: none !important;
	}
	body .r2-proto-school-add .r2-btn-outline-slate {
		width: 100% !important;
		justify-content: center !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Minhas Aulas — card MOBILE
   - Badges sem colisão com a data
   - Botões de ação movidos pro FIM do card (via display:contents) e pequenos
     (tamanho de badge), com menos destaque que o conteúdo. Desktop não muda.
   ========================================================================== */
@media (max-width: 767px) {
	/* Topo: badges + data sem colisão */
	body .r2-hist-card-badges {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}
	body .r2-hist-card-date {
		flex-basis: 100% !important;
		border-left: none !important;
		padding-left: 0 !important;
		margin-top: 2px !important;
	}

	/* Reordenação: card vira coluna, top vira "contents" pra soltar os filhos */
	body .r2-hist-card {
		display: flex !important;
		flex-direction: column !important;
	}
	body .r2-hist-card-top {
		display: contents !important;
	}
	body .r2-hist-card-badges { order: 1 !important; }
	body .r2-hist-card-main   { order: 2 !important; }
	body .r2-hist-card > div[style*="height:1px"] { order: 3 !important; }
	body .r2-hist-card-cols   { order: 4 !important; }
	body .r2-hist-card-actions { order: 5 !important; }

	/* Ações pequenas (como badges), em linha que quebra, no fim do card */
	body .r2-hist-card-actions {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 6px !important;
		width: 100% !important;
		margin-top: 14px !important;
		padding-top: 14px !important;
		border-top: 1px solid #E2E8F0 !important;
	}
	body .r2-hist-btn-action {
		flex: 0 0 auto !important;
		width: auto !important;
		min-height: 0 !important;
		padding: 5px 10px !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		border-radius: 6px !important;
		gap: 4px !important;
		line-height: 1.3 !important;
		box-shadow: none !important;
	}
	body .r2-hist-btn-action svg {
		width: 12px !important;
		height: 12px !important;
	}
}

/* ==========================================================================
   RecrIAr 2.0 — Ver/Editar Aula — MOBILE
   ========================================================================== */
@media (max-width: 767px) {
	/* 1. Pills "Aula 1 · Teórica" em grid 2 por linha (5 = 2+2+1), tudo visível */
	body .r2-ver .r2-tabs {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		overflow: visible !important;
		white-space: normal !important;
	}
	body .r2-ver .r2-tab {
		width: 100% !important;
		justify-content: center !important;
		white-space: nowrap !important;
		padding: 9px 10px !important;
		font-size: 12px !important;
		box-sizing: border-box !important;
	}

	/* 2. Botão EDITAR não sobrepõe o título da seção */
	body .r2-ver .r2-secao {
		margin-bottom: 18px !important;
	}
	body .r2-ver .r2-secao-label {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
		padding-right: 0 !important;
	}
	body .r2-ver .r2-ile-btn-editar {
		flex-shrink: 0 !important;
		margin-left: auto !important;
	}

	/* 3. Espaçamento das caixas de conteúdo mais enxuto */
	body .r2-ver .r2-secao-box {
		padding: 14px !important;
	}
	body .r2-ver .r2-aula-body {
		padding: 16px 14px 22px !important;
	}

	/* 4. Tamanhos de título no mobile */
	body .r2-ver .r2-aula-titulo-doc {
		font-size: 20px !important;
		line-height: 1.25 !important;
	}
	body .r2-ver .r2-secao-label {
		font-size: 11px !important;
	}
}

/* ==========================================================================
   Página Atividades (NOVO Hero PHP)
   ========================================================================== */
.rt-ativ-wrap {
	padding: 0;
}

/* HERO NOVO */
.rt-ativ-hero-new {
	position: relative;
	background: linear-gradient(135deg, #1E40AF 0%, var(--c-primary-dark) 100%);
	color: #fff;
	padding: var(--space-10) 0 var(--space-12);
	text-align: center;
	overflow: hidden;
}

/* Decorações SVG no fundo */
.rt-ativ-deco {
	position: absolute;
	pointer-events: none;
	opacity: 0.7;
}
.rt-ativ-deco-1 {
	width: 240px;
	height: 240px;
	top: -60px;
	right: -60px;
}
.rt-ativ-deco-2 {
	width: 120px;
	height: 120px;
	bottom: 40px;
	left: -20px;
	animation: rt-float 8s ease-in-out infinite;
}
.rt-ativ-deco-3 {
	width: 80px;
	height: 80px;
	top: 30%;
	right: 8%;
	animation: rt-spin 30s linear infinite;
}

@keyframes rt-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-12px); }
}
@keyframes rt-spin {
	from { transform: rotate(0); }
	to   { transform: rotate(360deg); }
}

.rt-ativ-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 880px;
	margin: 0 auto;
}

/* HERO LEGADO (compatibilidade) */
.rt-ativ-hero:not(.rt-ativ-hero-new) {
	background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
	color: #fff;
	padding: var(--space-12) 0 var(--space-10);
	text-align: center;
}

.rt-ativ-badge {
	display: inline-block;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--radius-full);
	color: #fff;
	font-size: var(--text-sm);
	font-weight: 600;
	margin-bottom: var(--space-4);
}

.rt-ativ-title {
	font-size: clamp(24px, 5vw, 40px) !important;
	font-weight: 800 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	margin: 0 auto var(--space-3);
	line-height: 1.2 !important;
	max-width: 800px;
}

.rt-ativ-subtitle {
	font-size: clamp(15px, 2.2vw, 18px);
	color: rgba(255, 255, 255, 0.85);
	margin: 0 auto var(--space-8);
	max-width: 720px;
	line-height: 1.5;
}

.rt-ativ-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-3);
	max-width: 720px;
	margin: 0 auto var(--space-6);
}

@media (min-width: 768px) {
	.rt-ativ-stats {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--space-4);
	}
}

.rt-ativ-stat {
	padding: var(--space-4) var(--space-3);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: var(--radius-lg);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 110px;
	transition: transform var(--transition), background var(--transition);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	animation: rt-fade-in-up 500ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@media (hover: hover) {
	.rt-ativ-stat:hover {
		background: rgba(255, 255, 255, 0.14);
		transform: translateY(-3px);
	}
}

@keyframes rt-fade-in-up {
	from { opacity: 0; transform: translateY(16px); }
	to   { opacity: 1; transform: translateY(0); }
}

.rt-ativ-stat-icon {
	font-size: 24px;
	line-height: 1;
	margin-bottom: 2px;
}

.rt-ativ-stat-num {
	font-size: clamp(22px, 4vw, 30px);
	font-weight: 800;
	color: var(--c-accent);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.rt-ativ-stat-lbl {
	font-size: clamp(10.5px, 1.6vw, 12.5px);
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.3;
	font-weight: 500;
	max-width: 140px;
}

/* CTA scroll dentro do hero */
.rt-ativ-cta-scroll {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: var(--space-3) var(--space-6);
	background: var(--c-accent);
	color: #fff;
	font-weight: 700;
	font-size: var(--text-base);
	border-radius: var(--radius-full);
	transition: all var(--transition);
	box-shadow: 0 4px 14px rgba(244, 124, 32, 0.35);
	text-decoration: none;
}
.rt-ativ-cta-scroll:hover {
	background: var(--c-accent-hover);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(244, 124, 32, 0.45);
}
.rt-ativ-cta-scroll svg {
	animation: rt-bounce-down 1.6s ease-in-out infinite;
}
@keyframes rt-bounce-down {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(3px); }
}

/* Trust indicator */
.rt-ativ-trust {
	margin: var(--space-5) 0 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--text-sm);
}
.rt-ativ-trust strong {
	color: #fff;
	font-weight: 700;
}

/* Mobile compact ajustes */
@media (max-width: 600px) {
	.rt-ativ-hero-new {
		padding: var(--space-8) 0 var(--space-10);
	}
	.rt-ativ-deco-1 { width: 180px; height: 180px; top: -50px; right: -50px; }
	.rt-ativ-deco-2 { width: 80px; height: 80px; }
	.rt-ativ-deco-3 { width: 50px; height: 50px; }
	.rt-ativ-stat { min-height: 96px; padding: var(--space-3); }
	.rt-ativ-stat-icon { font-size: 20px; }
	.rt-ativ-cta-scroll { width: 100%; justify-content: center; }
}

/* CTA TOPO (laranja) */
.rt-ativ-cta1 {
	background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-hover) 100%);
	padding: var(--space-10) 0;
	color: #fff;
}

.rt-ativ-cta1-inner {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.rt-ativ-cta1 .rt-eyebrow {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.2);
	padding: 4px 12px;
	border-radius: var(--radius-full);
	font-size: var(--text-xs);
	margin-bottom: var(--space-3);
}

.rt-ativ-cta1-title {
	font-size: clamp(22px, 3.5vw, 32px) !important;
	font-weight: 800 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	margin: 0 0 var(--space-3) !important;
	line-height: 1.2 !important;
}

.rt-ativ-cta1-text {
	font-size: var(--text-base);
	color: rgba(255, 255, 255, 0.95);
	margin: 0 0 var(--space-6);
	line-height: 1.55;
}

.rt-ativ-cta1-actions {
	display: flex;
	gap: var(--space-3);
	flex-wrap: wrap;
	justify-content: center;
}

body .rt-ativ-cta1 a.rt-btn.rt-btn-accent {
	background: #fff !important;
	background-color: #fff !important;
	color: var(--c-accent-hover) !important;
	border-color: #fff !important;
}
body .rt-ativ-cta1 a.rt-btn.rt-btn-accent:hover {
	background: var(--c-primary-dark) !important;
	background-color: var(--c-primary-dark) !important;
	color: #fff !important;
}

/* FILTROS */
.rt-ativ-filters {
	background: var(--c-bg-soft);
	padding: var(--space-6) 0;
}

.rt-ativ-filters-grid {
	background: var(--c-bg);
	border-radius: var(--radius-lg);
	padding: var(--space-5);
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.rt-ativ-filter-search {
	width: 100%;
}

.rt-ativ-filter-selects {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

@media (min-width: 600px) {
	.rt-ativ-filter-selects {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.rt-ativ-filter-selects {
		grid-template-columns: repeat(4, 1fr);
	}
}

.rt-ativ-filters-more summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--c-primary);
	padding: var(--space-2) var(--space-3);
	background: var(--c-bg-soft);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	display: inline-block;
	border: 1px solid var(--c-border);
	transition: all var(--transition);
	list-style: none;
}

.rt-ativ-filters-more summary::-webkit-details-marker {
	display: none;
}

.rt-ativ-filters-more summary:hover {
	color: var(--c-accent);
	border-color: var(--c-accent);
}

.rt-ativ-filters-more[open] summary {
	margin-bottom: var(--space-4);
	background: var(--c-bg-muted);
}

/* ============================================
   Estilização das estruturas internas do JetSmartFilters
   ============================================ */

/* SEARCH FILTER */
body .rt-ativ-filters .jet-search-filter {
	display: flex !important;
	gap: var(--space-2);
	width: 100%;
}

body .rt-ativ-filters .jet-search-filter__input,
body .rt-ativ-filters input.jet-search-filter__input {
	flex: 1;
	min-height: 48px;
	padding: var(--space-3) var(--space-4) !important;
	border: 1.5px solid var(--c-border) !important;
	border-radius: var(--radius-md) !important;
	background: var(--c-bg) !important;
	color: var(--c-text) !important;
	font-size: var(--text-base) !important;
	font-family: inherit !important;
	box-shadow: none !important;
}

body .rt-ativ-filters .jet-search-filter__input:focus {
	outline: none !important;
	border-color: var(--c-primary) !important;
	box-shadow: 0 0 0 3px rgba(26, 46, 108, 0.12) !important;
}

body .rt-ativ-filters .jet-search-filter__submit {
	background: #0F8A5F !important;
	color: #fff !important;
	border: 0 !important;
	padding: 0 var(--space-6) !important;
	min-height: 48px !important;
	border-radius: var(--radius-md) !important;
	font-weight: 700 !important;
	font-size: var(--text-base) !important;
	cursor: pointer !important;
	transition: background var(--transition) !important;
	white-space: nowrap;
}

body .rt-ativ-filters .jet-search-filter__submit:hover {
	background: #0a6e4b !important;
}

/* SELECT FILTERS */
body .rt-ativ-filters .jet-filter-label {
	display: block !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--c-text-soft) !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	margin-bottom: var(--space-2) !important;
	line-height: 1.3 !important;
}

body .rt-ativ-filters .jet-select,
body .rt-ativ-filters .jet-smart-filters-select__select {
	width: 100%;
}

body .rt-ativ-filters .jet-select select,
body .rt-ativ-filters select.jet-select__control,
body .rt-ativ-filters select {
	width: 100% !important;
	padding: var(--space-3) var(--space-4) !important;
	min-height: 48px !important;
	border: 1.5px solid var(--c-border) !important;
	border-radius: var(--radius-md) !important;
	background: var(--c-bg) !important;
	color: var(--c-text) !important;
	font-size: var(--text-base) !important;
	font-family: inherit !important;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2e6c' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 18px !important;
	padding-right: 40px !important;
	cursor: pointer;
}

body .rt-ativ-filters select:focus {
	outline: none !important;
	border-color: var(--c-primary) !important;
	box-shadow: 0 0 0 3px rgba(26, 46, 108, 0.12) !important;
}

/* REMOVE-FILTERS BUTTON */
body .rt-ativ-filters .jet-remove-all-filters,
body .rt-ativ-filters .jet-remove-all-filters * {
	color: var(--c-danger) !important;
	font-size: var(--text-sm) !important;
	font-weight: 600 !important;
	cursor: pointer;
}

/* LISTAGEM */
.rt-ativ-listing {
	padding: var(--space-8) 0 var(--space-12);
	background: var(--c-bg-soft);
	min-height: 400px;
}

.rt-ativ-pagination {
	margin-top: var(--space-8);
	text-align: center;
}

/* CTA RODAPÉ (azul escuro) */
.rt-ativ-cta2 {
	background: var(--c-primary-dark);
	color: #fff;
	padding: var(--space-10) 0;
	text-align: center;
}

.rt-ativ-cta2-inner {
	max-width: 680px;
	margin: 0 auto;
}

.rt-ativ-cta2-title {
	font-size: clamp(22px, 3.5vw, 30px) !important;
	font-weight: 800 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	margin: 0 0 var(--space-3) !important;
	line-height: 1.2 !important;
}

.rt-ativ-cta2-text {
	font-size: var(--text-base);
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 var(--space-6);
	line-height: 1.55;
}

body .rt-ativ-cta2 a.rt-btn.rt-btn-accent {
	background: var(--c-accent) !important;
	background-color: var(--c-accent) !important;
	color: #fff !important;
}

/* Esconde headers/menus dentro do conteúdo Elementor — só o header do tema vale */
.elementor-page .rt-main header.elementor-section,
.elementor-page .rt-main .elementor-location-header {
	display: none;
}

/* Esconde título WP duplicado em páginas Elementor (Elementor já tem seu próprio título no design) */
.elementor-page .entry-title,
.elementor-page .page-title,
.elementor-page .rt-page-title,
.elementor-page .wp-block-post-title,
.elementor-page > .entry-header,
.elementor-page .elementor-page-title,
body.elementor-page article > header {
	display: none !important;
}

/* ==========================================================================
   Botões flutuantes (WhatsApp, chat, etc.) — sobe acima da bottom nav no mobile
   ========================================================================== */
@media (max-width: 1023px) {
	a[href*="wa.me"],
	a[href*="api.whatsapp"],
	a[href*="web.whatsapp"],
	.elementor-widget-click-to-chat,
	.joinchat,
	.joinchat__button,
	.wh-app,
	.wp-whatsapp-chat,
	.ht-ctc-chat-container,
	[class*="whatsapp-button"],
	[class*="whatsapp-float"],
	[id*="whatsapp"][style*="fixed"],
	[class*="wpp-button"] {
		bottom: calc(var(--bottom-nav-h) + var(--safe-bottom) + 12px) !important;
		right: 16px !important;
		max-width: calc(100% - 32px) !important;
	}
}

/* ==========================================================================
   Home spacing audit
   Mantem a home com respiros consistentes em mobile e desktop.
   ========================================================================== */
@media (max-width: 767px) {
	.rt-home > .rt-section:not(.rt-cta) {
		width: calc(100% - 24px);
		padding-top: 32px;
		padding-bottom: 34px;
	}

	.rt-home > .rt-about-blog {
		padding-top: 32px;
	}

	.rt-home > .rt-about-me {
		padding-top: 34px;
		padding-bottom: 36px;
	}

	.rt-home > .rt-testimonials {
		padding-top: 26px;
		padding-bottom: 32px;
	}

	.rt-home > .rt-cta {
		padding-top: 34px;
		padding-bottom: 36px;
	}

	.rt-home .rt-container {
		padding-left: 14px;
		padding-right: 14px;
	}

	.rt-home .rt-section-head {
		margin-bottom: 18px;
	}

	.rt-home .rt-section-title {
		font-size: clamp(23px, 7vw, 30px);
		line-height: 1.16;
		margin: 0 0 12px;
	}

	.rt-home .rt-section-text {
		margin-bottom: 16px;
	}

	.rt-home .rt-section-text p {
		margin: 0;
	}

	.rt-home .rt-section-text p + p {
		margin-top: 10px;
	}

	.rt-home .rt-ab-grid,
	.rt-home .rt-am-grid {
		gap: 22px;
	}

	.rt-home .rt-ab-features,
	.rt-home .rt-tm-grid {
		gap: 12px;
	}

	.rt-home .rt-feature-card,
	.rt-home .rt-tm-card {
		margin-top: 0;
		margin-bottom: 0;
	}

	.rt-home .rt-am-photo {
		margin-bottom: 12px;
	}

	.rt-home .rt-am-text .rt-section-text {
		margin-bottom: 16px;
	}
}

@media (min-width: 768px) {
	.rt-home > .rt-section:not(.rt-cta) {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.rt-home > .rt-testimonials {
		padding-top: 58px;
		padding-bottom: 58px;
	}

	.rt-home > .rt-cta {
		padding-top: 52px;
		padding-bottom: 52px;
	}

	.rt-home .rt-section-head {
		margin-bottom: 32px;
	}

	.rt-home .rt-ab-grid,
	.rt-home .rt-am-grid {
		gap: 48px;
	}
}

/* ==========================================================================
   Atividades layout audit
   CSS only: keeps JetEngine/JetSmartFilters behavior intact.
   ========================================================================== */
.rt-ativ-wrap {
	overflow-x: hidden;
	background: var(--c-bg-soft);
}

.rt-ativ-elementor-content {
	overflow-x: clip;
	background: var(--c-bg-soft);
	padding: 28px 0 48px;
}

.rt-ativ-elementor-content .elementor,
.rt-ativ-elementor-content .pagina-pai-atividades {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.rt-ativ-elementor-content .pagina-pai-atividades > .e-con-inner {
	width: min(100%, var(--max-content)) !important;
	max-width: var(--max-content) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.rt-ativ-elementor-content .area-cabecalho {
	display: none !important;
}

.rt-ativ-elementor-content .area-pai-pesquisa-pc,
.rt-ativ-elementor-content .area-pai-pesquisa-mobile,
.rt-ativ-elementor-content .area-cards,
.rt-ativ-elementor-content .area-cards-mobile {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
}

.rt-ativ-elementor-content .area-cards,
.rt-ativ-elementor-content .area-cards-mobile {
	padding-top: 22px !important;
}

.rt-ativ-elementor-content .jet-listing-grid__items {
	align-items: stretch !important;
}

.rt-ativ-elementor-content .jet-listing-grid__item {
	min-width: 0 !important;
}

@media (min-width: 768px) {
	.rt-ativ-hero-new {
		padding-top: 48px;
		padding-bottom: 46px;
	}

	.rt-ativ-elementor-content .area-pai-pesquisa-pc {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}

	.rt-ativ-elementor-content .area-cards {
		padding-right: 24px !important;
		padding-left: 24px !important;
	}
}

@media (max-width: 767px) {
	.rt-ativ-wrap,
	.rt-ativ-wrap .elementor,
	.rt-ativ-wrap .e-con,
	.rt-ativ-wrap .e-con-inner,
	.rt-ativ-wrap .elementor-widget,
	.rt-ativ-wrap .elementor-widget-container {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.rt-ativ-hero-new {
		padding-top: 28px;
		padding-bottom: 24px;
	}

	.rt-ativ-hero-new .rt-container {
		padding-right: 18px;
		padding-left: 18px;
	}

	.rt-ativ-hero-inner {
		max-width: 100%;
	}

	.rt-ativ-badge {
		margin-bottom: 12px;
		padding: 5px 12px;
		font-size: 12px;
		line-height: 1.2;
	}

	.rt-ativ-title {
		font-size: clamp(25px, 8vw, 31px) !important;
		line-height: 1.15 !important;
		margin-bottom: 10px !important;
	}

	.rt-ativ-subtitle {
		max-width: 31rem;
		margin-bottom: 18px;
		font-size: 14px;
		line-height: 1.45;
	}

	.rt-ativ-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-bottom: 16px;
	}

	.rt-ativ-stat {
		min-height: 82px;
		padding: 10px 8px;
		border-radius: 12px;
	}

	.rt-ativ-stat-icon {
		display: none;
	}

	.rt-ativ-stat-num {
		font-size: 23px;
	}

	.rt-ativ-stat-lbl {
		font-size: 11px;
		line-height: 1.2;
	}

	.rt-ativ-cta-scroll {
		width: auto;
		min-height: 42px;
		padding: 10px 18px;
		font-size: 14px;
	}

	.rt-ativ-trust {
		margin-top: 12px;
		font-size: 12px;
		line-height: 1.35;
	}

	.rt-ativ-elementor-content {
		padding: 18px 0 calc(var(--bottom-nav-h) + var(--safe-bottom) + 28px);
	}

	.rt-ativ-elementor-content .pagina-pai-atividades > .e-con-inner {
		width: 100% !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.rt-ativ-elementor-content .area-pai-pesquisa-mobile,
	.rt-ativ-elementor-content .area-cards-mobile {
		--width: 100% !important;
		--content-width: 100% !important;
		width: 100% !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.rt-ativ-elementor-content .area-pai-pesquisa-mobile {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.rt-ativ-elementor-content .area-cards-mobile {
		padding-top: 18px !important;
		padding-bottom: 0 !important;
	}

	.rt-ativ-elementor-content .area-pai-pesquisa-mobile > .e-con-inner,
	.rt-ativ-elementor-content .area-cards-mobile > .e-con-inner,
	.rt-ativ-elementor-content .elementor-element-e60ac76 > .e-con-inner {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.rt-ativ-elementor-content .area-pai-pesquisa-mobile {
		background: #fff !important;
		border: 1px solid var(--c-border-soft) !important;
		border-radius: 12px !important;
		box-shadow: 0 8px 24px rgba(20, 34, 82, 0.06) !important;
		padding: 14px !important;
	}

	.rt-ativ-elementor-content .gaveta-busca-mobile,
	.rt-ativ-elementor-content .gaveta-filtros-mobile,
	.rt-ativ-elementor-content .gaveta-filtros-avancados-mobile,
	.rt-ativ-elementor-content .gaveta-filtros-avancados-interno-mobile {
		width: 100% !important;
		max-width: 100% !important;
		gap: 12px !important;
	}

	.rt-ativ-elementor-content .filtro-buscar-mobile,
	.rt-ativ-elementor-content .filtro-filtro,
	.rt-ativ-elementor-content .jet-smart-filters-select,
	.rt-ativ-elementor-content .jet-select,
	.rt-ativ-elementor-content .jet-select__control,
	.rt-ativ-elementor-content .jet-search-filter,
	.rt-ativ-elementor-content .jet-search-filter__input-wrapper,
	.rt-ativ-elementor-content .jet-search-filter__input {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}

	.rt-ativ-elementor-content .jet-search-filter {
		display: flex !important;
		gap: 8px !important;
	}

	.rt-ativ-elementor-content .jet-search-filter__input,
	.rt-ativ-elementor-content select {
		min-height: 44px !important;
		font-size: 13px !important;
	}

	.rt-ativ-elementor-content .jet-filter-label {
		margin-bottom: 6px !important;
		font-size: 10px !important;
		line-height: 1.2 !important;
	}

	.rt-ativ-elementor-content .area-cards-mobile .jet-listing-grid__items {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	.rt-ativ-elementor-content .area-cards-mobile .jet-listing-grid__item {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	.rt-ativ-elementor-content .area-cards-mobile .elementor-5094,
	.rt-ativ-elementor-content .area-cards-mobile .elementor-5094 .elementor-element.elementor-element-d85ef1f {
		--content-width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f {
		border-radius: 12px !important;
	}
}

/* Activity cards: compact taxonomies and objective text without changing JetEngine data. */
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa {
	width: 128px !important;
	max-width: 128px !important;
	min-width: 0 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .elementor-widget-container,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms {
	width: 100% !important;
	max-width: 100% !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	max-height: 2.6em !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	line-height: 1.3 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms__link,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms__item,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa a,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa span {
	display: block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms {
	display: block !important;
	-webkit-line-clamp: unset !important;
	max-height: 160px !important;
	overflow: visible !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms__link,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms__item,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa a,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa span,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms__link,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms__item,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover a,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover span {
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	max-height: 2.8em !important;
	min-height: 2.8em !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	line-height: 1.4 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content ul,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content ol {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content p {
	margin: 0 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li::marker {
	content: "" !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li + li::before {
	content: " " !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content {
	display: block !important;
	-webkit-line-clamp: unset !important;
	max-height: 420px !important;
	overflow: visible !important;
	cursor: pointer !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content ul,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content ol,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content ul,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content ol {
	display: block !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content li {
	display: block !important;
	margin-top: 4px !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li:first-child,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content li:first-child {
	margin-top: 0 !important;
}

.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-objetivo-aprendizagem .jet-listing-dynamic-field__content li + li::before,
.rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-objetivo-aprendizagem:hover .jet-listing-dynamic-field__content li + li::before {
	content: "" !important;
}

/* Activity cards: force stage/year terms to two visible rows. */
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms {
	display: block !important;
	max-height: none !important;
	overflow: visible !important;
	text-align: right !important;
}

body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item {
	display: block !important;
	width: 100% !important;
	max-width: 128px !important;
	margin: 0 !important;
	overflow: hidden !important;
	text-align: right !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	line-height: 1.3 !important;
}

body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link:nth-child(n+3),
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item:nth-child(n+3) {
	display: none !important;
}

body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms:has(> .jet-listing-dynamic-terms__link:nth-child(3)) > .jet-listing-dynamic-terms__link:nth-child(2)::after,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms:has(> .jet-listing-dynamic-terms__item:nth-child(3)) > .jet-listing-dynamic-terms__item:nth-child(2)::after {
	content: "...";
}

body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item {
	display: block !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
}

body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link:nth-child(2)::after,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f:hover .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item:nth-child(2)::after,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link:nth-child(2)::after,
body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa:hover .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item:nth-child(2)::after {
	content: "";
}

@media (max-width: 767px) {
	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .card-top {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) !important;
		align-items: start !important;
		gap: 8px !important;
	}

	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .card-acesso {
		width: auto !important;
		max-width: none !important;
	}

	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .card-etapa-ano {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: start !important;
		gap: 8px !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-tempo {
		width: auto !important;
		max-width: none !important;
		white-space: nowrap !important;
	}

	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__link,
	body.page-id-4997 .rt-ativ-elementor-content .elementor-5094 .elementor-element.elementor-element-d85ef1f .dinamic-etapa .jet-listing-dynamic-terms > .jet-listing-dynamic-terms__item {
		max-width: 100% !important;
	}
}

/* Mobile navigation polish. */
.rt-drawer-user {
	min-width: 0;
	overflow: hidden;
}

.rt-drawer-user-info {
	flex: 1 1 auto;
	min-width: 0;
	max-width: calc(100% - 56px);
	overflow: hidden;
}

.rt-drawer-user-info strong,
.rt-drawer-user-info span {
	display: block;
	width: 100%;
	max-width: 100%;
	line-height: 1.25 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.rt-drawer-user-info strong {
	font-size: 15px !important;
	font-weight: 700 !important;
	margin-bottom: 3px;
}

.rt-drawer-user-info span {
	font-size: 11px !important;
	opacity: 0.78;
}

@media (max-width: 767px) {
	:root {
		--bottom-nav-h: 66px;
	}

	.rt-body {
		padding-bottom: calc(var(--bottom-nav-h) + var(--safe-bottom) + 14px);
	}

	.rt-drawer {
		width: min(86vw, 330px);
	}

	.rt-drawer-user {
		gap: 12px;
		padding: 14px 18px;
	}

	.rt-drawer-user .rt-avatar {
		width: 48px;
		height: 48px;
	}

	.rt-bottom-nav {
		height: calc(var(--bottom-nav-h) + var(--safe-bottom));
		padding: 5px 4px calc(var(--safe-bottom) + 5px);
		align-items: center;
		overflow: hidden;
	}

	.rt-bottom-nav-item {
		min-width: 0;
		min-height: 52px;
		gap: 2px;
		padding: 4px 1px;
		overflow: hidden;
		font-size: 10.5px !important;
		font-weight: 600 !important;
	}

	.rt-nav-icon {
		width: 21px !important;
		height: 21px !important;
		flex: 0 0 21px;
	}

	.rt-bottom-nav-label {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 10.5px !important;
		line-height: 1.05 !important;
		letter-spacing: 0 !important;
	}
}
