/*!
 * Primal Child — design system
 *
 * Sem cor, fonte ou medida fixa: tudo lê as variáveis geradas em
 * Personalizar → "Identidade Primal+". Os valores abaixo são só a reserva.
 */

/* ------------------------------------------------------------ Fundação */

:root {
	--primal-primary: #F2B705;
	--primal-primary-2: #C98E00;
	--primal-on-primary: #111111;
	--primal-dark: #0D0D0D;
	--primal-gray: #6B7280;
	--primal-bg: #F7F5F0;
	--primal-border: #E7E2D6;
	--primal-white: #FFFFFF;
	--primal-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--primal-font-title: var(--primal-font);
	--primal-title-weight: 800;
	--primal-width: 1200px;
	--primal-radius: 16px;
	--primal-radius-sm: 10px;
	--primal-radius-lg: 24px;
	--primal-section: 96px;
	--primal-shadow: 0 10px 30px rgba(13, 13, 13, .08);
	--primal-ouro: linear-gradient(135deg, var(--primal-primary), var(--primal-primary-2));
}

/*
 * Tudo fica dentro dos blocos do tema: nada de regra solta em body, h1, p ou
 * .vc_*, para não brigar com o The7, o WPBakery e os addons dele.
 */
.primal-hero,
.primal-section,
.primal-section-numeros,
.primal-cta {
	font-family: var(--primal-font);
	-webkit-font-smoothing: antialiased;
}

.primal-sem-titulo { overflow-x: clip; }

.primal-tema .primal-section h1,
.primal-tema .primal-section h2,
.primal-tema .primal-section h3,
.primal-tema .primal-hero h1,
.primal-tema .primal-titulo {
	font-family: var(--primal-font-title);
	font-weight: var(--primal-title-weight);
	color: var(--primal-dark);
	letter-spacing: -.02em;
	line-height: 1.12;
	margin: 0 0 .4em;
}

.primal-tema .primal-hero h1 { font-size: clamp(2.2rem, 1.3rem + 3.2vw, 4rem); color: #fff; }
.primal-tema .primal-section h2 { font-size: clamp(1.7rem, 1.1rem + 1.8vw, 2.6rem); }
.primal-tema .primal-section h3 { font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); }
.primal-tema .primal-section p { line-height: 1.65; }

.primal-hero h1 em,
.primal-section h2 em {
	font-style: normal;
	background: var(--primal-ouro);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ------------------------------------------------------- Estrutura */

.primal-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--primal-width);
	margin-inline: auto;
	padding-inline: 20px;
}

.primal-container-estreito { max-width: 820px; }

.primal-section { padding-block: var(--primal-section); position: relative; }
.primal-section-sm { padding-block: calc(var(--primal-section) * .6); }
.primal-section-lg { padding-block: calc(var(--primal-section) * 1.4); }
.primal-section-branco { background: var(--primal-white); }
.primal-section-claro { background: var(--primal-bg); }

.primal-section-escuro {
	background: var(--primal-dark);
	color: rgba(255, 255, 255, .78);
}
.primal-tema .primal-section-escuro h1,
.primal-tema .primal-section-escuro h2,
.primal-tema .primal-section-escuro h3 { color: #fff; }
.primal-section-escuro p { color: rgba(255, 255, 255, .72); }

.primal-section-marca { background: var(--primal-ouro); color: var(--primal-on-primary); }
.primal-tema .primal-section-marca h2,
.primal-tema .primal-section-marca h3 { color: var(--primal-on-primary); }

/* --------------------------------------------------------- Cabeçalhos */

.primal-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	padding: 7px 14px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--primal-primary) 18%, transparent);
	border: 1px solid color-mix(in srgb, var(--primal-primary) 40%, transparent);
	color: var(--primal-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.primal-eyebrow svg { width: 16px; height: 16px; }
.primal-hero .primal-eyebrow,
.primal-section-escuro .primal-eyebrow { color: var(--primal-primary); background: rgba(242, 183, 5, .08); }

.primal-head { max-width: 720px; margin-bottom: 44px; }
.primal-head-centro { margin-inline: auto; text-align: center; }
.primal-head p { margin: 12px 0 0; font-size: 1.06rem; color: var(--primal-gray); }
.primal-section-escuro .primal-head p { color: rgba(255, 255, 255, .7); }

.primal-titulo-risco { position: relative; padding-bottom: 18px; }
.primal-titulo-risco::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 5px;
	border-radius: 3px;
	background: var(--primal-ouro);
}
.primal-head-centro .primal-titulo-risco::after { left: 50%; transform: translateX(-50%); }

/* ------------------------------------------------------------ Botões */

.primal-tema .primal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 28px;
	border: 2px solid transparent;
	border-radius: var(--primal-radius-sm);
	background: var(--primal-ouro);
	color: var(--primal-on-primary);
	font-family: var(--primal-font);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.primal-tema .primal-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px color-mix(in srgb, var(--primal-primary) 40%, transparent);
	color: var(--primal-on-primary);
}
.primal-tema .primal-btn svg { width: 18px; height: 18px; flex: none; }

.primal-tema .primal-btn-escuro { background: var(--primal-dark); color: #fff; }
.primal-tema .primal-btn-escuro:hover { color: var(--primal-primary); box-shadow: 0 10px 26px rgba(0, 0, 0, .3); }

.primal-tema .primal-btn-contorno { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .35); }
.primal-tema .primal-btn-contorno:hover { color: var(--primal-primary); border-color: var(--primal-primary); box-shadow: none; }

.primal-tema .primal-btn-contorno-escuro { background: transparent; color: var(--primal-dark); border-color: var(--primal-dark); }
.primal-tema .primal-btn-contorno-escuro:hover { background: var(--primal-dark); color: #fff; box-shadow: none; }

.primal-tema .primal-btn-lg { padding: 18px 34px; font-size: 16px; }
.primal-tema .primal-btn-sm { padding: 10px 18px; font-size: 13px; }
.primal-tema .primal-btn-bloco { display: flex; width: 100%; }

.primal-botao-pilula .primal-btn { border-radius: 999px !important; }
.primal-botao-reto .primal-btn { border-radius: 0 !important; }
.primal-botao-contorno .primal-btn:not(.primal-btn-escuro):not(.primal-btn-contorno):not(.primal-btn-contorno-escuro) {
	background: transparent;
	color: var(--primal-primary-2);
	border-color: var(--primal-primary);
}

/* ----------------------------------------------------- Grids e cards */

.primal-grid { display: grid; gap: 22px; }
.primal-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.primal-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.primal-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 960px) { .primal-grid-3, .primal-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .primal-grid-2, .primal-grid-3, .primal-grid-4 { grid-template-columns: 1fr; } }

.primal-card {
	position: relative;
	padding: 30px 26px;
	background: var(--primal-white);
	border: 1px solid var(--primal-border);
	border-radius: var(--primal-radius);
	box-shadow: var(--primal-shadow);
	transition: transform .2s ease, box-shadow .2s ease;
}
.primal-card:hover { transform: translateY(-3px); box-shadow: 0 18px 44px rgba(13, 13, 13, .12); }
.primal-card p { margin: 0; color: var(--primal-gray); }

.primal-card-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	border-radius: 16px;
	background: var(--primal-dark);
	color: var(--primal-primary);
}

.primal-passo-num {
	position: absolute;
	top: 22px;
	right: 24px;
	font-family: var(--primal-font-title);
	font-weight: 900;
	font-size: 44px;
	line-height: 1;
	color: color-mix(in srgb, var(--primal-primary) 28%, transparent);
}

.primal-lista { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.primal-lista li { position: relative; padding-left: 32px; }
.primal-lista li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 13px no-repeat, var(--primal-ouro);
}

/* ------------------------------------------------------------- Capa */

.primal-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(72px, 9vw, 130px);
	background: radial-gradient(120% 90% at 85% 10%, #2a2a2a 0%, var(--primal-dark) 55%);
	color: rgba(255, 255, 255, .78);
}
.primal-hero-curto { padding-block: clamp(56px, 7vw, 96px); }
.primal-hero::after {
	content: "";
	position: absolute;
	left: -10%;
	right: -10%;
	bottom: 8%;
	height: 90px;
	background: linear-gradient(90deg, transparent, var(--primal-primary-2), var(--primal-primary), var(--primal-primary-2), transparent);
	transform: rotate(-5deg);
	opacity: .22;
	filter: blur(2px);
	pointer-events: none;
}
.primal-hero-brilho {
	position: absolute;
	width: 520px;
	height: 520px;
	right: -120px;
	top: -160px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--primal-primary) 30%, transparent), transparent 70%);
	pointer-events: none;
}
.primal-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 56px;
	align-items: center;
}
.primal-hero-texto { position: relative; z-index: 1; max-width: 640px; }
.primal-hero-texto > p { font-size: 1.15rem; line-height: 1.6; margin: 0 0 30px; color: rgba(255, 255, 255, .78); }
.primal-hero-acoes { display: flex; flex-wrap: wrap; gap: 14px; }

.primal-hero-cartao { perspective: 1200px; }
.primal-cartao {
	aspect-ratio: 1.586;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .55), 0 0 0 1px color-mix(in srgb, var(--primal-primary) 30%, transparent);
	transform: rotateY(-12deg) rotateX(6deg);
	transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.primal-hero-cartao:hover .primal-cartao { transform: rotateY(0) rotateX(0); }
.primal-cartao img { display: block; width: 100%; height: 100%; object-fit: cover; }

.primal-cartao-padrao {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: radial-gradient(circle at 25% 20%, #2b2b2b, #080808 70%);
	color: #fff;
}
.primal-cartao-marca { font-family: var(--primal-font-title); font-size: clamp(30px, 4vw, 48px); font-weight: 900; letter-spacing: .14em; }
.primal-cartao-marca b { color: var(--primal-primary); }
.primal-cartao-sub { color: var(--primal-primary); font-size: 11px; letter-spacing: .32em; }
.primal-cartao-faixa {
	position: absolute;
	left: -10%;
	right: -10%;
	bottom: 16%;
	height: 16%;
	background: linear-gradient(90deg, transparent, var(--primal-primary-2), var(--primal-primary), var(--primal-primary-2), transparent);
	transform: rotate(-6deg);
}
.primal-cartao-id { position: absolute; left: 22px; top: 18px; font-size: 12px; letter-spacing: .14em; color: rgba(255, 255, 255, .7); }

.primal-cartao-qr {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
}
.primal-cartao-qr svg { color: var(--primal-primary); }

@media (max-width: 900px) {
	.primal-hero-grid { grid-template-columns: 1fr; gap: 40px; }
	.primal-hero-cartao { max-width: 420px; }
	.primal-cartao { transform: none; }
}

/* ------------------------------------------------------ Números */

.primal-section-numeros { position: relative; z-index: 2; margin-top: -48px; }
.primal-section-numeros .pm-numeros {
	padding: 30px 24px;
	border-radius: var(--primal-radius-lg);
	background: var(--primal-white);
	border: 1px solid var(--primal-border);
	box-shadow: 0 24px 60px rgba(13, 13, 13, .14);
	color: var(--primal-dark);
}
.primal-section-numeros .pm-numero + .pm-numero { border-left: 1px solid var(--primal-border); }
.primal-section-numeros .pm-numero strong { background: var(--primal-ouro); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (max-width: 640px) {
	.primal-section-numeros .pm-numeros { grid-template-columns: repeat(2, 1fr); }
	.primal-section-numeros .pm-numero + .pm-numero { border-left: 0; }
}

/* ------------------------------------------------- Benefícios (plugin) */

.primal-tema .pm-beneficio h3 { margin: 0; }
.primal-ver-todos { margin: 32px 0 0; text-align: center; }

/* ------------------------------------------------------ Quem participa */

.primal-quem { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.primal-quem .primal-head { margin-bottom: 0; }
@media (max-width: 900px) { .primal-quem { grid-template-columns: 1fr; } }

.primal-chips { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.primal-chips li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 14px 20px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .14);
	color: #fff;
	font-weight: 600;
}
.primal-chips li svg { width: 20px; height: 20px; color: var(--primal-primary); }

/* --------------------------------------------------------- FAQ */

.primal-faq { display: grid; gap: 12px; }
.primal-faq details {
	border: 1px solid var(--primal-border);
	border-radius: var(--primal-radius);
	background: var(--primal-white);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.primal-faq details[open] { border-color: var(--primal-primary); box-shadow: var(--primal-shadow); }
.primal-faq summary {
	position: relative;
	padding: 20px 56px 20px 22px;
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--primal-dark);
	cursor: pointer;
	list-style: none;
}
.primal-faq summary::-webkit-details-marker { display: none; }
.primal-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--primal-dark);
	color: var(--primal-primary);
	font-size: 20px;
	line-height: 28px;
	text-align: center;
	transition: transform .2s ease;
}
.primal-faq details[open] summary::after { content: "–"; }
.primal-faq details p { margin: 0; padding: 0 22px 22px; color: var(--primal-gray); }

/* --------------------------------------------------------- Chamadas */

.primal-cta {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 28px;
	align-items: center;
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--primal-radius-lg);
	background: var(--primal-ouro);
	color: var(--primal-on-primary);
}
.primal-tema .primal-cta h2 { color: var(--primal-on-primary); font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); margin-bottom: 8px; }
.primal-cta p { margin: 0; color: color-mix(in srgb, var(--primal-on-primary) 80%, transparent); }
.primal-cta-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 20px;
	background: var(--primal-dark);
	color: var(--primal-primary);
}
.primal-cta-icone svg { width: 34px; height: 34px; }
@media (max-width: 900px) { .primal-cta { grid-template-columns: 1fr; text-align: left; } }

