/*
Theme Name: OMReC Flow
Theme URI: https://github.com/VCapis/omrec-wordpress
Author: OMReC / UFSC
Description: Tema de blocos (FSE) do site do OMReC — Operations Management Research Centre, UFSC. Layout de blocos arredondados, hero em mosaico e faixas de contraste, sobre a marca navy #13276f e verde #3d9f31.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: omrec-flow
*/

/* ---------------------------------------------------------------
   Base
   --------------------------------------------------------------- */

.wp-site-blocks {
	padding-left: clamp(18px, 4vw, 56px);
	padding-right: clamp(18px, 4vw, 56px);
}

/* Sem isto, todo componente do tema que combina height:100% com padding
   estoura a própria célula: no content-box o padding e a borda somam por
   fora da altura declarada. Escopado ao prefixo do tema para não interferir
   nos blocos do núcleo. */
[class*="omrec-"],
[class*="omrec-"]::before,
[class*="omrec-"]::after {
	box-sizing: border-box;
}

.omrec-eyebrow {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--green);
	margin: 0;
}

.omrec-muted {
	color: var(--wp--preset--color--ink-muted);
}

/* ---------------------------------------------------------------
   Header
   --------------------------------------------------------------- */

/* Cabeçalho e rodapé vivem fora do <main>, então não herdam a largura
   restrita do layout. Sem isto eles se esticam de borda a borda enquanto o
   conteúdo fica centrado, e o logo do topo não alinha com o hero.
   A largura vem da mesma variável do theme.json, para não sair de sincronia
   se o contentSize mudar. */
.omrec-header,
.omrec-footer {
	max-width: var(--wp--style--global--content-size, 1180px);
	margin-left: auto;
	margin-right: auto;
}

.omrec-header {
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
}

.omrec-header .wp-block-navigation__container {
	gap: 1.9rem;
}

.omrec-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink);
}

.omrec-header .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--green);
}

/* Pill buttons — the signature control shape of this layout. */
.omrec-pill .wp-block-button__link,
a.omrec-pill,
button.omrec-pill {
	border-radius: 999px;
	padding: 0.72rem 1.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	font-family: var(--wp--preset--font-family--body);
	line-height: 1.2;
	display: inline-block;
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.omrec-pill-green .wp-block-button__link,
a.omrec-pill-green,
button.omrec-pill-green {
	background: var(--wp--preset--color--green);
	color: #ffffff;
	border: 1.5px solid var(--wp--preset--color--green);
}

.omrec-pill-green .wp-block-button__link:hover,
a.omrec-pill-green:hover,
button.omrec-pill-green:hover {
	background: #34871f;
	border-color: #34871f;
	color: #ffffff;
}

.omrec-pill-outline .wp-block-button__link,
a.omrec-pill-outline {
	background: transparent;
	color: #ffffff;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
}

.omrec-pill-outline .wp-block-button__link:hover,
a.omrec-pill-outline:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #ffffff;
	color: #ffffff;
}

.omrec-pill-navy .wp-block-button__link,
a.omrec-pill-navy {
	background: transparent;
	color: var(--wp--preset--color--navy);
	border: 1.5px solid var(--wp--preset--color--navy);
}

.omrec-pill-navy .wp-block-button__link:hover,
a.omrec-pill-navy:hover {
	background: var(--wp--preset--color--navy);
	color: #ffffff;
}

/* ---------------------------------------------------------------
   Hero
   --------------------------------------------------------------- */

.omrec-hero {
	background: var(--wp--preset--color--navy);
	border-radius: 28px;
	color: #ffffff;
	overflow: hidden;
	padding: clamp(2.5rem, 5vw, 4.5rem);
}

.omrec-hero h1,
.omrec-hero h2 {
	color: #ffffff;
	font-size: clamp(2.4rem, 4.4vw, 3.9rem);
	line-height: 1.08;
	letter-spacing: -0.028em;
	margin: 0 0 1.1rem;
}

