/**
 * Componentes.
 *
 * Cada bloco desta folha corresponde a um componente do design system.
 * Nada aqui inventa cor ou tamanho: tudo vem dos tokens.
 */

/* ---------------------------------------------------------------------------
   Cabecalho
   --------------------------------------------------------------------------- */

.rt-header {
	position: sticky;
	top: 0;
	z-index: var(--rt-z-header);
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--line);
	transition: padding var(--rt-duration-base) var(--rt-ease),
		box-shadow var(--rt-duration-base) var(--rt-ease);
}

.rt-header.is-compact {
	box-shadow: var(--rt-shadow-sm);
}

.rt-header .wp-block-group {
	min-height: var(--rt-header-height);
}

.rt-header.is-compact .wp-block-group {
	min-height: var(--rt-header-height-compact);
}

/* Navegacao: sem sublinhado em repouso, sublinhado no hover e no foco. */
.rt-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--surface);
	padding: var(--wp--preset--spacing--lg);
}

.rt-header .wp-block-navigation__responsive-container-close,
.rt-header .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--ink);
}

/* Submenu com agrupamento legivel, nao uma lista solta. */
.rt-header .wp-block-navigation .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rt-radius-md);
	box-shadow: var(--rt-shadow-md);
	padding: var(--wp--preset--spacing--xxs);
	min-width: 16rem;
}

/* ---------------------------------------------------------------------------
   Botoes
   --------------------------------------------------------------------------- */

.rt-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	border: 1px solid transparent;
	border-radius: var(--rt-radius-control);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--rt-weight-medium);
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color var(--rt-duration-fast) var(--rt-ease),
		border-color var(--rt-duration-fast) var(--rt-ease),
		color var(--rt-duration-fast) var(--rt-ease);
}

.rt-button--primary {
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--inverse);
}

.rt-button--primary:hover,
.rt-button--primary:focus {
	background: var(--wp--preset--color--brand-strong);
	color: var(--wp--preset--color--inverse);
}

/* Secundario: contorno, mesma altura, sem virar link disfarcado. */
.wp-block-button.is-style-secundario .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
}

.wp-block-button.is-style-secundario .wp-block-button__link:hover,
.wp-block-button.is-style-secundario .wp-block-button__link:focus {
	background: var(--wp--preset--color--brand-soft);
	color: var(--wp--preset--color--brand-strong);
}

/* Terciario: acao discreta dentro de um bloco de texto. */
.wp-block-button.is-style-terciario .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--brand);
	padding-left: 0;
	padding-right: 0;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

/* Acao: laranja reservado a conversao. Texto grafite garante 5.8:1. */
.wp-block-button.is-style-acao .wp-block-button__link {
	background: var(--wp--preset--color--action);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-acao .wp-block-button__link:hover,
.wp-block-button.is-style-acao .wp-block-button__link:focus {
	background: var(--wp--preset--color--action-strong);
	color: var(--wp--preset--color--inverse);
}

/* ---------------------------------------------------------------------------
   Faixa escura e cartao
   --------------------------------------------------------------------------- */

.wp-block-group.is-style-faixa-escura {
	background: var(--wp--preset--color--surface-strong);
	color: var(--wp--preset--color--inverse);
}

.wp-block-group.is-style-faixa-escura :where(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--inverse);
}

.wp-block-group.is-style-faixa-escura a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--action);
}

.wp-block-group.is-style-cartao {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rt-radius-lg);
	padding: var(--wp--preset--spacing--lg);
}

/* ---------------------------------------------------------------------------
   Chapeu e lista verificada
   --------------------------------------------------------------------------- */

.wp-block-paragraph.is-style-kicker {
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--action-strong);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: var(--rt-weight-medium);
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.wp-block-list.is-style-checklist {
	list-style: none;
	padding-left: 0;
}

.wp-block-list.is-style-checklist li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0.6rem;
}

.wp-block-list.is-style-checklist li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 0.7rem;
	height: 0.35rem;
	border-left: 2px solid var(--wp--preset--color--action-strong);
	border-bottom: 2px solid var(--wp--preset--color--action-strong);
	transform: rotate(-45deg);
}

.wp-block-image.is-style-moldura img {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rt-radius-md);
}

/* ---------------------------------------------------------------------------
   Trilha de navegacao
   --------------------------------------------------------------------------- */

.rt-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

