/* =========================================================================
   Receitas Pro - main.css
   100% Vanilla. Layout em flexbox, responsivo, animado.
   As cores/tipografia/medidas vêm de CSS Custom Properties injetadas pelo
   Customizer (inc/customizer.php). Aqui ficam os fallbacks e o layout.
   ========================================================================= */


/* Utilitário reutilizável: oculta a barra mantendo a rolagem funcional. */
.rcp-scroll-none { scrollbar-width: none; -ms-overflow-style: none; }
.rcp-scroll-none::-webkit-scrollbar { width: 0; height: 0; display: none; }

:root {
	--rcp-primary: #e0531f;
	--rcp-primary-dk: #b53d12;
	--rcp-accent: #0f9d6c;
	--rcp-text: #1f2328;
	--rcp-muted: #5b6470;
	--rcp-bg: #ffffff;
	--rcp-surface: #f7f5f2;
	--rcp-border: #e7e3dd;
	--rcp-header-bg: #ffffff;
	--rcp-footer-bg: #16181d;
	--rcp-footer-tx: #d7dbe0;
	--rcp-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--rcp-font-heading: var(--rcp-font-body);
	--rcp-fs-base: 16px;
	--rcp-fs-h1: 32px;
	--rcp-fs-h2: 26px;
	--rcp-fs-h3: 21px;
	--rcp-lh: 1.7;
	--rcp-container: 1140px;
	--rcp-mobile-w: 97%;
	--rcp-radius: 14px;
	--rcp-radius-lg: 18px;
	--rcp-radius-sm: 8px;
	--rcp-shadow-sm: 0 1px 3px rgba(20, 24, 31, .08), 0 1px 2px rgba(20, 24, 31, .06);
	--rcp-shadow-md: 0 6px 20px rgba(20, 24, 31, .10);
	--rcp-shadow-lg: 0 18px 50px rgba(20, 24, 31, .16);
	--rcp-ease: cubic-bezier(.22, 1, .36, 1);
	--rcp-gap: 24px;
	--rcp-header-h: 72px;
}

/* ---------- Reset enxuto ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}
body {
	font-family: var(--rcp-font-body);
	font-size: var(--rcp-fs-base);
	line-height: var(--rcp-lh);
	color: var(--rcp-text);
	background: var(--rcp-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	/* overflow-x: clip evita rolagem horizontal SEM quebrar position: sticky
	   (ao contrário de overflow-x: hidden, que cria um contêiner de rolagem). */
	overflow-x: clip;
}
img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
a { color: var(--rcp-primary); text-decoration: none; transition: color .2s var(--rcp-ease); }
a:hover { color: var(--rcp-primary-dk); }
ul, ol { padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--rcp-accent); outline-offset: 2px; border-radius: 4px; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--rcp-font-heading);
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--rcp-text);
}
h1 { font-size: var(--rcp-fs-h1); }
h2 { font-size: var(--rcp-fs-h2); }
h3 { font-size: var(--rcp-fs-h3); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto !important; width: auto; height: auto;
	background: var(--rcp-bg); padding: 12px 20px; z-index: 100000;
	top: 8px; left: 8px; border-radius: var(--rcp-radius-sm); box-shadow: var(--rcp-shadow-md);
}

/* ---------- Layout base ---------- */
.rcp-container {
	width: var(--rcp-container);
	max-width: var(--rcp-mobile-w, 97%);
	margin-inline: auto;
}
.rcp-icon { display: inline-block; vertical-align: middle; flex: 0 0 auto; }
.rcp-rot-left { transform: rotate(90deg); }

.rcp-skip-link {
	position: absolute; left: 8px; top: -60px; z-index: 1000;
	background: var(--rcp-primary); color: #fff; padding: 10px 18px; border-radius: var(--rcp-radius-sm);
	transition: top .2s var(--rcp-ease);
}
.rcp-skip-link:focus { top: 8px; color: #fff; }

/* =========================================================================
   HEADER
   ========================================================================= */
.rcp-topbar {
	background: var(--rcp-text);
	color: #fff;
	font-size: 13px;
}
.rcp-topbar__inner {
	display: flex; align-items: center; justify-content: space-between;
	min-height: 40px; gap: 16px;
}
.rcp-topbar__tag { display: inline-flex; align-items: center; gap: 8px; opacity: .9; }
.rcp-social-nav__list { display: flex; align-items: center; gap: 4px; }
.rcp-social-nav__list a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; color: #fff;
	transition: background .2s var(--rcp-ease), transform .2s var(--rcp-ease);
}
.rcp-social-nav__list a:hover { background: rgba(255,255,255,.16); transform: translateY(-2px); color: #fff; }

.rcp-header__main {
	background: var(--rcp-header-bg);
	border-bottom: 1px solid var(--rcp-border);
	transition: box-shadow .3s var(--rcp-ease);
}
/* Sticky aplicado ao <header> (não ao filho .rcp-header__main): o bloco-contêiner
   do header é a página inteira, então o grude funciona mesmo sem a topbar — que
   era a causa de o sticky "não pegar". O esconde/mostra ao rolar e a sombra são
   controlados pelas classes is-hidden/is-scrolled (via JS). */
.rcp-sticky-header .rcp-header {
	position: sticky; top: 0; z-index: 200;
	transition: transform .35s var(--rcp-ease);
}
.rcp-sticky-header .rcp-header.is-scrolled .rcp-header__main { box-shadow: var(--rcp-shadow-md); }
.rcp-sticky-header .rcp-header.is-hidden { transform: translateY(-100%); }

.rcp-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; min-height: var(--rcp-header-h);
}
.rcp-header--logo-center .rcp-header__inner { justify-content: center; flex-wrap: wrap; }
.rcp-header--logo-center .rcp-primary-nav { order: 3; flex-basis: 100%; }

.rcp-site-title { font-size: clamp(20px, 3vw, 28px); font-weight: 800; }
.rcp-site-title a { color: var(--rcp-text); }
.rcp-site-title a:hover { color: var(--rcp-primary); }
.custom-logo-link { display: inline-flex; }
.custom-logo { max-height: 52px; width: auto; }

/* Logos do tema (cabeçalho/rodapé) com troca claro/escuro via CSS. */
.rcp-logo-link { display: inline-flex; align-items: center; }
.rcp-logo { display: block; width: auto; height: auto; max-height: 54px; }
.rcp-logo-link--footer .rcp-logo { max-height: 46px; }
/* Por padrão exibe a logo clara; a escura só existe quando há variante. */
.rcp-logo-link--has-dark .rcp-logo--dark { display: none; }
body.rcp-dark .rcp-logo-link--has-dark .rcp-logo--light { display: none; }
body.rcp-dark .rcp-logo-link--has-dark .rcp-logo--dark { display: block; }
@media (max-width: 600px) {
	.rcp-logo { max-height: 44px; }
	.rcp-logo-link--footer .rcp-logo { max-height: 40px; }
}

/* Menu principal */
.rcp-primary-nav { display: flex; }
.rcp-menu { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.rcp-menu li { position: relative; }
.rcp-menu a {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 14px; border-radius: var(--rcp-radius-sm); color: var(--rcp-text); font-weight: 600;
	transition: color .2s var(--rcp-ease), background .2s var(--rcp-ease);
}
.rcp-menu a::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 2px;
	background: var(--rcp-primary); transform: scaleX(0); transform-origin: left;
	transition: transform .25s var(--rcp-ease);
}
.rcp-menu a:hover, .rcp-menu .current-menu-item > a { color: var(--rcp-primary); }
.rcp-menu a:hover::after, .rcp-menu .current-menu-item > a::after { transform: scaleX(1); }

/* Submenu */
.rcp-menu .sub-menu {
	position: absolute; top: calc(100% + 0px); left: 0; min-width: 220px;
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	box-shadow: var(--rcp-shadow-lg); padding: 8px; z-index: 50;
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .22s var(--rcp-ease), transform .22s var(--rcp-ease), visibility .22s;
}
.rcp-menu li:hover > .sub-menu,
.rcp-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.rcp-menu .sub-menu a { width: 100%; }
.rcp-menu .sub-menu a::after { display: none; }
.rcp-menu .sub-menu a:hover { background: var(--rcp-surface); }
/* Chevron indicador de submenu */
.rcp-sub-arrow { display: inline-flex; align-items: center; transition: transform .2s var(--rcp-ease); }
.rcp-menu .menu-item-has-children:hover > a .rcp-sub-arrow,
.rcp-menu .menu-item-has-children:focus-within > a .rcp-sub-arrow { transform: rotate(180deg); }

.rcp-header__actions { display: flex; align-items: center; gap: 6px; }
.rcp-icon-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border: none; background: transparent; color: var(--rcp-text);
	border-radius: var(--rcp-radius); cursor: pointer;
	transition: background .2s var(--rcp-ease), color .2s var(--rcp-ease), transform .2s var(--rcp-ease);
}
.rcp-icon-btn:hover { background: var(--rcp-surface); color: var(--rcp-primary); transform: translateY(-1px); }
.rcp-menu-toggle, .rcp-theme-toggle { position: relative; }
/* Hambúrguer oculto no desktop por padrão; aparece no mobile (ou no modo hambúrguer). */
.rcp-menu-toggle { display: none; }
.rcp-menu-toggle__close { display: none; }
.rcp-theme-toggle__moon { display: none; }

/* Modo de menu "hambúrguer" em qualquer largura: esconde o menu horizontal e mostra o botão. */
body.rcp-menumode-hamburger .rcp-primary-nav { display: none; }
body.rcp-menumode-hamburger .rcp-menu-toggle { display: inline-flex; }

/* Painel de busca */
.rcp-search-panel {
	background: var(--rcp-header-bg); border-bottom: 1px solid var(--rcp-border);
	overflow: hidden; animation: rcp-slidedown .3s var(--rcp-ease);
}
.rcp-search-panel > .rcp-container { padding-block: 18px; }
@keyframes rcp-slidedown { from { max-height: 0; opacity: 0; } to { max-height: 200px; opacity: 1; } }

/* =========================================================================
   FORMULÁRIO DE BUSCA
   ========================================================================= */
.rcp-searchform__field {
	display: flex; align-items: center; gap: 8px;
	background: var(--rcp-surface); border: 2px solid var(--rcp-border); border-radius: 999px;
	padding: 6px 6px 6px 16px; transition: border-color .2s var(--rcp-ease), box-shadow .2s var(--rcp-ease);
}
.rcp-searchform__field:focus-within { border-color: var(--rcp-primary); box-shadow: 0 0 0 4px rgba(224, 83, 31, .12); }
.rcp-searchform__icon { color: var(--rcp-muted); }
.rcp-searchform__input { flex: 1; border: none; background: transparent; padding: 8px 0; outline: none; }
.rcp-searchform__submit {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border: none; border-radius: 50%; cursor: pointer;
	background: var(--rcp-primary); color: #fff; flex: 0 0 auto;
	transition: background .2s var(--rcp-ease), transform .2s var(--rcp-ease);
}
.rcp-searchform__submit:hover { background: var(--rcp-primary-dk); transform: scale(1.06); }

/* =========================================================================
   NAV MOBILE (off-canvas)
   ========================================================================= */
