/*
 Theme Name:   Velociraptor
 Theme URI:    https://generatepress.com
 Description:  Child theme do GeneratePress — Velociraptor (identificação do projeto)
 Author:       Tom Usborne, Claudivan Menezes
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.3.28
 Text Domain:  velociraptor
*/

/* ========== Guarda contra scroll horizontal global ==========
   `overflow-x: clip` (vs `hidden`) não quebra `position: sticky` em ancestrais.
   Aplicado só no mobile/tablet onde elementos podem extrapolar a viewport. */
@media (max-width: 1023px) {
	html,
	body {
		overflow-x: clip;
		max-width: 100%;
	}
}

/* ========== Largura do contêiner (sincronizada com Personalizar > Layout > Largura do contêiner) ========== */
.velociraptor-container {
	max-width: var(--velociraptor-container-width, 1200px);
	margin-left: auto;
	margin-right: auto;
}

ol, ul {
	margin: 0 0 1.5em 1.2em;
}

/* Header B-2: compatível com Personalizar > Layout > Cabeçalho e Navegação primária.
   - Remove padding do .inside-header do GP para o .velociraptor-container controlar largura e gutters.
   - Remove max-width do .inside-header.grid-container para não comprimir o container (o .velociraptor-container define a largura). */
.site-header .inside-header {
	padding: 0;
}
.site-header .inside-header.grid-container {
	max-width: none;
}
/* Garante que o container ocupe toda a largura disponível do flex parent e não seja comprimido. */
.site-header .inside-header .velociraptor-container {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
/* Mobile/tablet: respiro lateral (evita widgets + busca + menu colados na borda; alinha com footer-widgets). */
@media (max-width: 1023px) {
	.site-header .inside-header .velociraptor-container {
		padding-inline: 1rem;
	}
}

/* Header sticky: permanece no fluxo; z-index acima do conteúdo, abaixo de modais muito altos */
.site-header.vlr-header-is-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	/* Abaixo da admin bar do WordPress (submenus), acima do conteúdo da página. */
	z-index: 1000;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
body.admin-bar .site-header.vlr-header-is-sticky {
	top: 32px;
}
@media screen and (max-width: 782px) {
	body.admin-bar .site-header.vlr-header-is-sticky {
		top: 46px;
	}
}

/* ========== Footer estilo B-2 Spirit ========== */

/* Footer widgets: container com padding horizontal (igual .container). */
.footer-widgets .velociraptor-container {
	margin-inline: auto;
	padding-inline: 1rem;
}

/* Logo do footer: máximo 200px de largura (também definido no template). */
.footer-widgets .velociraptor-footer-logo,
.footer-widgets .velociraptor-footer-logo img {
	max-width: 200px;
	width: auto;
	height: auto;
}

/* Listas do footer: sem marcador (::marker) e sem padding/margin de lista. */
.velociraptor-footer-social-list,
.velociraptor-footer-bar-menu,
.site-info .velociraptor-footer-bar-inner ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.velociraptor-footer-social-list li,
.velociraptor-footer-bar-menu li,
.site-info .velociraptor-footer-bar-inner ul li {
	list-style: none;
}
/* Ícones sociais: tamanho e espaçamento fixos. */
.velociraptor-footer-social-list svg {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
	display: block;
}
.velociraptor-footer-social-list {
	gap: 1.5rem;
}
.velociraptor-footer-social-list li {
	line-height: 1;
}

/* ================= Overrides para carrossel Shadcn (não deixar regra global de botões sobrescrever) ================ */
button.shadcn-carousel-btn,
button.shadcn-carousel-dot {
	background-color: #ffffff !important;
	color: #111111 !important;
}

/* Barra site-info: mesma largura do header e footer-widgets (evita ficar comprimida).
   Remove padding e max-width do GP em .site-info e .inside-site-info.grid-container;
   só o .velociraptor-container controla a largura (igual ao header). */
.site-info {
	padding-left: 0;
	padding-right: 0;
}
.site-info .inside-site-info,
.site-info .inside-site-info.grid-container {
	width: 100%;
	max-width: none;
	padding: 0;
	box-sizing: border-box;
}
.site-info .velociraptor-container {
	width: 100%;
	box-sizing: border-box;
}
.site-info .velociraptor-footer-bar-inner {
	align-items: center;
	line-height: 1.5;
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.site-info .velociraptor-footer-bar-inner p {
	line-height: 1.5;
	margin: 0;
}
.site-info .velociraptor-footer-bar-inner ul li {
	line-height: 1.5;
	margin: 0;
}
.site-info .velociraptor-footer-bar-inner ul li a {
	text-decoration: none;
	white-space: nowrap;
}
@media (min-width: 768px) {
	.site-info .velociraptor-footer-bar-inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 1.5rem;
	}
	.site-info .velociraptor-footer-bar-menu {
		flex-direction: row;
		align-items: center;
		gap: 1.5rem;
	}
}

/* ========== Header – menu principal (sem ::marker, espaçamento B2 Spirit) ========== */
/* Apenas list-style/margin para todos os ul do nav; NÃO aplicar display:flex aqui
   para não colocar submenus em linha */
.site-header nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* Menu principal: itens em LINHA (horizontal) */
.site-header .primary-menu,
.site-header nav .primary-menu {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
/* Submenu desktop: lista em COLUNA (um item abaixo do outro) */
.site-header .vlr-submenu-list,
.site-header nav .vlr-submenu-list {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	gap: 0 !important;
}
.site-header .vlr-submenu-list li,
.site-header nav .vlr-submenu-list li {
	display: block !important;
	width: 100% !important;
}
/* Submenu shadcn: painel + texto à esquerda (alinha a asset-loader / GP). */
@media (min-width: 1024px) {
.site-header .primary-menu ul.absolute .vlr-submenu-panel,
.site-header nav .primary-menu ul.absolute .vlr-submenu-panel {
	text-align: left !important;
	background-color: var(--popover, #fff);
	color: var(--popover-foreground, #0a0a0a);
	border: 1px solid var(--border, #e4e4e7);
	box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.1), 0 4px 6px -4px rgba(15, 23, 42, 0.08);
	border-radius: var(--radius, 0.375rem);
}
}
.site-header .primary-menu ul.absolute a.vlr-submenu-entry,
.site-header nav .primary-menu ul.absolute a.vlr-submenu-entry {
	justify-content: flex-start !important;
	text-align: left !important;
}
.site-header .primary-menu ul.absolute a.vlr-submenu-entry .vlr-submenu-title,
.site-header .primary-menu ul.absolute a.vlr-submenu-entry .vlr-submenu-desc,
.site-header nav .primary-menu ul.absolute a.vlr-submenu-entry .vlr-submenu-title,
.site-header nav .primary-menu ul.absolute a.vlr-submenu-entry .vlr-submenu-desc {
	text-align: left !important;
}
@media (min-width: 1024px) {
.site-header .primary-menu ul.absolute a.vlr-submenu-entry:hover .vlr-submenu-desc,
.site-header .primary-menu ul.absolute a.vlr-submenu-entry:focus-visible .vlr-submenu-desc,
.site-header nav .primary-menu ul.absolute a.vlr-submenu-entry:hover .vlr-submenu-desc,
.site-header nav .primary-menu ul.absolute a.vlr-submenu-entry:focus-visible .vlr-submenu-desc {
	color: var(--muted-foreground, #71717a);
	opacity: 1;
}
}
/* Largura fixa do dropdown desktop (shadcn) — especificidade maior que ul.absolute */
/* Submenu lista (1 coluna): 320px. 2/3 colunas têm classes vlr-submenu-w-2col / w-3col. */
.site-header .primary-menu ul.absolute.vlr-submenu-w-1col,
.site-header nav .primary-menu ul.absolute.vlr-submenu-w-1col {
	width: 320px !important;
	min-width: 320px !important;
	max-width: 320px !important;
}
.site-header .primary-menu ul.absolute.vlr-submenu-w-2col,
.site-header nav .primary-menu ul.absolute.vlr-submenu-w-2col {
	width: 496px !important;
	min-width: 496px !important;
	max-width: 496px !important;
}
.site-header .primary-menu ul.absolute.vlr-submenu-w-3col,
.site-header nav .primary-menu ul.absolute.vlr-submenu-w-3col {
	width: 720px !important;
	min-width: 720px !important;
	max-width: 720px !important;
}
/* Só o grid multi-coluna (ul.vlr-submenu-inner); não o ul.vlr-submenu-list da lista 1 col */
.site-header .vlr-submenu-panel ul.vlr-submenu-inner,
.site-header nav .vlr-submenu-panel ul.vlr-submenu-inner {
	display: flex !important;
	flex-direction: row !important;
}
.site-header .vlr-submenu-panel ul.vlr-submenu-inner > li.flex-1,
.site-header nav .vlr-submenu-panel ul.vlr-submenu-inner > li.flex-1 {
	flex: 1 1 0%;
	min-width: 0;
}
/* Título da coluna no submenu (shadcn) — sempre visível, nunca colapsado */
.site-header .vlr-col-title,
.site-header nav .vlr-col-title {
	display: block !important;
	width: 100%;
	min-height: 2rem;
	visibility: visible !important;
	opacity: 1 !important;
	color: var(--muted-foreground, #71717a) !important;
	font-weight: 600;
	line-height: 1.25;
	box-sizing: border-box;
}
.site-header .vlr-col-title .vlr-col-title-text,
.site-header nav .vlr-col-title .vlr-col-title-text {
	display: inline-block;
	visibility: visible !important;
}
/* Ul do dropdown (container do submenu) e submenu aninhado: em coluna; largura 100% só quando sem classe de largura */
.site-header .primary-menu ul.absolute:not(.vlr-submenu-w-1col):not(.vlr-submenu-w-2col):not(.vlr-submenu-w-3col),
.site-header nav .primary-menu ul.absolute:not(.vlr-submenu-w-1col):not(.vlr-submenu-w-2col):not(.vlr-submenu-w-3col),
.site-header .submenu-nested {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
}
.site-header .primary-menu ul.absolute > li,
.site-header .submenu-nested li {
	display: block !important;
	width: 100% !important;
}
.site-header nav ul li,
.site-header .primary-menu > li,
.site-header nav ul.sub-menu li {
	list-style: none;
}
/* Links do menu: padding igual ao B2 Spirit + sublinhado no hover */
.site-header .primary-menu > li > a,
.site-header nav .primary-menu > li > a {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.75rem;
	border-radius: calc(var(--radius, 0.375rem) - 2px);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 150ms ease;
	position: relative;
}
.site-header .primary-menu > li > a::before,
.site-header nav .primary-menu > li > a::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	height: 1px;
	background: var(--accent, currentColor);
	top: 100%;
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s;
}
.site-header .primary-menu > li > a:hover::before,
.site-header nav .primary-menu > li > a:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

/* Botões de login e cadastro no header: sem underline. */
.site-header a.inline-flex {
	text-decoration: none;
}

/* Botão de cadastro no header: texto + ícone seta (estilo pill, flex, gap). */
.site-header .vlr-signup-button,
.site-header a.vlr-signup-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0.4285714286rem 0.7142857143rem 0.4285714286rem 1.1428571429rem;
	margin-left: 0.5rem;
	transition: background-color 0.4s ease-in-out, color 0.2s ease;
	color: var(--color-white, #ffffff) !important;
	text-decoration: none;
}
.site-header .vlr-signup-button .vlr-signup-button-icon {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	transition: transform 0.3s ease;
	transform-origin: center center;
}
.site-header .vlr-signup-button:hover .vlr-signup-button-icon,
.site-header .vlr-signup-button:focus-visible .vlr-signup-button-icon {
	/* Apenas gira no lugar (como o original), sem deslocar */
	transform: rotate(45deg);
}
@media (min-width: 1024px) {
	.site-header .vlr-signup-button,
	.site-header a.vlr-signup-button {
		display: inline-flex !important;
	}
}
@media (min-width: 1440px) {
	.site-header .vlr-signup-button,
	.site-header a.vlr-signup-button {
		min-width: 8rem;
	}
}

/* Texto "sobre" e ícones sociais: herdam cor do .footer-widgets (Personalizar > Cores > Footer Widgets > Texto). */
.footer-widgets .velociraptor-footer-about,
.footer-widgets .velociraptor-footer-social-list,
.footer-widgets .velociraptor-footer-social-list a {
	color: inherit;
}

/* Links no footer: sem underline por padrão; underline apenas no hover (exceto ícones sociais). */
.footer-widgets a {
	text-decoration: none;
}
.footer-widgets a:hover,
.footer-widgets a:focus {
	text-decoration: underline;
}
/* Ícones sociais: nunca exibir underline. */
.footer-widgets .velociraptor-footer-social-list a,
.footer-widgets .velociraptor-footer-social-list a:hover,
.footer-widgets .velociraptor-footer-social-list a:focus {
	text-decoration: none;
}

/* Barra site-info: sem underline por padrão; underline apenas no hover. */
.site-info .velociraptor-footer-bar-inner a {
	text-decoration: none;
}
.site-info .velociraptor-footer-bar-inner a:hover,
.site-info .velociraptor-footer-bar-inner a:focus {
	text-decoration: underline;
}

/* ========== Formulário de comentários – estilo shadcn-ui (design limpo) ========== */
#commentform.vlr-comment-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem 1rem;
	margin-top: 1.5rem;
}
@media (min-width: 640px) {
	#commentform.vlr-comment-form {
		grid-template-columns: repeat(2, 1fr);
	}
	#commentform.vlr-comment-form .vlr-comment-field-author,
	#commentform.vlr-comment-form .vlr-comment-field-email {
		grid-column: span 1;
	}
}
#commentform.vlr-comment-form .vlr-comment-field-comment,
#commentform.vlr-comment-form .vlr-comment-field-url,
#commentform.vlr-comment-form .vlr-comment-field-cookies,
#commentform.vlr-comment-form .vlr-comment-submit-wrap {
	grid-column: 1 / -1;
}
.vlr-comment-title {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: 600;
	grid-column: 1 / -1;
}
.vlr-comment-field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.vlr-comment-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1;
	font-weight: 500;
	color: var(--foreground, #0f172a);
}
.vlr-comment-field .vlr-required {
	color: var(--destructive, #dc2626);
}
/* Input (estilo shadcn) */
.vlr-comment-input {
	height: 2.25rem;
	width: 100%;
	min-width: 0;
	padding: 0.25rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--foreground, #0f172a);
	background-color: transparent;
	border: 1px solid var(--input, #e2e8f0);
	border-radius: calc(var(--radius, 8px) - 2px);
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05);
	transition: border-color, box-shadow 0.15s ease;
	outline: none;
}
.vlr-comment-input::placeholder {
	color: var(--muted-foreground, #64748b);
}
.vlr-comment-input:hover {
	border-color: var(--input, #e2e8f0);
}
.vlr-comment-input:focus-visible {
	border-color: var(--ring, #94a3b8);
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring, #94a3b8) 50%, transparent);
}
.vlr-comment-input:disabled {
	pointer-events: none;
	opacity: 0.5;
	cursor: not-allowed;
}
/* Textarea (estilo shadcn) */
.vlr-comment-textarea {
	width: 100%;
	min-height: 8rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--foreground, #0f172a);
	background-color: transparent;
	border: 1px solid var(--input, #e2e8f0);
	border-radius: calc(var(--radius, 8px) - 2px);
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05);
	transition: border-color, box-shadow 0.15s ease;
	outline: none;
	resize: vertical;
}
.vlr-comment-textarea::placeholder {
	color: var(--muted-foreground, #64748b);
}
.vlr-comment-textarea:focus-visible {
	border-color: var(--ring, #94a3b8);
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--ring, #94a3b8) 50%, transparent);
}
/* Checkbox cookies */
.vlr-comment-checkbox-wrap {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--foreground, #0f172a);
	cursor: pointer;
}
.vlr-comment-checkbox {
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem;
	accent-color: var(--primary, #0f172a);
}
/* Botão enviar: accent do GeneratePress (especificidade alta para não ser sobrescrito) */
.vlr-comment-submit-wrap {
	margin-top: 0.25rem;
}
#commentform.vlr-comment-form .vlr-comment-submit-wrap .vlr-comment-submit,
#commentform.vlr-comment-form button.vlr-comment-submit.submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: 2.5rem;
	padding: 0 1.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--base-3, #fff) !important;
	background-color: var(--accent, var(--primary, #0f172a)) !important;
	border: none !important;
	border-radius: calc(var(--radius, 8px) - 2px);
	cursor: pointer;
	transition: background-color 0.15s ease;
}
#commentform.vlr-comment-form .vlr-comment-submit-wrap .vlr-comment-submit:hover,
#commentform.vlr-comment-form .vlr-comment-submit-wrap .vlr-comment-submit:focus-visible,
#commentform.vlr-comment-form button.vlr-comment-submit.submit:hover,
#commentform.vlr-comment-form button.vlr-comment-submit.submit:focus-visible {
	background-color: color-mix(in oklab, var(--accent, var(--primary, #0f172a)) 85%, black) !important;
	outline: none;
}
#commentform.vlr-comment-form .vlr-comment-submit-wrap .vlr-comment-submit:focus-visible,
#commentform.vlr-comment-form button.vlr-comment-submit.submit:focus-visible {
	box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent, var(--primary, #0f172a)) 50%, transparent);
}
#commentform.vlr-comment-form .vlr-comment-submit-wrap .vlr-comment-submit:disabled,
#commentform.vlr-comment-form button.vlr-comment-submit.submit:disabled {
	pointer-events: none;
	opacity: 0.5;
	cursor: not-allowed;
}

/* ========== Single post – header, meta, imagem destacada ========== */
.vlr-entry-header-inner {
	margin-bottom: 0;
}
/* Badge da categoria (shadcn-ui) */
.vlr-entry-category {
	margin-bottom: 0.75rem;
}
.vlr-category-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 0.125rem 0.625rem;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.5;
	border-radius: calc(var(--radius, 0.375rem));
	background-color: var(--secondary);
	color: var(--secondary-foreground);
	text-decoration: none;
	transition: all 0.2s;
	border: 1px solid var(--border, #e4e4e7);
}
.vlr-category-badge:hover,
.vlr-category-badge:focus-visible {
	background-color: var(--primary);
	color: var(--primary-foreground);
	text-decoration: none;
}
.vlr-entry-subtitle {
	margin-top: 0.5rem;
	margin-bottom: 0;
	font-size: 1.125rem;
	line-height: 1.2;
}
@media (min-width: 768px) {
	.vlr-entry-subtitle {
		font-size: 1.25rem;
	}
}

.vlr-post-meta {
	margin-top: 0.75rem;
	margin-bottom: 1rem;
}
.vlr-post-meta-inner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.875rem;
}
.vlr-post-meta-avatar {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 9999px;
	overflow: hidden;
	border: 1px solid var(--border, #e2e8f0);
}
.vlr-post-meta-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.vlr-post-meta-text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	line-height: 1;
}
.vlr-post-meta-label {
	color: var(--muted-foreground, #64748b);
}
.vlr-post-meta-author-link {
	font-weight: 600;
	text-decoration: none;
	color: inherit;
}
.vlr-post-meta-author-link:hover {
	text-decoration: underline;
}
.vlr-post-meta-dates {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}
.vlr-post-meta-sep {
	display: inline-block;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	vertical-align: middle;
}

/* Separador após meta (single) / arquivo — de volta ao traço com bordas (ângulos, sem arredondar). */
.circle-wp-single-separator {
	height: 10px;
	width: 50%;
	max-width: 100%;
	margin-top: 1rem;
	margin-bottom: 1rem;
	position: relative;
}
@media (min-width: 768px) {
	.circle-wp-single-separator {
		width: 25%;
	}
}
/* Listagens (categoria, tag): separador mais estreito */
.vlr-archive-header .circle-wp-single-separator {
	width: 10%;
}
/* Faixa maior: tom escuro (fixo) */
.circle-wp-single-separator-line {
	border-color: #0a0a0a transparent transparent;
	border-style: solid;
	border-width: 6px 3px 0 0;
	border-radius: 0;
	display: inline-block;
	width: 85%;
	position: absolute;
	left: 0;
	top: 0;
}
/* Faixa menor: cor de destaque (tokens do color-system) */
.circle-wp-single-separator-ext {
	border-color: transparent transparent var(--accent) transparent;
	border-style: solid;
	border-width: 0 0 6px 3px;
	border-radius: 0;
	display: inline-block;
	width: 10%;
	position: absolute;
	right: 0;
	top: 0;
}
.vlr-featured-image-wrap {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}
.vlr-featured-image {
	margin: 0;
	width: 100%;
}
.vlr-featured-image-img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	border-radius: calc(var(--radius, 8px));
	border: 1px solid var(--border, #e2e8f0);
	cursor: default;
}
.vlr-featured-image-caption {
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: var(--muted-foreground, #64748b);
	text-align: center;
}
.vlr-featured-image-source {
	font-style: italic;
}

/* ========== Single post – blockquote (conteúdo do post) ========== */
.entry-content blockquote,
.wp-block-quote:not(.is-style-large) blockquote,
.wp-block-quote blockquote {
	color: var(--primary);
	font-weight: 500;
	line-height: 1.2;
}
.entry-content blockquote cite,
.entry-content blockquote footer,
.wp-block-quote cite,
.wp-block-quote .wp-block-quote__citation,
.wp-block-quote footer {
	display: none;
}

/* ========== Single post – imagens do conteúdo editorial (blocos core Gutenberg), não shortcodes/plugins ========== */
body.single .entry-content .wp-block-image img,
body.single .entry-content .wp-block-image > figure img,
body.single .entry-content figure.wp-block-image img,
body.single .entry-content .wp-block-media-text__media img,
body.single .entry-content .blocks-gallery-image img,
body.single .entry-content .wp-block-gallery .wp-block-image img,
body.single .entry-content .wp-block-gallery figure img,
body.single .entry-content .wp-block-freeform img,
body.single .entry-content > p > img:only-of-type,
body.single .entry-content .wp-block-group > p > img:only-of-type,
body.single .entry-content .wp-block-group p > img:only-of-type {
	border: 1px solid var(--border, #e2e8f0);
	border-radius: calc(var(--radius, 8px));
	box-sizing: border-box;
}
/* Cover: imagem de fundo; borda/raio vem do bloco */
body.single .entry-content .wp-block-cover img,
body.single .entry-content .wp-block-cover__image-background {
	border: 0;
	border-radius: 0;
}
/* Lightbox / cursor zoom-in: só no mesmo conjunto (não em imagens de blocos shadcn-ui / sui-* no conteúdo) */
body.single .entry-content .wp-block-image img:not(.emoji),
body.single .entry-content figure.wp-block-image img:not(.emoji),
body.single .entry-content .wp-block-media-text__media img:not(.emoji),
body.single .entry-content .blocks-gallery-image img:not(.emoji),
body.single .entry-content .wp-block-gallery .wp-block-image img:not(.emoji),
body.single .entry-content .wp-block-gallery figure img:not(.emoji),
body.single .entry-content .wp-block-freeform img:not(.emoji),
body.single .entry-content > p > img:not(.emoji):only-of-type,
body.single .entry-content .wp-block-group > p > img:not(.emoji):only-of-type,
body.single .entry-content .wp-block-group p > img:not(.emoji):only-of-type {
	cursor: zoom-in;
}
body.single .entry-content .wp-block-cover img,
body.single .entry-content .wp-block-cover__image-background {
	cursor: default;
}
body.single .entry-content .vlr-inline-related img:not(.emoji) {
	cursor: pointer;
}
.vlr-img-lightbox[data-scale]:not([data-scale="1"]) .vlr-img-lightbox__img {
	cursor: zoom-in;
}

/* ========== Barra de leitura (Semrush: filho de #masthead, absolute, scaleX no .__fill) — só com body.velociraptor-has-reading-progress */
body.velociraptor-has-reading-progress .site-header,
body.velociraptor-has-reading-progress .site-header .inside-header {
	/* Não recortar a faixa (absolute + bottom negativo) */
	overflow: visible;
}
body.velociraptor-has-reading-progress .vlr-reading-progress--in-header {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	box-sizing: border-box;
	bottom: -2px;
	z-index: 5;
	pointer-events: none;
	min-height: 2px;
}
@media (min-width: 640px) {
	body.velociraptor-has-reading-progress .vlr-reading-progress--in-header {
		bottom: -4px;
	}
}
body.velociraptor-has-reading-progress .vlr-reading-progress__track {
	position: relative;
	display: block;
	height: 2px;
	width: 100%;
	min-height: 2px;
	overflow: hidden;
	/* shadcn: base da faixa = cinza claro; o que cresce é o .__fill (accent) */
	background-color: var(--muted, #f4f4f5);
}
@media (min-width: 640px) {
	body.velociraptor-has-reading-progress .vlr-reading-progress__track {
		height: 4px;
	}
}
body.velociraptor-has-reading-progress .vlr-reading-progress__fill {
	position: absolute;
	inset: 0;
	width: 100%;
	display: block;
	background-color: var(--accent, #a855f7);
	transform: scaleX(0);
	transform-origin: left center;
}

/* ========== Lightbox imagem (single) — padrão tipo overlay claro + barra partilha ========== */
.vlr-img-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100050;
	box-sizing: border-box;
}
.vlr-img-lightbox[hidden] {
	display: none !important;
}
/* Fundo claro (≈90% branco) — inspiração Semrush: zoom + legibilidade */
.vlr-img-lightbox__bd {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	cursor: zoom-out;
}
/* Coluna painel + barra inferior: click-through excepto alvos com pointer */
.vlr-img-lightbox__body {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
	pointer-events: none;
}
.vlr-img-lightbox__panel {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	min-height: 0;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.75rem 0;
	pointer-events: none;
}
.vlr-img-lightbox__stage {
	pointer-events: auto;
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2.5rem 0.75rem 0.5rem;
	box-sizing: border-box;
}
/* Coluna no máx. do artigo, como ~1010px Semrush */
.vlr-img-lightbox__max {
	width: 100%;
	max-width: 1010px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
/* Sem scroll interno: overflow escondido; zoom corta nas margens do palco */
.vlr-img-lightbox__clip {
	overflow: hidden;
	touch-action: none;
	width: 100%;
	max-width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vlr-img-lightbox__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: calc(100vh - 6.5rem);
	object-fit: contain;
	transform-origin: center center;
	margin: auto;
	cursor: zoom-in;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 5px;
	box-sizing: border-box;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}
.vlr-img-lightbox[data-scale="1"] .vlr-img-lightbox__img {
	cursor: zoom-in;
}
/* Botões: padrão shadcn (sheet_close / ghost icon) — tokens :root do tema */
.vlr-img-lightbox__btn {
	position: fixed;
	z-index: 10;
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 2.25rem;
	height: 2.25rem;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0;
	border: 0;
	border-radius: var(--radius, 0.375rem);
	background: transparent;
	color: var(--muted-foreground, #71717a);
	box-shadow: none;
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease;
}
.vlr-img-lightbox__btn svg {
	pointer-events: none;
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
}
.vlr-img-lightbox__btn:hover {
	color: var(--accent-foreground, #18181b);
	background-color: var(--accent, #f4f4f5);
}
.vlr-img-lightbox__btn:focus-visible {
	outline: none;
	color: var(--accent-foreground, #18181b);
	background-color: var(--accent, #f4f4f5);
	box-shadow:
		0 0 0 2px var(--background, #fff),
		0 0 0 4px var(--ring, #0a0a0a);
}
.vlr-img-lightbox__x {
	top: 0.75rem;
	right: 0.75rem;
}
.vlr-img-lightbox__z {
	top: 0.75rem;
	left: 0.75rem;
}
/* Barra fixa inferior: partilha (fundo escuro) */
.vlr-img-lightbox__share {
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	min-height: 5.5rem;
	width: 100%;
	padding: 0.5rem 1.25rem;
	box-sizing: border-box;
	background: #0a0a0a;
	border-radius: 10px 10px 0 0;
}
.vlr-img-lightbox__slink {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	text-decoration: none;
	line-height: 0;
	transition: background 0.2s ease, transform 0.15s ease;
}
.vlr-img-lightbox__slink:hover,
.vlr-img-lightbox__slink:focus-visible {
	background: rgba(255, 255, 255, 0.3);
}
.vlr-img-lightbox__slink:focus-visible {
	outline: 2px solid #a5b4fc;
	outline-offset: 2px;
}
.vlr-img-lightbox__sico {
	display: block;
}
body.vlr-img-lightbox--open {
	overflow: hidden;
	overscroll-behavior: none;
}

/* ========== Share Bar (single post) – shadcn-ui ========== */
.vlr-share-bar {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
	width: 100%;
}
.vlr-share-bar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem;
}
.vlr-share-bar-group {
	position: relative;
}
/* Botões Google (Adicione-nos no / Leia no Google News) alinhados à direita da share bar */
.vlr-share-bar-inner .vlr-share-google-prefs {
	margin-left: auto;
}
.vlr-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: 2.25rem;
	padding: 0 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	border-radius: calc(var(--radius, 0.375rem));
	border: none;
	background: transparent;
	color: var(--foreground, #0f172a);
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
	text-decoration: none;
}
.vlr-share-btn:hover {
	background-color: var(--secondary);
	color: var(--secondary-foreground);
}
.vlr-share-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px var(--ring, #3b82f6);
}
/* Like: hover e :focus / :focus-visible com o mesmo fundo (evita fundo escuro de regras globais) */
.vlr-share-btn.vlr-share-like-btn:hover,
.vlr-share-btn.vlr-share-like-btn:focus,
.vlr-share-btn.vlr-share-like-btn:focus-visible {
	background-color: var(--secondary) !important;
	color: var(--secondary-foreground) !important;
	box-shadow: none !important;
	outline: none;
}
.vlr-share-icon {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}
.vlr-share-btn-text {
	white-space: nowrap;
}
@media (max-width: 767px) {
	.vlr-share-btn-text { display: none; }
}
.vlr-share-dropdown-wrap {
	position: relative;
}
.vlr-share-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	margin-top: 0.25rem;
	min-width: 12rem;
	padding: 0.25rem;
	background: var(--popover, #fff);
	border: 1px solid var(--border, #e4e4e7);
	border-radius: calc(var(--radius, 0.375rem));
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.vlr-share-dropdown-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	border-radius: calc(var(--radius, 0.375rem) - 2px);
	background: transparent;
	border: none;
	color: var(--foreground, #0f172a);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s;
	text-align: left;
}
.vlr-share-dropdown-icon {
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
}
.vlr-share-dropdown-item:hover {
	background-color: var(--secondary);
	color: var(--secondary-foreground);
}
.vlr-share-bar-sep {
	height: 1px;
	background: var(--border, #e4e4e7);
	margin-top: 1rem;
}

.vlr-share-like-btn .vlr-like-icon {
	transition: stroke 0.3s ease;
}
.vlr-share-like-btn.vlr-share-liked .vlr-like-icon {
	stroke: var(--primary, #3b82f6);
	fill: none;
}
.vlr-share-like-btn.vlr-share-liked .vlr-like-count {
	color: var(--primary, #3b82f6);
}
[id^="vlr-like-icon-"].like-animate {
	animation: vlr-like-bounce 0.3s ease;
	transform-origin: center;
}
@keyframes vlr-like-bounce {
	0% { transform: scale(1); }
	50% { transform: scale(1.2) rotate(5deg); }
	100% { transform: scale(1); }
}

/* ========== Sobre o autor (single) – E-E-A-T, padrão card (full width) ========== */
.vlr-post-author {
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
}
.vlr-post-author-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	color: var(--card-foreground, var(--foreground, #0a0a0a));
	background: var(--card, var(--background, #fff));
	border-radius: 0.75rem;
	border: 1px solid var(--border, #e4e4e7);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	overflow: hidden;
}
.vlr-post-author-content {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.5;
}
/* Avatar: get_avatar() — img.avatar.photo (core); evita max-width:100% global aplanar a foto */
.vlr-post-author-avatar,
.vlr-post-author-avatar.author-avatar {
	flex-shrink: 0;
	display: block;
	line-height: 0;
}
.vlr-post-author-avatar img,
.vlr-post-author-avatar img.avatar,
.vlr-post-author-avatar .avatar,
.vlr-post-author-avatar-img {
	display: block;
	width: 5rem;
	height: 5rem;
	max-width: none;
	min-width: 5rem;
	min-height: 5rem;
	object-fit: cover;
	border-radius: 50%;
	margin: 0;
	padding: 0;
	border: 2px solid var(--border, #e4e4e7);
}
.vlr-post-author-text {
	flex: 1;
	min-width: 0;
}
.vlr-post-author-name {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.2;
}
.vlr-post-author-name-link {
	color: var(--foreground, #0a0a0a);
	text-decoration: none;
}
.vlr-post-author-name-link:hover,
.vlr-post-author-name-link:focus-visible {
	color: var(--primary, #3b82f6);
	text-decoration: underline;
}
.vlr-post-author-name-link:focus-visible {
	outline: 2px solid var(--ring, #3b82f6);
	outline-offset: 2px;
}
.vlr-post-author-byline {
	margin: 0 0 0.25rem;
	color: var(--muted-foreground, #71717a);
	font-size: 0.875rem;
}
.vlr-post-author-location {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin: 0.25rem 0 0;
	color: var(--muted-foreground, #71717a);
	font-size: 0.875rem;
}
.vlr-post-author-location-ic {
	flex-shrink: 0;
	opacity: 0.8;
}
.vlr-post-author-bio {
	margin-top: 0.5rem;
	color: var(--muted-foreground, #52525b);
}
.vlr-post-author-bio p {
	margin: 0 0 0.5rem;
}
.vlr-post-author-bio p:last-child {
	margin-bottom: 0;
}
.vlr-post-author-social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}
.vlr-post-author-social-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid transparent;
	border-radius: 0.375rem;
	background: transparent;
	color: var(--foreground, #0a0a0a);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.vlr-post-author-social-btn:hover,
.vlr-post-author-social-btn:focus-visible {
	background: var(--muted, #f4f4f5);
	color: var(--foreground, #0a0a0a);
}
.vlr-post-author-social-btn:focus-visible {
	outline: 2px solid var(--ring, #3b82f6);
	outline-offset: 1px;
}
.vlr-post-author-ic {
	display: block;
	width: 1rem;
	height: 1rem;
}

/* ========== Página de arquivo: autor (E-E-A-T) ========== */
.vlr-author-archive-header {
	width: 100%;
	max-width: 100%;
}
.vlr-author-archive-hero {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.vlr-author-archive-hero-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1.5rem;
}
.vlr-author-archive-avatar {
	flex-shrink: 0;
	display: block;
	line-height: 0;
}
.vlr-author-archive-avatar img,
.vlr-author-archive-avatar-img,
.vlr-author-archive-avatar .avatar {
	display: block;
	width: 6.5rem;
	height: 6.5rem;
	max-width: none;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid var(--border, #e4e4e7);
	margin: 0;
}
.vlr-author-archive-main {
	flex: 1;
	min-width: 0;
	width: 100%;
	max-width: 100%;
}
.vlr-author-archive-byline {
	margin: 0.25rem 0 0;
}
.vlr-author-archive-location {
	margin: 0.5rem 0 0;
}
.vlr-author-archive-bio p {
	margin: 0 0 0.75em;
}
.vlr-author-archive-bio p:last-child {
	margin-bottom: 0;
}
.vlr-author-archive-bio a {
	color: var(--primary, #3b82f6);
	text-decoration: underline;
}
.vlr-author-archive-social {
	margin-top: 1.25rem;
}
@media (max-width: 480px) {
	.vlr-author-archive-hero-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.vlr-author-archive-location {
		justify-content: center;
	}
}

/* ========== Post Footer (tags, disclaimer, Google News) – shadcn-ui ========== */
.vlr-post-footer {
	margin-top: 2rem;
	margin-bottom: 1rem;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.vlr-post-footer-disclaimer {
	border-left: 2px solid var(--muted, #f4f4f5);
	padding-left: 1rem;
}
.vlr-post-footer-disclaimer-text {
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--muted-foreground, #64748b);
	font-style: italic;
}
.vlr-post-footer-disclaimer-label {
	font-style: normal;
	font-weight: 600;
	color: var(--foreground, #0f172a);
}
.vlr-post-footer-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.vlr-post-footer-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
}
/* Rótulo e tags: padrão shadcn-ui (--secondary, --secondary-foreground) */
.vlr-post-footer-tags-label {
	font-weight: 500;
	color: var(--foreground);
	margin-right: 0.25rem;
}
.vlr-post-footer-tag.btn-tag,
a.btn-tag,
.btn-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	border: 1px solid transparent;
	padding: 0.25rem 0.75rem;
	font-weight: 600;
	transition: background-color 0.2s, color 0.2s, filter 0.2s;
	cursor: pointer;
	background-color: var(--secondary);
	color: var(--secondary-foreground);
	outline: none;
	text-decoration: none;
}
.vlr-post-footer-tag.btn-tag:hover,
.vlr-post-footer-tag.btn-tag:focus-visible,
a.btn-tag:hover,
a.btn-tag:focus-visible,
.btn-tag:hover,
.btn-tag:focus-visible {
	background-color: var(--primary);
	color: var(--primary-foreground);
	text-decoration: none;
}
.vlr-post-footer-gnews-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	height: 2.25rem;
	padding: 0 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	border-radius: calc(var(--radius, 0.375rem));
	border: 1px solid var(--border, #e4e4e7);
	background: var(--background, #fff);
	color: var(--foreground, #0f172a);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
/* Mesmo padrão de hover da share bar (.vlr-share-btn) */
.vlr-post-footer-gnews-btn:hover,
.vlr-post-footer-gnews-btn:focus-visible {
	background-color: var(--secondary);
	color: var(--secondary-foreground);
	border-color: var(--secondary);
}
.vlr-post-footer-gnews-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px var(--ring, #3b82f6);
}
.vlr-post-footer-gnews-icon {
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

/* Ocultação visual segura: invisível na tela, legível para leitores de tela e SEO */
.vlr-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ========== Sidebar e seções: títulos com separador (widget, relacionados, inline) ========== */
.sidebar .widget-title::before,
.vlr-related-posts-title > h3.vlr-related-post-title::before,
.vlr-inline-related-title::before {
	content: "";
	display: block;
	width: 2rem;
	height: 0.25rem;
	background-color: var(--primary);
	border-radius: 9999px;
	flex-shrink: 0;
}
.sidebar .widget-title,
.vlr-related-posts-title > h3.vlr-related-post-title,
.vlr-inline-related-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--accent-foreground, var(--foreground));
}
.sidebar .widget-title {
	margin: 1rem 0 0.75rem;
}
.sidebar .widget:first-child .widget-title {
	margin-top: 0;
}
.vlr-related-posts-title > h3.vlr-related-post-title {
	margin: 0 0 1.5rem;
}
.vlr-inline-related-title {
	margin: 0 0 0.75rem;
}

/* ========== Widget Posts Populares (24h / 48h / 7d) – layout tipo shadcn ========== */
.vlr-popular-posts-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.vlr-popular-posts-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.75rem !important;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
}
.vlr-popular-posts-item:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0;
	border-bottom: none;
}
.vlr-popular-posts-title-link,
.widget_vlr_popular_posts .vlr-popular-posts-title-link {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
	margin-bottom: 0;
}
.vlr-popular-posts-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}
.widget_vlr_popular_posts a,
.vlr-popular-posts-list a {
	color: var(--foreground);
	text-decoration: none;
}
.widget_vlr_popular_posts a:hover,
.vlr-popular-posts-list a:hover {
	text-decoration: underline;
}
.vlr-popular-posts-item .vlr-popular-posts-thumb {
	width: 100px;
	height: 75px;
	object-fit: cover;
	border-radius: var(--radius, 0.375rem);
	flex-shrink: 0;
}

/* GeneratePress (.widget ul li em main.css): sem margem entre itens de lista nos widgets */
.widget ul li {
	margin-bottom: 0;
}

/* ========== Widget Posts recentes – mesma formatação de título e meta que Posts populares ========== */
.widget_recent_entries ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.widget_recent_entries li {
	margin-bottom: 0.75rem !important;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--border);
}
.widget_recent_entries li:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0;
	border-bottom: none;
}
.widget_recent_entries li a {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
	margin-bottom: 0;
	text-decoration: none;
}
.widget_recent_entries li a:hover {
	text-decoration: underline;
}
.widget_recent_entries li .post-date {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.875rem;
	color: var(--muted-foreground);
}

/* ========== Página de arquivo (categoria, tag, autor, data) – estilo admin-theme ========== */
.vlr-archive-section {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.vlr-archive-breadcrumb .vlr-breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.625rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.875rem;
	color: var(--muted-foreground, #64748b);
}
.vlr-archive-breadcrumb .vlr-breadcrumb-item {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}
.vlr-archive-breadcrumb a {
	color: inherit;
	text-decoration: none;
}
.vlr-archive-breadcrumb a:hover {
	color: var(--foreground, #0f172a);
}
.vlr-breadcrumb-sep {
	opacity: 0.6;
}

/* ========== Breadcrumb single (admin-theme-wp-v2 style: ícone casa + seta) ========== */
.vlr-breadcrumb-nav.mb-6 {
	margin-bottom: 1.5rem;
}
.vlr-breadcrumb-nav .vlr-breadcrumb-list-single {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem 0.625rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.875rem;
	color: var(--contrast-2, var(--contrast-3, #71717a));
}
.vlr-breadcrumb-nav .vlr-breadcrumb-item-single {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}
.vlr-breadcrumb-nav .vlr-breadcrumb-link,
.vlr-breadcrumb-nav a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}
.vlr-breadcrumb-nav .vlr-breadcrumb-link:hover,
.vlr-breadcrumb-nav a:hover {
	color: var(--contrast, #222);
}
.vlr-breadcrumb-nav .vlr-breadcrumb-icon-home {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}
.vlr-breadcrumb-nav .vlr-breadcrumb-arrow {
	display: inline-flex;
	align-items: center;
	color: inherit;
	opacity: 0.7;
}
.vlr-breadcrumb-nav .vlr-breadcrumb-arrow svg {
	width: 0.875rem;
	height: 0.875rem;
}
/* Separador entre itens do breadcrumb single (ol contém apenas li; sem span no HTML) */
.vlr-breadcrumb-nav .vlr-breadcrumb-list-single li + li::before {
	content: '\203A';
	display: inline-flex;
	align-items: center;
	margin-right: 0.375rem;
	opacity: 0.7;
	color: inherit;
	font-size: 0.875rem;
	/* Não intercetar o clique no <a> da categoria. */
	pointer-events: none;
}

.vlr-archive-title {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--foreground, #0f172a);
}
.vlr-archive-description {
	margin-top: 0;
	color: var(--muted-foreground, #64748b);
}
/* Cards em lista horizontal – full width */
.vlr-archive-posts {
	width: 100%;
	max-width: none;
}
.vlr-archive-card {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	position: relative;
}
.vlr-archive-card:not(:last-child) {
	border-bottom: 1px solid var(--border, #e2e8f0);
	padding-bottom: 1.5rem;
}
.vlr-archive-card-inner {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
/* Garantir que links fiquem clicáveis (acima de overlays/pseudo-elementos) */
.vlr-archive-card a {
	position: relative;
	z-index: 1;
	pointer-events: auto;
}
.vlr-archive-card-thumb-link,
.vlr-archive-card-thumb-placeholder {
	display: block;
	overflow: hidden;
	border-radius: calc(var(--radius, 8px) - 2px);
	text-decoration: none;
	color: inherit;
}
.vlr-archive-card-thumb-link:hover,
.vlr-archive-card-thumb-placeholder:hover {
	opacity: 0.9;
}
@media (min-width: 640px) {
	.vlr-archive-card-inner {
		flex-direction: row;
	}
	.vlr-archive-card-media {
		width: 260px;
		max-width: 260px;
		flex-shrink: 0;
	}
}
.vlr-archive-card-thumb {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}
.vlr-archive-card-thumb-placeholder {
	aspect-ratio: 16 / 9;
	background: var(--muted, #f1f5f9);
	min-height: 150px;
}
.vlr-archive-card-content {
	flex: 1;
	min-width: 0;
}
.vlr-archive-card-title {
	margin-top: 0;
	margin-bottom: 0;
}
.vlr-archive-card-title a {
	text-decoration: none;
	color: inherit;
}
.vlr-archive-card-title a:hover {
	text-decoration: underline;
}
.vlr-archive-card-excerpt {
	margin-top: 0.75rem;
	margin-bottom: 0;
}
.vlr-archive-card-meta {
	margin-top: 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.vlr-archive-card-meta-avatar {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 9999px;
	overflow: hidden;
	border: 1px solid var(--border, #e2e8f0);
}
.vlr-archive-card-meta-avatar-link {
	display: block;
	line-height: 0;
	width: 100%;
	height: 100%;
}
.vlr-archive-card-meta-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.vlr-archive-card-meta-text {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.vlr-archive-card-meta-author {
	color: inherit;
	text-decoration: none;
}
.vlr-archive-card-meta-author:hover {
	text-decoration: underline;
	color: var(--foreground, #0f172a);
}
.vlr-archive-card-meta-sep {
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	vertical-align: middle;
}
/* Paginação */
.vlr-archive-pagination {
	flex-wrap: wrap;
}
.vlr-pagination-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	font-size: 0.875rem;
	font-weight: 500;
	border: 1px solid var(--input, #e2e8f0);
	background: var(--background, #fff);
	border-radius: calc(var(--radius, 8px) - 2px);
	color: var(--foreground, #0f172a);
	text-decoration: none;
	transition: border-color, background-color, color 0.15s ease;
}
.vlr-pagination-btn:hover {
	background: var(--muted, #f1f5f9);
	color: var(--foreground, #0f172a);
}
.vlr-pagination-btn-active {
	background: var(--primary, #0f172a);
	color: var(--primary-foreground, #f8fafc);
	border-color: var(--primary, #0f172a);
}
.vlr-pagination-btn-disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}
.vlr-pagination-ellipsis {
	padding: 0 0.5rem;
	color: var(--muted-foreground, #64748b);
}

.vlr-archive-none {
	background: var(--card, #fff);
	border-color: var(--border, #e2e8f0);
}

/* ========== Single post: imagem destacada (abaixo do header) ========== */
.separate-containers .inside-article > .featured-image {
	margin-top: 2em;
	margin-bottom: 2em;
}

/* ========== Single: artigos relacionados ========== */
.vlr-related-posts .vlr-related-posts-wrap {
	padding-bottom: 2em;
}
.vlr-related-posts-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 769px) {
	.vlr-related-posts-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (min-width: 481px) and (max-width: 768px) {
	.vlr-related-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
.vlr-related-post-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.vlr-related-post-thumb {
	margin-bottom: 0.75rem;
	overflow: hidden;
	border-radius: 4px;
}
.vlr-related-post-thumb img,
.vlr-related-post-thumb-img {
	width: 100%;
	height: auto;
	display: block;
}
.vlr-related-post-link .vlr-related-post-title,
.vlr-related-posts-grid .vlr-related-post-title {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
	margin-bottom: 0;
}
.vlr-related-post-link:hover .vlr-related-post-title {
	text-decoration: underline;
}
/* Artigos relacionados inline (meio do post): 100×75px, responsivo */
.vlr-inline-related {
	margin: 2rem 0;
	padding: 1rem 0;
	border-top: 1px solid var(--border, #eaeaea);
	border-bottom: 1px solid var(--border, #eaeaea);
}
.vlr-inline-related-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
.vlr-inline-related-item {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	text-decoration: none;
	color: inherit;
	min-width: 0;
}
/* Mesmo padrão de .vlr-popular-posts-thumb-link + .vlr-popular-posts-thumb */
.vlr-inline-related-thumb {
	flex-shrink: 0;
	display: block;
	line-height: 0;
	width: 100px;
	height: 75px;
	overflow: hidden;
	border-radius: calc(var(--radius, 8px) - 2px);
}
.vlr-inline-related-thumb-img {
	width: 100px;
	height: 75px;
	display: block;
	object-fit: cover;
	border-radius: calc(var(--radius, 8px) - 2px);
	box-sizing: border-box;
}
/* Sem destaque: mantém 100×75 (alinhamento) sem imagem partida */
.vlr-inline-related-thumb--empty {
	display: block;
	width: 100px;
	height: 75px;
	background: var(--muted, #f4f4f5);
	background-image: linear-gradient(135deg, var(--muted, #f4f4f5) 0%, var(--border, #e4e4e7) 100%);
	border-radius: calc(var(--radius, 8px) - 2px);
}
.vlr-inline-related-post-title {
	display: block;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--foreground);
	margin-bottom: 0;
	flex: 1;
	min-width: 0;
}
.vlr-inline-related-item:hover .vlr-inline-related-post-title {
	text-decoration: underline;
}
@media (min-width: 480px) {
	.vlr-inline-related-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ========== Modal de busca GP: command palette (shadcn-like) + resultados com miniatura ========== */
.gp-search-modal.gp-modal .gp-modal__overlay {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
}
.gp-search-modal.gp-modal .gp-modal__container {
	width: 100%;
	max-width: 32rem;
	margin: 0;
}
/* Card principal */
.gp-search-modal .search-modal-form.vlr-search-cmd {
	width: 100%;
	display: flex;
	flex-direction: column;
	background-color: var(--popover, #fff);
	color: var(--popover-foreground, #0a0a0a);
	border-radius: calc(var(--radius, 0.5rem) + 2px);
	border: 1px solid var(--border, #e4e4e7);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	padding: 0;
}
.vlr-search-cmd__shell {
	position: relative;
}
/* Linha do input (estilo command input) */
.gp-search-modal .vlr-search-cmd__input-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border-bottom: 1px solid var(--border, #e4e4e7);
	padding: 0 2.5rem 0 0.75rem;
}
.gp-search-modal .vlr-search-cmd__submit {
	order: -1;
	width: 2.75rem;
	height: 3rem;
	flex-shrink: 0;
	padding: 0;
	margin: 0;
	margin-right: 0.25rem;
	background: transparent;
	border: 0;
	color: var(--muted-foreground, #71717a);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gp-search-modal .vlr-search-cmd__submit:hover {
	color: var(--popover-foreground, #0a0a0a);
}
.gp-search-modal .vlr-search-cmd__submit .vlr-icon-search {
	width: 1.125rem;
	height: 1.125rem;
}
.gp-search-modal .search-modal-form .search-field {
	order: 0;
	flex: 1 1 0%;
	min-width: 0;
	height: 3rem;
	padding: 0.5rem 0.25rem;
	margin: 0;
	border: 0;
	background: transparent;
	outline: none;
	font-size: 0.875rem;
	line-height: 1.5;
	color: inherit;
}
.gp-search-modal .search-modal-form .search-field::placeholder {
	color: var(--muted-foreground, #71717a);
}
.gp-search-modal .search-modal-form .search-field::-webkit-search-cancel-button,
.gp-search-modal .search-modal-form .search-field::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}
.gp-search-modal .search-modal-form .search-field::-moz-search-cancel-button {
	display: none;
}
/* Fechar (canto superior direito): fundo escuro só em hover / focus-visible (estado normal = ghost). */
.gp-search-modal .vlr-search-cmd__close {
	position: absolute;
	top: 0.4rem;
	right: 0.4rem;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--radius, 0.375rem);
	color: var(--muted-foreground, #71717a);
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.gp-search-modal .vlr-search-cmd__close:hover {
	color: #fff;
	background: hsl(240 10% 3.9%);
}
.gp-search-modal .vlr-search-cmd__close:focus-visible {
	outline: none;
	color: #fff;
	background: hsl(240 10% 3.9%);
	box-shadow:
		0 0 0 2px var(--background, #fff),
		0 0 0 4px var(--ring, #0a0a0a);
}
.gp-search-modal .vlr-search-cmd__close svg {
	width: 1rem;
	height: 1rem;
	stroke: currentColor;
}
/* Lista de resultados */
.gp-search-modal .vlr-search-cmd__list-wrap {
	background: var(--popover, #fff);
}
.gp-search-modal .vlr-search-cmd__messages {
	display: flex;
	flex-direction: column;
}
.gp-search-modal .vlr-search-cmd__idle {
	margin: 0;
	padding: 0.75rem 0.75rem 1rem;
	font-size: 0.75rem;
	line-height: 1.4;
	color: var(--muted-foreground, #71717a);
}
/* Spinner (estilo loader + texto) */
.gp-search-modal .vlr-search-cmd__loading {
	padding: 1rem 0.75rem 1.25rem;
	color: var(--muted-foreground, #71717a);
}
.gp-search-modal .vlr-search-cmd__loading-inner {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	margin: auto 0;
}
.gp-search-modal .vlr-search-cmd__loading-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.gp-search-modal .vlr-search-cmd__spinner {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	color: var(--foreground, #0a0a0a);
	opacity: 0.75;
	animation: vlr-search-cmd-spin 0.8s linear infinite;
}
.gp-search-modal .vlr-search-cmd__loading-text {
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--muted-foreground, #71717a);
}
@keyframes vlr-search-cmd-spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
.gp-search-modal .vlr-search-cmd__list {
	margin: 0;
	padding: 0.25rem 0.25rem 0.5rem;
	list-style: none;
	max-height: 300px;
	overflow-y: auto;
	scroll-behavior: smooth;
}
.gp-search-modal .vlr-search-cmd__item {
	margin: 0;
}
.gp-search-modal .vlr-search-cmd__link {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0.4rem 0.5rem;
	margin: 0;
	border: 0;
	border-radius: 0.25rem;
	text-align: start;
	text-decoration: none;
	color: inherit;
	font-size: 0.875rem;
	line-height: 1.35;
	cursor: pointer;
	transition: background 0.15s;
}
/* Hover dos itens: fundo ligeiramente mais visível (zinc-200 aprox.) */
.gp-search-modal .vlr-search-cmd__link:hover,
.gp-search-modal .vlr-search-cmd__link:focus-visible {
	background: #e4e4e8;
	color: var(--foreground, #0a0a0a);
	outline: none;
}
/* Slot fixo: miniaturas 40px + object-fit, sem reflow. */
.gp-search-modal .vlr-search-cmd__thumb {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
	aspect-ratio: 1;
	contain: layout;
	border-radius: 0.25rem;
	overflow: hidden;
	background: var(--muted, #f4f4f5);
}
.gp-search-modal .vlr-search-cmd__thumb.is-placeholder,
.gp-search-modal .vlr-search-cmd__thumb.is-broken {
	background: linear-gradient(135deg, var(--muted, #e4e4e7) 0%, var(--border, #d4d4d8) 100%);
}
.gp-search-modal .vlr-search-cmd__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	backface-visibility: hidden;
}
.gp-search-modal .vlr-search-cmd__title {
	flex: 1;
	min-width: 0;
	font-weight: 500;
}

/* Modal de busca mobile: regras críticas (centro, overflow, iOS) em search-modal.php → inline em generate-child */

/* ========== Widget de busca (wp-block-search) – estilo shadcn-ui ========== */
.wp-block-search {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
}
.wp-block-search__label {
	display: none;
}
.wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
}
/* Input: padrão shadcn-ui (igual ao input_search do header) */
.wp-block-search__input {
	flex: 1 1 0%;
	min-width: 0;
	display: flex;
	height: 2.25rem;
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--foreground, #0f172a);
	background-color: transparent;
	border: 1px solid var(--input, #e4e4e7);
	border-radius: calc(var(--radius, 0.375rem));
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	transition: all 0.2s;
	outline: none;
}
.wp-block-search__input::placeholder {
	color: var(--muted-foreground, #71717a);
}
.wp-block-search__input:focus-visible {
	outline: none;
	box-shadow: 0 0 0 1px var(--ring, #3b82f6);
	border-color: var(--ring, #3b82f6);
}
.wp-block-search__input:disabled {
	cursor: not-allowed;
	opacity: 0.5;
}
/* Remove o X nativo do campo type="search" */
.wp-block-search__input::-webkit-search-cancel-button,
.wp-block-search__input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}
.wp-block-search__input::-moz-search-cancel-button {
	display: none;
}
/* Botão: padrão shadcn-ui outline */
.wp-block-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	white-space: nowrap;
	height: 2.25rem;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	border-radius: calc(var(--radius, 0.375rem));
	border: 1px solid var(--border, #e4e4e7);
	background-color: var(--background, #ffffff);
	color: var(--foreground, #0f172a);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	transition: all 0.2s;
	cursor: pointer;
	outline: none;
}
.wp-block-search__button:hover {
	background-color: var(--accent, #f4f4f5);
	color: var(--accent-foreground, #0f172a);
}
.wp-block-search__button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px var(--ring, #3b82f6), 0 0 0 4px rgba(59, 130, 246, 0.1);
}
.wp-block-search__button:disabled {
	pointer-events: none;
	opacity: 0.5;
}
/* Variante: botão dentro do wrapper (button-inside) */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	border: 1px solid var(--input, #e4e4e7);
	border-radius: calc(var(--radius, 0.375rem));
	background-color: transparent;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	overflow: hidden;
	transition: all 0.2s;
}
.wp-block-search__button-inside .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--ring, #3b82f6);
	box-shadow: 0 0 0 1px var(--ring, #3b82f6);
}
.wp-block-search__button-inside .wp-block-search__input {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding-left: 0.75rem;
	padding-right: 0.5rem;
}
.wp-block-search__button-inside .wp-block-search__input:focus-visible {
	box-shadow: none;
	border-color: transparent;
}
.wp-block-search__button-inside .wp-block-search__button {
	border: 0;
	border-left: 1px solid var(--border, #e4e4e7);
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
	background-color: transparent;
}
.wp-block-search__button-inside .wp-block-search__button:hover {
	background-color: var(--accent, #f4f4f5);
	color: var(--accent-foreground, #0f172a);
}

/* ========== GenerateBlocks – botão estilo AnimatedButton (Velociraptor) ==========
   Aplica a links do bloco Button do GB e a elementos com classe .vlr-animated-button.
   Efeito: pill com backdrop blur, borda, “orb” que expande no hover, seta à direita que gira.
   OBRIGATÓRIO para funcionar: no bloco, Avançado > Classes CSS adicionais = vlr-animated-button */
/* Força o estilo quando a classe vlr-animated-button está no link */
a.vlr-animated-button,
.gb-button-wrapper a.vlr-animated-button {
	position: relative !important;
	overflow: hidden !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 1.4285714286rem !important;
	width: max-content !important;
	padding: 0.5714285714rem 0.5714285714rem 0.5714285714rem 1.1428571429rem !important;
	border-radius: 2.8571428571rem !important;
	border: 1px solid hsla(0, 0%, 94%, 0.4) !important;
	background-color: hsla(0, 0%, 94%, 0.051) !important;
	-webkit-backdrop-filter: blur(40px);
	backdrop-filter: blur(40px);
	cursor: pointer !important;
	transition: all 0.25s ease-in-out !important;
	text-decoration: none !important;
	color: var(--vlr-animated-btn-text, #f0f0f0) !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 140% !important;
	text-transform: uppercase !important;
	box-sizing: border-box !important;
}
.wp-block-generateblocks-button .gb-button,
.wp-block-generateblocks-button .gb-text,
.wp-block-generateblocks-button a,
.gb-button-wrapper .gb-button,
.gb-button-wrapper .gb-text,
.gb-button-wrapper a,
a.gb-button,
a.vlr-animated-button {
	position: relative;
	overflow: hidden !important;
	display: inline-flex !important;
	align-items: center;
	gap: 1.4285714286rem;
	width: max-content;
	padding: 0.5714285714rem 0.5714285714rem 0.5714285714rem 1.1428571429rem;
	border-radius: 2.8571428571rem;
	border: 1px solid hsla(0, 0%, 94%, 0.4);
	background-color: hsla(0, 0%, 94%, 0.051);
	-webkit-backdrop-filter: blur(40px);
	backdrop-filter: blur(40px);
	cursor: pointer;
	transition: all 0.25s ease-in-out, border-color 0.9s ease-in-out;
	text-decoration: none;
	color: var(--vlr-animated-btn-text, #f0f0f0);
	font-weight: 400;
	font-size: 1rem;
	line-height: 140%;
	text-transform: uppercase;
	box-sizing: border-box;
}
.wp-block-generateblocks-button .gb-button:focus,
.wp-block-generateblocks-button .gb-text:focus,
.wp-block-generateblocks-button a:focus,
.gb-button-wrapper .gb-button:focus,
.gb-button-wrapper .gb-text:focus,
.gb-button-wrapper a:focus,
a.gb-button:focus,
a.vlr-animated-button:focus {
	outline: none;
}
/* Orb que expande no hover a partir do círculo da seta (direita), não do centro */
.wp-block-generateblocks-button .gb-button::before,
.wp-block-generateblocks-button .gb-text::before,
.wp-block-generateblocks-button a::before,
.gb-button-wrapper .gb-button::before,
.gb-button-wrapper .gb-text::before,
.gb-button-wrapper a::before,
a.gb-button::before,
a.vlr-animated-button::before {
	content: "";
	position: absolute;
	left: auto;
	right: 1rem;
	top: 50%;
	width: 200px;
	height: 200px;
	margin-right: -100px;
	border-radius: 50%;
	background-color: var(--vlr-animated-btn-orb, var(--accent, #1246cc));
	transform: translateY(-50%) scale(0);
	transform-origin: 100% 50%;
	transition: transform 0.85s ease-in-out;
	z-index: -1;
}
.wp-block-generateblocks-button .gb-button:hover::before,
.wp-block-generateblocks-button .gb-text:hover::before,
.wp-block-generateblocks-button a:hover::before,
.gb-button-wrapper .gb-button:hover::before,
.gb-button-wrapper .gb-text:hover::before,
.gb-button-wrapper a:hover::before,
a.gb-button:hover::before,
a.vlr-animated-button:hover::before {
	transform: translateY(-50%) scale(2);
}
/* Texto e seta acima do orb (orb fica atrás com z-index: -1) */
.wp-block-generateblocks-button .gb-button,
.wp-block-generateblocks-button .gb-text,
.wp-block-generateblocks-button a,
.gb-button-wrapper .gb-button,
.gb-button-wrapper .gb-text,
.gb-button-wrapper a,
a.gb-button,
a.vlr-animated-button {
	position: relative;
	z-index: 0;
	isolation: isolate;
}
/* Seta à direita (mesma SVG do botão Cadastro) – círculo + ícone que gira 45deg no hover */
.wp-block-generateblocks-button .gb-button::after,
.wp-block-generateblocks-button .gb-text::after,
.wp-block-generateblocks-button a::after,
.gb-button-wrapper .gb-button::after,
.gb-button-wrapper .gb-text::after,
.gb-button-wrapper a::after,
a.gb-button::after,
a.vlr-animated-button::after {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--vlr-animated-btn-orb, var(--accent, #1246cc));
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M5.99151 5.34708C5.98616 5.76485 6.31947 6.09797 6.73749 6.09262L10.9016 6.04467L4.728 12.2146C4.42946 12.513 4.42328 12.995 4.71427 13.2859C5.00525 13.5767 5.48759 13.5705 5.78613 13.2721L11.9651 7.09675L11.9119 11.2531C11.9065 11.6709 12.2398 12.004 12.6579 11.9987C13.0759 11.9933 13.4178 11.6515 13.4232 11.2338L13.4999 5.24561C13.5053 4.82783 13.172 4.49471 12.754 4.50006L6.76228 4.57676C6.34955 4.5874 6.00216 4.93458 5.99151 5.34708Z' fill='%23fff'/%3E%3C/svg%3E");
	background-size: 1rem 1rem;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.3s ease-in-out;
	transform-origin: center center;
	z-index: 1;
}
.wp-block-generateblocks-button .gb-button:hover::after,
.wp-block-generateblocks-button .gb-text:hover::after,
.wp-block-generateblocks-button a:hover::after,
.gb-button-wrapper .gb-button:hover::after,
.gb-button-wrapper .gb-text:hover::after,
.gb-button-wrapper a:hover::after,
a.gb-button:hover::after,
a.vlr-animated-button:hover::after {
	transform: rotate(45deg);
}
/* Variante azul (borda azul, orb/seta azul) – adicione .vlr-animated-btn-blue na classe do bloco */
.vlr-animated-btn-blue .gb-button,
.vlr-animated-btn-blue a,
a.vlr-animated-btn-blue {
	border-color: var(--vlr-animated-btn-border, #1246cc);
}
.vlr-animated-btn-blue .gb-button::before,
.vlr-animated-btn-blue a::before,
a.vlr-animated-btn-blue::before,
.vlr-animated-btn-blue .gb-button::after,
.vlr-animated-btn-blue a::after,
a.vlr-animated-btn-blue::after {
	background-color: var(--vlr-animated-btn-border, #1246cc);
}
.vlr-animated-btn-blue .gb-button,
.vlr-animated-btn-blue a,
a.vlr-animated-btn-blue {
	color: rgba(19, 22, 32, 0.8);
}
.vlr-animated-btn-blue .gb-button::after,
.vlr-animated-btn-blue a::after,
a.vlr-animated-btn-blue::after {
	color: #f0f0f0;
}

/* Mobile: remove padding dos containers do GeneratePress */
@media (max-width: 768px) {
	.separate-containers .inside-article,
	.separate-containers .comments-area,
	.separate-containers .page-header,
	.separate-containers .paging-navigation,
	.one-container .site-content,
	.inside-page-header {
		padding: 0;
	}
}