.rt-breadcrumb__item + .rt-breadcrumb__item::before {
	content: "/";
	margin-right: 0.5rem;
	color: var(--wp--preset--color--line-strong);
}

.rt-breadcrumb a {
	color: var(--wp--preset--color--ink-soft);
	text-decoration: none;
}

.rt-breadcrumb a:hover,
.rt-breadcrumb a:focus {
	color: var(--wp--preset--color--brand);
	text-decoration: underline;
}

.rt-breadcrumb [aria-current="page"] {
	color: var(--wp--preset--color--ink);
	font-weight: var(--rt-weight-medium);
}

/* ---------------------------------------------------------------------------
   Grade e cartoes de solucao
   --------------------------------------------------------------------------- */

.rt-solutions__group + .rt-solutions__group {
	margin-top: var(--wp--preset--spacing--xl);
}

.rt-solutions__head {
	margin-bottom: var(--wp--preset--spacing--md);
}

.rt-solutions__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--xxl);
}

.rt-solutions__title a {
	color: inherit;
	text-decoration: none;
}

.rt-solutions__title a:hover,
.rt-solutions__title a:focus {
	text-decoration: underline;
}

.rt-solutions__note {
	margin: 0.35rem 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.rt-solutions__grid {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	grid-template-columns: repeat(
		auto-fit,
		minmax(min(var(--rt-card-min), 100%), 1fr)
	);
}

@media (min-width: 60rem) {
	.rt-solutions__grid {
		grid-template-columns: repeat(var(--rt-columns), minmax(0, 1fr));
	}
}

.rt-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rt-radius-lg);
	transition: border-color var(--rt-duration-base) var(--rt-ease),
		box-shadow var(--rt-duration-base) var(--rt-ease);
}

.rt-card:hover,
.rt-card:focus-within {
	border-color: var(--wp--preset--color--line-strong);
	box-shadow: var(--rt-shadow-md);
}

.rt-card__media {
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--surface-muted);
}

.rt-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rt-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: var(--wp--preset--spacing--md);
}

.rt-card__meta {
	margin: 0;
	color: var(--wp--preset--color--action-strong);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: var(--rt-weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rt-card__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.25;
}

.rt-card__title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

/* O cartao inteiro vira alvo, sem tirar o link real do fluxo do teclado. */
.rt-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.rt-card {
	position: relative;
}

.rt-card__title a:hover,
.rt-card__title a:focus {
	color: var(--wp--preset--color--brand);
	text-decoration: underline;
}

.rt-card__text {
	margin: 0;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.6;
}

/* ---------------------------------------------------------------------------
   Hero de solucao
   --------------------------------------------------------------------------- */

/* Um bloco de imagem sem arquivo nao mostra nada, mas continua ocupando
   espaco: em um layout de duas colunas isso vira meia tela em branco. As tres
   regras abaixo fazem o layout se fechar sozinho enquanto a foto real nao
   existe — o que acontece muito durante a montagem do site. */

.wp-block-image:not(:has(img[src])) {
	display: none;
}

.wp-block-columns > .wp-block-column:has(> .wp-block-image:only-child):not(:has(img[src])) {
	display: none;
}

.wp-block-columns > .wp-block-column:not(:has(*)) {
	display: none;
}

/* ---------------------------------------------------------------------------
   Detalhes da solucao
   --------------------------------------------------------------------------- */

.rt-details__section + .rt-details__section {
	margin-top: var(--wp--preset--spacing--lg);
}

.rt-details__title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--xl);
}

.rt-details__lead {
	margin: 0;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.6;
}

.rt-details__list {
	margin: 0;
	padding-left: 1.25rem;
}

.rt-details__list li {
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--ink-soft);
}

.rt-details__list--check {
	list-style: none;
	padding-left: 0;
}

.rt-details__list--check li {
	position: relative;
	padding-left: 1.75rem;
}

.rt-details__list--check li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 0.7rem;
	height: 0.35rem;
	border-left: 2px solid var(--wp--preset--color--action-strong);
	border-bottom: 2px solid var(--wp--preset--color--action-strong);
	transform: rotate(-45deg);
}

.rt-details__docs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.5rem;
}

.rt-details__docs a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--surface-muted);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--rt-radius-sm);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.rt-details__docs a:hover,
.rt-details__docs a:focus {
	border-color: var(--wp--preset--color--brand);
	text-decoration: underline;
}