.omrec-hero .omrec-accent {
	color: var(--wp--preset--color--green-bright);
}

.omrec-hero p {
	color: #c3cbe8;
	max-width: 34em;
}

.omrec-hero .omrec-eyebrow {
	color: var(--wp--preset--color--green-bright);
}

/* Marca em branco no topo do hero, no lugar do rótulo de texto.
   Vem como imagem de fundo do próprio tema: o caminho é relativo a este
   arquivo, então funciona em qualquer domínio e acompanha o deploy sem
   depender da biblioteca de mídia de cada ambiente. O texto do bloco fica
   acessível a leitores de tela, apenas fora de vista. */
.omrec-hero-marca {
	width: 64px;
	height: 54px;
	margin: 0 0 1.6rem;
	background: url("assets/logo-branco.png") no-repeat left center;
	background-size: contain;
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
}

@media (max-width: 781px) {
	.omrec-hero-marca {
		width: 54px;
		height: 46px;
		margin-bottom: 1.2rem;
	}
}

/* Hero photo mosaic: two offset columns of rounded tiles. */
.omrec-mosaic {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	align-items: start;
}

.omrec-mosaic .wp-block-image {
	margin: 0;
}

.omrec-mosaic .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 20px;
}

.omrec-mosaic-col {
	display: grid;
	gap: 14px;
}

.omrec-mosaic-col.is-offset {
	margin-top: 34px;
}

.omrec-mosaic .is-round img {
	border-radius: 999px;
	aspect-ratio: 1 / 1;
}

/* Social-proof cluster under the hero CTAs. */
.omrec-proof {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.omrec-proof-stack {
	display: flex;
}

.omrec-proof-stack .wp-block-image {
	margin: 0;
}

.omrec-proof-stack .wp-block-image + .wp-block-image {
	margin-left: -14px;
}

.omrec-proof-stack img {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	object-fit: cover;
	border: 2px solid var(--wp--preset--color--navy);
	display: block;
}

.omrec-proof-badge {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: var(--wp--preset--color--green-bright);
	color: var(--wp--preset--color--navy);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	margin-left: -14px;
	border: 2px solid var(--wp--preset--color--navy);
	position: relative;
}

.omrec-proof-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.omrec-proof-num {
	color: #ffffff;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.25;
	margin: 0;
}

.omrec-proof-label {
	color: #a9b3d6;
	font-size: 0.875rem;
	line-height: 1.4;
	margin: 0;
}

/* ---------------------------------------------------------------
   Statement + stats
   --------------------------------------------------------------- */

.omrec-statement h2 {
	font-size: clamp(1.7rem, 2.9vw, 2.6rem);
	line-height: 1.22;
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.omrec-stat {
	text-align: center;
}

.omrec-stat-num {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.1rem, 3.4vw, 2.9rem);
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	line-height: 1.05;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	margin: 0;
}

.omrec-stat-label {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--ink-muted);
	margin: 0.3rem 0 0;
}

/* ---------------------------------------------------------------
   Numbered cards (linhas de pesquisa)
   --------------------------------------------------------------- */

.omrec-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
	padding: 1.9rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

/* Só o card que ocupa a coluna sozinho estica para igualar as alturas da
   linha. Aplicar height:100% em todo card faria cada item de uma pilha
   tentar ocupar a coluna inteira, estourando o bloco. */
.wp-block-column > .omrec-card:only-child {
	height: 100%;
}

.omrec-card:hover {
	border-color: #c3d8bf;
	box-shadow: 0 10px 28px rgba(19, 39, 111, 0.08);
	transform: translateY(-2px);
}

.omrec-card h3 {
	font-size: 1.3125rem;
	margin: 0 0 0.6rem;
}

.omrec-card p {
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.9688rem;
	margin: 0;
}

/* The block editor emits a wrapper div per group; keep card internals flush
   so spacing stays owned by the rules above, not by block-gap. */