/* Chamada para empresas: a florista ocupa a lateral sem cobrir texto ou botão. */
.primal-cta-floricultura {
	grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) auto;
	gap: clamp(18px, 2.5vw, 34px);
	min-height: 250px;
	padding: 0;
}
.primal-cta-floricultura-foto {
	display: block;
	width: 100%;
	height: 250px !important;
	object-fit: cover;
	object-position: center top;
}
.primal-cta-floricultura .primal-cta-texto { padding-block: 28px; }
.primal-cta-floricultura > .primal-btn { margin-right: 32px; }
@media (max-width: 1100px) {
	.primal-cta-floricultura { grid-template-columns: 190px minmax(0, 1fr); column-gap: 24px; row-gap: 0; }
	.primal-cta-floricultura-foto { grid-row: span 2; height: 100% !important; min-height: 270px; }
	.primal-cta-floricultura .primal-cta-texto { padding: 24px 24px 12px 0; }
	.primal-cta-floricultura > .primal-btn { justify-self: start; margin: 0 24px 24px 0; }
}
@media (max-width: 640px) {
	.primal-cta-floricultura { grid-template-columns: 1fr; gap: 0; }
	.primal-cta-floricultura-foto { grid-row: auto; width: 100%; height: 220px !important; min-height: 0; object-position: center top; }
	.primal-cta-floricultura .primal-cta-texto { padding: 24px 24px 16px; }
	.primal-cta-floricultura > .primal-btn { justify-self: start; margin: 0 24px 26px; }
}

.primal-final { text-align: center; }
.primal-tema .primal-final h2 { font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); margin-bottom: 22px; }
.primal-final-secao .primal-final {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(28px, 5vw, 72px);
	text-align: left;
}
.primal-final-foto {
	display: block;
	width: 100%;
	height: clamp(260px, 30vw, 370px) !important;
	aspect-ratio: 1.6;
	object-fit: contain;
	object-position: center bottom;
	border-radius: 0;
	box-shadow: none;
}
.primal-final-conteudo { min-width: 0; }
@media (max-width: 767px) {
	.primal-final-secao .primal-final { grid-template-columns: 1fr; gap: 24px; text-align: center; }
	.primal-final-foto { height: min(65vw, 330px) !important; aspect-ratio: 1.35; border-radius: 0; }
}

/* ------------------------------------------------------ Menu */

.primal-tema .main-nav > li.primal-menu-destaque > a .menu-text,
.primal-tema .primal-menu-destaque > a {
	font-weight: 800;
	background: var(--primal-ouro);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* ------------------------------------------------------ Animação */

.primal-anima .primal-reveal {
	opacity: 0;
	transform: translateY(24px) scale(.985);
	filter: blur(8px);
	transition: opacity .75s cubic-bezier(.16, 1, .3, 1), transform .75s cubic-bezier(.16, 1, .3, 1), filter .6s cubic-bezier(.16, 1, .3, 1);
}
.primal-anima .primal-reveal.is-visivel { opacity: 1; transform: none; filter: none; }

@media (prefers-reduced-motion: reduce) {
	.primal-anima .primal-reveal { opacity: 1; transform: none; filter: none; transition: none; }
	.primal-cartao, .primal-card, .primal-tema .primal-btn { transition: none; transform: none !important; }
}

/* =======================================================================
 * The7: nas páginas dos modelos do tema as faixas vão de ponta a ponta,
 * sem a faixa de título e sem o respiro do #main (cada faixa já tem o seu).
 * Páginas montadas no WPBakery com "Modelo padrão" não são afetadas.
 * ==================================================================== */

.primal-sem-titulo .page-title,
.primal-sem-titulo .dt-breadcrumbs-wrapper,
.primal-sem-titulo #fancy-header,
.primal-sem-titulo .page-title-head { display: none !important; }

.primal-sem-titulo #main { padding-top: 0 !important; padding-bottom: 0 !important; }

.primal-sem-titulo #main .wf-wrap,
.primal-sem-titulo .sidebar-none > .wf-wrap {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.primal-sem-titulo #main .wf-container-main,
.primal-sem-titulo #main .content {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0 !important;
}

.primal-sem-titulo #main .content > .primal-section:last-child,
.primal-sem-titulo #main .content > section:last-child { margin-bottom: 0; }

/* Conteúdo do WPBakery dentro de um modelo: sem o recuo lateral das linhas. */
.primal-conteudo .vc_row { margin-left: 0; margin-right: 0; }

/* =======================================================================
 * MEL & COLMEIA — visual clean em amarelo, branco e preto
 *
 * Tudo abaixo sobrescreve a base acima: capa clara, brilho de mel (gloss),
 * padrão de hexágonos e ícones animados. Liga/desliga pelo Personalizar:
 * .primal-gloss (brilho) e .primal-colmeia (hexágonos) no body.
 * ==================================================================== */

:root {
	--primal-mel: linear-gradient(180deg, #FFE27A 0%, var(--primal-primary) 42%, var(--primal-primary-2) 100%);
	--primal-mel-lado: linear-gradient(120deg, #FFE27A 0%, var(--primal-primary) 38%, var(--primal-primary-2) 100%);
	--primal-shadow: 0 10px 30px rgba(120, 80, 0, .08);
	/* Hexágono (pointy-top) para clip-path. */
	--primal-hex-forma: polygon(50% 0, 93.3% 25%, 93.3% 75%, 50% 100%, 6.7% 75%, 6.7% 25%);
	/* Colmeia: contorno de hexágonos em mosaico (usado como máscara, a cor vem da marca). */
	--primal-favo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.6' d='M28 1.5 54.5 16.75v30.5L28 62.5 1.5 47.25v-30.5zM28 62.5v34M0 16.75 -26.5 1.5M56 16.75 82.5 1.5'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------- Capa clara */

.primal-hero {
	background:
		radial-gradient(60% 70% at 88% 18%, color-mix(in srgb, var(--primal-primary) 30%, transparent) 0%, transparent 70%),
		radial-gradient(40% 50% at 8% 90%, color-mix(in srgb, var(--primal-primary) 16%, transparent) 0%, transparent 70%),
		#fff;
	color: var(--primal-gray);
	padding-bottom: clamp(96px, 11vw, 150px);
}
.primal-hero::after { display: none; }
.primal-hero-brilho {
	background: radial-gradient(circle, rgba(255, 255, 255, .9), transparent 65%);
	right: auto;
	left: 30%;
	top: -260px;
}
.primal-tema .primal-hero h1 { color: var(--primal-dark); }
.primal-hero-texto > p { color: var(--primal-gray); }
.primal-hero .primal-eyebrow {
	color: var(--primal-dark);
	background: #fff;
	border-color: color-mix(in srgb, var(--primal-primary) 55%, transparent);
	box-shadow: 0 4px 14px color-mix(in srgb, var(--primal-primary) 25%, transparent);
}
.primal-hero .primal-eyebrow .primal-ico { color: var(--primal-primary-2); width: 20px; height: 20px; }
.primal-tema .primal-hero .primal-btn-contorno { color: var(--primal-dark); border-color: var(--primal-dark); background: #fff; }
.primal-tema .primal-hero .primal-btn-contorno:hover { color: var(--primal-dark); border-color: var(--primal-primary-2); }
.primal-hero .primal-cartao-qr, .primal-carteirinha-sec .primal-cartao-qr { background: #fff; border-color: var(--primal-border); color: var(--primal-dark); box-shadow: var(--primal-shadow); }
.primal-hero .primal-cartao-qr .primal-ico, .primal-carteirinha-sec .primal-cartao-qr .primal-ico { color: var(--primal-primary-2); }

/* Colmeia no fundo da capa, sumindo para o centro. */
.primal-colmeia .primal-hero::before,
.primal-colmeia .primal-fundo-colmeia::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--primal-primary);
	-webkit-mask: var(--primal-favo) 0 0 / 56px 97px repeat;
	mask: var(--primal-favo) 0 0 / 56px 97px repeat;
	opacity: .22;
	pointer-events: none;
}
.primal-colmeia .primal-hero::before {
	-webkit-mask-image: var(--primal-favo), radial-gradient(75% 90% at 100% 0, #000 20%, transparent 70%);
	mask-image: var(--primal-favo), radial-gradient(75% 90% at 100% 0, #000 20%, transparent 70%);
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
	-webkit-mask-size: 56px 97px, 100% 100%;
	mask-size: 56px 97px, 100% 100%;
	-webkit-mask-repeat: repeat, no-repeat;
	mask-repeat: repeat, no-repeat;
	opacity: .35;
}
.primal-colmeia .primal-fundo-colmeia::before {
	-webkit-mask-image: var(--primal-favo), linear-gradient(90deg, transparent 30%, #000);
	mask-image: var(--primal-favo), linear-gradient(90deg, transparent 30%, #000);
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
	-webkit-mask-size: 56px 97px, 100% 100%;
	mask-size: 56px 97px, 100% 100%;
	-webkit-mask-repeat: repeat, no-repeat;
	mask-repeat: repeat, no-repeat;
	opacity: .18;
}
.primal-section-escuro.primal-fundo-colmeia::before { opacity: .16; }
.primal-fundo-colmeia > .primal-container { position: relative; z-index: 1; }

/* Hexágonos soltos flutuando. */
.primal-hexes { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.primal-cta .primal-hexes { border-radius: inherit; }
.primal-hex {
	position: absolute;
	width: 64px;
	aspect-ratio: .866;
	clip-path: var(--primal-hex-forma);
	background: var(--primal-mel-lado);
	opacity: .9;
	animation: primal-flutua 7s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * -1.3s);
}
.primal-hex::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .15) 38%, transparent 40%);
}
.primal-hex.grande { width: 120px; }
.primal-hex.medio { width: 76px; }
.primal-hex.pequeno { width: 34px; }
.primal-hex.contorno { background: none; clip-path: none; }
.primal-hex.contorno::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--primal-primary);
	/* Contorno desenhado por SVG (o truque antigo com máscara deixava só duas "setinhas" nas pontas). */
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'%3E%3Cpolygon points='43.3 2.5 84.1 26 84.1 74 43.3 97.5 2.5 74 2.5 26' fill='none' stroke='%23000' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'%3E%3Cpolygon points='43.3 2.5 84.1 26 84.1 74 43.3 97.5 2.5 74 2.5 26' fill='none' stroke='%23000' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.primal-hex.contorno::after { display: none; }
.primal-hex.claro { background: rgba(255, 255, 255, .5); }
.primal-hex.contorno.claro::before { background: rgba(255, 255, 255, .7); }
.primal-hero-grid, .primal-hero-curto .primal-container { position: relative; z-index: 2; }
.primal-section > .primal-hexes ~ .primal-container { position: relative; z-index: 1; }
@media (max-width: 900px) { .primal-hexes-hero .grande, .primal-hexes-hero .medio { opacity: .35; } }

@keyframes primal-flutua {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -14px; }
}

/* Gotas de mel escorrendo logo abaixo da capa (elemento irmão, não filho). */
.primal-mel { position: relative; z-index: 1; height: 64px; margin-bottom: -64px; pointer-events: none; }
.primal-mel stop:first-child { stop-color: var(--primal-primary); }
.primal-mel stop:last-child { stop-color: var(--primal-primary-2); }
.primal-mel svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 6px 8px rgba(180, 110, 0, .25)); }
.primal-mel + .primal-section-numeros { margin-top: -20px; }
.primal-mel + .primal-section { padding-top: calc(var(--primal-section) + 30px); }

/* ------------------------------------------------------ Brilho de mel */

.primal-gloss .primal-btn:not(.primal-btn-escuro):not(.primal-btn-contorno):not(.primal-btn-contorno-escuro) {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--primal-mel);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .85),
		inset 0 -3px 6px rgba(160, 90, 0, .25),
		0 8px 20px color-mix(in srgb, var(--primal-primary-2) 35%, transparent);
	text-shadow: 0 1px 0 rgba(255, 255, 255, .45);
}
.primal-gloss .primal-btn::before {
	content: "";
	position: absolute;
	left: 6%;
	right: 6%;
	top: 2px;
	height: 48%;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0));
	z-index: -1;
	pointer-events: none;
}
.primal-gloss .primal-btn-escuro::before,
.primal-gloss .primal-btn-contorno::before,
.primal-gloss .primal-btn-contorno-escuro::before { opacity: .18; }
.primal-gloss .primal-btn::after {
	content: "";
	position: absolute;
	top: -20%;
	bottom: -20%;
	left: -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .8), transparent);
	transform: skewX(-20deg);
	pointer-events: none;
}
.primal-gloss .primal-btn:hover::after { animation: primal-varre .8s ease; }
.primal-gloss .primal-btn { position: relative; overflow: hidden; }

@keyframes primal-varre { to { left: 130%; } }

/* O botão não pula mais: quem se mexe é o ícone. */
.primal-tema .primal-btn:hover { transform: none; }

/* Cartão da capa: reflexo de mel passando de tempos em tempos. */
.primal-cartao { position: relative; }
.primal-cartao-reflexo {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 236, 160, .55) 48%, rgba(255, 255, 255, .8) 50%, transparent 62%);
	background-size: 250% 100%;
	background-position: 120% 0;
	animation: primal-reflexo 5.5s ease-in-out infinite 1.2s;
	mix-blend-mode: screen;
}
.primal-cartao::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, .22), transparent 40%);
	pointer-events: none;
}
.primal-cartao { box-shadow: 0 30px 60px rgba(120, 75, 0, .28), 0 0 0 1px color-mix(in srgb, var(--primal-primary) 45%, transparent); }
@keyframes primal-reflexo {
	0%, 55% { background-position: 120% 0; }
	80%, 100% { background-position: -30% 0; }
}
body:not(.primal-gloss) .primal-cartao-reflexo { display: none; }