.rt-details__ext {
	flex-shrink: 0;
	padding: 0.15rem 0.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: 4px;
	color: var(--wp--preset--color--ink-muted);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
}

/* ---------------------------------------------------------------------------
   Relacionadas e unidades
   --------------------------------------------------------------------------- */

.rt-related__title,
.rt-units__title {
	margin: 0 0 var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--xxl);
}

.rt-units__grid {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
}

.rt-unit {
	padding: var(--wp--preset--spacing--md);
	background: var(--wp--preset--color--surface-muted);
	border-radius: var(--rt-radius-lg);
}

.rt-unit__name {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--lg);
}

.rt-unit__address {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--ink-soft);
	font-size: var(--wp--preset--font-size--sm);
}

.rt-unit__contacts {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	font-size: var(--wp--preset--font-size--sm);
}

.rt-unit__hours,
.rt-unit__map {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--ink-muted);
}

/* ---------------------------------------------------------------------------
   Formulario de cotacao
   --------------------------------------------------------------------------- */

.rt-form {
	padding: var(--wp--preset--spacing--lg);
	background: var(--wp--preset--color--surface-muted);
	border-radius: var(--rt-radius-lg);
}

.rt-form__title {
	margin: 0 0 0.5rem;
	font-size: var(--wp--preset--font-size--xxl);
}

.rt-form__lead {
	margin: 0 0 var(--wp--preset--spacing--md);
	color: var(--wp--preset--color--ink-soft);
}

.rt-form__subject {
	margin: 0 0 var(--wp--preset--spacing--sm);
	padding: 0.6rem 0.9rem;
	background: var(--wp--preset--color--brand-soft);
	border-radius: var(--rt-radius-sm);
	color: var(--wp--preset--color--brand);
	font-size: var(--wp--preset--font-size--sm);
}

.rt-form__grid {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}

.rt-form__field {
	margin: 0 0 var(--wp--preset--spacing--sm);
}

.rt-form__field label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: var(--rt-weight-medium);
}

.rt-form__field input,
.rt-form__field textarea {
	width: 100%;
	padding: 0.7rem 0.85rem;
	background: var(--wp--preset--color--surface);
	/* Borda em 3.44:1 contra o branco: criterio 1.4.11 do WCAG. */
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--rt-radius-input);
	font-size: var(--wp--preset--font-size--md);
}

.rt-form__field input:focus,
.rt-form__field textarea:focus {
	border-color: var(--wp--preset--color--brand);
}

.rt-form__field textarea {
	resize: vertical;
	min-height: 8rem;
}

.rt-form__req {
	color: var(--wp--preset--color--error);
}

.rt-form__hint {
	margin: -0.5rem 0 var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
}

.rt-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0 0 var(--wp--preset--spacing--md);
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.5;
}

.rt-form__consent input {
	flex-shrink: 0;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.15rem;
}

.rt-form__actions {
	margin: 0;
}

/* Campo-armadilha: fora da vista e fora do fluxo de teclado, sem display:none,
   que alguns robos detectam. */
.rt-form__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rt-form__feedback {
	margin: 0 0 var(--wp--preset--spacing--md);
	padding: 0.85rem 1rem;
	border-left: 4px solid;
	border-radius: var(--rt-radius-sm);
	font-size: var(--wp--preset--font-size--sm);
}

.rt-form__feedback--ok {
	background: #eef6f1;
	border-color: var(--wp--preset--color--success);
	color: var(--wp--preset--color--success);
}

.rt-form__feedback--erro {
	background: #fdeeed;
	border-color: var(--wp--preset--color--error);
	color: var(--wp--preset--color--error);
}

/* ---------------------------------------------------------------------------
   Rodape
   --------------------------------------------------------------------------- */

.rt-footer {
	background: var(--wp--preset--color--surface-strong);
	color: var(--wp--preset--color--inverse);
}

.rt-footer :where(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--inverse);
}

.rt-footer a {
	color: var(--wp--preset--color--inverse);
	text-decoration: none;
}

.rt-footer a:hover,
.rt-footer a:focus {
	color: var(--wp--preset--color--action);
	text-decoration: underline;
}

/* ---------------------------------------------------------------------------
   Estados vazios e aviso no editor
   --------------------------------------------------------------------------- */