.rcp-mobile-nav {
	position: fixed; top: 0; right: 0; width: min(86vw, 360px); height: 100dvh; z-index: 400;
	background: var(--rcp-bg); box-shadow: var(--rcp-shadow-lg);
	transform: translateX(100%); transition: transform .32s var(--rcp-ease);
	overflow-y: auto; padding: calc(var(--rcp-header-h) + 16px) 20px 40px;
}
.rcp-mobile-nav.is-open { transform: translateX(0); }
.rcp-mobile-overlay {
	position: fixed; inset: 0; z-index: 390; background: rgba(20, 24, 31, .5);
	opacity: 0; transition: opacity .3s var(--rcp-ease); backdrop-filter: blur(2px);
}
.rcp-mobile-overlay.is-visible { opacity: 1; }
.rcp-mobile-menu { display: flex; flex-direction: column; gap: 2px; }
.rcp-mobile-menu a {
	display: block; padding: 14px 12px; border-radius: var(--rcp-radius-sm); color: var(--rcp-text);
	font-weight: 600; font-size: 17px;
}
.rcp-mobile-menu a:hover { background: var(--rcp-surface); color: var(--rcp-primary); }
.rcp-mobile-menu .menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; }
.rcp-mobile-menu .rcp-sub-arrow { margin-left: auto; }
.rcp-mobile-menu .sub-menu { padding-left: 14px; }
.rcp-mobile-menu .sub-menu a { font-size: 15px; font-weight: 500; }

/* =========================================================================
   CONTEÚDO / GRID
   ========================================================================= */
.rcp-main { display: block; min-height: 50vh; }
.rcp-content-wrap {
	display: flex; align-items: flex-start; gap: 40px;
	padding-block: 40px 64px;
}
.rcp-primary { flex: 1 1 auto; min-width: 0; }
.rcp-sidebar { flex: 0 0 320px; }
.rcp-layout--sidebar-left { flex-direction: row-reverse; }
.rcp-layout--narrow .rcp-primary { max-width: 760px; margin-inline: auto; }

.rcp-archive-head { margin-bottom: 32px; }
.rcp-archive-title { font-size: var(--rcp-fs-h1); position: relative; display: inline-block; }
.rcp-archive-title::after {
	content: ""; display: block; width: 64px; height: 4px; margin-top: 10px;
	background: linear-gradient(90deg, var(--rcp-primary), var(--rcp-accent)); border-radius: 4px;
}
.rcp-archive-desc { color: var(--rcp-muted); margin-top: 12px; max-width: 70ch; }
.rcp-search-term { color: var(--rcp-primary); }

.rcp-grid {
	display: flex; flex-wrap: wrap; gap: var(--rcp-gap);
}
.rcp-grid > * { flex: 1 1 300px; }
/* Mantém simetria: limita a 3 colunas e evita "órfãos" muito largos. */
.rcp-posts > .rcp-card { flex: 1 1 calc(33.333% - var(--rcp-gap)); max-width: calc(33.333% - var(--rcp-gap)); }

/* ---------- Card ---------- */
.rcp-card {
	display: flex; flex-direction: column; background: var(--rcp-bg);
	border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); overflow: hidden;
	box-shadow: var(--rcp-shadow-sm);
	transition: transform .35s var(--rcp-ease), box-shadow .35s var(--rcp-ease), border-color .35s var(--rcp-ease);
}
.rcp-anim-on .rcp-card:hover {
	transform: translateY(-6px); box-shadow: var(--rcp-shadow-lg); border-color: transparent;
}
.rcp-card__media {
	position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--rcp-surface);
}
.rcp-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--rcp-ease); }
.rcp-anim-on .rcp-card:hover .rcp-card__img { transform: scale(1.07); }
.rcp-card__placeholder {
	display: flex; align-items: center; justify-content: center; height: 100%; color: var(--rcp-muted); opacity: .5;
}
.rcp-card__badge {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	background: rgba(255,255,255,.92); color: var(--rcp-primary-dk); font-size: 12px; font-weight: 700;
	padding: 5px 12px; border-radius: 999px; backdrop-filter: blur(4px); text-transform: uppercase; letter-spacing: .04em;
}
.rcp-card__play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	color: #fff; opacity: .92; pointer-events: none;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,.4)); transition: transform .35s var(--rcp-ease), opacity .35s;
}
.rcp-anim-on .rcp-card--video:hover .rcp-card__play { transform: scale(1.12); opacity: 1; }
.rcp-card__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.rcp-card__title { font-size: 19px; line-height: 1.3; }
.rcp-card__title a { color: var(--rcp-text); }
.rcp-card__title a:hover { color: var(--rcp-primary); }
.rcp-card__excerpt { color: var(--rcp-muted); font-size: 15px; flex: 1; }
.rcp-card__foot {
	display: flex; align-items: center; justify-content: space-between;
	margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--rcp-border);
}
.rcp-card__meta { display: inline-flex; align-items: center; gap: 6px; color: var(--rcp-muted); font-size: 13px; }
.rcp-card__more {
	display: inline-flex; align-items: center; gap: 4px; color: var(--rcp-primary);
	font-weight: 700; font-size: 14px;
}
.rcp-card__more .rcp-icon { transition: transform .25s var(--rcp-ease); }
.rcp-anim-on .rcp-card:hover .rcp-card__more .rcp-icon { transform: translateX(4px); }

/* =========================================================================
   HOME (front-page): HERO, categorias, seções
   ========================================================================= */
.rcp-hero { padding-block: 40px 8px; }
.rcp-hero__inner { display: flex; align-items: center; gap: 48px; }
.rcp-hero__media {
	position: relative; flex: 1 1 55%; border-radius: var(--rcp-radius-lg); overflow: hidden;
	aspect-ratio: 16 / 10; box-shadow: var(--rcp-shadow-lg); background: var(--rcp-surface);
}
.rcp-hero__img { width: 100%; height: 100%; object-fit: cover; }
.rcp-hero__play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff;
	filter: drop-shadow(0 6px 16px rgba(0,0,0,.4)); transition: transform .35s var(--rcp-ease);
}
.rcp-anim-on .rcp-hero__media:hover .rcp-hero__play { transform: scale(1.1); }
.rcp-hero__body { flex: 1 1 45%; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.rcp-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-transform: uppercase;
	letter-spacing: .06em; font-size: 13px; color: var(--rcp-primary);
}
.rcp-hero__title { font-size: var(--rcp-fs-h1); line-height: 1.15; }
.rcp-hero__title a { color: var(--rcp-text); }
.rcp-hero__title a:hover { color: var(--rcp-primary); }
.rcp-hero__excerpt { color: var(--rcp-muted); font-size: 17px; }

.rcp-cat-strip { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 40px; }
.rcp-cat-chip {
	display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px;
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: 999px; color: var(--rcp-text);
	font-weight: 700; box-shadow: var(--rcp-shadow-sm); transition: all .25s var(--rcp-ease);
}
.rcp-cat-chip .rcp-icon { color: var(--rcp-primary); }
.rcp-cat-chip:hover { transform: translateY(-3px); border-color: var(--rcp-primary); color: var(--rcp-primary); box-shadow: var(--rcp-shadow-md); }
.rcp-cat-chip__count {
	display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px;
	padding: 0 7px; background: var(--rcp-surface); border-radius: 999px; font-size: 12px; color: var(--rcp-muted);
}

.rcp-section { margin-block: 24px 8px; }
.rcp-section__head { margin-bottom: 28px; }
.rcp-section__title { font-size: var(--rcp-fs-h2); position: relative; display: inline-block; }
.rcp-section__title::after {
	content: ""; display: block; width: 56px; height: 4px; margin-top: 10px;
	background: linear-gradient(90deg, var(--rcp-primary), var(--rcp-accent)); border-radius: 4px;
}
.rcp-section__sub { color: var(--rcp-muted); margin-top: 12px; }
.rcp-section__cta { display: flex; justify-content: center; margin-top: 40px; }
.rcp-home-intro { margin-bottom: 40px; }

@media (max-width: 860px) {
	.rcp-hero__inner { flex-direction: column; gap: 24px; }
	.rcp-hero__media, .rcp-hero__body { flex-basis: auto; width: 100%; }
	.rcp-layout--full .rcp-primary, .rcp-layout--narrow .rcp-primary { max-width: 100%; }
}

/* =========================================================================
   BREADCRUMBS
   ========================================================================= */
.rcp-breadcrumbs { margin-bottom: 20px; font-size: 14px; }
.rcp-breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rcp-breadcrumbs__item { display: inline-flex; align-items: center; gap: 6px; color: var(--rcp-muted); }
.rcp-breadcrumbs__item a { color: var(--rcp-muted); }
.rcp-breadcrumbs__item a:hover { color: var(--rcp-primary); }
.rcp-breadcrumbs__item [aria-current] { color: var(--rcp-text); font-weight: 600; }
.rcp-breadcrumbs__sep { display: inline-flex; color: var(--rcp-border); }

/* =========================================================================
   SINGLE
   ========================================================================= */
.rcp-single__header { margin-bottom: 24px; }
.rcp-single__cats { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.rcp-pill {
	display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700;
	color: var(--rcp-primary-dk); background: color-mix(in srgb, var(--rcp-primary) 12%, transparent);
	padding: 6px 14px; border-radius: 999px; transition: background .2s var(--rcp-ease);
}
.rcp-pill:hover { background: color-mix(in srgb, var(--rcp-primary) 22%, transparent); color: var(--rcp-primary-dk); }
.rcp-single__title { font-size: var(--rcp-fs-h1); margin-bottom: 16px; }

.rcp-post-meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px;
	color: var(--rcp-muted); font-size: 14px; padding-bottom: 20px; border-bottom: 1px solid var(--rcp-border);
}
.rcp-meta-item { display: inline-flex; align-items: center; gap: 7px; }
.rcp-meta-item .rcp-icon { color: var(--rcp-primary); }
.rcp-author-link { color: var(--rcp-text); font-weight: 600; }
.rcp-author-link:hover { color: var(--rcp-primary); }

/* Bloco de informações de publicação (dentro do conteúdo). */
.rcp-pubinfo {
	display: flex; align-items: center; gap: 14px;
	margin: 24px 0; padding: 14px 18px;
	background: var(--rcp-surface); border: 1px solid var(--rcp-border);
	border-radius: var(--rcp-radius);
}
.rcp-pubinfo__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; flex: 0 0 auto; border-radius: 50%;
	background: color-mix(in srgb, var(--rcp-primary) 12%, transparent);
	color: var(--rcp-primary);
}
.rcp-pubinfo__text { margin: 0; font-size: 14px; line-height: 1.55; color: var(--rcp-muted); }
.rcp-pubinfo__author { color: var(--rcp-text); font-weight: 600; }
.rcp-pubinfo__author:hover { color: var(--rcp-primary); }

.rcp-single__media { margin: 24px 0; border-radius: var(--rcp-radius); overflow: hidden; box-shadow: var(--rcp-shadow-md); }
.rcp-single__img { width: 100%; height: auto; }
.rcp-single__caption, .figcaption { font-size: 13px; color: var(--rcp-muted); padding: 10px 14px; background: var(--rcp-surface); text-align: center; }

.rcp-featured-video, .rcp-embed { position: relative; margin: 24px 0; border-radius: var(--rcp-radius); overflow: hidden; box-shadow: var(--rcp-shadow-md); }
.rcp-embed iframe, .rcp-embed video, .rcp-featured-video iframe {
	width: 100% !important; aspect-ratio: 16 / 9; height: auto !important; display: block; border: 0;
}