/* Cards: branco limpo, borda de mel no hover, reflexo no topo. */
.primal-card { border-color: var(--primal-border); }
.primal-card:hover { transform: none; border-color: color-mix(in srgb, var(--primal-primary) 70%, transparent); box-shadow: 0 18px 44px rgba(150, 95, 0, .14); }
.primal-gloss .primal-card { background: linear-gradient(180deg, #fff 0%, #fff 70%, color-mix(in srgb, var(--primal-primary) 7%, #fff) 100%); }

/* Ícones dentro de hexágono de mel. */
.primal-card-icone {
	width: 64px;
	height: 72px;
	border-radius: 0;
	clip-path: var(--primal-hex-forma);
	background: var(--primal-mel-lado);
	color: var(--primal-dark);
	position: relative;
}
.primal-card-icone .primal-ico { width: 30px; height: 30px; position: relative; z-index: 1; }
.primal-gloss .primal-card-icone::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .15) 40%, transparent 42%);
}
.primal-passo-num { color: color-mix(in srgb, var(--primal-primary) 40%, transparent); }

.primal-cta-icone { width: 76px; height: 86px; border-radius: 0; clip-path: var(--primal-hex-forma); background: var(--primal-dark); }

/* Chips e FAQ com hexágono. */
.primal-chips li { transition: border-color .2s ease, background .2s ease; }
.primal-chips li:hover { border-color: var(--primal-primary); background: rgba(255, 196, 0, .08); }
.primal-faq summary::after {
	border-radius: 0;
	width: 30px;
	height: 34px;
	line-height: 34px;
	clip-path: var(--primal-hex-forma);
	background: var(--primal-mel-lado);
	color: var(--primal-dark);
	font-weight: 800;
}
.primal-faq details[open] summary::after { transform: translateY(-50%); }

/* Faixa "Seja parceiro" em mel brilhante. */
.primal-cta { position: relative; overflow: hidden; background: var(--primal-mel-lado); }
.primal-cta > *:not(.primal-hexes) { position: relative; z-index: 1; }
.primal-gloss .primal-cta::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 50%;
	background: linear-gradient(180deg, rgba(255, 255, 255, .35), transparent);
	pointer-events: none;
}

/* Números: hexágono de mel atrás de cada valor. */
.primal-section-numeros .pm-numeros { box-shadow: 0 24px 60px rgba(150, 95, 0, .16); }
.primal-section-numeros .pm-numero { position: relative; }
.primal-section-numeros .pm-numero strong { background: var(--primal-mel); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Blocos do plugin dentro do tema. */
.primal-tema .pm-beneficio::after { background: var(--primal-mel-lado); height: 5px; }
.primal-tema .pm-beneficio-pct {
	background: var(--primal-mel);
	color: var(--primal-dark);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 6px 14px rgba(180, 110, 0, .25);
}
.primal-tema .pm-beneficio-pct small { color: var(--primal-dark); opacity: .7; }
.primal-tema .pm-beneficio:hover { transform: none; border-color: color-mix(in srgb, var(--primal-primary) 70%, transparent); }
.primal-tema .pm-categorias li { background: #fff; border-color: var(--primal-border); }

.primal-ver-todos { position: relative; z-index: 1; }

/* Chamada final com abelhinha. */
.primal-final { position: relative; }
.primal-final-abelha { display: inline-flex; margin-left: 14px; vertical-align: middle; color: var(--primal-dark); }
.primal-final-abelha .primal-ico { width: 36px; height: 36px; }

/* ================================================================
 * Ícones animados — só no hover do elemento que contém o ícone.
 * Movimento de partes do desenho, sem zoom nem inclinação do todo.
 * ============================================================= */

.primal-ico { overflow: visible; flex: none; }
.primal-ico * { transform-box: fill-box; }

/* Gatilho: botão, card, etiqueta, chip, pergunta, faixa. */
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-chips li, .primal-cta, .primal-cartao-qr, .primal-final, .primal-hover):hover .primal-ico-abelha .pi-asa { animation: primal-asa .12s linear infinite alternate; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-chips li, .primal-cta, .primal-cartao-qr, .primal-final, .primal-hover):hover .primal-ico-abelha .pi-corpo { animation: primal-oito 1.6s ease-in-out infinite; }
.primal-ico-abelha .pi-asa-e { transform-origin: 100% 100%; }
.primal-ico-abelha .pi-asa-d { transform-origin: 0% 100%; }
.primal-ico-abelha .pi-asa { fill: rgba(255, 255, 255, .7); }
@keyframes primal-asa { from { scale: 1 1; } to { scale: 1 .35; } }
@keyframes primal-oito {
	0%, 100% { translate: 0 0; }
	25% { translate: 2px -2px; }
	50% { translate: 0 -3px; }
	75% { translate: -2px -2px; }
}

.primal-ico-casa .pi-porta { transform-origin: 0% 50%; transition: scale .35s ease; }
.primal-ico-casa .pi-fumaca { opacity: 0; fill: currentColor; stroke: none; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-casa .pi-porta { scale: .35 1; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-casa .pi-fumaca { animation: primal-fumaca 1.4s ease-out infinite; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-casa .pi-f2 { animation-delay: .5s; }
@keyframes primal-fumaca {
	0% { opacity: 0; translate: 0 2px; }
	30% { opacity: .9; }
	100% { opacity: 0; translate: 1.5px -4px; }
}

.primal-ico-cartao .pi-brilho { stroke: #fff; stroke-width: 2.4; opacity: 0; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-cartao .pi-brilho { animation: primal-cartao-brilho 1.1s ease-in-out infinite; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-cartao .pi-chip { animation: primal-chip 1.1s ease-in-out infinite; }
@keyframes primal-cartao-brilho { 0% { opacity: 0; translate: 0 0; } 30% { opacity: .9; } 100% { opacity: 0; translate: 13px 0; } }
@keyframes primal-chip { 50% { translate: 2px 0; } }

.primal-ico-qr .pi-scan { stroke: var(--primal-primary-2); stroke-width: 2.2; opacity: 0; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-cartao-qr, .primal-hover):hover .primal-ico-qr .pi-scan { animation: primal-scan 1.2s ease-in-out infinite alternate; }
@keyframes primal-scan { from { opacity: 1; translate: 0 0; } to { opacity: 1; translate: 0 17px; } }

.primal-ico-desconto .pi-etiqueta { transform-origin: 20% 20%; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-desconto .pi-etiqueta { animation: primal-pendulo 1s ease-in-out infinite; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-desconto .pi-pct { animation: primal-pisca .5s steps(2) infinite; }
@keyframes primal-pendulo { 0%, 100% { rotate: 0deg; } 30% { rotate: 12deg; } 65% { rotate: -8deg; } }
@keyframes primal-pisca { 50% { opacity: .2; } }

:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-cta, .primal-hover):hover .primal-ico-parceiro .pi-maos { animation: primal-aperto .55s ease-in-out infinite; }
@keyframes primal-aperto { 0%, 100% { translate: 0 0; } 50% { translate: 0 2px; } }

.primal-ico-pessoa .pi-braco { transform-origin: 0% 100%; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-chips li, .primal-hover):hover .primal-ico-pessoa .pi-braco { animation: primal-aceno .4s ease-in-out infinite alternate; }
@keyframes primal-aceno { from { rotate: -25deg; } to { rotate: 25deg; } }

:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-seta .pi-seta { animation: primal-seta .7s ease-in-out infinite; }
@keyframes primal-seta { 0%, 100% { translate: 0 0; } 50% { translate: 4px 0; } }

:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-cta, .primal-hover):hover .primal-ico-whatsapp .pi-balao { animation: primal-vibra .5s linear infinite; }
@keyframes primal-vibra {
	0%, 40%, 100% { translate: 0 0; }
	10%, 30% { translate: -1px 0; }
	20% { translate: 1px 0; }
}

.primal-ico .pi-traco { stroke-dasharray: 24; stroke-dashoffset: 0; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover, details):hover .primal-ico .pi-traco { animation: primal-desenha .9s ease forwards; }
@keyframes primal-desenha { 0% { stroke-dashoffset: 24; } 100% { stroke-dashoffset: 0; } }

.primal-ico-relogio .pi-ponteiro { transform-origin: 50% 100%; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-relogio .pi-ponteiro { animation: primal-gira 1.2s linear infinite; }
@keyframes primal-gira { to { rotate: 360deg; } }

/* Abelhinha voando pela capa (sempre, bem devagar). */
.primal-abelha-voo {
	position: absolute;
	z-index: 3;
	top: 22%;
	left: 52%;
	color: var(--primal-dark);
	pointer-events: none;
	animation: primal-voo 16s ease-in-out infinite;
}
.primal-abelha-voo .primal-ico { width: 34px; height: 34px; }
.primal-abelha-voo .pi-corpo ellipse { fill: var(--primal-primary); }
.primal-abelha-voo .pi-asa { animation: primal-asa .1s linear infinite alternate; }
@keyframes primal-voo {
	0% { translate: 0 0; }
	20% { translate: 120px -40px; }
	40% { translate: 60px 70px; }
	60% { translate: -120px 30px; }
	80% { translate: -60px -60px; }
	100% { translate: 0 0; }
}
@media (max-width: 900px) { .primal-abelha-voo { top: 6%; left: 70%; } }

/* Movimento reduzido: sem animação nenhuma. */
@media (prefers-reduced-motion: reduce) {
	.primal-hex, .primal-abelha-voo, .primal-cartao-reflexo, .primal-ico *, .primal-btn::after { animation: none !important; }
	.primal-abelha-voo { display: none; }
}

/* =======================================================================
 * PÁGINA PRINCIPAL, PARA EMPRESAS, BUSCA, NOTÍCIA E INTERNA
 * ==================================================================== */

/* ---- Capa com foto e selos flutuando ---- */
.primal-hero-principal .primal-hero-grid { grid-template-columns: 1fr 1fr; }
.primal-hero-texto > .primal-hero-link { margin: 38px 0 0; }
.primal-hero-link a { display: inline-flex; align-items: center; gap: 8px; color: var(--primal-dark); font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--primal-primary); padding-bottom: 2px; }
.primal-hero-link .primal-ico { color: var(--primal-primary-2); }

.primal-hero-foto { position: relative; padding: 30px 30px 60px 0; }
.primal-hero-foto-moldura {
	position: relative;
	border-radius: 40px 160px 40px 40px;
	overflow: hidden;
	aspect-ratio: 4 / 3.2;
	box-shadow: 0 30px 70px rgba(120, 75, 0, .25);
}
.primal-hero-foto-moldura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.primal-gloss .primal-hero-foto-moldura::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(255, 255, 255, .35), transparent 35%);
	pointer-events: none;
}
.primal-cartao-mini {
	position: absolute;
	left: -30px;
	bottom: 0;
	width: 52%;
	aspect-ratio: 1.586;
	transform: rotate(-6deg);
	animation: primal-flutua-y 6s ease-in-out infinite;
	z-index: 3;
}
.primal-cartao-mini img { width: 100%; height: 100%; object-fit: cover; }
.primal-cartao-mini .primal-cartao-marca { font-size: clamp(18px, 2.2vw, 28px); }

/* Selos flutuantes (troque os textos em inc/paginas.php → selos_flutuantes). */
.primal-flutua {
	position: absolute;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 10px 10px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid var(--primal-border);
	box-shadow: 0 16px 36px rgba(120, 75, 0, .18);
	color: var(--primal-dark);
	animation: primal-flutua-y 5s ease-in-out infinite;
	white-space: nowrap;
}
.primal-flutua strong { display: block; font-size: .95rem; line-height: 1.2; }
.primal-flutua small { display: block; font-size: .78rem; color: var(--primal-gray); }
.primal-flutua-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 46px;
	clip-path: var(--primal-hex-forma);
	background: var(--primal-mel-lado);
	color: var(--primal-dark);
}
.primal-flutua-icone .primal-ico { width: 22px; height: 22px; }
.primal-flutua-ok { background: #1a1a1a; color: var(--primal-primary); }
.primal-flutua-1 { top: 4%; left: -24px; animation-delay: -1s; }
.primal-flutua-2 { top: 38%; right: -10px; animation-delay: -2.4s; }
.primal-flutua-3 { bottom: 10%; right: 12%; animation-delay: -3.6s; }
@keyframes primal-flutua-y { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }

@media (max-width: 900px) {
	.primal-hero-principal .primal-hero-grid { grid-template-columns: 1fr; }
	.primal-hero-foto { padding: 20px 0 50px; }
	.primal-flutua-1 { left: 0; }
	.primal-flutua-2 { right: 0; }
	.primal-flutua-3 { display: none; }
	.primal-cartao-mini { left: 0; width: 56%; }
}

/* ---- Logos ---- */
.primal-logos-sec .primal-head { margin-bottom: 28px; }

/* ---- Categorias ---- */
.primal-categoria { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 26px 18px; }
.primal-categorias-fundo {
	background-color: #5a3d23;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
/* A foto fica numa camada 30% mais alta que a seção, e o JS a desloca na rolagem (paralaxe). */
.primal-categorias-fundo .primal-paralaxe {
	position: absolute;
	left: 0;
	right: 0;
	top: -15%;
	height: 130%;
	z-index: -1;
	background-image: linear-gradient(180deg, rgba(29, 22, 15, .18), rgba(29, 22, 15, .1)), url('../img/fundos/categorias-rotina-brasileira.jpg');
	background-position: center;
	background-size: cover;
	transform: translate3d(0, var(--paralaxe, 0px), 0);
	will-change: transform;
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) { .primal-categorias-fundo .primal-paralaxe { transform: none; } }
.primal-colmeia .primal-categorias-fundo::before { opacity: .07; }
body.primal-tema .primal-categorias-fundo .primal-head h2 { color: #fff; text-shadow: 0 2px 18px rgba(0, 0, 0, .3); }
.primal-categorias-fundo .primal-eyebrow { background: rgba(255, 255, 255, .94); }
.primal-categorias-fundo .primal-categoria { background: rgba(255, 255, 255, .97); }
.primal-categoria .primal-card-icone { margin-bottom: 10px; }
.primal-tema .primal-categoria h3 { font-size: 1.05rem; margin: 0; }

/* ---- Passos com foto ---- */
.primal-passos { align-items: stretch; gap: clamp(18px, 2vw, 28px); }
.primal-passo-ilustrado {
	padding: 0;
	overflow: hidden;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(36, 30, 14, .07);
}
.primal-passo-ilustrado .primal-passo-ilustracao { aspect-ratio: 1.55; overflow: hidden; background: #f7edda; }
.primal-passo-ilustrado .primal-passo-ilustracao img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.primal-passo-ilustrado:hover .primal-passo-ilustracao img { transform: scale(1.035); }
.primal-passo-ilustrado .primal-passo-conteudo { padding: 24px 26px 28px; }
.primal-passo-etapa {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--primal-primary-2);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.primal-passo-ilustrado h3 { margin-bottom: 10px; }
.primal-passo-ilustrado p { line-height: 1.55; }
@media (max-width: 760px) {
	.primal-passo-ilustrado .primal-passo-ilustracao { aspect-ratio: 1.8; }
}
.primal-passo-foto { padding: 0 0 24px; overflow: hidden; }
.primal-passo-foto-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.primal-passo-foto-img img { width: 100%; height: 100%; object-fit: cover; transition: scale .6s ease; }
.primal-passo-foto:hover .primal-passo-foto-img img { scale: 1.05; }
.primal-passo-foto .primal-card-icone { margin: -36px 0 12px 22px; position: relative; z-index: 2; box-shadow: 0 0 0 6px #fff; }
.primal-passo-foto h3, .primal-passo-foto p { padding: 0 22px; }
.primal-passo-foto .primal-passo-num { top: 12px; right: 16px; font-size: 38px; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }

/* ---- Split foto + vantagens ---- */
.primal-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.primal-split-foto { position: relative; }
.primal-split-foto img { width: 100%; max-height: 520px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 160px 40px 40px 40px; box-shadow: 0 30px 70px rgba(120, 75, 0, .2); display: block; }
.primal-split-hex { position: absolute; right: -30px; bottom: -30px; }
.primal-vantagens { display: grid; gap: 18px; margin: 10px 0 0; padding: 0; list-style: none; }
.primal-vantagens li { display: flex; gap: 16px; align-items: flex-start; margin: 0; }
.primal-vantagens .primal-card-icone { width: 52px; height: 60px; margin: 0; flex: none; }
.primal-vantagens .primal-card-icone .primal-ico { width: 24px; height: 24px; }
.primal-vantagens strong { display: block; color: var(--primal-dark); font-size: 1.08rem; }
@media (max-width: 900px) { .primal-split { grid-template-columns: 1fr; } }

/* ---- Galeria em colmeia ----
 * 6 fotos em 2 fileiras de 3; a de baixo desloca meio hexágono e sobe 1/4,
 * encaixando como favo. Grade de 7 colunas: cada foto ocupa 2.
 */
.primal-galeria {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	column-gap: 10px;
	max-width: 880px;
	margin: 0 auto;
}
.primal-galeria-item { grid-column: span 2; display: block; aspect-ratio: .866; clip-path: var(--primal-hex-forma); overflow: hidden; background: var(--primal-mel-lado); }
.primal-galeria-item img { width: 100%; height: 100%; object-fit: cover; transition: scale .6s ease; }
.primal-galeria-item:hover img { scale: 1.08; }
.primal-galeria-1 { grid-column: 1 / span 2; }
.primal-galeria-2 { grid-column: 3 / span 2; }
.primal-galeria-3 { grid-column: 5 / span 2; }
.primal-galeria-4 { grid-column: 2 / span 2; }
.primal-galeria-5 { grid-column: 4 / span 2; }
.primal-galeria-6 { grid-column: 6 / span 2; }
.primal-galeria-4, .primal-galeria-5, .primal-galeria-6 { grid-row: 2; margin-top: -8.5%; }

/* ---- CTA escuro ---- */
.primal-cta-escuro { background: var(--primal-dark); color: rgba(255, 255, 255, .78); }
.primal-tema .primal-cta-escuro h2 { color: #fff; }
.primal-cta-escuro p { color: rgba(255, 255, 255, .72); }
.primal-cta-escuro .primal-cta-icone { background: var(--primal-mel-lado); color: var(--primal-dark); }

/* ---- FAQ em duas colunas (título à esquerda, perguntas à direita) ---- */
.primal-faq-grid { display: grid; grid-template-columns: minmax(260px, 1fr) 1.6fr; gap: 64px; align-items: start; }
.primal-faq-lado { position: sticky; top: 120px; }
.primal-faq-lado p { color: var(--primal-gray); margin: 0 0 24px; }
.primal-faq-lista { display: block; border-top: 1px solid var(--primal-border); }
.primal-faq-lista details.primal-faq-item { border: 0; border-bottom: 1px solid var(--primal-border); border-radius: 0; background: none; box-shadow: none; }
.primal-faq-lista details.primal-faq-item[open] { box-shadow: none; }
.primal-faq-lista summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; font-size: 1.15rem; font-weight: 600; }
.primal-faq-lista summary::after { display: none; }
.primal-faq-seta { display: inline-flex; flex: none; color: var(--primal-dark); transition: transform .3s ease, color .3s ease; }
.primal-faq-item[open] .primal-faq-seta { transform: rotate(180deg); color: var(--primal-primary-2); }
.primal-faq-resposta { overflow: hidden; }
.primal-faq-lista .primal-faq-resposta p { padding: 0 48px 22px 0; margin: 0; color: var(--primal-gray); }
@media (max-width: 900px) { .primal-faq-grid { grid-template-columns: 1fr; gap: 28px; } .primal-faq-lado { position: static; } }

/* ---- Trilha (breadcrumb) ---- */
.primal-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; font-size: .88rem; color: var(--primal-gray); }
.primal-trilha a { color: var(--primal-gray); text-decoration: none; }
.primal-trilha a:hover { color: var(--primal-primary-2); }
.primal-trilha > span:last-child { color: var(--primal-dark); font-weight: 600; }

/* ---- Busca ---- */
.primal-busca {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 720px;
	margin-top: 22px;
	padding: 8px;
	border-radius: 999px;
	background: #fff;
	border: 2px solid var(--primal-border);
	box-shadow: 0 14px 34px rgba(120, 75, 0, .12);
}
.primal-busca:focus-within { border-color: var(--primal-primary); }
.primal-busca-icone { display: inline-flex; padding-left: 12px; color: var(--primal-primary-2); }
.primal-busca input[type=search] { flex: 1; min-width: 0; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 1.05rem; padding: 10px 6px !important; outline: none; color: var(--primal-dark); font-family: var(--primal-font); }
.primal-busca .primal-btn { padding: 14px 26px; }
.primal-busca-total { margin: 14px 0 0; color: var(--primal-gray); }
.primal-hero-busca { max-width: 760px; }

/* ---- Cards de notícia / resultado ---- */
.primal-post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.primal-post-thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--primal-bg); }
.primal-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: scale .6s ease; }
.primal-post-card:hover .primal-post-thumb img { scale: 1.05; }
.primal-post-thumb-vazio { display: flex; align-items: center; justify-content: center; height: 100%; position: relative; }
.primal-post-thumb-vazio .primal-hex { position: relative; animation: none; }
.primal-post-corpo { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 24px; flex: 1; }
.primal-post-tipo { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primal-primary-2); }
.primal-tema .primal-post-corpo h3 { font-size: 1.2rem; margin: 0; }
.primal-post-corpo h3 a { color: var(--primal-dark); text-decoration: none; }
.primal-post-corpo p { margin: 0; flex: 1; }
.primal-post-mais { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--primal-dark); text-decoration: none; }
.primal-post-mais .primal-ico { width: 18px; height: 18px; color: var(--primal-primary-2); }

.primal-paginacao { margin-top: 40px; }
.primal-paginacao .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.primal-paginacao .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 52px; clip-path: var(--primal-hex-forma);
	background: var(--primal-bg); color: var(--primal-dark); font-weight: 700; text-decoration: none;
}
.primal-paginacao .page-numbers.current, .primal-paginacao .page-numbers:hover { background: var(--primal-mel-lado); }