.omrec-card > .wp-block-group,
.omrec-band-card > .wp-block-group {
	margin: 0;
}

.omrec-card-num {
	width: 46px;
	height: 46px;
	border-radius: 999px;
	border: 1.5px solid var(--wp--preset--color--green);
	color: var(--wp--preset--color--green);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 0 1.1rem;
	font-variant-numeric: tabular-nums;
	flex-shrink: 0;
}

/* ---------------------------------------------------------------
   Dark band (eventos / destaques)
   --------------------------------------------------------------- */

.omrec-band {
	background: var(--wp--preset--color--navy-deep);
	border-radius: 28px;
	color: #ffffff;
	padding: clamp(2.5rem, 4.5vw, 4rem);
}

.omrec-band h2,
.omrec-band h3 {
	color: #ffffff;
}

.omrec-band .omrec-eyebrow {
	color: var(--wp--preset--color--green-bright);
}

.omrec-band p {
	color: #aeb8d8;
}

.omrec-band a {
	color: #ffffff;
}

.omrec-band a:hover {
	color: var(--wp--preset--color--green-bright);
}

/* Cards inside the dark band */
.omrec-band-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	padding: 1.6rem;
}

.omrec-band-card h3 {
	font-size: 1.1875rem;
	margin: 0 0 0.45rem;
}

.omrec-band-card p {
	font-size: 0.9375rem;
	margin: 0;
}

/* Photos with the rounded treatment used across the layout. */
.omrec-photo img,
.omrec-photo-tall img,
.omrec-photo-wide img {
	width: 100%;
	height: auto;
	border-radius: 22px;
	object-fit: cover;
	display: block;
}

.omrec-photo-tall img {
	aspect-ratio: 4 / 5;
}

.omrec-photo-wide img {
	aspect-ratio: 16 / 9;
}

.omrec-photo img {
	aspect-ratio: 1 / 1;
}

.omrec-photo,
.omrec-photo-tall,
.omrec-photo-wide {
	margin: 0;
}

/* ---------------------------------------------------------------
   Check list ("quem somos" / "por que")
   --------------------------------------------------------------- */

.omrec-check {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}

.omrec-check-mark {
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--wp--preset--color--green);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	margin: 3px 0 0;
	flex-shrink: 0;
}

.omrec-check h3 {
	font-size: 1.125rem;
	margin: 0;
}

.omrec-check p {
	margin: 0.25rem 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: 0.9375rem;
}

/* ---------------------------------------------------------------
   Publication rows
   --------------------------------------------------------------- */

.omrec-pub-row {
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: baseline;
	padding: 1.5rem 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.omrec-pub-year {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--wp--preset--color--green);
	font-variant-numeric: tabular-nums;
}

.omrec-pub-authors {
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-muted);
}

.omrec-pub-title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1.0625rem;
	line-height: 1.4;
	color: var(--wp--preset--color--navy);
}

.omrec-pub-venue {
	font-size: 0.875rem;
	color: var(--wp--preset--color--ink-muted);
}

.omrec-tag {
	font-size: 0.75rem;
	font-weight: 500;
	white-space: nowrap;
	padding: 0.32rem 0.8rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink-muted);
}

.omrec-tag.is-journal {
	color: var(--wp--preset--color--green);
	border-color: #bfe0ba;
	background: #f2faf1;
}

/* ---------------------------------------------------------------
   Team
   --------------------------------------------------------------- */

.omrec-avatar-photo img {
	width: 84px;
	height: 84px;
	border-radius: 999px;
	object-fit: cover;
	display: block;
}

.omrec-avatar-photo {
	margin: 0;
	flex-shrink: 0;
}

.omrec-avatar-sm img {
	width: 62px;
	height: 62px;
	border-radius: 999px;
	object-fit: cover;
	display: block;
}

.omrec-avatar-sm {
	margin: 0;
	flex-shrink: 0;
}

/* ---------------------------------------------------------------
   Membros (renderizados a partir do tipo de conteúdo)
   --------------------------------------------------------------- */

