/**
 * Shadcn UI Block – estilos base (variáveis e reset do bloco).
 * Os blocos podem usar var(--sui-*) se o tema não definir --background/--foreground.
 */
:root {
	/*
	 * Full-bleed (Serviços 2, Statistics 1/2): --shadcn-fullbleed-vw é definido em wp_head (clientWidth)
	 * para substituir 100vw e evitar barra de scroll horizontal no Windows.
	 */
	--sui-background: #fff;
	--sui-foreground: #0a0a0a;
	--sui-primary: #0a0a0a;
	--sui-primary-foreground: #fafafa;
	--sui-muted: #f4f4f5;
	--sui-muted-foreground: #71717a;
	--sui-border: #e4e4e7;
	--sui-radius: 0.375rem;
	--sui-font-sans: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--sui-font-mono: ui-monospace, monospace;

	/*
	 * GeneratePress: Personalizar → cores globais expõem --contrast, --contrast-2, etc. em :root.
	 * Parágrafos / texto secundário nos blocos (exceto hero104) usam estes tokens para acompanhar o tema.
	 * Títulos semânticos (h1–h6): CSS do bloco define só margem/layout; fonte e tamanho vêm do Personalizar
	 * (GeneratePress: .entry-content h1–h6), sem forçar font-size/font-weight/cor nos headings.
	 */
	--sui-gp-text: var(--contrast, var(--foreground, var(--sui-foreground, #222)));
	--sui-gp-text-muted: var(--contrast-2, var(--muted-foreground, var(--sui-muted-foreground, #575760)));

	/*
	 * Padding vertical das secções dos blocos (exceto hero104):
	 * Global (todos os blocos que suportam, salvo valor próprio do bloco):
	 *   :root, .site-content ou .entry-content { --sui-section-padding-top: 3rem; --sui-section-padding-bottom: 3rem; }
	 * Por bloco (prioridade sobre o global), variáveis:
	 *   --shadcn-feature-padding-top / -bottom
	 *   --shadcn-statistics1-*, --shadcn-statistics2-*
	 *   --shadcn-logos1-*, --shadcn-logos3-*
	 *   --shadcn-faq2-*, --shadcn-price1-*
	 *   --shadcn-sobre1-*, --shadcn-sobre2-*, --shadcn-contact1-*, --shadcn-servicos2-*
	 * Serviços 2: --shadcn-servicos2-container-max-width (largura do contentor, alinhar ao Personalizar)
	 *   --shadcn-carousel-section-*, --shadcn-blog-post1-section-*, --shadcn-modern-cards-section-*
	 *   --shadcn-marketplace1-padding-top / -bottom, --shadcn-marketplace1-container-max-width
	 *   --shadcn-showcasing-padding-top / -bottom, --shadcn-showcasing-container-px
	 *   --shadcn-hero-streamline-padding-top / -bottom, --shadcn-hero-streamline-bg (areia do hero + logos)
	 * Não defina --sui-section-padding-* no :root se quiser manter só os defaults por bloco.
	 */
	/*
	 * Coluna de texto com badge + título (Sobre 1 .top-copy, Sobre 2 .copy, Sobre 3 .copy-inner).
	 * Tema: sobrescreva --shadcn-sui-section-copy-stack-gap para alinhar ao GeneratePress.
	 */
	--shadcn-sui-section-copy-stack-gap: 1rem;
}

/*
 * Secções full-bleed usam margens negativas para sair do contentor do tema.
 * Sem clip no body, o excesso gera barra de scroll horizontal no desktop (Windows).
 */
body {
	overflow-x: clip;
}

/* Evita que blocos quebrem layout do tema */
.sui-hero104,
[class^="sui-"] {
	box-sizing: border-box;
}

.sui-hero104 *,
.sui-hero104 *::before,
.sui-hero104 *::after {
	box-sizing: border-box;
}

/*
 * Faixa “badge” partilhada (Sobre 1, Sobre 2, Contact 1, Serviços 2, carrossel, blog post):
 * círculo + etiqueta + linha. Ponto usa --accent; blocos podem sobrescrever só o necessário.
 */
.shadcn-sobre2-badge-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	column-gap: var(--gap--gp0-5, 0.5rem);
	row-gap: var(--gap--gp0-5, 0.5rem);
	width: fit-content;
	max-width: 100%;
}

.shadcn-sobre2-badge-dot {
	flex-shrink: 0;
	width: 10px;
	height: 10px;
	margin-right: 10px;
	border-radius: 500px;
	background-color: var(--accent, var(--wp--preset--color--primary, #ef4444));
}

.shadcn-sobre2-badge-label {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.02em;
	color: var(--sui-gp-text-muted, var(--muted-foreground, #71717a));
	text-transform: none;
	white-space: nowrap;
}

.shadcn-sobre2-badge-line {
	flex-shrink: 0;
	align-self: center;
	width: 125px;
	height: 1px;
	margin-left: 10px;
	border-radius: 1px;
	background-color: var(--accent-foreground, var(--sui-gp-text-muted, var(--muted-foreground, #71717a)));
	transform: scaleY(0.4);
	transform-origin: center center;
}

@media (max-width: 480px) {
	.shadcn-sobre2-badge-line {
		width: min(125px, 35vw);
	}
}

/*
 * Títulos de secção (h1–h6 semânticos): o plugin não define font-size/peso/família
 * nas classes *-heading / *-title — o GeneratePress (e similares) aplicam tipografia
 * a .entry-content h1–h6 via Personalizar.
 *
 * Qualquer <span> dentro do heading principal usa cor accent — não é obrigatória classe no span.
 */
.shadcn-feature-heading span,
.shadcn-logos3-heading span,
.shadcn-logos1-heading span,
.shadcn-statistics1-heading span,
.shadcn-statistics2-subtitle span,
.shadcn-statistics2-heading span,
.shadcn-sobre1-title span,
.shadcn-sobre1-person-name span,
.shadcn-sobre1-story span,
.shadcn-sobre1-footer span,
.shadcn-sobre2-heading span,
.shadcn-sobre3-heading span,
.shadcn-servicos2-heading span,
.shadcn-contact1-heading span,
.shadcn-faq2-main-title span,
.shadcn-price1-title span,
.shadcn-carousel-heading span,
.shadcn-mc-heading span,
.shadcn-mc-subheading span,
.shadcn-blog-post1-heading span,
.shadcn-showcasing-intro-title span,
.shadcn-showcasing-box-heading span,
.shadcn-mp1-heading span,
.sui-hero104__title span,
.sui-hero-streamline__title span,
.sui-hero-streamline-logos__heading .sui-hero-streamline-logos__heading-line span {
	color: var(--accent, var(--primary, #0f172a));
}

/* Textos longos com HTML permitido (p, listas, links, ênfase) */
.shadcn-sui-rich-text {
	color: inherit;
	line-height: inherit;
}

.shadcn-sui-rich-text > *:first-child {
	margin-top: 0;
}

.shadcn-sui-rich-text > *:last-child {
	margin-bottom: 0;
}

.shadcn-sui-rich-text p {
	margin: 0 0 0.75em;
}

.shadcn-sui-rich-text ul,
.shadcn-sui-rich-text ol {
	margin: 0 0 0.75em;
	padding-left: 1.25em;
}

.shadcn-sui-rich-text li {
	margin: 0.25em 0;
}

.shadcn-sui-rich-text a {
	color: var(--accent, var(--primary, #0f172a));
	text-decoration: underline;
	text-underline-offset: 2px;
}

.shadcn-sui-rich-text a:hover {
	opacity: 0.9;
}