.primal-vazio { max-width: 560px; margin: 0 auto; text-align: center; }
.primal-vazio-icone { display: inline-flex; align-items: center; justify-content: center; width: 110px; height: 126px; clip-path: var(--primal-hex-forma); background: var(--primal-mel-lado); margin-bottom: 18px; }
.primal-vazio-icone .primal-ico { width: 54px; height: 54px; }
.primal-vazio .primal-hero-acoes { justify-content: center; margin-top: 24px; }

/* ---- Notícia e página interna ---- */
.primal-hero-noticia h1, .primal-hero-interna h1 { font-size: clamp(2rem, 1.2rem + 2.6vw, 3.4rem); }
.primal-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.primal-tags .primal-eyebrow { margin: 0; text-decoration: none; }
.primal-tags-post a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--primal-bg); border: 1px solid var(--primal-border); color: var(--primal-dark); font-size: .85rem; text-decoration: none; }
.primal-linha-fina { font-size: 1.2rem; }
.primal-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 18px; color: var(--primal-gray); font-size: .92rem; }
.primal-meta span { display: inline-flex; align-items: center; gap: 6px; }
.primal-meta .primal-ico { width: 18px; height: 18px; color: var(--primal-primary-2); }

.primal-section-artigo { padding-top: calc(var(--primal-section) * .6); }
.primal-destaque { position: relative; margin: 0 0 40px; border-radius: 28px; overflow: hidden; box-shadow: 0 24px 60px rgba(120, 75, 0, .18); }
.primal-destaque img { width: 100%; height: auto; display: block; }
.primal-destaque-reflexo { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255, 255, 255, .3), transparent 35%); pointer-events: none; }

/* Tipografia do texto (vale para editor clássico, Gutenberg e WPBakery). */
.primal-artigo { font-size: 1.1rem; line-height: 1.8; color: #2b2b2b; }
.primal-artigo-interna { max-width: 860px; margin: 0 auto; }
.primal-artigo > * + * { margin-top: 1.2em; }
.primal-tema .primal-artigo h2 { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); margin-top: 1.8em; }
.primal-tema .primal-artigo h3 { font-size: 1.35rem; margin-top: 1.6em; }
.primal-artigo a { color: var(--primal-dark); text-decoration: underline; text-decoration-color: var(--primal-primary); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.primal-artigo img { max-width: 100%; height: auto; border-radius: 18px; }
.primal-artigo blockquote { margin: 1.6em 0; padding: 20px 26px; border-left: 5px solid var(--primal-primary); background: var(--primal-bg); border-radius: 0 18px 18px 0; font-size: 1.2rem; }
.primal-artigo ul li::marker { color: var(--primal-primary-2); }
.primal-artigo .vc_row { margin-left: 0; margin-right: 0; }

.primal-artigo-rodape { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--primal-border); }
.primal-compartilhar { display: flex; align-items: center; gap: 10px; }
.primal-compartilhar > span { font-weight: 700; margin-right: 6px; }
.primal-social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 50px; border: 0; padding: 0; cursor: pointer;
	clip-path: var(--primal-hex-forma); background: var(--primal-dark); color: var(--primal-primary);
	transition: background .2s ease, color .2s ease;
}
.primal-social:hover { background: var(--primal-mel-lado); color: var(--primal-dark); }
.primal-social.is-copiado { background: var(--primal-mel-lado); color: var(--primal-dark); }

.primal-navegacao { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 36px; }
.primal-navegacao a { display: block; padding: 18px 22px; text-decoration: none; }
.primal-navegacao small { display: block; color: var(--primal-gray); }
.primal-navegacao strong { color: var(--primal-dark); }
.primal-nav-prx { text-align: right; grid-column: 2; }
@media (max-width: 640px) { .primal-navegacao { grid-template-columns: 1fr; } .primal-nav-prx { grid-column: auto; } }

/* ---- Ícones novos: animações no hover ---- */
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover, .primal-busca):hover .primal-ico-lupa .pi-lente { animation: primal-procura 1.2s ease-in-out infinite; }
@keyframes primal-procura { 0%, 100% { translate: 0 0; } 25% { translate: -1.5px -1px; } 50% { translate: 1px -2px; } 75% { translate: 1.5px .5px; } }
:is(.primal-card, .primal-hover):hover .primal-ico-calendario .pi-dia { animation: primal-dia 1s steps(3) infinite; }
@keyframes primal-dia { 33% { translate: 4px 0; } 66% { translate: 8px 0; } }
:is(.primal-social, .primal-hover):hover .primal-ico-link .pi-elo-a { animation: primal-elo-a .8s ease-in-out infinite alternate; }
:is(.primal-social, .primal-hover):hover .primal-ico-link .pi-elo-b { animation: primal-elo-b .8s ease-in-out infinite alternate; }
@keyframes primal-elo-a { to { translate: 1px -1px; } }
@keyframes primal-elo-b { to { translate: -1px 1px; } }
:is(.primal-social, .primal-hover):hover .pi-social { animation: primal-vibra .5s linear infinite; }