/* Cartão grande — coordenação e pesquisadores. */
.omrec-membro-destaque {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	padding: 2.4rem 2rem;
}

.omrec-membro-foto,
.omrec-membro-foto-sm {
	margin: 0;
	flex-shrink: 0;
	border-radius: 999px;
	overflow: hidden;
	background: var(--wp--preset--color--surface-muted);
}

.omrec-membro-foto {
	width: 168px;
	height: 168px;
}

.omrec-membro-foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.omrec-membro-foto.is-iniciais,
.omrec-membro-foto-sm.is-iniciais {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	color: var(--wp--preset--color--navy);
}

.omrec-membro-foto.is-iniciais {
	font-size: 2.6rem;
}

.omrec-membro-destaque h3 {
	font-size: 1.4375rem;
	margin: 1.3rem 0 0.2rem;
}

.omrec-membro-destaque .omrec-eyebrow {
	margin: 0 0 0.9rem;
}

.omrec-membro-destaque .omrec-muted {
	font-size: 0.9688rem;
	margin: 0;
	max-width: 42ch;
}

/* Cartão compacto — demais níveis. */
.omrec-membro-compacto {
	display: flex;
	gap: 0.9rem;
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	padding: 0.9rem 1.1rem;
	height: 100%;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.omrec-membro-compacto:hover {
	border-color: #c3d8bf;
	box-shadow: 0 6px 18px rgba(19, 39, 111, 0.07);
}

.omrec-membro-foto-sm {
	width: 52px;
	height: 52px;
}

.omrec-membro-foto-sm img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.omrec-membro-foto-sm.is-iniciais {
	font-size: 0.9375rem;
}

.omrec-membro-compacto-body {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.omrec-membro-nome {
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.25;
}

.omrec-membro-cargo {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-muted);
}

/* Chips de perfil de pesquisa. */
.omrec-perfis {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
	margin-top: 1.2rem;
}

.omrec-membro-compacto .omrec-perfis {
	justify-content: flex-start;
	margin-top: 0.45rem;
	gap: 0.3rem;
}

.omrec-perfil-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--navy);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 0.42rem 0.75rem;
	transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.omrec-membro-compacto .omrec-perfil-chip {
	font-size: 0.75rem;
	padding: 0.28rem 0.6rem;
}

.omrec-perfil-chip:hover {
	background: var(--wp--preset--color--green);
	border-color: var(--wp--preset--color--green);
	color: #ffffff;
}

.omrec-perfil-seta {
	font-size: 0.75em;
	opacity: 0.65;
}

.omrec-perfil-chip:hover .omrec-perfil-seta {
	opacity: 1;
}

/* Título de cada grupo de membros. */
.omrec-grupo-titulo {
	display: flex;
	align-items: baseline;
	gap: 0.9rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: 0.7rem;
	margin: 0 0 1.4rem;
}

.omrec-grupo-titulo h2 {
	font-size: 1.375rem;
	margin: 0;
}

@media (max-width: 781px) {
	.omrec-membro-foto {
		width: 128px;
		height: 128px;
	}

	.omrec-membro-destaque {
		padding: 1.8rem 1.4rem;
	}
}

/* ---------------------------------------------------------------
   Eventos (renderizados a partir do tipo de conteúdo)
   --------------------------------------------------------------- */

.omrec-evento-card.is-destaque {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 2rem;
	align-items: center;
}

.omrec-evento-foto {
	margin: 0;
}

/* height:auto é obrigatório: o WordPress imprime width/height como atributos
   no <img>, e o atributo vence o aspect-ratio do CSS se a altura não for
   liberada aqui. Sem isto o cartão estica para a altura real do arquivo. */