/* Quick facts (receita) */
.rcp-quick-facts {
	display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0;
	padding: 22px; background: var(--rcp-surface); border-radius: var(--rcp-radius);
	border: 1px solid var(--rcp-border);
}
.rcp-quick-facts__item {
	flex: 1 1 120px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center;
}
.rcp-quick-facts__icon {
	display: flex; align-items: center; justify-content: center; width: 48px; height: 48px;
	border-radius: 50%; background: var(--rcp-bg); color: var(--rcp-primary); box-shadow: var(--rcp-shadow-sm);
}
.rcp-quick-facts__label { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--rcp-muted); }
.rcp-quick-facts__value { font-weight: 800; font-size: 17px; }

/* TOC */
.rcp-toc {
	margin: 28px 0; border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	background: var(--rcp-bg); overflow: hidden; box-shadow: var(--rcp-shadow-sm);
}
.rcp-toc__head {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	padding: 16px 20px; background: var(--rcp-surface); border: none; cursor: pointer;
	font-weight: 800; color: var(--rcp-text); font-size: 16px;
}
.rcp-toc__title { display: inline-flex; align-items: center; gap: 10px; }
.rcp-toc__title .rcp-icon { color: var(--rcp-primary); }
.rcp-toc__toggle { transition: transform .3s var(--rcp-ease); color: var(--rcp-muted); }
.rcp-toc[data-collapsed="true"] .rcp-toc__toggle { transform: rotate(-90deg); }
.rcp-toc__list {
	display: flex; flex-direction: column; gap: 2px; padding: 14px 20px;
	max-height: 600px; overflow: hidden; transition: max-height .35s var(--rcp-ease), padding .35s var(--rcp-ease), opacity .3s;
}
.rcp-toc[data-collapsed="true"] .rcp-toc__list { max-height: 0; padding-block: 0; opacity: 0; }
.rcp-toc__item--h3 { padding-left: 18px; }
.rcp-toc__link {
	display: block; padding: 7px 12px; border-radius: var(--rcp-radius-sm); color: var(--rcp-muted);
	border-left: 2px solid transparent; transition: all .2s var(--rcp-ease);
}
.rcp-toc__link:hover { color: var(--rcp-primary); background: var(--rcp-surface); }
.rcp-toc__link.is-active { color: var(--rcp-primary); border-left-color: var(--rcp-primary); font-weight: 600; background: var(--rcp-surface); }

/* Conteúdo do post */
.rcp-content { font-size: clamp(16px, 1.05vw, 18px); line-height: var(--rcp-lh); }
.rcp-content > * + * { margin-top: 1.2em; }
.rcp-content h2 { margin-top: 1.8em; scroll-margin-top: calc(var(--rcp-header-h) + 16px); }
.rcp-content h3 { margin-top: 1.4em; scroll-margin-top: calc(var(--rcp-header-h) + 16px); }
.rcp-content p { color: var(--rcp-text); }
.rcp-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.rcp-content img { border-radius: var(--rcp-radius); box-shadow: var(--rcp-shadow-sm); }
.rcp-content ul, .rcp-content ol { padding-left: 1.4em; }
.rcp-content ul { list-style: none; }
.rcp-content ul li { position: relative; padding-left: 6px; margin-top: .5em; }
.rcp-content ul li::before {
	content: ""; position: absolute; left: -16px; top: .62em; width: 7px; height: 7px;
	background: var(--rcp-primary); border-radius: 50%;
}
.rcp-content ol { list-style: decimal; }
.rcp-content ol li { margin-top: .5em; padding-left: 6px; }
.rcp-content blockquote {
	border-left: 4px solid var(--rcp-primary); padding: 12px 0 12px 22px; margin-left: 0;
	font-style: italic; color: var(--rcp-muted); font-size: 1.1em;
}
.rcp-content pre {
	background: var(--rcp-text); color: #f6f6f6; padding: 18px; border-radius: var(--rcp-radius); overflow-x: auto;
}
.rcp-content code { background: var(--rcp-surface); padding: 2px 6px; border-radius: 6px; font-size: .92em; }
.rcp-content pre code { background: none; padding: 0; }
/* Wrapper de rolagem (injetado por rcp_wrap_content_tables) para responsividade */
.rcp-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.4em 0; border-radius: var(--rcp-radius); box-shadow: var(--rcp-shadow-sm); border: 1px solid var(--rcp-border); }
.rcp-content table {
	width: 100%; border-collapse: collapse; margin: 0; font-size: 15px; background: var(--rcp-bg);
	min-width: 480px; /* garante rolagem em telas estreitas sem quebrar o layout */
}
.rcp-table-wrap table thead {border-bottom: none;}
.rcp-content .rcp-table-wrap > table,
.rcp-content > table { border: 0; }
/* Cabeçalho com a cor de identidade do site (gradiente da primária + texto branco).
   Seletores com `table` no caminho para vencer os estilos padrão do WordPress
   (.wp-block-table / .has-fixed-layout) por especificidade, sem !important. */
.rcp-content table thead th {
	background: linear-gradient(135deg, var(--rcp-primary), var(--rcp-primary-dk));
	color: #fff; font-weight: 800; border: 0; border-bottom: 0; vertical-align: middle;
	text-transform: uppercase; letter-spacing: .03em; font-size: 13px;
}
.rcp-content table th, .rcp-content table td { padding: 14px 16px; border: 0; border-bottom: 1px solid var(--rcp-border); text-align: left; vertical-align: top; word-break: normal; }
.rcp-content table td { color: var(--rcp-text); }
/* Primeira coluna (cabeçalho de linha) em destaque na cor primária. */
.rcp-content table tbody th { color: var(--rcp-primary-dk); font-weight: 700; }
.rcp-content table tbody tr { transition: background .2s var(--rcp-ease); }
.rcp-content table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--rcp-surface) 50%, transparent); }
.rcp-content table tbody tr:hover { background: color-mix(in srgb, var(--rcp-primary) 8%, transparent); }
.rcp-content table tbody tr:last-child td, .rcp-content table tbody tr:last-child th { border-bottom: 0; }
.rcp-content table caption { caption-side: bottom; padding: 10px; font-size: 13px; color: var(--rcp-muted); }
@media (max-width: 560px) { .rcp-content table { font-size: 14px; } .rcp-content table th, .rcp-content table td { padding: 11px 13px; } }
.rcp-content hr { border: none; border-top: 1px solid var(--rcp-border); }