:is(.primal-card, .primal-hover):hover .primal-ico-haltere .pi-sobe { animation: primal-levanta .8s ease-in-out infinite; }
@keyframes primal-levanta { 0%, 100% { translate: 0 2px; } 50% { translate: 0 -3px; } }
.primal-ico-cafe .pi-vapor { opacity: 0; }
:is(.primal-card, .primal-hover):hover .primal-ico-cafe .pi-vapor { animation: primal-fumaca 1.4s ease-out infinite; }
:is(.primal-card, .primal-hover):hover .primal-ico-cafe .pi-v2 { animation-delay: .6s; }
:is(.primal-card, .primal-hover):hover .primal-ico-garfo .pi-talher-a { animation: primal-talher .6s ease-in-out infinite alternate; }
:is(.primal-card, .primal-hover):hover .primal-ico-garfo .pi-talher-b { animation: primal-talher .6s ease-in-out infinite alternate-reverse; }
@keyframes primal-talher { from { translate: 0 0; } to { translate: 0 -2px; } }
.primal-ico-pata .pi-patinha { fill: currentColor; stroke: none; }
:is(.primal-card, .primal-hover):hover .primal-ico-pata .pi-patinha { animation: primal-passinho .9s ease-in-out infinite; }
@keyframes primal-passinho { 0%, 100% { translate: 0 0; } 25% { translate: -2px -2px; } 50% { translate: 0 0; } 75% { translate: 2px -2px; } }
.primal-ico-tesoura .pi-lamina-a, .primal-ico-tesoura .pi-lamina-b { transform-origin: 50% 100%; }
:is(.primal-card, .primal-hover):hover .primal-ico-tesoura .pi-lamina-a { animation: primal-corta-a .5s ease-in-out infinite alternate; }
:is(.primal-card, .primal-hover):hover .primal-ico-tesoura .pi-lamina-b { animation: primal-corta-b .5s ease-in-out infinite alternate; }
@keyframes primal-corta-a { to { rotate: -10deg; } }
@keyframes primal-corta-b { to { rotate: 10deg; } }
.primal-ico-saude .pi-batida { transform-origin: 50% 50%; }
:is(.primal-card, .primal-hover):hover .primal-ico-saude .pi-batida { animation: primal-coracao .8s ease-in-out infinite; }
@keyframes primal-coracao { 0%, 100% { scale: 1; } 20% { scale: 1.12; } 40% { scale: .96; } }
.primal-ico-saude .pi-pulso { stroke-dasharray: 30; }
:is(.primal-card, .primal-hover):hover .primal-ico-saude .pi-pulso { animation: primal-ecg 1s linear infinite; }
@keyframes primal-ecg { from { stroke-dashoffset: 60; } to { stroke-dashoffset: 0; } }
:is(.primal-card, .primal-hover):hover .primal-ico-carro .pi-carroceria { animation: primal-trepida .25s linear infinite; }
@keyframes primal-trepida { 50% { translate: 0 -.8px; } }
.primal-ico-carro .pi-roda { stroke-dasharray: 2 1.5; transform-origin: 50% 50%; }
:is(.primal-card, .primal-hover):hover .primal-ico-carro .pi-roda { animation: primal-gira .6s linear infinite; }
.primal-ico-livro .pi-pagina { transform-origin: 50% 50%; }
:is(.primal-card, .primal-hover):hover .primal-ico-livro .pi-pagina { animation: primal-folha 1s ease-in-out infinite; }
@keyframes primal-folha { 0%, 100% { scale: 1 1; } 50% { scale: -1 1; } }
.primal-ico-megafone .pi-onda { opacity: 0; }
:is(.primal-card, .primal-cta, .primal-hover):hover .primal-ico-megafone .pi-onda { animation: primal-onda 1s ease-out infinite; }
:is(.primal-card, .primal-cta, .primal-hover):hover .primal-ico-megafone .pi-o2 { animation-delay: .3s; }
@keyframes primal-onda { 0% { opacity: 0; translate: -2px 0; } 40% { opacity: 1; } 100% { opacity: 0; translate: 2px 0; } }
.primal-ico-grafico .pi-barra { transform-origin: 50% 100%; }
:is(.primal-card, .primal-hover):hover .primal-ico-grafico .pi-barra { animation: primal-cresce .9s ease-out infinite alternate; }
:is(.primal-card, .primal-hover):hover .primal-ico-grafico .pi-b2 { animation-delay: .15s; }
:is(.primal-card, .primal-hover):hover .primal-ico-grafico .pi-b3 { animation-delay: .3s; }
:is(.primal-card, .primal-hover):hover .primal-ico-grafico .pi-b4 { animation-delay: .45s; }
@keyframes primal-cresce { from { scale: 1 .4; } to { scale: 1 1; } }
.primal-ico-estrela .pi-brilha { transform-origin: 50% 50%; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-estrela .pi-brilha { animation: primal-cintila 1.2s ease-in-out infinite; }
@keyframes primal-cintila { 0%, 100% { fill: transparent; } 50% { fill: currentColor; } }
.primal-ico-loja .pi-toldo { transform-origin: 50% 0; }
:is(.primal-btn, .primal-card, .primal-eyebrow, .primal-hover):hover .primal-ico-loja .pi-toldo { animation: primal-toldo .8s ease-in-out infinite alternate; }
@keyframes primal-toldo { to { scale: 1 .8; } }

@media (prefers-reduced-motion: reduce) {
	.primal-flutua, .primal-cartao-mini { animation: none !important; }
}

/* ---- Ícones de contato ---- */
:is(.primal-hover, a):hover .primal-ico-pino .pi-pino { animation: primal-pula .7s ease-in-out infinite; }
@keyframes primal-pula { 0%, 100% { translate: 0 0; } 40% { translate: 0 -3px; } 60% { translate: 0 -1px; } }
:is(.primal-hover, a):hover .primal-ico-telefone .pi-fone { animation: primal-vibra .45s linear infinite; }
.primal-ico-email .pi-aba { transform-origin: 50% 0; }
:is(.primal-hover, a):hover .primal-ico-email .pi-aba { animation: primal-envelope .8s ease-in-out infinite alternate; }
@keyframes primal-envelope { to { scale: 1 -.6; } }

/* =======================================================================
 * RODAPÉ — complementos do bloco portado em cabecalho-rodape.css
 * ==================================================================== */
/* O rodapé do Orpit usa ícones cheios; os do Primal são de traço. */
.primal-rodape-contato svg.primal-ico[fill="none"],
.primal-rodape-mapa-texto svg.primal-ico[fill="none"] { fill: none; stroke: var(--primal-primary); width: 18px; height: 18px; }
.primal-rodape .primal-btn svg.primal-ico[fill="none"] { fill: none; stroke: currentColor; }
.primal-rodape-whatsapp-cta svg { fill: currentColor; }
.primal-rodape-ver-mapa { margin-left: 6px; font-size: 12.5px; font-weight: 700; color: var(--primal-primary) !important; }
.primal-rodape-logo { background: #fff; border-radius: 14px; padding: 8px 12px; }
/* Faixa colmeia discreta no fundo do rodapé. */
.primal-colmeia .primal-rodape { position: relative; }
.primal-colmeia .primal-rodape::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: var(--primal-primary);
	-webkit-mask: var(--primal-favo) 0 0 / 56px 97px repeat; mask: var(--primal-favo) 0 0 / 56px 97px repeat;
	opacity: .06;
}
.primal-rodape > .primal-container { position: relative; z-index: 1; }
/* Mapa só ao clicar (LGPD). */
.primal-mapa-capa {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
	width: 100%; height: 100%; min-height: 240px; border: 0; cursor: pointer;
	background: radial-gradient(circle at 50% 40%, rgba(255, 196, 0, .18), transparent 60%), rgba(255, 255, 255, .04);
	color: #fff; font: inherit;
}
.primal-mapa-capa .primal-ico { width: 40px; height: 40px; color: var(--primal-primary); }
.primal-mapa-capa span { font-weight: 700; }
.primal-mapa-capa small { color: rgba(255, 255, 255, .55); }

/* =======================================================================
 * BARRA DE ROLAGEM E SELEÇÃO NA COR PRINCIPAL (Extras → liga/desliga)
 * ==================================================================== */
html:has(body.primal-rolagem) { scrollbar-color: var(--primal-primary) color-mix(in srgb, var(--primal-primary) 10%, #fff); }
body.primal-rolagem::-webkit-scrollbar { width: 12px; }
body.primal-rolagem::-webkit-scrollbar-track { background: color-mix(in srgb, var(--primal-primary) 10%, #fff); }
body.primal-rolagem::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--primal-primary), var(--primal-primary-2)); border-radius: 999px; border: 3px solid color-mix(in srgb, var(--primal-primary) 10%, #fff); }
html:has(body.primal-rolagem)::-webkit-scrollbar { width: 12px; }
html:has(body.primal-rolagem)::-webkit-scrollbar-track { background: color-mix(in srgb, var(--primal-primary) 10%, #fff); }
html:has(body.primal-rolagem)::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--primal-primary), var(--primal-primary-2)); border-radius: 999px; border: 3px solid color-mix(in srgb, var(--primal-primary) 10%, #fff); }
.primal-rolagem ::selection { background: var(--primal-primary); color: var(--primal-on-primary); }
.primal-legal-data { color: var(--primal-gray); font-size: .9rem; }

/* Rodapé do The7 (widgets + barra inferior) escondido quando o do clube está ativo.
 * Desligue em Personalizar → Identidade Primal+ → Extras. */
body.primal-sem-rodape-the7 #footer,
body.primal-sem-rodape-the7 .footer.solid-bg,
body.primal-sem-rodape-the7 #bottom-bar { display: none !important; }

/* =======================================================================
 * Ícones das categorias no estilo "app do iPhone": quadrado bem arredondado
 * (squircle), maior, com brilho de mel. No hover o ícone não inclina nem
 * gira: só as partes do desenho se mexem, em linha reta.
 * ==================================================================== */
.primal-categoria .primal-card-icone {
	width: 96px;
	height: 96px;
	margin-bottom: 16px;
	clip-path: none;
	border-radius: 26px; /* ~27% do lado: a curva dos ícones do iOS */
	background: var(--primal-mel);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .85),
		inset 0 -4px 10px rgba(160, 90, 0, .22),
		0 12px 26px rgba(180, 110, 0, .28);
	transform: none !important;
	transition: box-shadow .3s ease;
}
.primal-categoria .primal-card-icone .primal-ico { width: 44px; height: 44px; stroke-width: 1.7; }
.primal-gloss .primal-categoria .primal-card-icone::after {
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .12) 46%, transparent 48%);
}
.primal-categoria:hover .primal-card-icone { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -4px 10px rgba(160, 90, 0, .22), 0 18px 34px rgba(180, 110, 0, .36); }
.primal-tema .primal-categoria h3 { font-size: 1.1rem; }
.primal-categoria { padding: 30px 18px 26px; }

/* Nada de girar/inclinar nas categorias: tesoura e livro se mexem em linha reta. */
.primal-categoria:hover .primal-ico-tesoura .pi-lamina-a,
.primal-categoria:hover .primal-ico-tesoura .pi-lamina-b { animation: primal-corte-reto .45s ease-in-out infinite alternate; rotate: none; }
.primal-categoria:hover .primal-ico-tesoura .pi-lamina-b { animation-direction: alternate-reverse; }
@keyframes primal-corte-reto { from { translate: 0 0; } to { translate: 0 -2px; } }
.primal-categoria:hover .primal-ico-livro .pi-pagina { animation: primal-seta .8s ease-in-out infinite; scale: none; }

/* =======================================================================
 * Mel que escorre com a rolagem.
 * --mel-escorre vai de 0 (topo da página) a 1 (depois de rolar ~500px) e
 * volta a 0 ao subir. O mel se alonga para baixo e as gotas descem das pontas.
 * ==================================================================== */
.primal-mel { --mel-escorre: 0; }
.primal-mel svg.primal-mel-faixa { height: 20px; transform: none; }
.primal-mel-escorre {
	position: absolute;
	top: 19px;
	width: var(--larg);
	height: var(--alt);
	margin-left: calc(var(--larg) / -2);
	transform-origin: 50% 0;
	/* Cada um estica num ritmo: o grande desce mais. */
	transform: scaleY(calc(1 + var(--mel-escorre) * var(--estica)));
	will-change: transform;
}
.primal-mel-escorre svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 6px 8px rgba(180, 110, 0, .25)); }
.primal-mel-grande { left: 14%; --larg: 150px; --alt: 70px; --estica: 1.1; }
.primal-mel-pequeno { left: 83%; --larg: 80px; --alt: 38px; --estica: .7; }
/* Gota que se solta da ponta de cada escorrido quando o mel desce. */
.primal-mel-gota {
	position: absolute;
	left: 50%;
	top: 100%;
	width: 12px;
	height: 16px;
	margin-left: -6px;
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	background: radial-gradient(circle at 35% 30%, #FFE9A0 0 18%, var(--primal-primary) 45%, var(--primal-primary-2) 100%);
	box-shadow: 0 3px 6px rgba(160, 90, 0, .25);
	--queda: clamp(0, calc((var(--mel-escorre) - .35) / .65), 1);
	opacity: calc(var(--queda) * 1.4);
	/* Desfaz o esticão do pai para a gota não virar um risco. */
	transform: translateY(calc(-14px + var(--queda) * 40px)) scaleY(calc(1 / (1 + var(--mel-escorre) * var(--estica))));
	pointer-events: none;
}
.primal-mel-pequeno .primal-mel-gota { width: 9px; height: 12px; margin-left: -4.5px; }
@media (max-width: 768px) {
	.primal-mel-grande { --larg: 90px; --alt: 44px; }
	.primal-mel-pequeno { --larg: 50px; --alt: 26px; }
}
@media (prefers-reduced-motion: reduce) {
	.primal-mel-escorre { transform: none; }
	.primal-mel-gota { display: none; }
}

/* =======================================================================
 * Hover: o The7 pinta links de azul com peso alto. Nos nossos componentes
 * a cor é sempre a da marca (!important de propósito — ver CLAUDE.md da Sisu).
 * ==================================================================== */
body.primal-tema a.primal-btn,
body.primal-tema a.primal-btn:hover,
body.primal-tema a.primal-btn:focus { color: var(--primal-on-primary) !important; text-decoration: none !important; }
body.primal-tema a.primal-btn-escuro,
body.primal-tema a.primal-btn-escuro:hover { color: #fff !important; }
body.primal-tema a.primal-btn-escuro:hover { color: var(--primal-primary) !important; }
body.primal-tema .primal-hero a.primal-btn-contorno,
body.primal-tema .primal-hero a.primal-btn-contorno:hover { color: var(--primal-dark) !important; }
body.primal-tema a.primal-btn-contorno-escuro { color: var(--primal-dark) !important; }
body.primal-tema a.primal-btn-contorno-escuro:hover { color: #fff !important; }
body.primal-tema .primal-hero-link a,
body.primal-tema .primal-hero-link a:hover,
body.primal-tema a.primal-post-mais,
body.primal-tema a.primal-post-mais:hover,
body.primal-tema .primal-post-corpo h3 a,
body.primal-tema .primal-post-corpo h3 a:hover,
body.primal-tema .primal-navegacao a,
body.primal-tema .primal-navegacao a:hover { color: var(--primal-dark) !important; text-decoration: none !important; }
body.primal-tema .primal-trilha a:hover { color: var(--primal-primary-2) !important; }
body.primal-tema .primal-rodape a { text-decoration: none !important; }
body.primal-tema .primal-rodape a:not(.primal-btn):hover { color: var(--primal-primary) !important; }
body.primal-tema a.primal-social,
body.primal-tema .primal-rodape-redes a { color: var(--primal-primary) !important; }
body.primal-tema a.primal-social:hover,
body.primal-tema .primal-rodape-redes a:hover { color: var(--primal-dark) !important; }
body.primal-tema .primal-menu-redes a.primal-menu-rede:hover { color: var(--primal-on-primary) !important; }
body.primal-tema .primal-whats-btn,
body.primal-tema .primal-whats-btn:hover { color: #fff !important; }
body.primal-tema .primal-tags a:hover { color: var(--primal-dark) !important; }

/* ============================================================
 * BOTÕES NO ESTILO MEL (pílula dourada com brilho), no site todo:
 * botões do tema (todas as variações), do plugin Primal+ e os do
 * The7 / WPBakery / formulários, para nada sair no azul padrão.
 * ============================================================ */
body.primal-tema :is(
	.primal-btn,
	.pm-plano-botao,
	.pm-banner-botao,
	a.dt-btn, button.dt-btn,
	.vc_btn3.vc_btn3-style-modern, .vc_btn3.vc_btn3-style-flat, .vc_btn3.vc_btn3-style-classic,
	.wpcf7-submit,
	.comment-form input[type="submit"],
	.post-password-form input[type="submit"],
	.search-form button[type="submit"]
) {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 1px solid color-mix(in srgb, var(--primal-primary-2) 70%, #7a4a00) !important;
	border-radius: 999px !important;
	background: linear-gradient(180deg, #ffe07a 0%, var(--primal-primary) 45%, var(--primal-primary-2) 100%) !important;
	color: #1a1204 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .45);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .9),
		inset 0 -3px 6px rgba(160, 90, 0, .28),
		0 8px 22px color-mix(in srgb, var(--primal-primary-2) 35%, transparent) !important;
	transition: box-shadow .2s ease, filter .2s ease !important;
}
/* Reflexo de vidro na metade de cima. */
body.primal-tema :is(.primal-btn, .pm-plano-botao, .pm-banner-botao, a.dt-btn, button.dt-btn, .vc_btn3)::before {
	content: "" !important;
	position: absolute !important;
	left: 6%;
	right: 6%;
	top: 2px;
	height: 48%;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .75), rgba(255, 255, 255, 0)) !important;
	opacity: 1 !important;
	z-index: -1;
	pointer-events: none;
}
body.primal-tema :is(
	.primal-btn, .pm-plano-botao, .pm-banner-botao, a.dt-btn, button.dt-btn, .vc_btn3,
	.wpcf7-submit, .comment-form input[type="submit"], .post-password-form input[type="submit"], .search-form button[type="submit"]
):hover,
body.primal-tema a.pm-banner-slide:hover .pm-banner-botao {
	background: linear-gradient(180deg, #ffe58c 0%, var(--primal-primary) 40%, var(--primal-primary-2) 100%) !important;
	color: #1a1204 !important;
	border-color: color-mix(in srgb, var(--primal-primary-2) 70%, #7a4a00) !important;
	filter: saturate(1.08);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .95),
		inset 0 -3px 6px rgba(160, 90, 0, .3),
		0 12px 28px color-mix(in srgb, var(--primal-primary-2) 45%, transparent) !important;
}
body.primal-tema :is(.primal-btn, .pm-plano-botao, .pm-banner-botao, a.dt-btn, .vc_btn3) svg { color: currentColor !important; }
body.primal-tema a.pm-banner-slide .pm-banner-botao { background: linear-gradient(180deg, #ffe07a 0%, var(--primal-primary) 45%, var(--primal-primary-2) 100%) !important; color: #1a1204 !important; }

/* ============================================================
 * CARTEIRINHA DA CAPA: cada peça surge uma de cada vez quando o
 * cartão entra na tela (.is-visivel vem do revelar() do theme.js).
 * Ordem: cartão → faixa dourada → PRIMAL+ → "Clube de benefícios"
 * → código P0001 → selo do QR Code.
 * ============================================================ */
@keyframes primal-cartao-entra { from { opacity: 0; transform: rotateY(-35deg) rotateX(14deg) translateY(30px) scale(.9); } }
@keyframes primal-surge { from { opacity: 0; transform: translateY(14px); filter: blur(4px); } }
@keyframes primal-surge-marca { from { opacity: 0; letter-spacing: .5em; filter: blur(6px); } }
@keyframes primal-faixa-corre { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes primal-mais-pulo { 0% { opacity: 0; transform: scale(0) rotate(-90deg); } 70% { transform: scale(1.3) rotate(10deg); } }

body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao { animation: primal-cartao-entra 1s cubic-bezier(.16, 1, .3, 1) backwards; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-faixa { animation: primal-faixa-corre .8s cubic-bezier(.65, 0, .35, 1) .55s both; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-marca { animation: primal-surge-marca .9s cubic-bezier(.16, 1, .3, 1) 1s both; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-marca b { display: inline-block; animation: primal-mais-pulo .6s ease-out 1.6s backwards; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-sub { animation: primal-surge .6s ease-out 1.8s both; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-id { animation: primal-surge .6s ease-out 2.1s both; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-reflexo { animation-delay: 2.4s; }
body.primal-anima .primal-hero-cartao.is-visivel .primal-cartao-qr { animation: primal-surge .7s cubic-bezier(.16, 1, .3, 1) 2.4s both; }
/* Mesma sequência para os textos da capa, antes do cartão. */
body.primal-anima .primal-hero .primal-hero-texto.is-visivel > * { animation: primal-surge .7s cubic-bezier(.16, 1, .3, 1) both; }
body.primal-anima .primal-hero .primal-hero-texto.is-visivel > :nth-child(2) { animation-delay: .12s; }
body.primal-anima .primal-hero .primal-hero-texto.is-visivel > :nth-child(3) { animation-delay: .24s; }
body.primal-anima .primal-hero .primal-hero-texto.is-visivel > :nth-child(4) { animation-delay: .36s; }
body.primal-anima .primal-hero .primal-hero-texto.is-visivel > :nth-child(5) { animation-delay: .48s; }
@media (prefers-reduced-motion: reduce) {
	.primal-hero-cartao *, .primal-hero-texto > * { animation: none !important; }
}

/* Seção "Carteirinha digital" (página principal): texto à esquerda, cartão flutuante à direita. */
.primal-carteirinha-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; align-items: center; position: relative; z-index: 1; }
.primal-carteirinha-texto p { font-size: 1.1rem; line-height: 1.65; margin: 0 0 28px; }
.primal-carteirinha-sec .primal-hero-cartao { max-width: 560px; justify-self: center; width: 100%; }
@media (max-width: 900px) {
	.primal-carteirinha-grid { grid-template-columns: 1fr; gap: 40px; }
	.primal-carteirinha-sec .primal-hero-cartao { max-width: 420px; }
}

/*
 * Empresas participantes em CAIXA que sobe e invade a capa: fica por cima
 * da faixa de mel, deixando os dois escorridos aparecendo nas laterais.
 */
/* Seção sem z-index (fundo fica abaixo do mel); só a caixa passa por cima dele. */
.primal-mel + .primal-logos-sobe,
.primal-mel + .primal-section-numeros + .primal-logos-sobe,
.primal-logos-sobe { position: relative; margin-top: -144px; /* colapsa com o -64px do mel: sobe 80px na capa */ padding-top: 0 !important; background: linear-gradient(transparent 0 80px, var(--primal-white) 80px); }
.primal-logos-sobe .primal-logos-caixa { position: relative; z-index: 2; }
.primal-logos-caixa {
	max-width: min(1160px, 84vw);
	padding: 44px 44px 40px;
	border-radius: 32px;
	background: #fff;
	border: 1px solid var(--primal-border);
	box-shadow: 0 30px 80px rgba(120, 75, 0, .16), 0 2px 0 rgba(255, 255, 255, .9) inset;
}
.primal-logos-caixa .primal-head { margin-bottom: 26px; }
/* Vitrine de parceiros: cartões claros, logos maiores e navegação discreta. */
.primal-logos-caixa {
	padding: clamp(34px, 4vw, 56px);
	border-color: rgba(231, 178, 54, .22);
	background: radial-gradient(circle at 100% 0, rgba(255, 205, 69, .12), transparent 36%), #fff;
	box-shadow: 0 22px 65px rgba(63, 47, 15, .09);
}
.primal-logos-caixa .primal-head {
	max-width: 720px;
	margin: 0 auto 34px;
}
.primal-logos-caixa .primal-head h2 { margin-bottom: 12px; }
.primal-logos-caixa .primal-head p {
	max-width: 600px;
	margin: 0 auto;
	color: var(--primal-gray);
	font-size: 1.05rem;
}
.primal-logos-caixa .pm-logos.pm-logos-paginas { --pm-logos-por: 4; --pm-logos-gap: 16px; padding: 0 28px; }
.primal-logos-caixa .pm-logos-paginas .pm-logos-faixa { padding: 8px 2px 18px; }
.primal-logos-caixa .pm-logo-hex {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 148px;
	aspect-ratio: 1.35;
	clip-path: none;
	border: 1px solid rgba(228, 188, 99, .33);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(34, 27, 11, .06);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.primal-logos-caixa .pm-logo-hex::before { display: none; }
.primal-logos-caixa .pm-logo-hex img { width: 76%; height: 70%; max-height: 100px; object-fit: contain; }
.primal-logos-caixa .pm-logo:hover .pm-logo-hex,
.primal-logos-caixa .pm-logo:focus-visible .pm-logo-hex {
	transform: translateY(-5px);
	border-color: var(--primal-primary);
	box-shadow: 0 16px 32px rgba(93, 65, 8, .13);
	filter: none;
}
.primal-logos-caixa .pm-trilho-seta {
	width: 38px;
	height: 38px;
	clip-path: none;
	border: 1px solid var(--primal-border);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 4px 12px rgba(25, 20, 8, .08);
}
.primal-logos-caixa .pm-trilho-seta:hover { background: var(--primal-primary); }
.primal-logos-caixa .pm-ant { left: -13px; }
.primal-logos-caixa .pm-prx { right: -13px; }
.primal-logos-caixa .primal-ver-todos { margin: 24px 0 0; }
.primal-logos-caixa .primal-ver-todos .primal-btn { min-width: 220px; }
@media (max-width: 960px) {
	.primal-logos-caixa .pm-logos.pm-logos-paginas { --pm-logos-por: 3; }
}
@media (max-width: 600px) {
	.primal-logos-caixa { padding: 32px 18px; }
	.primal-logos-caixa .primal-head { margin-bottom: 22px; }
	.primal-logos-caixa .primal-head p { font-size: .96rem; }
	.primal-logos-caixa .pm-logos.pm-logos-paginas { --pm-logos-por: 2; --pm-logos-gap: 10px; padding: 0 16px; }
	.primal-logos-caixa .pm-logo-hex { min-height: 118px; border-radius: 16px; }
	.primal-logos-caixa .pm-ant { left: -15px; }
	.primal-logos-caixa .pm-prx { right: -15px; }
}
/* Escorridos nas laterais, fora da caixa. */
.primal-mel-grande { left: 5%; --larg: 190px; --alt: 130px; --estica: 1.1; }
.primal-mel-pequeno { left: 95%; --larg: 130px; --alt: 88px; --estica: .9; }
/* Gotas maiores, proporcionais aos escorridos. */
.primal-mel-grande .primal-mel-gota { width: 20px; height: 26px; margin-left: -10px; }
.primal-mel-pequeno .primal-mel-gota { width: 15px; height: 20px; margin-left: -7.5px; }
@media (max-width: 900px) {
	.primal-logos-sobe { margin-top: -124px; background: linear-gradient(transparent 0 60px, var(--primal-white) 60px); }
	.primal-logos-caixa { max-width: none; padding: 30px 18px; border-radius: 24px; }
	.primal-mel-grande { left: 8%; --larg: 110px; --alt: 70px; }
	.primal-mel-pequeno { left: 92%; --larg: 74px; --alt: 50px; }
}

/* =======================================================================
 * Seção "Carteirinha digital": fundo amarelo-ovo e cartão que vira.
 * A frente é a carteirinha de sempre; no hover (ou toque) ela gira e mostra
 * o verso com o QR Code.
 * ==================================================================== */
.primal-carteirinha-sec {
	background: radial-gradient(90% 120% at 80% 30%, #FFD54A 0%, #F9C21A 45%, #F2B705 100%);
	color: #2a1d00;
}
.primal-colmeia .primal-carteirinha-sec.primal-fundo-colmeia::before { opacity: .35; filter: brightness(.85); }
.primal-carteirinha-sec h2 { color: #111; }
.primal-carteirinha-sec .primal-carteirinha-texto p { color: #3b2a00; }
.primal-carteirinha-sec .primal-titulo-risco::after { background: #111; }
.primal-carteirinha-sec .primal-eyebrow { background: #111; color: var(--primal-primary); border-color: #111; }
.primal-carteirinha-sec .primal-eyebrow .primal-ico { color: var(--primal-primary); }
/* Botão escuro para contrastar com o amarelo. */
body.primal-tema #carteirinha.primal-carteirinha-sec .primal-btn {
	background: linear-gradient(180deg, #3a3a3a 0%, #151515 55%, #000 100%) !important;
	color: var(--primal-primary) !important;
	border-color: #000 !important;
	text-shadow: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 10px 26px rgba(80, 50, 0, .35) !important;
}
body.primal-tema #carteirinha.primal-carteirinha-sec .primal-btn:hover { color: #fff !important; background: linear-gradient(180deg, #444 0%, #1b1b1b 55%, #000 100%) !important; }
body.primal-tema #carteirinha.primal-carteirinha-sec .primal-btn::before { opacity: .25 !important; }
.primal-carteirinha-sec .primal-cartao-qr { background: #111 !important; color: #fff !important; border-color: #111 !important; box-shadow: 0 10px 26px rgba(80, 50, 0, .3) !important; }
.primal-carteirinha-sec .primal-cartao-qr .primal-ico { color: var(--primal-primary) !important; }
.primal-carteirinha-sec .primal-deco-hex, .primal-carteirinha-sec .primal-hex { filter: brightness(1.12) saturate(.8); }

/* Giro da carteirinha. */
.primal-cartao-vira { perspective: 1400px; }
.primal-vira { position: relative; display: grid; transform-style: preserve-3d; transition: transform .9s cubic-bezier(.2, .8, .2, 1); cursor: pointer; }
.primal-vira > .primal-cartao { grid-area: 1 / 1; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.primal-vira-verso { transform: rotateY(180deg) !important; animation: none !important; }
.primal-cartao-vira:hover .primal-vira,
.primal-cartao-vira:focus-within .primal-vira,
.primal-cartao-vira.is-virado .primal-vira { transform: rotateY(180deg); }
.primal-cartao-vira:hover .primal-vira-frente { transform: none; }

.primal-vira-verso {
	display: flex;
	align-items: center;
	gap: 7%;
	padding: 7%;
	background: radial-gradient(circle at 20% 15%, #2b2b2b, #080808 70%);
	color: #fff;
}
.primal-verso-qr { flex: 0 0 38%; aspect-ratio: 1; padding: 4%; border-radius: 14px; background: #fff; box-shadow: 0 0 0 3px var(--primal-primary), 0 12px 30px rgba(0, 0, 0, .4); }
.primal-verso-qr svg { display: block; width: 100%; height: 100%; }
.primal-verso-texto { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.primal-verso-texto .primal-cartao-marca { font-size: clamp(20px, 2.4vw, 30px); }
.primal-verso-texto strong { font-size: clamp(14px, 1.4vw, 18px); line-height: 1.25; color: #fff; }
.primal-verso-texto small { font-size: 12px; line-height: 1.45; color: rgba(255, 255, 255, .65); }
.primal-verso-ativo { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--primal-primary); }
.primal-verso-ativo .primal-ico { width: 14px; height: 14px; }
@media (prefers-reduced-motion: reduce) { .primal-vira { transition: none; } }

/* =======================================================================
 * "Quem participa" em roda vertical 3D: um grande no meio, o de cima e o de
 * baixo menores e mais para trás; os outros esperam escondidos.
 * Sem JS (ou sem .is-rodando) continua a lista de chips normal.
 * ==================================================================== */
.primal-chips-roda.is-rodando {
	position: relative;
	display: block;
	height: 340px;
	perspective: 900px;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.primal-chips-roda.is-rodando li {
	padding: 18px 28px;
	font-size: 18px;
	gap: 12px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin: 0;
	white-space: nowrap;
	transform: translate(-50%, -50%) translateZ(-260px) scale(.5);
	opacity: 0;
	transition: transform .8s cubic-bezier(.2, .8, .2, 1), opacity .8s ease, filter .8s ease, background .4s ease, border-color .4s ease;
	pointer-events: none;
}
.primal-chips-roda.is-rodando li.is-atual {
	transform: translate(-50%, -50%) translateZ(0) scale(1.45);
	opacity: 1;
	z-index: 3;
	border-color: var(--primal-primary);
	background: color-mix(in srgb, var(--primal-primary) 16%, #151515);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .45), 0 0 0 1px color-mix(in srgb, var(--primal-primary) 40%, transparent);
	pointer-events: auto;
}
.primal-chips-roda.is-rodando li.is-ant {
	transform: translate(-50%, -50%) translateY(-104px) translateZ(-70px) rotateX(22deg) scale(.95);
	opacity: .72;
	filter: none;
	z-index: 2;
}
.primal-chips-roda.is-rodando li.is-prox {
	transform: translate(-50%, -50%) translateY(104px) translateZ(-70px) rotateX(-22deg) scale(.95);
	opacity: .72;
	filter: none;
	z-index: 2;
}
.primal-chips-roda.is-rodando li.is-longe { transform: translate(-50%, -50%) translateY(150px) translateZ(-260px) scale(.5); }
@media (max-width: 900px) { .primal-chips-roda.is-rodando { height: 280px; } .primal-chips-roda.is-rodando li { font-size: 16px; padding: 14px 22px; } }

.primal-chips-roda.is-rodando li svg { width: 24px; height: 24px; }
/* O ícone do chip da frente ganha vida enquanto ele está no meio. */
.primal-chips-roda li.is-atual .primal-ico-chave .pi-gira { animation: primal-chave-gira 1.2s ease-in-out infinite; transform-origin: 30% 30%; }
.primal-chips-roda li.is-atual .primal-ico-placa .pi-balanca { animation: primal-pendulo 1.2s ease-in-out infinite; transform-origin: 50% 0; }
.primal-chips-roda li.is-atual .primal-ico-casa .pi-fumaca { animation: primal-fumaca 1.4s ease-out infinite; }
.primal-chips-roda li.is-atual .primal-ico-calendario .pi-dia { animation: primal-pisca .6s steps(2) infinite; }
.primal-chips-roda li.is-atual .primal-ico-grafico .pi-barra { animation: primal-cresce .9s ease-out infinite alternate; }
.primal-chips-roda li.is-atual .primal-ico-grafico .pi-b2 { animation-delay: .2s; }
.primal-chips-roda li.is-atual .primal-ico-grafico .pi-b3 { animation-delay: .4s; }
@keyframes primal-chave-gira { 0%, 100% { transform: rotate(0); } 50% { transform: rotate(-25deg); } }

/* Abelhinhas da seção da carteirinha: três, em pontos e ritmos diferentes. */
.primal-carteirinha-sec .primal-abelha-voo { z-index: 2; }
.primal-carteirinha-sec .primal-abelha-voo .pi-corpo ellipse { fill: #fff3c4; }
.primal-abelha-c1 { top: 14%; left: 44%; animation-duration: 14s; }
.primal-abelha-c2 { top: 72%; left: 8%; animation-duration: 18s; animation-delay: -6s; }
.primal-abelha-c2 .primal-ico { width: 26px; height: 26px; }
.primal-abelha-c3 { top: 80%; left: 82%; animation-duration: 16s; animation-delay: -11s; animation-direction: reverse; }
.primal-abelha-c3 .primal-ico { width: 30px; height: 30px; }
@media (max-width: 900px) { .primal-abelha-c1 { top: 4%; left: 60%; } .primal-abelha-c2 { top: 48%; left: 80%; } }

/* =======================================================================
 * Carteirinha pequena da capa: vira sozinha e monta peça por peça.
 * O .primal-cartao-mini agora é só a moldura (posição, inclinação, flutuar);
 * as faces estão dentro de .primal-vira (mesmo giro da seção da carteirinha).
 * ==================================================================== */
.primal-cartao-mini.primal-mini-vira { perspective: 1200px; }
.primal-mini-vira .primal-vira { height: 100%; }
.primal-mini-vira .primal-vira-frente { transform: none !important; height: 100%; box-shadow: 0 24px 50px rgba(0, 0, 0, .35); }
.primal-mini-vira.is-virado .primal-vira { transform: rotateY(180deg); }
.primal-mini-vira .primal-vira-verso { gap: 8%; padding: 8%; }
.primal-mini-vira .primal-verso-qr { flex-basis: 44%; border-radius: 10px; }
.primal-mini-vira .primal-verso-texto .primal-cartao-marca { font-size: clamp(12px, 1.25vw, 17px); letter-spacing: .08em; white-space: nowrap; }
.primal-mini-vira .primal-verso-ativo { font-size: 10px; }

/* Montagem, uma peça de cada vez, quando a foto da capa aparece. */
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-vira-frente { animation: primal-surge .7s cubic-bezier(.16, 1, .3, 1) .5s backwards; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-cartao-faixa { animation: primal-faixa-corre .8s cubic-bezier(.65, 0, .35, 1) 1s both; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-cartao-marca { animation: primal-surge-marca .9s cubic-bezier(.16, 1, .3, 1) 1.5s both; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-cartao-marca b { display: inline-block; animation: primal-mais-pulo .6s ease-out 2.1s backwards; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-cartao-sub { animation: primal-surge .6s ease-out 2.4s both; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-cartao-id { animation: primal-surge .6s ease-out 2.8s both; }
body.primal-anima .primal-hero-foto.is-visivel .primal-mini-vira .primal-vira-verso * { animation: none !important; }

/* Scan no QR do verso (igual ao do ícone do selo): uma linha dourada varre o código. */
.primal-verso-qr { position: relative; overflow: hidden; }
.primal-verso-qr::after {
	content: "";
	position: absolute;
	left: 4%;
	right: 4%;
	top: 6%;
	height: 3px;
	border-radius: 3px;
	background: var(--primal-primary);
	box-shadow: 0 0 6px 1px color-mix(in srgb, var(--primal-primary) 80%, transparent);
	animation: primal-scan-qr 1.6s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes primal-scan-qr { from { top: 6%; } to { top: calc(94% - 3px); } }
@media (prefers-reduced-motion: reduce) { .primal-verso-qr::after { animation: none; } }

/* Categorias: o ícone "estoura" a caixa por cima (metade para fora do card). */
.primal-categorias { row-gap: 84px !important; margin-top: 60px; }
.primal-tema .primal-categoria { overflow: visible !important; padding-top: 0 !important; padding-bottom: 24px; }
.primal-tema .primal-categoria .primal-card-icone {
	margin-top: -44px !important;
	margin-bottom: 14px;
	box-shadow: 0 16px 30px rgba(120, 75, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .6);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}
.primal-tema .primal-categoria:hover .primal-card-icone { transform: translateY(-6px); box-shadow: 0 22px 36px rgba(120, 75, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .6); }
@media (max-width: 600px) { .primal-categorias { row-gap: 54px !important; } .primal-tema .primal-categoria .primal-card-icone { margin-top: -36px !important; } }

/* Celular: categorias em 2 colunas, cards mais baixos. */
@media (max-width: 600px) {
	.primal-grid-4.primal-categorias { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 14px; row-gap: 58px !important; }
	.primal-tema .primal-categoria { padding: 0 10px 16px !important; }
	.primal-tema .primal-categoria .primal-card-icone { width: 72px !important; height: 72px !important; border-radius: 20px !important; margin-top: -30px !important; }
	.primal-categoria .primal-card-icone .primal-ico { width: 34px !important; height: 34px !important; }
	.primal-tema .primal-categoria h3 { font-size: .92rem; line-height: 1.2; }
}

/* Retrato dos clientes: foto quente, com contraste suficiente para os chips. */
.primal-quem-secao {
	background-color: #17130e;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.primal-quem-secao .primal-paralaxe {
	position: absolute;
	left: 0; right: 0; top: -15%; height: 130%;
	z-index: -1;
	background-color: #17130e;
	background-image: linear-gradient(90deg, #15120f 0%, rgba(21, 18, 15, .96) 28%, rgba(21, 18, 15, .72) 56%, rgba(21, 18, 15, .46) 100%), url('../img/fundos/quem-participa-casa-brasileira.jpg');
	background-position: center, center 100px;
	background-size: cover;
	transform: translate3d(0, var(--paralaxe, 0px), 0);
	will-change: transform;
	pointer-events: none;
}
.primal-quem-secao .primal-quem { position: relative; z-index: 2; }
.primal-section-escuro.primal-quem-secao.primal-fundo-colmeia::before { opacity: .08; }
@media (max-width: 900px) {
	.primal-quem-secao .primal-paralaxe { background-position: center, 64% 45px; background-image: linear-gradient(180deg, rgba(21, 18, 15, .86), rgba(21, 18, 15, .76)), url('../img/fundos/quem-participa-casa-brasileira.jpg'); }
}
@media (prefers-reduced-motion: reduce) { .primal-quem-secao .primal-paralaxe { transform: none; } }

/* Cartões aprovados: ícone à esquerda, texto ao lado e fotografia sem véu branco. */
.primal-categorias { row-gap: 14px !important; column-gap: 14px; margin-top: 34px; }
body.primal-tema .primal-categorias-fundo .primal-categoria {
	display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
	gap: 16px; min-height: 88px; padding: 16px 18px !important;
	text-align: left; border-radius: 18px; overflow: hidden !important;
	background: #fff; box-shadow: 0 10px 28px rgba(24, 18, 8, .14);
}
body.primal-tema .primal-categoria .primal-card-icone,
body.primal-tema .primal-categoria:hover .primal-card-icone {
	width: 50px !important; height: 50px !important; flex: 0 0 50px;
	margin: 0 !important; border-radius: 14px !important;
	transform: none !important; box-shadow: none;
	background: #fff0c3;
}
.primal-categoria .primal-card-icone .primal-ico { width: 27px !important; height: 27px !important; }
body.primal-tema .primal-categoria h3 { font-size: 1rem; line-height: 1.25; }
@media (max-width: 600px) {
	.primal-grid-4.primal-categorias { grid-template-columns: 1fr !important; row-gap: 12px !important; }
	body.primal-tema .primal-categorias-fundo .primal-categoria { min-height: 76px; padding: 12px 16px !important; }
}

/* Selo "Adesão 100% gratuita" na capa da página Para empresas. */
.primal-selo-gratis {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 14px 0 18px !important;
	padding: 10px 18px 10px 10px;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffe07a 0%, var(--primal-primary) 45%, var(--primal-primary-2) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 10px 26px color-mix(in srgb, var(--primal-primary-2) 40%, transparent);
	color: #1a1204 !important;
	font-size: .95rem !important;
	line-height: 1.25 !important;
	animation: primal-selo-pulsa 2.6s ease-in-out infinite;
}
.primal-selo-gratis strong { display: block; font-size: 1.15rem; font-weight: 900; letter-spacing: .01em; }
.primal-selo-gratis-ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #111; color: var(--primal-primary); flex: none; }
.primal-selo-gratis-ico .primal-ico { width: 22px; height: 22px; }
@keyframes primal-selo-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.03); } }
@media (prefers-reduced-motion: reduce) { .primal-selo-gratis { animation: none; } }
/* Selo gratuito virou o botão principal da capa (ao lado de "Falar com a Primal"). */
.primal-hero-acoes .primal-selo-gratis { margin: 0 !important; text-decoration: none !important; }
body.primal-tema a.primal-selo-gratis, body.primal-tema a.primal-selo-gratis:hover { color: #1a1204 !important; }
a.primal-selo-gratis:hover { filter: saturate(1.1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 14px 30px color-mix(in srgb, var(--primal-primary-2) 50%, transparent); }
.primal-hero-acoes { align-items: center; }

/* Faixa de gratuidade abaixo dos níveis de parceria. */
.primal-niveis-rodape { margin-top: 34px; text-align: center; }
.primal-niveis-gratis { display: inline-flex; align-items: center; gap: 10px; margin: 6px auto 0 !important; padding: 12px 20px; border-radius: 999px; background: #111; color: #fff !important; font-size: 1.02rem !important; box-shadow: 0 10px 26px rgba(0, 0, 0, .18); }
.primal-niveis-gratis strong { color: var(--primal-primary); }
.primal-niveis-gratis .primal-ico { width: 22px; height: 22px; color: var(--primal-primary); flex: none; }
.primal-niveis-pisca { animation: primal-niveis-pisca 1.6s ease-in-out infinite; }
@keyframes primal-niveis-pisca { 0%, 100% { opacity: 1; } 50% { opacity: .28; } }
@media (prefers-reduced-motion: reduce) { .primal-niveis-pisca { animation: none; } }

/* =======================================================================
 * Chamada final "Vamos colocar sua empresa na colmeia?" — versão moderna:
 * fundo escuro com brilho de mel, colmeia sutil, foto em moldura de favo
 * e um selo de vidro flutuando sobre a foto.
 * ==================================================================== */
.primal-cta-moderno {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	align-items: center;
	gap: clamp(24px, 4vw, 60px);
	padding: clamp(30px, 4.5vw, 56px);
	border-radius: 32px;
	background: radial-gradient(120% 140% at 0% 0%, #2b2412 0%, #111 48%, #0b0b0b 100%);
	color: rgba(255, 255, 255, .78);
	box-shadow: 0 30px 70px rgba(0, 0, 0, .25);
}
.primal-cta-moderno::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--primal-primary);
	-webkit-mask: var(--primal-favo) 0 0 / 56px 97px repeat, linear-gradient(90deg, transparent 35%, #000);
	-webkit-mask-composite: source-in;
	mask: var(--primal-favo) 0 0 / 56px 97px repeat, linear-gradient(90deg, transparent 35%, #000);
	mask-composite: intersect;
	opacity: .12;
}
.primal-cta-moderno-brilho {
	position: absolute;
	z-index: -1;
	right: 18%;
	top: -30%;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--primal-primary) 45%, transparent), transparent 65%);
	filter: blur(10px);
	animation: primal-cta-brilha 8s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes primal-cta-brilha { to { transform: translate(-60px, 40px) scale(1.15); } }
.primal-cta-moderno-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .14);
	color: var(--primal-primary);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.primal-cta-moderno-chip .primal-ico { width: 18px; height: 18px; }
body.primal-tema .primal-cta-moderno h2 { margin: 16px 0 10px; color: #fff; font-size: clamp(1.8rem, 1.2rem + 1.8vw, 2.7rem); line-height: 1.08; }
.primal-cta-moderno h2 em { font-style: normal; background: var(--primal-mel); -webkit-background-clip: text; background-clip: text; color: transparent; }
.primal-cta-moderno-texto > p { margin: 0 0 18px; font-size: 1.05rem; color: rgba(255, 255, 255, .72); }
.primal-cta-moderno-lista { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 0 0 26px; padding: 0; list-style: none; }
.primal-cta-moderno-lista li { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-weight: 600; font-size: .95rem; }
.primal-cta-moderno-lista .primal-ico { width: 18px; height: 18px; color: var(--primal-primary); }
.primal-cta-moderno-foto { position: relative; justify-self: center; width: min(100%, 360px); }
.primal-cta-moderno-foto img {
	display: block;
	width: 100%;
	aspect-ratio: .9;
	object-fit: cover;
	object-position: center top;
	clip-path: polygon(50% 0, 100% 24%, 100% 76%, 50% 100%, 0 76%, 0 24%);
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .4));
}
.primal-cta-moderno-foto::before {
	content: "";
	position: absolute;
	inset: -10px;
	z-index: -1;
	clip-path: polygon(50% 0, 100% 24%, 100% 76%, 50% 100%, 0 76%, 0 24%);
	background: var(--primal-mel);
	opacity: .9;
}
.primal-cta-moderno-selo {
	position: absolute;
	left: -18px;
	bottom: 16%;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px 10px 10px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .25);
	-webkit-backdrop-filter: blur(14px) saturate(160%);
	backdrop-filter: blur(14px) saturate(160%);
	color: #fff;
	box-shadow: 0 14px 30px rgba(0, 0, 0, .3);
	animation: primal-flutua-y 6s ease-in-out infinite;
}
.primal-cta-moderno-selo > .primal-ico { width: 38px; height: 38px; padding: 8px; border-radius: 12px; background: var(--primal-mel); color: #1a1204; box-sizing: border-box; }
.primal-cta-moderno-selo strong { display: block; font-size: .95rem; }
.primal-cta-moderno-selo small { font-size: .75rem; opacity: .8; }
@media (max-width: 860px) {
	.primal-cta-moderno { grid-template-columns: 1fr; text-align: left; }
	.primal-cta-moderno-foto { width: min(80%, 300px); order: -1; }
	.primal-cta-moderno-selo { left: -8px; }
}
@media (prefers-reduced-motion: reduce) { .primal-cta-moderno-brilho, .primal-cta-moderno-selo { animation: none; } }
body.primal-tema .primal-cta-moderno-lista { margin-left: 0 !important; padding-left: 0 !important; }
body.primal-tema .primal-cta-moderno-lista li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body.primal-tema .primal-cta-moderno-lista li::before { display: none !important; }

/* A foto da parceira "estoura" a caixa preta por cima; o brilho e a colmeia continuam presos dentro da caixa. */
.primal-cta-moderno { overflow: visible; margin-top: clamp(40px, 6vw, 90px); }
.primal-cta-moderno::before { border-radius: inherit; }
.primal-cta-moderno-fundo { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: inherit; pointer-events: none; }
.primal-cta-moderno-fundo .primal-cta-moderno-brilho { z-index: 0; }
.primal-cta-moderno-foto { align-self: end; margin-top: calc(-1 * clamp(80px, 9vw, 130px)); margin-bottom: calc(-1 * clamp(30px, 4.5vw, 56px) + 24px); }
.primal-cta-moderno-foto img { filter: drop-shadow(0 26px 40px rgba(0, 0, 0, .45)); }
@media (max-width: 860px) {
	.primal-cta-moderno-foto { align-self: auto; margin-top: calc(-1 * clamp(70px, 14vw, 110px)); margin-bottom: 0; }
}

/* =======================================================================
 * Chamada final "Já é cliente Primal?": casal centralizado, com os pés
 * encostando na caixa do mapa do rodapé (sem espaço), e o texto num cartão
 * de vidro (liquid glass) na frente da foto.
 * O mapa sobe --primal-mapa-sobe sobre esta seção; o padding de baixo é
 * exatamente esse valor, então a foto termina onde o mapa começa.
 * ==================================================================== */
body.primal-tema .primal-final-secao { padding-bottom: var(--primal-mapa-sobe, 80px) !important; padding-top: clamp(40px, 5vw, 70px); }
.primal-final-secao .primal-final {
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
	text-align: center;
}
.primal-final-secao .primal-final-foto {
	width: min(100%, 620px) !important;
	height: auto !important;
	aspect-ratio: auto;
	margin: 0 auto;
	object-fit: contain;
	object-position: center bottom;
	vertical-align: bottom;
}
.primal-final-secao .primal-final-conteudo {
	position: absolute;
	left: 50%;
	bottom: clamp(18px, 3vw, 34px);
	transform: translateX(-50%);
	width: min(92%, 640px);
	padding: clamp(18px, 2.4vw, 28px) clamp(20px, 3vw, 36px);
	border-radius: 26px;
	background: rgba(255, 255, 255, .55);
	border: 1px solid rgba(255, 255, 255, .75);
	-webkit-backdrop-filter: blur(18px) saturate(170%);
	backdrop-filter: blur(18px) saturate(170%);
	box-shadow: 0 20px 50px rgba(60, 40, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .9);
}
.primal-final-secao .primal-final-conteudo::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(160deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 45%);
	pointer-events: none;
}
.primal-tema .primal-final-secao .primal-final h2 { margin-bottom: 16px; font-size: clamp(1.25rem, .9rem + 1.1vw, 1.8rem); }
.primal-final-secao .primal-final-conteudo > * { position: relative; }
.primal-final-secao .primal-final-abelha { position: absolute !important; top: -18px; right: 22px; margin: 0; }
@media (max-width: 767px) {
	.primal-final-secao .primal-final-foto { width: min(100%, 420px) !important; }
	/* No celular o cartão vai por cima da foto (sobrepondo a cabeça) e o casal continua encostado no mapa. */
	.primal-final-secao .primal-final-conteudo { position: relative; left: auto; bottom: auto; transform: none; width: 100%; order: -1; margin-bottom: -36px; z-index: 2; }
}
/* Casal maior (ocupa mais a seção) e cartão de vidro mais baixo e mais transparente, para os rostos aparecerem. */
.primal-final-secao .primal-final-foto { width: min(100%, 900px) !important; }
.primal-final-secao .primal-final-conteudo { width: min(90%, 580px); bottom: clamp(14px, 2vw, 24px); background: rgba(255, 255, 255, .38); }
@media (max-width: 767px) { .primal-final-secao .primal-final-foto { width: 100% !important; } }

/* Benefícios no celular: sem capa, a busca aparece logo abaixo do menu. */
.primal-beneficios-titulo-mobile { display: none; }
@media (max-width: 767px) {
	.primal-hero-beneficios, .primal-mel-beneficios { display: none !important; }
	body.primal-tema .primal-beneficios-lista { padding-top: 22px !important; }
	body.primal-tema .primal-beneficios-titulo-mobile { display: block; margin: 0 0 14px; text-align: center; font-size: 1.6rem; }
}
.primal-mel-beneficios + .primal-section { padding-top: calc(var(--primal-section) + 30px); }
/* Casal encostado no mapa: a seção "entra" por baixo do mapa (valor medido; o theme.js acerta o pixel em qualquer largura). */
body.primal-tema .primal-final-secao { margin-bottom: -168px; }
@media (max-width: 767px) { body.primal-tema .primal-final-secao { margin-bottom: -101px; } }

/* "Por que ser parceiro": 3 fundos revezando — claro, mel e preto. */
.primal-vantagens-emp > .primal-card:nth-child(3n+1) { background: linear-gradient(180deg, #fff 0%, #FFF8E1 100%); }
.primal-vantagens-emp > .primal-card:nth-child(3n+2) { background: var(--primal-mel-lado); border-color: transparent; }
.primal-vantagens-emp > .primal-card:nth-child(3n+2) h3 { color: #1a1204; }
.primal-vantagens-emp > .primal-card:nth-child(3n+2) p { color: #3b2a00; }
.primal-vantagens-emp > .primal-card:nth-child(3n+2) .primal-card-icone { background: #111; color: var(--primal-primary); }
.primal-vantagens-emp > .primal-card:nth-child(3n) { background: radial-gradient(120% 120% at 0% 0%, #2b2412 0%, #111 60%); border-color: #111; }
.primal-tema .primal-vantagens-emp > .primal-card:nth-child(3n) h3 { color: #fff; }
.primal-vantagens-emp > .primal-card:nth-child(3n) p { color: rgba(255, 255, 255, .72); }
.primal-vantagens-emp > .primal-card { box-shadow: 0 16px 36px rgba(120, 75, 0, .12); }
/* O reflexo claro que alguns cards têm no pé some nos fundos mel e preto. */
.primal-vantagens-emp > .primal-card:nth-child(3n+2)::after, .primal-vantagens-emp > .primal-card:nth-child(3n)::after { display: none; }
/* Benefícios: a última seção vai até o rodapé (sem faixa branca). Valor de partida; o theme.js acerta o pixel. */
body.primal-tema .primal-beneficios-lista { margin-bottom: -61px; padding-bottom: calc(var(--primal-section) + 61px) !important; }