.omrec-evento-foto img {
	width: 100%;
	height: auto;
	border-radius: 18px;
	display: block;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.omrec-evento-card h3 {
	font-size: 1.3125rem;
	margin: 0 0 0.4rem;
}

.omrec-evento-card.is-destaque h3 {
	font-size: 1.75rem;
}

.omrec-evento-meta {
	font-size: 0.875rem;
	color: var(--wp--preset--color--green);
	font-weight: 500;
	margin: 0 0 0.6rem;
}

.omrec-evento-body > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 781px) {
	.omrec-evento-card.is-destaque {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.2rem;
	}
}

/* ---------------------------------------------------------------
   Split CTA (two panels, closing the page)
   --------------------------------------------------------------- */

.omrec-cta-panel {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	background: var(--wp--preset--color--navy);
	color: #ffffff;
	padding: clamp(2rem, 3.4vw, 3rem);
	min-height: 260px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.omrec-cta-panel h2 {
	color: #ffffff;
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	margin: 0.5rem 0 1.3rem;
}

.omrec-cta-panel .omrec-eyebrow {
	color: var(--wp--preset--color--green-bright);
}

.omrec-cta-green {
	background: var(--wp--preset--color--green);
	border-radius: 24px;
	padding: clamp(2rem, 3.4vw, 2.6rem);
	color: #ffffff;
	min-height: 260px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.omrec-cta-green p {
	color: #ffffff;
	font-size: 1.0625rem;
	line-height: 1.55;
}

.omrec-cta-green .omrec-avatar-sm img {
	border: 2px solid rgba(255, 255, 255, 0.6);
}

.omrec-cta-green a.omrec-pill {
	background: var(--wp--preset--color--navy);
	color: #ffffff;
	border: 1.5px solid var(--wp--preset--color--navy);
}

.omrec-cta-green a.omrec-pill:hover {
	background: var(--wp--preset--color--navy-deep);
	border-color: var(--wp--preset--color--navy-deep);
}

/* ---------------------------------------------------------------
   Formulário de contato
   --------------------------------------------------------------- */

.omrec-form {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.omrec-campo {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
}

.omrec-campo label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

.omrec-campo input,
.omrec-campo textarea {
	width: 100%;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	padding: 0.72rem 0.95rem;
	transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.omrec-campo textarea {
	resize: vertical;
	min-height: 8rem;
}

.omrec-campo input:focus,
.omrec-campo textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--green);
	box-shadow: 0 0 0 3px rgba(61, 159, 49, 0.16);
}

.omrec-form button[type="submit"] {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body);
}

.omrec-form-privacidade {
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-muted);
	margin: 0;
}

/* Campo-armadilha: precisa continuar no DOM e focável por robôs, então
   não pode usar display:none nem hidden — os robôs reconhecem e pulam.
   Tiramos da tela e escondemos de leitores por aria-hidden no contêiner. */
.omrec-armadilha {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.omrec-aviso {
	border-radius: 14px;
	padding: 1rem 1.2rem;
	margin: 0 0 1.4rem;
	border: 1px solid transparent;
}

.omrec-aviso p {
	margin: 0;
	font-size: 0.9375rem;
}

.omrec-aviso.is-sucesso {
	background: #f1faf0;
	border-color: #bfe0ba;
	color: #245c1b;
}

.omrec-aviso.is-erro {
	background: #fdf2f2;
	border-color: #f0c2c2;
	color: #8a2020;
}

/* ---------------------------------------------------------------
   Footer
   --------------------------------------------------------------- */

.omrec-footer {
	background: var(--wp--preset--color--navy-deep);
	border-radius: 28px;
	color: #ffffff;
	padding: clamp(2.5rem, 4vw, 3.5rem);
	margin-bottom: clamp(18px, 3vw, 32px);
}

.omrec-footer h3 {
	color: #ffffff;
	font-size: 1.0625rem;
	margin: 0 0 1rem;
}

.omrec-footer p,
.omrec-footer li {
	color: #9aa5c9;
	font-size: 0.9375rem;
}

.omrec-footer a {
	color: #9aa5c9;
	text-decoration: none;
}

.omrec-footer a:hover {
	color: var(--wp--preset--color--green-bright);
}

.omrec-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 1.4rem;
	margin-top: 2.2rem;
}