/* Tags */
.rcp-single__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 32px 0; }
.rcp-single__tags-label { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--rcp-muted); }
.rcp-tag {
	font-size: 13px; padding: 6px 14px; border-radius: 999px; background: var(--rcp-surface);
	color: var(--rcp-muted); border: 1px solid var(--rcp-border); transition: all .2s var(--rcp-ease);
}
.rcp-tag:hover { background: var(--rcp-primary); color: #fff; border-color: var(--rcp-primary); transform: translateY(-2px); }

/* Share */
.rcp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 28px 0; padding: 18px 0; border-block: 1px solid var(--rcp-border); }
.rcp-share__label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; margin-right: auto; }
.rcp-share__btn {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px;
	border-radius: 50%; border: 1px solid var(--rcp-border); background: var(--rcp-bg); color: var(--rcp-muted);
	cursor: pointer; transition: all .25s var(--rcp-ease);
}
.rcp-share__btn:hover { transform: translateY(-3px); color: #fff; box-shadow: var(--rcp-shadow-md); }
.rcp-share__btn--facebook:hover { background: #1877f2; border-color: #1877f2; }
.rcp-share__btn--x:hover { background: #000; border-color: #000; }
.rcp-share__btn--whatsapp:hover { background: #25d366; border-color: #25d366; }
.rcp-share__btn--pinterest:hover { background: #e60023; border-color: #e60023; }
.rcp-share__btn--copy:hover { background: var(--rcp-primary); border-color: var(--rcp-primary); }
.rcp-share__btn.is-copied { background: var(--rcp-accent); border-color: var(--rcp-accent); color: #fff; }

/* Author box */
.rcp-author-box {
	display: flex; gap: 22px; align-items: flex-start; margin: 36px 0;
	padding: 28px; background: var(--rcp-surface); border-radius: var(--rcp-radius); border: 1px solid var(--rcp-border);
}
.rcp-author-box__avatar { flex: 0 0 auto; }
.rcp-author-avatar { border-radius: 50%; box-shadow: var(--rcp-shadow-sm); }
.rcp-author-box__body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.rcp-author-box__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--rcp-primary); font-weight: 700; }
.rcp-author-box__name { font-size: 20px; }
.rcp-author-box__name a { color: var(--rcp-text); }
.rcp-author-box__name a:hover { color: var(--rcp-primary); }
.rcp-author-box__job { font-size: 14px; color: var(--rcp-muted); font-weight: 600; }
.rcp-author-box__bio { color: var(--rcp-muted); font-size: 15px; margin-top: 4px; }
.rcp-author-box__socials { display: flex; gap: 8px; margin-top: 10px; }
.rcp-author-social {
	display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
	border-radius: 50%; background: var(--rcp-bg); color: var(--rcp-muted); border: 1px solid var(--rcp-border);
	transition: all .2s var(--rcp-ease);
}
.rcp-author-social:hover { background: var(--rcp-primary); color: #fff; border-color: var(--rcp-primary); transform: translateY(-2px); }

/* Post nav + related */
.rcp-postnav { display: flex; gap: 16px; margin: 32px 0; }
.rcp-postnav .nav-links { display: flex; gap: 16px; width: 100%; }
/* min-width:0 permite o truncamento do título dentro do flex. */
.rcp-postnav .nav-previous, .rcp-postnav .nav-next { flex: 1 1 0; min-width: 0; }
.rcp-postnav .nav-next { text-align: right; }
.rcp-postnav a {
	display: flex; flex-direction: column; gap: 4px; padding: 16px 20px;
	background: var(--rcp-surface); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	transition: all .25s var(--rcp-ease); height: 100%; min-width: 0;
}
.rcp-postnav a:hover { border-color: var(--rcp-primary); transform: translateY(-3px); box-shadow: var(--rcp-shadow-md); }
/* Rótulo "Anterior"/"Próximo" nunca quebra em duas linhas. */
.rcp-postnav__dir { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--rcp-muted); font-weight: 600; white-space: nowrap; }
.rcp-postnav .nav-next .rcp-postnav__dir { justify-content: flex-end; }
/* Título limitado a 2 linhas para manter os cards com altura estável. */
.rcp-postnav__title {
	font-weight: 700; color: var(--rcp-text); min-width: 0;
	display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
	-webkit-box-orient: vertical; overflow: hidden;
}

.rcp-related { margin: 48px 0; }
.rcp-related__title { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.rcp-related__title .rcp-icon { color: var(--rcp-primary); }
/* Grade dos relacionados: colunas controladas em Estilos → Layout
   (var --rcp-related-cols = 2 ou 3). min-width:0 evita cards espremidos. */
.rcp-related__grid > .rcp-card {
	flex: 1 1 calc(100% / var(--rcp-related-cols, 3) - var(--rcp-gap));
	max-width: calc(100% / var(--rcp-related-cols, 3) - var(--rcp-gap));
	min-width: 0;
}

/* =========================================================================
   PAGINAÇÃO / LOAD MORE
   ========================================================================= */
.rcp-pagination, .rcp-loadmore { display: flex; justify-content: center; margin: 48px 0 8px; }
.rcp-pagination__list { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rcp-pagination__list .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px;
	padding: 0 12px; border-radius: var(--rcp-radius); border: 1px solid var(--rcp-border); background: var(--rcp-bg);
	color: var(--rcp-text); font-weight: 700; transition: all .2s var(--rcp-ease);
}
.rcp-pagination__list .page-numbers:hover { border-color: var(--rcp-primary); color: var(--rcp-primary); transform: translateY(-2px); }
.rcp-pagination__list .page-numbers.current { background: var(--rcp-primary); color: #fff; border-color: var(--rcp-primary); }
.rcp-pagination__list .dots { border: none; background: none; }

.rcp-loadmore { flex-direction: column; align-items: center; gap: 16px; }
.rcp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 14px 28px; border-radius: 999px; font-weight: 700; cursor: pointer; border: 2px solid transparent;
	transition: all .25s var(--rcp-ease); font-size: 15px;
}
.rcp-btn--primary { background: var(--rcp-primary); color: #fff; }
.rcp-btn--primary:hover { background: var(--rcp-primary-dk); color: #fff; transform: translateY(-2px); box-shadow: var(--rcp-shadow-md); }
.rcp-btn--ghost { background: var(--rcp-bg); border-color: var(--rcp-border); color: var(--rcp-text); }
.rcp-btn--ghost:hover { border-color: var(--rcp-primary); color: var(--rcp-primary); transform: translateY(-2px); }
.rcp-loadmore__btn { position: relative; }
.rcp-loadmore__spinner {
	width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
	display: none; animation: rcp-spin .7s linear infinite;
}
.rcp-loadmore.is-loading .rcp-loadmore__spinner { display: inline-block; }
.rcp-loadmore.is-loading .rcp-loadmore__text { opacity: .6; }
.rcp-loadmore__end { color: var(--rcp-muted); font-weight: 600; }
@keyframes rcp-spin { to { transform: rotate(360deg); } }

/* =========================================================================
   SIDEBAR / WIDGETS
   ========================================================================= */
.rcp-sidebar__sticky { position: sticky; top: calc(var(--rcp-header-h) + 20px); display: flex; flex-direction: column; gap: 28px; }
.widget {
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); padding: 22px;
}
.widget-title {
	font-size: 17px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--rcp-surface);
	display: flex; align-items: center; gap: 8px;
}
.widget ul li { padding: 8px 0; border-bottom: 1px solid var(--rcp-surface); }
.widget ul li:last-child { border-bottom: none; }
.widget a { color: var(--rcp-text); }
.widget a:hover { color: var(--rcp-primary); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.rcp-footer { background: var(--rcp-footer-bg); color: var(--rcp-footer-tx); }
.rcp-footer__widgets { padding-block: 56px 40px; border-bottom: 1px solid rgba(255,255,255,.08); }
.rcp-footer__grid { display: flex; flex-wrap: wrap; gap: 40px; }
.rcp-footer__col { flex: 1 1 calc((100% / var(--rcp-foot-cols, 4)) - 40px); min-width: 200px; }
.rcp-footer .widget { background: transparent; border: none; padding: 0; color: var(--rcp-footer-tx); }
.rcp-footer .widget + .widget { margin-top: 28px; }
.rcp-footer .widget-title { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .01em; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.14); }
.rcp-footer a { color: var(--rcp-footer-tx); }
.rcp-footer a:hover { color: #fff; }
/* Listas de widgets (categorias, arquivos, páginas, posts recentes…) */
.rcp-footer .widget ul { list-style: none; margin: 0; padding: 0; }
.rcp-footer .widget ul li {
	border-bottom: 1px solid rgba(255,255,255,.08);
	padding: 0;
}
.rcp-footer .widget ul li:last-child { border-bottom: 0; }
.rcp-footer .widget ul li a {
	display: block;
	padding: 9px 0;
	transition: color .2s var(--rcp-ease), padding-left .2s var(--rcp-ease);
}
.rcp-footer .widget ul li a:hover { color: #fff; padding-left: 6px; }
.rcp-footer .widget ul li a:focus-visible { outline: 2px solid var(--rcp-primary); outline-offset: 2px; border-radius: 4px; }
.rcp-footer .widget ul ul { margin-top: 4px; padding-left: 14px; }
/* Contadores (ex.: "(3)") e selects (arquivos/categorias dropdown) */
.rcp-footer .widget ul li .count,
.rcp-footer .widget ul li .post-date { color: rgba(255,255,255,.5); font-size: 12px; }
.rcp-footer .widget select { width: 100%; max-width: 100%; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: var(--rcp-footer-tx); }
.rcp-footer .widget p { color: var(--rcp-footer-tx); }
.rcp-footer__bar { padding-block: 24px; }
.rcp-footer__bar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.rcp-footer__name { font-weight: 800; font-size: 18px; color: #fff; }
.rcp-footer__brand .rcp-site-title { font-size: 20px; margin: 0; }
.rcp-footer__brand .rcp-site-title a { color: #fff; }
.rcp-footer__brand .rcp-site-title a:hover { color: var(--rcp-primary); }
.rcp-footer-menu { display: flex; flex-wrap: wrap; gap: 18px; }
.rcp-footer-menu a { font-weight: 600; }
.rcp-footer__copy { font-size: 14px; opacity: .8; }

/* Rodapé configurável (colunas institucionais) */
.rcp-footer-links { padding-block: 52px 40px; border-bottom: 1px solid rgba(255,255,255,.08); }
.rcp-footer-links__container { display: flex; flex-wrap: wrap; gap: 40px; }
.rcp-footer-links__column { flex: 1 1 200px; min-width: 180px; }
.rcp-footer-links__title { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .01em; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.14); }
.rcp-footer-links__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rcp-footer-links__link {
	position: relative;
	display: block;
	padding: 9px 12px;
	border-radius: 6px;
	color: var(--rcp-footer-tx);
	overflow: hidden;
	transition: transform .22s var(--rcp-ease), background .22s var(--rcp-ease), color .22s var(--rcp-ease);
}
.rcp-footer-links__link > span { position: relative; z-index: 1; }
.rcp-footer-links__link::after {
	content: "";
	position: absolute; inset: 0; z-index: 0;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,.18), transparent);
	transform: translateX(-120%);
	transition: transform .5s var(--rcp-ease);
}
.rcp-footer-links__link:hover {
	color: #fff;
	transform: translateX(5px);
	background: linear-gradient(120deg, var(--rcp-primary), var(--rcp-primary-dk));
}
.rcp-footer-links__link:hover::after { transform: translateX(120%); }
.rcp-footer-links__link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

@media (max-width: 600px) {
	.rcp-footer-links__container { gap: 28px; }
	.rcp-footer-links__column { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.rcp-footer-links__link { transition: background .01ms, color .01ms; }
	.rcp-footer-links__link:hover { transform: none; }
	.rcp-footer-links__link::after { display: none; }
}

/* =========================================================================
   COMENTÁRIOS
   ========================================================================= */
.rcp-comments { margin: 48px 0; }
.rcp-comments__title { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.rcp-comments__title .rcp-icon { color: var(--rcp-primary); }
.rcp-comments__list { display: flex; flex-direction: column; gap: 20px; }
.rcp-comments__list ol.children { margin-top: 20px; padding-left: 28px; display: flex; flex-direction: column; gap: 20px; }
.rcp-comments .comment-body {
	display: flex; flex-direction: column; gap: 8px; padding: 20px;
	background: var(--rcp-surface); border-radius: var(--rcp-radius); border: 1px solid var(--rcp-border);
}
.rcp-comments .comment-author { display: flex; align-items: center; gap: 12px; }
.rcp-comments .comment-author .avatar { border-radius: 50%; }
.rcp-comments .comment-author .fn { font-weight: 700; font-style: normal; }
.rcp-comments .comment-metadata { font-size: 13px; color: var(--rcp-muted); }
.rcp-comments .reply a {
	display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--rcp-primary);
}
.rcp-comment-form { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
.rcp-comment-form .comment-form-comment,
.rcp-comment-form .comment-form-author,
.rcp-comment-form .comment-form-email,
.rcp-comment-form .comment-form-url { display: flex; flex-direction: column; gap: 6px; }
.rcp-comment-form input[type="text"],
.rcp-comment-form input[type="email"],
.rcp-comment-form input[type="url"],
.rcp-comment-form textarea {
	width: 100%; padding: 12px 16px; border: 2px solid var(--rcp-border); border-radius: var(--rcp-radius);
	background: var(--rcp-bg); transition: border-color .2s var(--rcp-ease), box-shadow .2s var(--rcp-ease);
}
.rcp-comment-form input:focus, .rcp-comment-form textarea:focus {
	outline: none; border-color: var(--rcp-primary); box-shadow: 0 0 0 4px rgba(224,83,31,.12);
}
.rcp-comment-form .submit {
	align-self: flex-start; background: var(--rcp-primary); color: #fff; border: none;
	padding: 14px 30px; border-radius: 999px; font-weight: 700; cursor: pointer; transition: all .25s var(--rcp-ease);
}
.rcp-comment-form .submit:hover { background: var(--rcp-primary-dk); transform: translateY(-2px); box-shadow: var(--rcp-shadow-md); }

/* =========================================================================
   404 / NO RESULTS
   ========================================================================= */
.rcp-404, .rcp-no-results {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px;
	padding: 60px 20px; max-width: 720px; margin-inline: auto;
}
.rcp-404__icon, .rcp-no-results__icon { color: var(--rcp-primary); opacity: .85; }
.rcp-404__code { font-size: clamp(56px, 12vw, 96px); line-height: 1; color: var(--rcp-primary); }
.rcp-404__title { font-size: var(--rcp-fs-h2); }
.rcp-404__text, .rcp-no-results p { color: var(--rcp-muted); max-width: 50ch; }
.rcp-404__search, .rcp-no-results__search { width: 100%; max-width: 480px; margin-block: 8px; }
.rcp-404__recent { width: 100%; margin-top: 40px; text-align: left; }

/* =========================================================================
   BACK TO TOP + PROGRESSO DE LEITURA
   ========================================================================= */
.rcp-back-to-top {
	position: fixed; right: 24px; bottom: 24px; z-index: 300;
	width: 50px; height: 50px; border-radius: 50%; border: none; cursor: pointer;
	background: var(--rcp-primary); color: #fff; box-shadow: var(--rcp-shadow-lg);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transform: translateY(20px) scale(.8); pointer-events: none;
	transition: opacity .3s var(--rcp-ease), transform .3s var(--rcp-ease), background .2s;
}
.rcp-back-to-top.is-visible { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.rcp-back-to-top:hover { background: var(--rcp-primary-dk); transform: translateY(-3px) scale(1.05); }

.rcp-read-progress {
	position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 350; background: transparent; pointer-events: none;
}
.rcp-read-progress__bar {
	display: block; height: 100%; width: 0;
	background: linear-gradient(90deg, var(--rcp-primary), var(--rcp-accent)); transition: width .1s linear;
}
body:not(.single) .rcp-read-progress { display: none; }

/* =========================================================================
   ANIMAÇÕES DE SCROLL (reveal) + PARALLAX
   ========================================================================= */
.rcp-anim-on .rcp-reveal {
	opacity: 0; transform: translateY(28px);
	transition: opacity .7s var(--rcp-ease), transform .7s var(--rcp-ease);
	will-change: opacity, transform;
}
.rcp-anim-on .rcp-reveal.is-visible { opacity: 1; transform: translateY(0); }
.rcp-anim-on .rcp-posts .rcp-card { transition-delay: calc(var(--rcp-i, 0) * 60ms); }

@media (prefers-reduced-motion: reduce) {
	.rcp-anim-on .rcp-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.rcp-card, .rcp-card__img { transition: none !important; }
}

/* =========================================================================
   DARK MODE
   As cores (variáveis) de body.rcp-dark vêm do Customizer (inc/customizer.php),
   injetadas no <head>. Aqui só ficam ajustes que não são variáveis de cor.
   ========================================================================= */
body.rcp-dark .rcp-card__badge { background: rgba(0,0,0,.55); color: #fff; }
.rcp-dark .rcp-theme-toggle__sun { display: none; }
.rcp-dark .rcp-theme-toggle__moon { display: inline-flex; }

/* =========================================================================
   COLUNAS CONFIGURÁVEIS (blog/arquivos) — usa --rcp-blog-cols do Customizer
   ========================================================================= */
.rcp-posts--cols > .rcp-card {
	flex: 1 1 calc(100% / var(--rcp-blog-cols, 2) - var(--rcp-gap));
	max-width: calc(100% / var(--rcp-blog-cols, 2) - var(--rcp-gap));
}

/* =========================================================================
   FILTROS POR CATEGORIA (topo do blog/arquivos)
   ========================================================================= */
.rcp-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.rcp-filter {
	display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px;
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); color: var(--rcp-text);
	font-weight: 600; font-size: 14px; transition: all .2s var(--rcp-ease);
}
.rcp-filter:hover { border-color: var(--rcp-primary); color: var(--rcp-primary); transform: translateY(-2px); }
.rcp-filter.is-active { background: var(--rcp-primary); color: #fff; border-color: var(--rcp-primary); }
.rcp-filter__count {
	display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px;
	padding: 0 6px; font-size: 12px; border-radius: 999px; background: var(--rcp-surface); color: var(--rcp-muted);
}
.rcp-filter.is-active .rcp-filter__count { background: rgba(255,255,255,.22); color: #fff; }

/* =========================================================================
   DESCRIÇÃO DA CATEGORIA (abaixo dos posts)
   ========================================================================= */
.rcp-archive-about {
	margin: 48px 0 8px; padding: 32px; background: var(--rcp-surface);
	border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); position: relative; overflow: hidden;
}
.rcp-archive-about::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
	background: linear-gradient(180deg, var(--rcp-primary), var(--rcp-accent));
}
.rcp-archive-about__title { display: flex; align-items: center; gap: 10px; font-size: var(--rcp-fs-h3); margin-bottom: 14px; }
.rcp-archive-about__title .rcp-icon { color: var(--rcp-primary); }
.rcp-archive-about__text { color: var(--rcp-muted); }

/* =========================================================================
   REDES SOCIAIS (locais personalizáveis)
   ========================================================================= */
.rcp-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rcp-social__link {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
	border-radius: 50%; border: 1px solid var(--rcp-border); background: var(--rcp-bg); color: var(--rcp-muted);
	transition: all .25s var(--rcp-ease);
}
.rcp-social__link:hover { color: #fff; background: var(--rcp-primary); border-color: var(--rcp-primary); transform: translateY(-3px); }
.rcp-social--header { margin-right: 6px; }
.rcp-social--header .rcp-social__link { width: 38px; height: 38px; border-color: transparent; background: var(--rcp-surface); }
.rcp-social--footer { justify-content: center; }
.rcp-social--footer .rcp-social__link { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: var(--rcp-footer-tx); }
.rcp-social--footer .rcp-social__link:hover { background: var(--rcp-primary); border-color: var(--rcp-primary); color: #fff; }
.rcp-social--post, .rcp-social--blog {
	justify-content: center; margin: 32px 0 8px; padding: 20px; background: var(--rcp-surface); border-radius: var(--rcp-radius);
}
.rcp-social--blog { margin-top: 48px; }

@media (max-width: 860px) {
	.rcp-social--header { display: none; } /* economiza espaço no mobile */
}

/* =========================================================================
   HERO DO AUTOR (página personalizada)
   ========================================================================= */
.rcp-author-hero {
	display: flex; align-items: center; gap: 32px; margin-bottom: 44px; padding: 36px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--rcp-primary) 10%, var(--rcp-surface)), var(--rcp-surface));
	border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius-lg);
}
.rcp-author-hero__avatar { flex: 0 0 auto; }
.rcp-author-hero__img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; box-shadow: var(--rcp-shadow-md); border: 4px solid var(--rcp-bg); }
.rcp-author-hero__body { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.rcp-author-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--rcp-primary); }
.rcp-author-hero__name { font-size: var(--rcp-fs-h1); }
.rcp-author-hero__job { font-size: 15px; font-weight: 600; color: var(--rcp-muted); }
.rcp-author-hero__bio { color: var(--rcp-muted); max-width: 70ch; }
.rcp-social--author { margin-top: 10px; }

@media (max-width: 700px) {
	.rcp-author-hero { flex-direction: column; text-align: center; align-items: center; padding: 28px; }
	.rcp-social--author { justify-content: center; }
}

/* =========================================================================
   DICIONÁRIO GASTRONÔMICO (Glossário)
   ========================================================================= */
/* Termo auto-linkado no conteúdo + tooltip (CSS puro via data-rcp-tip) */
.rcp-gloss-link {
	position: relative; color: var(--rcp-accent); text-decoration: underline;
	text-decoration-style: dotted; text-underline-offset: 3px; cursor: help; font-weight: 600;
}
.rcp-gloss-link:hover { color: var(--rcp-primary); }
.rcp-gloss-link[data-rcp-tip]::after {
	content: attr(data-rcp-tip);
	position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%) translateY(6px);
	width: max-content; max-width: 280px; padding: 10px 14px; z-index: 60;
	background: var(--rcp-text); color: #fff; font-size: 13px; font-weight: 400; line-height: 1.5;
	border-radius: var(--rcp-radius-sm); box-shadow: var(--rcp-shadow-lg); text-decoration: none;
	opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s var(--rcp-ease), transform .2s var(--rcp-ease);
}
.rcp-gloss-link[data-rcp-tip]::before {
	content: ""; position: absolute; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%);
	border: 6px solid transparent; border-top-color: var(--rcp-text); z-index: 60;
	opacity: 0; visibility: hidden; transition: opacity .2s var(--rcp-ease);
}
.rcp-gloss-link[data-rcp-tip]:hover::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.rcp-gloss-link[data-rcp-tip]:hover::before { opacity: 1; visibility: visible; }

/* Navegação A-Z */
.rcp-az-nav {
	display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; margin: 0 0 36px;
	padding: 16px 5px; background: var(--rcp-surface); border-radius: var(--rcp-radius); position: sticky;
	top: calc(var(--rcp-header-h) + 8px); z-index: 40;
}
.rcp-az-nav__link {
	display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
	border-radius: var(--rcp-radius-sm); font-weight: 800; color: var(--rcp-text); background: var(--rcp-bg);
	border: 1px solid var(--rcp-border); transition: all .2s var(--rcp-ease);
}
.rcp-az-nav__link:hover { background: var(--rcp-primary); color: #fff; border-color: var(--rcp-primary); transform: translateY(-2px); }
.rcp-az-nav__link.is-empty { opacity: .35; pointer-events: none; background: transparent; border-color: transparent; }

.rcp-glossary-index { display: flex; flex-direction: column; gap: 40px; }
.rcp-glossary-group { display: flex; flex-direction: column; gap: 16px; scroll-margin-top: calc(var(--rcp-header-h) + 80px); }
.rcp-glossary-group__letter {
	font-size: var(--rcp-fs-h1); color: var(--rcp-primary); line-height: 1;
	padding-bottom: 10px; border-bottom: 3px solid var(--rcp-surface);
}
.rcp-glossary-group__list { display: flex; flex-wrap: wrap; gap: 16px; }
.rcp-glossary-card {
	flex: 1 1 calc(50% - 16px); max-width: calc(50% - 16px);
	display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; position: relative;
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	box-shadow: var(--rcp-shadow-sm); transition: all .25s var(--rcp-ease);
}
.rcp-glossary-card:hover { transform: translateY(-4px); border-color: var(--rcp-primary); box-shadow: var(--rcp-shadow-md); }
.rcp-glossary-card__term { font-weight: 800; font-size: 17px; color: var(--rcp-text); }
.rcp-glossary-card__def { font-size: 14px; color: var(--rcp-muted); }
.rcp-glossary-card__arrow {
	position: absolute; top: 18px; right: 18px; color: var(--rcp-primary); opacity: 0;
	transform: translateX(-6px); transition: all .25s var(--rcp-ease);
}
.rcp-glossary-card:hover .rcp-glossary-card__arrow { opacity: 1; transform: translateX(0); }

/* Verbete individual */
.rcp-verbete__header { margin-bottom: 24px; }
.rcp-verbete__eyebrow {
	display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .05em; color: var(--rcp-accent); margin-bottom: 12px;
}
.rcp-verbete__title { font-size: var(--rcp-fs-h1); margin-bottom: 14px; }
.rcp-verbete__short {
	font-size: 19px; color: var(--rcp-text); line-height: 1.55; padding: 16px 20px;
	background: var(--rcp-surface); border-left: 4px solid var(--rcp-accent); border-radius: 0 var(--rcp-radius) var(--rcp-radius) 0;
}
.rcp-verbete__media { margin: 24px 0; border-radius: var(--rcp-radius); overflow: hidden; box-shadow: var(--rcp-shadow-md); }
.rcp-verbete__related { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--rcp-border); }
.rcp-verbete__related-list { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.rcp-verbete__all { margin-top: 8px; }

@media (max-width: 560px) {
	.rcp-glossary-card { flex: 1 1 100%; max-width: 100%; }
}

/* =========================================================================
   FAQ (accordion automático)
   ========================================================================= */
.rcp-faq { display: flex; flex-direction: column; gap: 12px; margin: 28px 0; }
.rcp-faq__item { border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); overflow: hidden; background: var(--rcp-bg); }
/* O título original da pergunta (h2-h6) vira o wrapper do botão: a hierarquia
   semântica e as âncoras do índice continuam valendo. Dois níveis de classe para
   vencer as margens de título de .rcp-content. */
.rcp-faq .rcp-faq__h { margin: 0; font-size: inherit; line-height: inherit; font-weight: inherit; }
.rcp-faq__q {
	display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px;
	padding: 16px 20px; background: var(--rcp-surface); border: none; cursor: pointer;
	font-weight: 700; font-size: 16px; color: var(--rcp-text); text-align: left; font-family: inherit;
}
.rcp-faq__q-text { flex: 1 1 auto; }
.rcp-faq__q:hover { color: var(--rcp-primary); }
.rcp-faq__icon { display: inline-flex; color: var(--rcp-primary); flex: 0 0 auto; transition: transform .3s var(--rcp-ease); }
.rcp-faq__q[aria-expanded="true"] .rcp-faq__icon { transform: rotate(180deg); }
.rcp-faq__a { max-height: 0; overflow: hidden; transition: max-height .35s var(--rcp-ease); }
.rcp-faq__a-inner { padding: 16px 20px; color: var(--rcp-muted); }
.rcp-faq__a-inner > *:first-child { margin-top: 0; }

/* =========================================================================
   WHATSAPP (botão flutuante + mini-chat)
   ========================================================================= */
.rcp-wa { position: fixed; right: 24px; bottom: 24px; z-index: 320; display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.rcp-wa__fab {
	width: 60px; height: 60px; border-radius: 50%; border: none; cursor: pointer; background: #25d366; color: #fff;
	box-shadow: var(--rcp-shadow-lg); display: flex; align-items: center; justify-content: center;
	transition: transform .25s var(--rcp-ease); order: 2;
}
.rcp-wa__fab:hover { transform: scale(1.08); }
.rcp-wa__panel {
	order: 1; width: 320px; max-width: calc(100vw - 48px); background: var(--rcp-bg); border-radius: var(--rcp-radius-lg);
	box-shadow: var(--rcp-shadow-lg); overflow: hidden; border: 1px solid var(--rcp-border);
	animation: rcp-slideup .25s var(--rcp-ease);
}
@keyframes rcp-slideup { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.rcp-wa__header { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #075e54; color: #fff; }
.rcp-wa__avatar { display: flex; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.2); align-items: center; justify-content: center; flex: 0 0 auto; }
.rcp-wa__id { display: flex; flex-direction: column; flex: 1; }
.rcp-wa__name { font-size: 15px; }
.rcp-wa__status { font-size: 12px; opacity: .85; }
.rcp-wa__close { background: none; border: none; color: #fff; cursor: pointer; display: flex; padding: 4px; }
.rcp-wa__body { padding: 18px 16px; display: flex; flex-direction: column; gap: 14px; background: #ece5dd; }
.rcp-wa__bubble { background: #fff; padding: 12px 14px; border-radius: 0 12px 12px 12px; box-shadow: var(--rcp-shadow-sm); color: #1f2328; font-size: 14px; }
.rcp-wa__terms { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: #2a2f35; background: rgba(255,255,255,.65); padding: 9px 11px; border-radius: var(--rcp-radius-sm); }
.rcp-wa__terms a { color: #075e54; font-weight: 700; text-decoration: underline; }
.rcp-wa__go { background: #25d366; }
.rcp-wa__go:hover { background: #1da851; color: #fff; }
.rcp-wa__go.is-disabled { opacity: .55; pointer-events: none; }
@media (max-width: 560px) { .rcp-wa { right: 16px; bottom: 16px; } }

/* Posição do WhatsApp à esquerda (classe no <body>): botão e mini-chat à esquerda. */
.rcp-wa-pos-left .rcp-wa { right: auto; left: 24px; align-items: flex-start; }
.rcp-wa-pos-left .rcp-wa__bubble { border-radius: 0 12px 12px 12px; }

/* Anti-sobreposição com o "voltar ao topo": quando o WhatsApp ocupa a direita,
   o botão de topo migra para a esquerda; quando o WhatsApp está à esquerda, o
   botão de topo permanece à direita (padrão). Assim nunca ficam um sobre o outro. */
.rcp-wa-on.rcp-wa-pos-right .rcp-back-to-top { right: auto; left: 24px; }

@media (max-width: 560px) {
	.rcp-wa-pos-left .rcp-wa { left: 16px; right: auto; }
	.rcp-wa-on.rcp-wa-pos-right .rcp-back-to-top { left: 16px; right: auto; }
}

/* Respeita as áreas seguras (notch) no mobile para os botões flutuantes. */
@media (max-width: 560px) {
	.rcp-wa { bottom: max(16px, env(safe-area-inset-bottom)); }
	.rcp-back-to-top { bottom: max(24px, env(safe-area-inset-bottom)); }
}

/* =========================================================================
   CENTRAL DE POLÍTICAS
   ========================================================================= */
.rcp-policies__intro { margin-bottom: 32px; max-width: 75ch; }
.rcp-policies-grid { display: flex; flex-wrap: wrap; gap: 18px; }
.rcp-policy-card {
	flex: 1 1 280px; display: flex; align-items: center; gap: 16px; padding: 22px; position: relative;
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	box-shadow: var(--rcp-shadow-sm); transition: all .25s var(--rcp-ease);
}
.rcp-policy-card:hover { transform: translateY(-4px); border-color: var(--rcp-primary); box-shadow: var(--rcp-shadow-md); }
.rcp-policy-card__icon {
	flex: 0 0 auto; width: 52px; height: 52px; border-radius: var(--rcp-radius); display: flex; align-items: center; justify-content: center;
	background: color-mix(in srgb, var(--rcp-primary) 12%, transparent); color: var(--rcp-primary);
}
.rcp-policy-card__body { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.rcp-policy-card__title { font-weight: 800; color: var(--rcp-text); }
.rcp-policy-card__desc { font-size: 13px; color: var(--rcp-muted); }
.rcp-policy-card__arrow { color: var(--rcp-primary); opacity: 0; transform: translateX(-6px); transition: all .25s var(--rcp-ease); }
.rcp-policy-card:hover .rcp-policy-card__arrow { opacity: 1; transform: none; }

/* =========================================================================
   PÁGINA DE CONTATO
   ========================================================================= */
.rcp-contact-cards { display: flex; flex-wrap: wrap; gap: 16px; margin: 28px 0; }
.rcp-contact-card { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; padding: 20px; background: var(--rcp-surface); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); }
.rcp-contact-card__icon { width: 46px; height: 46px; border-radius: var(--rcp-radius); background: var(--rcp-bg); display: flex; align-items: center; justify-content: center; color: var(--rcp-primary); box-shadow: var(--rcp-shadow-sm); }
.rcp-contact-card__label { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--rcp-muted); font-weight: 700; }
.rcp-contact-card__value { font-weight: 600; }
.rcp-contact-grid { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 24px; }
.rcp-contact-form-wrap, .rcp-contact-map-wrap { flex: 1 1 360px; min-width: 0; }
.rcp-contact-form { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.rcp-field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.rcp-field input, .rcp-field textarea { padding: 12px 14px; border: 2px solid var(--rcp-border); border-radius: var(--rcp-radius); background: var(--rcp-bg); transition: border-color .2s var(--rcp-ease), box-shadow .2s var(--rcp-ease); }
.rcp-field input:focus, .rcp-field textarea:focus { outline: none; border-color: var(--rcp-primary); box-shadow: 0 0 0 4px rgba(224,83,31,.12); }
.rcp-field-row { display: flex; gap: 16px; }
.rcp-field-row .rcp-field { flex: 1; }
.rcp-contact-form__feedback { padding: 12px 16px; border-radius: var(--rcp-radius-sm); font-weight: 600; }
.rcp-contact-form__feedback.is-ok { background: color-mix(in srgb, var(--rcp-accent) 16%, transparent); color: var(--rcp-accent); }
.rcp-contact-form__feedback.is-error { background: color-mix(in srgb, #e03131 18%, transparent); color: #e03131; }
.rcp-contact-map { position: relative; height: 100%; min-height: 360px; border-radius: var(--rcp-radius); overflow: hidden; box-shadow: var(--rcp-shadow-md); }
.rcp-contact-map iframe { position: absolute; inset: 0; }
.rcp-contact-map__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%); z-index: 2; color: var(--rcp-primary); filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); pointer-events: none; }
.rcp-contact-map__pin img { width: 48px; height: 48px; object-fit: contain; }
@media (max-width: 760px) { .rcp-field-row { flex-direction: column; } }

/* Estilos da página de Contato */
.rcp-contact--stacked { flex-direction: column; }
.rcp-contact--stacked .rcp-contact-map-wrap { order: -1; }
.rcp-contact--stacked .rcp-contact-map { min-height: 400px; }
.rcp-contact--compact .rcp-contact-map-wrap { display: none; }
.rcp-contact--compact .rcp-contact-form-wrap { max-width: 640px; margin-inline: auto; }

/* Estilos da Central de Políticas */
.rcp-policies--list .rcp-policy-card { flex: 1 1 100%; max-width: 100%; }
.rcp-policies--tiles .rcp-policy-card {
	flex: 1 1 calc(50% - 18px); max-width: calc(50% - 18px); flex-direction: column;
	align-items: flex-start; gap: 14px; padding: 32px;
}
.rcp-policies--tiles .rcp-policy-card__icon { width: 64px; height: 64px; }
.rcp-policies--tiles .rcp-policy-card__arrow { position: absolute; top: 28px; right: 28px; }
@media (max-width: 640px) { .rcp-policies--tiles .rcp-policy-card { flex-basis: 100%; max-width: 100%; } }

/* =========================================================================
   PRESETS (Home / Blog / Páginas)
   ========================================================================= */
/* Home: Revista (herói imersivo com sobreposição) */
.rcp-hero--magazine .rcp-hero__inner { display: block; position: relative; border-radius: var(--rcp-radius-lg); overflow: hidden; box-shadow: var(--rcp-shadow-lg); }
.rcp-hero--magazine .rcp-hero__media { width: 100%; aspect-ratio: 21 / 9; border-radius: 0; box-shadow: none; }
.rcp-hero--magazine .rcp-hero__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(20px, 4vw, 44px); background: linear-gradient(transparent, rgba(0,0,0,.78)); }
.rcp-hero--magazine .rcp-hero__title a, .rcp-hero--magazine .rcp-hero__excerpt { color: #fff; }
.rcp-hero--magazine .rcp-hero__excerpt { opacity: .92; }
.rcp-hero--magazine .rcp-meta-item, .rcp-hero--magazine .rcp-author-link { color: rgba(255,255,255,.9); }
/* Home: Vídeo (play maior) */
.rcp-hero--video .rcp-hero__play { transform: scale(1.2); }

/* Blog: Compacto */
body.rcp-blogpreset-compact { --rcp-gap: 16px; }
body.rcp-blogpreset-compact .rcp-card__body { padding: 14px 16px; gap: 6px; }
body.rcp-blogpreset-compact .rcp-card__excerpt { display: none; }
body.rcp-blogpreset-compact .rcp-card__title { font-size: 16px; }
/* Blog: Editorial */
body.rcp-blogpreset-editorial .rcp-card__title { font-size: 21px; }
body.rcp-blogpreset-editorial .rcp-card__body { padding: 22px 24px; }
/* Blog: Revista (primeiro card em destaque) */
body.rcp-blogpreset-magazine .rcp-posts > .rcp-card:first-child { flex: 1 1 100%; max-width: 100%; }
body.rcp-blogpreset-magazine .rcp-posts > .rcp-card:first-child .rcp-card__media { aspect-ratio: 21 / 9; }
body.rcp-blogpreset-magazine .rcp-posts > .rcp-card:first-child .rcp-card__title { font-size: 24px; }

/* Cabeçalho editorial das páginas (presets sem herói) */
.rcp-page__header--editorial { margin: 8px 0 28px; }
.rcp-page__header--editorial .rcp-page__title { font-size: var(--rcp-fs-h1); line-height: 1.15; }
.rcp-page__lead { margin-top: 12px; font-size: 19px; color: var(--rcp-muted); max-width: 70ch; }
.rcp-page__rule { display: block; width: 72px; height: 5px; margin-top: 18px; border-radius: 5px; background: linear-gradient(90deg, var(--rcp-primary), var(--rcp-accent)); }
.rcp-page__media { margin: 0 0 32px; border-radius: var(--rcp-radius-lg); overflow: hidden; box-shadow: var(--rcp-shadow-md); }
.rcp-page__img { width: 100%; height: auto; display: block; transition: transform .6s var(--rcp-ease); }
.rcp-anim-on .rcp-page__media:hover .rcp-page__img { transform: scale(1.04); }

/* Páginas: Leitura / Amplo */
body.rcp-pagepreset-reading .rcp-page .rcp-content,
body.rcp-pagepreset-reading .rcp-page__header { max-width: 760px; margin-inline: auto; }
body.rcp-pagepreset-reading .rcp-content { font-size: 18px; }
body.rcp-pagepreset-wide .rcp-primary { max-width: 100%; }

/* Páginas: Herói com imagem de fundo (primeira dobra) */
.rcp-page-hero {
	position: relative; display: flex; align-items: center; justify-content: center;
	min-height: var(--rcp-hero-h, 80vh); overflow: hidden; text-align: center; isolation: isolate;
}
.rcp-page-hero__bg {
	position: absolute; inset: -8%; z-index: 0; background-size: cover; background-position: center;
	will-change: transform; animation: rcp-hero-in 1.1s var(--rcp-ease) both;
}
.rcp-page-hero--noimg { background: linear-gradient(135deg, var(--rcp-primary), var(--rcp-primary-dk)); }
.rcp-page-hero::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
	background: var(--rcp-hero-ov, #0d0f13); opacity: var(--rcp-hero-op, .5);
}
.rcp-page-hero__inner {
	position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 14px;
	padding-block: 48px; color: #fff;
}
.rcp-page-hero__title { color: #fff; font-size: var(--rcp-fs-h1); text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.rcp-page-hero__excerpt { color: rgba(255,255,255,.92); max-width: 60ch; font-size: 18px; text-shadow: 0 1px 10px rgba(0,0,0,.3); }
@keyframes rcp-hero-in { from { transform: scale(1.12); opacity: .4; } to { transform: scale(1); opacity: 1; } }
.rcp-pagepreset-hero .rcp-page__content { padding-top: 8px; }

/* Páginas: Card (conteúdo em caixa) */
body.rcp-pagepreset-boxed .rcp-page__content {
	background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius-lg);
	padding: clamp(24px, 4vw, 44px); box-shadow: var(--rcp-shadow-md); margin-top: 8px;
}

/* =========================================================================
   HOME INSTITUCIONAL (portal)
   ========================================================================= */
.rcp-home--portal .rcp-section { margin-block: 56px; }
.rcp-section__head--center { text-align: center; align-items: center; display: flex; flex-direction: column; }
.rcp-section__eyebrow {
	display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-transform: uppercase;
	letter-spacing: .08em; font-size: 12px; color: var(--rcp-primary); margin-bottom: 8px;
}
.rcp-section__head--center .rcp-section__title::after { margin-inline: auto; }

/* Apresentação (hero institucional, full-bleed) */
.rcp-phero {
	position: relative; display: flex; align-items: center; justify-content: center; isolation: isolate;
	min-height: clamp(480px, 72vh, 760px); overflow: hidden; text-align: center; margin-bottom: 8px;
}
.rcp-phero__bg { position: absolute; inset: -8%; z-index: 0; background-size: cover; background-position: center; will-change: transform; animation: rcp-hero-in 1.1s var(--rcp-ease) both; }
.rcp-phero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(135deg, var(--rcp-primary-dk), #1a1410); }
.rcp-phero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--rcp-hero-ov, #0d0f13); opacity: var(--rcp-hero-op, .6); }
.rcp-phero__inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 18px; padding-block: 64px; color: #fff; }
.rcp-phero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px;
	background: rgba(255,255,255,.14); backdrop-filter: blur(6px); font-weight: 700; font-size: 13px;
	text-transform: uppercase; letter-spacing: .06em;
}
.rcp-phero__title { color: #fff; font-size: clamp(28px, 4.6vw, 44px); line-height: 1.1; max-width: 16ch; text-shadow: 0 3px 24px rgba(0,0,0,.4); }
.rcp-phero__lead { color: rgba(255,255,255,.92); font-size: clamp(16px, 1.4vw, 20px); max-width: 60ch; }
.rcp-phero__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 4px; }
.rcp-btn--glass { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.4); backdrop-filter: blur(6px); }
.rcp-btn--glass:hover { background: rgba(255,255,255,.22); color: #fff; transform: translateY(-2px); }
.rcp-phero__search { width: 100%; max-width: 560px; margin-top: 8px; }

/* Silos */
.rcp-silos-grid { display: flex; flex-wrap: wrap; gap: var(--rcp-gap); }
.rcp-silo-card {
	flex: 1 1 calc(25% - var(--rcp-gap)); min-width: 200px; position: relative; display: flex; flex-direction: column; gap: 8px;
	padding: 26px 22px; background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius-lg);
	box-shadow: var(--rcp-shadow-sm); color: var(--rcp-text); transition: transform .3s var(--rcp-ease), box-shadow .3s var(--rcp-ease), border-color .3s var(--rcp-ease);
}
.rcp-anim-on .rcp-silo-card { transition-delay: calc(var(--rcp-i, 0) * 50ms); }
.rcp-silo-card:hover { transform: translateY(-6px); box-shadow: var(--rcp-shadow-lg); border-color: transparent; }
.rcp-silo-card__icon {
	display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: var(--rcp-radius);
	background: linear-gradient(135deg, color-mix(in srgb, var(--rcp-primary) 18%, transparent), color-mix(in srgb, var(--rcp-accent) 18%, transparent));
	color: var(--rcp-primary);
}
.rcp-silo-card__name { font-weight: 800; font-size: 19px; }
.rcp-silo-card__tag { color: var(--rcp-muted); font-size: 14px; flex: 1; }
.rcp-silo-card__go { position: absolute; top: 24px; right: 22px; color: var(--rcp-primary); opacity: 0; transform: translateX(-6px); transition: all .25s var(--rcp-ease); }
.rcp-silo-card:hover .rcp-silo-card__go { opacity: 1; transform: none; }

/* Confiança / EEAT */
.rcp-trust-grid { display: flex; flex-wrap: wrap; gap: var(--rcp-gap); }
.rcp-trust-card { flex: 1 1 calc(25% - var(--rcp-gap)); min-width: 210px; display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; background: var(--rcp-surface); border-radius: var(--rcp-radius-lg); text-align: left; }
.rcp-trust-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--rcp-bg); color: var(--rcp-primary); box-shadow: var(--rcp-shadow-sm); }
.rcp-trust-card__title { font-size: 17px; }
.rcp-trust-card__text { color: var(--rcp-muted); font-size: 14px; }

/* Passos */
.rcp-steps-grid { display: flex; flex-wrap: wrap; gap: var(--rcp-gap); counter-reset: step; }
.rcp-step { flex: 1 1 calc(33.333% - var(--rcp-gap)); min-width: 240px; position: relative; padding: 28px 26px 28px 30px; background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius-lg); overflow: hidden; }
.rcp-step__num { font-size: 44px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--rcp-primary) 55%, transparent); display: block; margin-bottom: 8px; }
.rcp-step__title { font-size: 18px; margin-bottom: 6px; }
.rcp-step__text { color: var(--rcp-muted); font-size: 15px; }
.rcp-step::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--rcp-primary), var(--rcp-accent)); }

/* Faixa de CTA (glossário) */
.rcp-cta-band {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
	padding: clamp(24px, 4vw, 40px); margin-block: 56px; border-radius: var(--rcp-radius-lg);
	background: linear-gradient(120deg, color-mix(in srgb, var(--rcp-primary) 12%, var(--rcp-surface)), var(--rcp-surface));
	border: 1px solid var(--rcp-border);
}
.rcp-cta-band__body { display: flex; align-items: center; gap: 18px; }
.rcp-cta-band__icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: var(--rcp-radius); background: var(--rcp-bg); color: var(--rcp-primary); box-shadow: var(--rcp-shadow-sm); flex: 0 0 auto; }
.rcp-cta-band__title { font-size: var(--rcp-fs-h3); }
.rcp-cta-band__text { color: var(--rcp-muted); max-width: 60ch; }

/* Rede de Links (rodapé) — grade de atalhos configurável */
.rcp-network { padding-block: 48px 36px; border-bottom: 1px solid rgba(255,255,255,.08); }
.rcp-network__head { text-align: center; margin-bottom: 28px; }
.rcp-network__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; color: var(--rcp-primary); }
.rcp-network__title { color: #fff; font-size: var(--rcp-fs-h3); margin-top: 8px; }
.rcp-network__grid { display: flex; flex-wrap: wrap; gap: 14px; }
.rcp-network__item { flex: 1 1 calc(33.333% - 14px); min-width: 220px; }
.rcp-network__item a {
	display: flex; align-items: center; gap: 11px; padding: 14px 16px; border-radius: var(--rcp-radius);
	background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: var(--rcp-footer-tx);
	transition: all .25s var(--rcp-ease);
}
.rcp-network__item a:hover { background: rgba(255,255,255,.1); border-color: var(--rcp-primary); transform: translateY(-3px); color: #fff; }
.rcp-network__item--main a { background: color-mix(in srgb, var(--rcp-primary) 22%, transparent); border-color: color-mix(in srgb, var(--rcp-primary) 40%, transparent); }
.rcp-network__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: var(--rcp-radius-sm); background: rgba(255,255,255,.08); color: #fff; flex: 0 0 auto; }
.rcp-network__name { display: block; font-weight: 700; color: #fff; }
.rcp-network__tag { display: block; font-size: 12px; opacity: .75; }

@media (max-width: 980px) {
	.rcp-silo-card, .rcp-trust-card { flex-basis: calc(50% - var(--rcp-gap)); }
	.rcp-network__item { flex-basis: calc(50% - 14px); }
}
@media (max-width: 560px) {
	.rcp-silo-card, .rcp-trust-card, .rcp-step { flex-basis: 100%; }
	.rcp-network__item { flex-basis: 100%; }
	.rcp-cta-band { flex-direction: column; align-items: flex-start; }
}

/* =========================================================================
   HOME NARRATIVA — leitura confortável (alvo WCAG AAA)
   ========================================================================= */
.rcp-home--story .rcp-section { margin-block: 56px; }

/* Blocos de texto: alto contraste, medida e entrelinha generosas */
.rcp-prose { max-width: 68ch; margin-inline: auto; }
.rcp-prose h2 { font-size: var(--rcp-fs-h2); margin-bottom: 16px; text-align: center; }
.rcp-prose p { font-size: clamp(17px, 1.15vw, 19px); line-height: 1.85; color: var(--rcp-text); }
.rcp-prose p + p { margin-top: 16px; }
.rcp-prose__highlight { font-weight: 700; font-size: clamp(18px, 1.4vw, 21px); color: var(--rcp-primary-dk); }
.rcp-center { text-align: center; }
.rcp-home--story .rcp-prose__highlight.rcp-center { max-width: 60ch; margin: 24px auto 0; }

/* Três frentes */
.rcp-pillars { display: flex; flex-wrap: wrap; gap: var(--rcp-gap); }
.rcp-pillar {
	flex: 1 1 calc(33.333% - var(--rcp-gap)); min-width: 240px; display: flex; flex-direction: column; align-items: center;
	gap: 12px; text-align: center; padding: 34px 26px; background: var(--rcp-bg); border: 1px solid var(--rcp-border);
	border-radius: var(--rcp-radius-lg); box-shadow: var(--rcp-shadow-sm); transition: transform .3s var(--rcp-ease), box-shadow .3s var(--rcp-ease);
}
.rcp-anim-on .rcp-pillar:hover { transform: translateY(-6px); box-shadow: var(--rcp-shadow-lg); }
.rcp-pillar__icon { display: inline-flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 50%; background: linear-gradient(135deg, color-mix(in srgb, var(--rcp-primary) 16%, transparent), color-mix(in srgb, var(--rcp-accent) 16%, transparent)); color: var(--rcp-primary); }
.rcp-pillar__title { font-size: 21px; }
.rcp-pillar__text { color: var(--rcp-muted); font-size: 15px; }

/* "Comida boa muda o momento" */
.rcp-changes { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 8px; }
.rcp-change { flex: 1 1 calc(33.333% - 14px); min-width: 240px; display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--rcp-surface); border-radius: var(--rcp-radius); }
.rcp-change p { font-size: 16px; color: var(--rcp-text); }
.rcp-change__icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--rcp-radius-sm); background: var(--rcp-bg); color: var(--rcp-primary); flex: 0 0 auto; box-shadow: var(--rcp-shadow-sm); }