.rt-placeholder {
	margin: 0;
	padding: var(--wp--preset--spacing--md);
	background: var(--wp--preset--color--surface-muted);
	border: 1px dashed var(--wp--preset--color--line-strong);
	border-radius: var(--rt-radius-sm);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--sm);
	text-align: center;
}

/* =========================================================================
   BARRA DE TOPO, NAVEGAÇÃO E RODAPÉ

   Espelham a estrutura do rocktron.net — mesmos canais, mesmas colunas —
   desenhados com os tokens do sistema: uma cor cromática, dois pesos, raio
   de 28px no que é botão, régua de 1px onde há limite.
   ========================================================================= */

/* --- Barra de topo -------------------------------------------------------- */

.rt-topo {
	background: var(--wp--preset--color--surface-strong);
	color: var(--wp--preset--color--surface);
}

.rt-topo__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--sm);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: 0.5rem clamp(1.25rem, 5vw, 2.5rem);
}

.rt-topo ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rt-topo a {
	color: var(--wp--preset--color--surface);
	opacity: 0.82;
	font-size: var(--rt-size-caption);
	text-decoration: none;
	transition: opacity var(--rt-duration-fast) var(--rt-ease);
}

.rt-topo a:hover { opacity: 1; }

.rt-topo a:focus-visible {
	outline: var(--rt-focus-width) solid var(--wp--preset--color--surface);
	outline-offset: var(--rt-focus-offset);
}

/* Abaixo desta medida a barra viraria uma segunda linha de menu, competindo
   com a navegação. Os mesmos canais seguem no rodapé. */
@media (max-width: 48rem) {
	.rt-topo { display: none; }
}

/* --- Navegação: itens "em breve" ----------------------------------------- */

/* A etiqueta é conteúdo gerado, não texto do link: quem usa leitor de tela
   ouve "Loja online", não "Loja online em breve" a cada tabulação. */
.rt-nav-breve > a::after {
	content: "em breve";
	margin-left: 0.4rem;
	padding: 0.1rem 0.45rem;
	border-radius: var(--rt-radius-pill);
	background: var(--wp--preset--color--surface-cool);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--rt-size-eyebrow);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-eyebrow);
	text-transform: uppercase;
	vertical-align: middle;
}

.rt-nav-todas > a {
	font-weight: var(--rt-weight-medium);
}

/* --- Rodapé --------------------------------------------------------------- */

.rt-footer {
	margin-top: clamp(3rem, 6vw, 5rem);
	background: var(--wp--preset--color--surface-strong);
	color: var(--wp--preset--color--surface);
}

.rt-rodape {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--lg);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 5vw, 2.5rem) var(--wp--preset--spacing--lg);
}

@media (min-width: 48rem) {
	.rt-rodape { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 68rem) {
	.rt-rodape {
		grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr;
		gap: var(--wp--preset--spacing--xl);
	}
}

.rt-rodape__nome {
	margin: 0;
	font-size: var(--rt-size-heading);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-heading);
}

.rt-rodape__lead {
	max-width: 40ch;
	margin: var(--wp--preset--spacing--sm) 0 0;
	color: var(--wp--preset--color--surface);
	opacity: 0.78;
	font-size: var(--rt-size-body-sm);
	line-height: var(--rt-leading-body);
}

.rt-rodape__selo {
	display: inline-block;
	margin: var(--wp--preset--spacing--md) 0 0;
	padding: 0.35rem 0.9rem;
	border-radius: var(--rt-radius-pill);
	background: rgba(255, 255, 255, 0.1);
	font-size: var(--rt-size-caption);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-eyebrow);
	text-transform: uppercase;
}

.rt-rodape__col h2,
.rt-rodape__sub {
	margin: 0 0 var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--action);
	font-size: var(--rt-size-caption);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-eyebrow);
	text-transform: uppercase;
}

/* .rt-rodape__col h2 e mais especifico que .rt-rodape__sub e zerava esta
   margem pelo atalho. Precisa do mesmo peso para valer. */
.rt-rodape__col .rt-rodape__sub { margin-top: var(--wp--preset--spacing--lg); }