.omrec-footer-bottom p {
	font-size: 0.875rem;
	margin: 0;
}

.dev-credit {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-size: 0.8rem;
	opacity: 0.65;
	transition: opacity 0.2s ease;
}

.dev-credit:hover {
	opacity: 1;
}

.dev-credit-logo {
	height: 1.05em;
	width: auto;
	display: block;
}

/* Ícones de redes sociais — reaproveitados em cabeçalho, rodapé, card do
   coordenador e página de Contato. Usam currentColor para se adaptar ao
   fundo de cada contexto, igual ao crédito de rodapé. */
.omrec-redes-sociais {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
}

.omrec-rede-icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 1.5px solid currentColor;
	color: inherit;
	opacity: 0.75;
	transition: opacity 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.omrec-rede-icone svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.omrec-redes-sociais .omrec-rede-icone:hover {
	opacity: 1;
	background: var(--wp--preset--color--green);
	border-color: var(--wp--preset--color--green);
	color: #ffffff;
}

/* Aviso no lugar do formulário, enquanto ele estiver desligado. */
.omrec-contato-desativado p {
	margin: 0 0 1.1rem;
}

/* ---------------------------------------------------------------
   Responsive
   --------------------------------------------------------------- */

@media (max-width: 781px) {
	.omrec-hero,
	.omrec-band,
	.omrec-footer {
		border-radius: 20px;
	}

	.omrec-mosaic-col.is-offset {
		margin-top: 0;
	}

	.omrec-pub-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.4rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	.omrec-card {
		animation: none !important;
		transition: none !important;
	}
}

.omrec-aviso-traducao {
	display: inline-block;
	margin-top: 0.3rem;
	font-size: 0.8rem;
	font-style: italic;
	opacity: 0.7;
}

/* Seletor de idioma: botão redondo com a bandeira atual, no mesmo
   formato dos ícones de redes sociais, que abre a lista de idiomas. */
.omrec-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.omrec-seletor-idioma__menu {
	position: relative;
}

.omrec-seletor-idioma__botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 3px;
	border-radius: 999px;
	border: 1.5px solid currentColor;
	opacity: 0.75;
	cursor: pointer;
	list-style: none;
	transition: opacity 0.18s ease, border-color 0.18s ease;
}

.omrec-seletor-idioma__botao::-webkit-details-marker {
	display: none;
}

.omrec-seletor-idioma__botao::marker {
	content: "";
}

.omrec-seletor-idioma__botao img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px;
	object-fit: cover;
}

.omrec-seletor-idioma__botao:hover,
.omrec-seletor-idioma__menu[open] .omrec-seletor-idioma__botao {
	opacity: 1;
	border-color: var(--wp--preset--color--green);
}

.omrec-seletor-idioma__botao:focus-visible {
	opacity: 1;
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 2px;
}

.omrec-seletor-idioma__lista {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	z-index: 100;
	min-width: 13.5rem;
	margin: 0;
	padding: 0.4rem;
	list-style: none;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(11, 23, 64, 0.14);
}

.omrec-seletor-idioma__lista a {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.5rem 0.7rem;
	border-radius: 9px;
	color: var(--wp--preset--color--ink);
	font-size: 0.875rem;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.omrec-seletor-idioma__lista img {
	flex: none;
	width: 20px;
	height: 15px;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(20, 27, 46, 0.12);
}

.omrec-seletor-idioma__lista a:hover,
.omrec-seletor-idioma__lista a:focus-visible {
	background: var(--wp--preset--color--surface-muted);
	outline: none;
}

.omrec-seletor-idioma__lista a.is-atual {
	font-weight: 600;
}

.omrec-seletor-idioma__lista a.is-atual::after {
	content: "✓";
	margin-left: auto;
	color: var(--wp--preset--color--green);
}