/* Chips de "tipos de comida" */
.rcp-tags-row { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 6px 0 18px; padding: 0; list-style: none; }
.rcp-tagchip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: var(--rcp-surface); border: 1px solid var(--rcp-border); font-weight: 600; font-size: 14px; color: var(--rcp-text); }
.rcp-tagchip .rcp-icon { color: var(--rcp-accent); }

/* Nota de responsabilidade (EEAT/YMYL) */
.rcp-note { display: flex; gap: 16px; align-items: flex-start; max-width: 760px; margin: 24px auto 0; padding: 22px 24px; background: color-mix(in srgb, var(--rcp-accent) 8%, var(--rcp-surface)); border: 1px solid color-mix(in srgb, var(--rcp-accent) 30%, transparent); border-left: 5px solid var(--rcp-accent); border-radius: var(--rcp-radius); }
.rcp-note p { color: var(--rcp-text); font-size: 15px; line-height: 1.7; }
.rcp-note__icon { color: var(--rcp-accent); flex: 0 0 auto; }

/* Lista de técnicas */
.rcp-techlist { display: flex; flex-wrap: wrap; gap: 12px; max-width: 820px; margin: 20px auto 0; padding: 0; list-style: none; }
.rcp-techlist li { flex: 1 1 calc(50% - 12px); min-width: 240px; display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: var(--rcp-bg); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius); color: var(--rcp-text); font-weight: 600; }
.rcp-techlist .rcp-icon { color: var(--rcp-primary); flex: 0 0 auto; }