.rt-rodape__col ul {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rt-rodape__col a {
	color: var(--wp--preset--color--surface);
	opacity: 0.8;
	font-size: var(--rt-size-body-sm);
	line-height: 1.35;
	text-decoration: none;
	transition: opacity var(--rt-duration-fast) var(--rt-ease);
}

.rt-rodape__col a:hover {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rt-rodape__col a:focus-visible,
.rt-rodape__fim a:focus-visible {
	outline: var(--rt-focus-width) solid var(--wp--preset--color--surface);
	outline-offset: var(--rt-focus-offset);
}

.rt-rodape__end {
	margin: 0 0 var(--wp--preset--spacing--sm);
	color: var(--wp--preset--color--surface);
	opacity: 0.78;
	font-size: var(--rt-size-body-sm);
	font-style: normal;
	line-height: 1.45;
}

.rt-rodape__end b {
	display: block;
	margin-bottom: 0.15rem;
	opacity: 1;
	font-weight: var(--rt-weight-medium);
}

/* --- Fecho ---------------------------------------------------------------- */

.rt-rodape__fim {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--md) clamp(1.25rem, 5vw, 2.5rem) clamp(2rem, 4vw, 3rem);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rt-rodape__fim p {
	margin: 0;
	opacity: 0.7;
	font-size: var(--rt-size-caption);
}

.rt-rodape__fim ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rt-rodape__fim a {
	color: var(--wp--preset--color--surface);
	opacity: 0.7;
	font-size: var(--rt-size-caption);
	text-decoration: none;
	transition: opacity var(--rt-duration-fast) var(--rt-ease);
}

.rt-rodape__fim a:hover { opacity: 1; }

/* --- Redes e WhatsApp no rodape ------------------------------------------ */

.rt-rodape__social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--md);
	margin: var(--wp--preset--spacing--md) 0 0;
	padding: 0;
	list-style: none;
}

.rt-rodape__social a {
	color: var(--wp--preset--color--surface);
	opacity: 0.8;
	font-size: var(--rt-size-body-sm);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding-bottom: 2px;
	transition: opacity var(--rt-duration-fast) var(--rt-ease), border-color var(--rt-duration-fast) var(--rt-ease);
}

.rt-rodape__social a:hover { opacity: 1; border-bottom-color: var(--wp--preset--color--action); }

.rt-rodape__social a:focus-visible {
	outline: var(--rt-focus-width) solid var(--wp--preset--color--surface);
	outline-offset: var(--rt-focus-offset);
}

.rt-rodape__wpp {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--md);
	margin-top: var(--wp--preset--spacing--lg);
	padding: var(--wp--preset--spacing--sm);
	border-radius: var(--rt-radius-card);
	background: rgba(255, 255, 255, 0.06);
}

.rt-rodape__wpp img {
	width: 5.5rem;
	height: auto;
	flex: none;
}

.rt-rodape__wpp p { display: grid; gap: 0.2rem; margin: 0; }

.rt-rodape__wpp b {
	color: var(--wp--preset--color--action);
	font-size: var(--rt-size-caption);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-eyebrow);
	text-transform: uppercase;
}

.rt-rodape__wpp a {
	color: var(--wp--preset--color--surface);
	font-size: var(--rt-size-body);
	font-weight: var(--rt-weight-medium);
	text-decoration: none;
}

.rt-rodape__wpp a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* --- A assinatura ---------------------------------------------------------

   Duas versões do mesmo logotipo: a grafite no cabeçalho, sobre claro, e a
   branca no rodapé, sobre a faixa escura. O azul e o laranja dos triângulos
   vêm do arquivo — não são pintados por CSS.
   ------------------------------------------------------------------------- */

.rt-header .wp-block-site-logo img {
	width: auto;
	height: 2.25rem;
}

/* Com o logotipo no ar, o nome do site em texto vira redundância ao lado dele. */
.rt-header .wp-block-site-logo + .wp-block-site-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* footer.png e o simbolo — o R com o triangulo azul —, nao o logotipo por
   extenso. Simbolo pede medida de simbolo, nao de assinatura completa. */
.rt-rodape__marca .rt-rodape__logo {
	display: block;
	width: 4.5rem;
	height: auto;
	margin-bottom: var(--wp--preset--spacing--md);
}

/* --- Consentimento de cookies -------------------------------------------

   Fica preso ao pé da tela, não cobre a página e não prende o foco: recusar
   precisa ser tão fácil quanto aceitar, senão a escolha não é livre.
   ----------------------------------------------------------------------- */

.rt-consent {
	position: fixed;
	inset: auto 0 0;
	z-index: var(--rt-z-overlay);
	background: var(--wp--preset--color--surface-strong);
	color: var(--wp--preset--color--surface);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rt-consent__in {
	display: grid;
	gap: var(--wp--preset--spacing--md);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--md) clamp(1.25rem, 5vw, 2.5rem);
}