/* FAQ da home centralizada */
.rcp-faq--home { max-width: 820px; margin-inline: auto; }

/* CTA final */
.rcp-final-cta { text-align: center; padding: clamp(40px, 6vw, 76px) 24px; margin: 56px 0 8px; border-radius: var(--rcp-radius-lg); background: linear-gradient(135deg, var(--rcp-primary), var(--rcp-primary-dk)); color: #fff; }
.rcp-final-cta__title { color: #fff; font-size: var(--rcp-fs-h1); max-width: 22ch; margin: 0 auto 12px; }
.rcp-final-cta__text { color: rgba(255,255,255,.94); max-width: 60ch; margin: 0 auto 24px; font-size: 18px; }
.rcp-final-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.rcp-final-cta .rcp-btn--primary { background: #fff; color: var(--rcp-primary-dk); }
.rcp-final-cta .rcp-btn--primary:hover { background: #fff; transform: translateY(-2px); }
.rcp-final-cta .rcp-btn--ghost { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.rcp-final-cta .rcp-btn--ghost:hover { border-color: #fff; color: #fff; }

@media (max-width: 860px) {
	.rcp-pillar, .rcp-change, .rcp-techlist li { flex-basis: 100%; }
}

/* =========================================================================
   RESPONSIVO
   ========================================================================= */

/* Tablet */
@media (max-width: 1024px) {
	:root { --rcp-gap: 20px; }
	.rcp-content-wrap { gap: 32px; }
	.rcp-sidebar { flex-basis: 280px; }
	.rcp-posts > .rcp-card { flex: 1 1 calc(50% - var(--rcp-gap)); max-width: calc(50% - var(--rcp-gap)); }
}

/* Mobile: menu off-canvas, fontes menores, container 97% */
@media (max-width: 860px) {
	:root {
		--rcp-fs-h1: clamp(22px, 6vw, 27px);
		--rcp-fs-h2: clamp(20px, 5vw, 23px);
		--rcp-fs-h3: clamp(18px, 4.5vw, 20px);
		--rcp-header-h: 62px;
	}
	.rcp-container { width: var(--rcp-mobile-w, 97%); max-width: var(--rcp-mobile-w, 97%); }
	.rcp-primary-nav { display: none; }
	.rcp-menu-toggle { display: inline-flex; }
	.rcp-content-wrap { flex-direction: column; gap: 0; padding-block: 24px 48px; }
	.rcp-sidebar { flex-basis: auto; width: 100%; margin-top: 40px; }
	.rcp-sidebar__sticky { position: static; }
	.rcp-layout--sidebar-left { flex-direction: column; }
	body.rcp-menu-open { overflow: hidden; }
	body.rcp-menu-open .rcp-menu-toggle__open { display: none; }
	body.rcp-menu-open .rcp-menu-toggle__close { display: inline-flex; }
	.rcp-postnav .nav-links { flex-direction: column; }
	.rcp-author-box { flex-direction: column; align-items: flex-start; text-align: left; padding: 22px; }
	.rcp-share__label { flex-basis: 100%; margin-bottom: 8px; }
	.rcp-footer__bar-inner { flex-direction: column; text-align: center; }
}

/* Mobile pequeno: 1 coluna */
@media (max-width: 560px) {
	:root { --rcp-fs-base: 16px; }
	.rcp-posts > .rcp-card { flex: 1 1 100%; max-width: 100%; }
	.rcp-grid > * { flex-basis: 100%; }
	.rcp-quick-facts__item { flex-basis: calc(50% - 12px); }
	.rcp-icon-btn { width: 40px; height: 40px; }
	.rcp-topbar__tag { display: none; }
}

/* Telas largas: container fixo 1140px (não estoura) */
@media (min-width: 1200px) {
	.rcp-container { max-width: var(--rcp-container); }
}

/* =========================================================================
   MAPA DO SITE (HTML) — /mapa-do-site/
   ========================================================================= */
.rcp-htmlmap { padding-block: 40px 56px; }
.rcp-htmlmap__head { margin-bottom: 28px; }
.rcp-htmlmap__head h1 { font-size: var(--rcp-fs-h1); margin: 0 0 8px; }
.rcp-htmlmap__head p { color: var(--rcp-muted); margin: 0; }
.rcp-htmlmap__grid { display: grid; grid-template-columns: 1fr;; gap: 24px; }
.rcp-htmlmap__col { background: var(--rcp-surface); border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius-lg, 16px); padding: 20px 22px; }
.rcp-htmlmap__col h2 { font-size: 17px; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 2px solid var(--rcp-border); }
.rcp-htmlmap__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.rcp-htmlmap__col li a { display: block; padding: 7px 10px; border-radius: 8px; color: var(--rcp-text); text-decoration: none; transition: background .18s var(--rcp-ease), color .18s var(--rcp-ease), padding-left .18s var(--rcp-ease); }
.rcp-htmlmap__col li a:hover { background: color-mix(in srgb, var(--rcp-primary) 12%, transparent); color: var(--rcp-primary); padding-left: 14px; }
.rcp-htmlmap__col li a:focus-visible { outline: 2px solid var(--rcp-primary); outline-offset: 2px; }

/* =========================================================================
   NEWSLETTER (formulário no front-end) — claro/escuro via variáveis
   ========================================================================= */
.rcp-newsletter-box {
	max-width: 640px; margin: 28px auto; padding: 28px;
	background: var(--rcp-surface); border: 1px solid var(--rcp-border);
	border-radius: var(--rcp-radius-lg); box-shadow: var(--rcp-shadow-sm);
}
.rcp-newsletter-header { text-align: center; margin-bottom: 18px; }
.rcp-newsletter-title { margin: 0 0 6px; font-size: var(--rcp-fs-h3); line-height: 1.25; color: var(--rcp-text); }
.rcp-newsletter-text { margin: 0; color: var(--rcp-muted); font-size: 15px; line-height: 1.55; }
.rcp-newsletter-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rcp-newsletter-field { display: flex; flex-direction: column; gap: 6px; }
.rcp-newsletter-field label { font-size: 13px; font-weight: 600; color: var(--rcp-text); }
.rcp-newsletter-field input {
	width: 100%; padding: 12px 14px; font-size: 15px;
	color: var(--rcp-text); background: var(--rcp-bg);
	border: 1px solid var(--rcp-border); border-radius: var(--rcp-radius);
	transition: border-color .15s, box-shadow .15s;
}
.rcp-newsletter-field input::placeholder { color: var(--rcp-muted); }
.rcp-newsletter-field input:focus {
	outline: none; border-color: var(--rcp-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--rcp-primary) 22%, transparent);
}
.rcp-newsletter-consent {
	display: flex; align-items: flex-start; gap: 10px; margin: 16px 0;
	font-size: 13.5px; line-height: 1.5; color: var(--rcp-muted); cursor: pointer;
}
.rcp-newsletter-consent input[type="checkbox"] {
	flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--rcp-primary); cursor: pointer;
}
.rcp-newsletter-consent a { color: var(--rcp-primary); font-weight: 600; text-decoration: underline; }
.rcp-newsletter-submit { margin-top: 4px; }
.rcp-newsletter-submit .rcp-btn { width: 100%; justify-content: center; }
.rcp-newsletter-form.is-loading .rcp-btn { opacity: .7; cursor: progress; }

.rcp-newsletter-message {
	margin: 14px 0 0; padding: 12px 14px; border-radius: var(--rcp-radius);
	font-size: 14px; line-height: 1.5;
}
.rcp-newsletter-message.is-success {
	background: color-mix(in srgb, #1a7f37 14%, var(--rcp-bg));
	border: 1px solid color-mix(in srgb, #1a7f37 34%, transparent); color: #1a7f37;
}
.rcp-newsletter-message.is-error {
	background: color-mix(in srgb, #b32d2e 12%, var(--rcp-bg));
	border: 1px solid color-mix(in srgb, #b32d2e 34%, transparent); color: #b32d2e;
}
/* Honeypot: escondido visualmente, mas acessível a bots (não a leitores de tela). */
.rcp-newsletter-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 560px) {
	.rcp-newsletter-box { padding: 20px; margin: 20px auto; }
	.rcp-newsletter-fields { grid-template-columns: 1fr; }
}

/* =========================================================================
   CARDS RELACIONADOS ("Você também pode gostar") — título no máx. 4 linhas
   ========================================================================= */
.rcp-related .rcp-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rcp-related .rcp-card__title a { display: inline; }
.rcp-related .rcp-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