@media (min-width: 62rem) {
	.rt-consent__in {
		grid-template-columns: 1fr auto;
		align-items: center;
	}

	.rt-consent__opcoes { grid-column: 1 / -1; }
}

.rt-consent__titulo {
	margin: 0 0 0.25rem;
	font-size: var(--rt-size-caption);
	font-weight: var(--rt-weight-medium);
	letter-spacing: var(--rt-tracking-eyebrow);
	text-transform: uppercase;
	color: var(--wp--preset--color--action);
}

.rt-consent__txt p {
	margin: 0;
	max-width: 68ch;
	font-size: var(--rt-size-body-sm);
	line-height: var(--rt-leading-body);
}

.rt-consent__txt a {
	color: var(--wp--preset--color--surface);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.rt-consent__opcoes {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
	padding-top: var(--wp--preset--spacing--sm);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.rt-consent__opcao {
	display: flex;
	gap: var(--wp--preset--spacing--xs);
	align-items: start;
	cursor: pointer;
}

.rt-consent__opcao input {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.15rem;
	flex: none;
	accent-color: var(--wp--preset--color--action);
}

.rt-consent__opcao b {
	display: block;
	font-size: var(--rt-size-body-sm);
	font-weight: var(--rt-weight-medium);
}

.rt-consent__opcao small {
	display: block;
	max-width: 62ch;
	opacity: 0.78;
	font-size: var(--rt-size-caption);
	line-height: 1.45;
}

.rt-consent__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--sm);
}

.rt-consent .pg-btn { min-height: 2.75rem; padding-inline: 1.25rem; font-size: var(--rt-size-body-sm); }

.rt-consent .pg-btn--ghost {
	color: var(--wp--preset--color--surface);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.rt-consent .pg-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--surface);
}

.rt-consent__link {
	background: none;
	border: 0;
	padding: 0.5rem;
	color: var(--wp--preset--color--surface);
	font: inherit;
	font-size: var(--rt-size-body-sm);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.rt-consent :focus-visible {
	outline: var(--rt-focus-width) solid var(--wp--preset--color--surface);
	outline-offset: var(--rt-focus-offset);
}

/* --- Busca no cabeçalho ---------------------------------------------------

   O campo abre SOBRE o cabeçalho, não dentro dele. Na primeira versão ele
   crescia na própria linha flex e espremia o menu — defeito visível. Sendo
   posicionado, ele não ocupa espaço de layout e nada ao redor se mexe.
   ------------------------------------------------------------------------- */

.rt-busca {
	position: relative;
	width: auto;
	margin: 0;
}

.rt-busca .wp-block-search__inside-wrapper {
	border: 0;
	position: static;
}

.rt-busca .wp-block-search__input {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	z-index: var(--rt-z-header);
	width: clamp(14rem, 26vw, 20rem);
	padding: 0.7rem 1rem;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--rt-radius-input);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--rt-size-body-sm);

	/* Escondido sem sair do fluxo de foco: visibility permite animar e ainda
	   assim tira o campo da ordem de tabulação enquanto está fechado. */
	opacity: 0;
	visibility: hidden;
	transform: translateY(-0.35rem);
	transition:
		opacity var(--rt-duration-base) var(--rt-ease),
		transform var(--rt-duration-base) var(--rt-ease),
		visibility 0s linear var(--rt-duration-base);
}

.rt-busca:focus-within .wp-block-search__input,
.rt-busca:hover .wp-block-search__input {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.rt-busca .wp-block-search__button {
	display: grid;
	place-items: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--rt-radius-pill);
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: background-color var(--rt-duration-fast) var(--rt-ease);
}

.rt-busca .wp-block-search__button:hover { background: var(--wp--preset--color--surface-muted); }

.rt-busca .wp-block-search__button svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }

.rt-busca .wp-block-search__button:focus-visible,
.rt-busca .wp-block-search__input:focus-visible {
	outline: var(--rt-focus-width) solid var(--rt-focus-color);
	outline-offset: var(--rt-focus-offset);
}

/* Abaixo do desktop o menu vira sanduíche; a busca segue disponível pela
   página de resultados. */
@media (max-width: 48rem) {
	.rt-busca { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.rt-busca .wp-block-search__input { transition: none; }
}

