/* ==========================================================================
   Reencontro de Cães — identidade visual "Cão Encontrado"
   Arquivo: wp-content/plugins/reencontro-caes/assets/rcaes.css
   Carregado em TODAS as páginas do site (ver Rcaes_Seguranca::carregar_assets).
   Seções: 1 variáveis · 2 formulários · 3 botões e avisos · 4 cartões e etiquetas
           5 tabela · 6 cadastro/login · 7 chat · 8 avaliação · 9 classes do site (.cdr-*)
   ========================================================================== */

/* ---------- 1. Variáveis ---------- */
:root {
	--rc-azul: #1e3a5f;
	--rc-azul-2: #2c4a72;
	--rc-laranja: #ff6a31;
	--rc-laranja-esc: #e8551f;
	--rc-fundo: #f8f9fb;
	--rc-fundo-2: #f2f3f7;
	--rc-branco: #fff;
	--rc-borda: #e3e7ee;
	--rc-texto: #1e3a5f;
	--rc-suave: #64748b;
	--rc-verde: #047857;
	--rc-verde-bg: #d1fae5;
	--rc-verm: #b91c1c;
	--rc-verm-bg: #fee2e2;
	--rc-info: #1d4ed8;
	--rc-info-bg: #dbeafe;
	--rc-amar: #92400e;
	--rc-amar-bg: #fef3c7;
	--rc-raio: 16px;
	--rc-raio-sm: 10px;
	--rc-sombra: 0 2px 14px rgba(30, 58, 95, .08);
	--rc-sombra-lg: 0 10px 30px rgba(30, 58, 95, .14);
	--rc-fonte-titulo: 'Outfit', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--rc-fonte: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* Tudo o que o plugin imprime fica dentro destas classes: o tema do site não é alterado. */
[class^="rcaes-"], [class*=" rcaes-"], [class^="rcaes-"] *, [class*=" rcaes-"] *, [class^="cdr-"], [class*=" cdr-"] { box-sizing: border-box; }
.rcaes-form, .rcaes-auth, .rcaes-tabela-wrap, .rcaes-topo, .rcaes-grade, .rcaes-aviso,
.rcaes-avaliacao, .rcaes-lista-simples, #rcaes-chat, .rcaes-detalhes { font-family: var(--rc-fonte); color: var(--rc-texto); }

.rcaes-titulo, .rcaes-auth h2, .rcaes-cartao h4, .rcaes-previa h4, .rcaes-avaliacao h3 {
	font-family: var(--rc-fonte-titulo); color: var(--rc-azul); font-weight: 700; line-height: 1.2;
}
.rcaes-titulo { font-size: clamp(1.4rem, 3.5vw, 1.9rem); margin: 0 0 .2em; }
.rcaes-sub { color: var(--rc-suave); margin: 0; font-size: .95rem; }
.rcaes-peq { font-size: .85em; color: var(--rc-suave); }
.rcaes-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 2. Formulários ---------- */
.rcaes-form label { display: block; font-family: var(--rc-fonte-titulo); font-weight: 600; font-size: .9rem; color: var(--rc-azul); }
.rcaes-form input[type=text], .rcaes-form input[type=email], .rcaes-form input[type=password],
.rcaes-form input[type=tel], .rcaes-form input[type=number], .rcaes-form select, .rcaes-form textarea {
	width: 100%; max-width: 100%; margin-top: .35rem; padding: .7rem .9rem; font: inherit; font-family: var(--rc-fonte);
	font-weight: 400; color: var(--rc-azul); background: var(--rc-branco); border: 1px solid var(--rc-borda);
	border-radius: var(--rc-raio-sm); transition: border-color .15s, box-shadow .15s;
}
.rcaes-form input::placeholder, .rcaes-form textarea::placeholder { color: #9aa7b8; }
.rcaes-form input:focus, .rcaes-form select:focus, .rcaes-form textarea:focus {
	outline: none; border-color: var(--rc-laranja); box-shadow: 0 0 0 3px rgba(255, 106, 49, .18);
}
.rcaes-form input[type=checkbox], .rcaes-form input[type=radio] { accent-color: var(--rc-laranja); margin-right: .4rem; }
.rcaes-form label:has(> input[type=checkbox]), .rcaes-form label:has(> input[type=radio]) { font-weight: 400; font-family: var(--rc-fonte); }
.rcaes-form fieldset { border: 1px solid var(--rc-borda); border-radius: var(--rc-raio-sm); padding: .8rem 1rem; margin: 0 0 1rem; }
.rcaes-form legend { font-family: var(--rc-fonte-titulo); font-weight: 600; padding: 0 .4rem; color: var(--rc-azul); }
.rcaes-form p { margin: 0 0 1rem; }

/* ---------- 3. Botões e avisos ---------- */
.rcaes-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .7rem 1.2rem;
	font-family: var(--rc-fonte-titulo) !important; font-weight: 600; font-size: .95rem; line-height: 1.2; text-decoration: none !important;
	color: #fff !important; background: var(--rc-laranja) !important; border: 0; border-radius: var(--rc-raio-sm);
	cursor: pointer; transition: background .15s, transform .1s, box-shadow .15s;
}
.rcaes-btn:hover { background: var(--rc-laranja-esc); box-shadow: 0 4px 12px rgba(255, 106, 49, .35); }
.rcaes-btn:active { transform: translateY(1px); }
.rcaes-btn:focus-visible { outline: 3px solid rgba(255, 106, 49, .45); outline-offset: 2px; }
.rcaes-btn.rcaes-btn-sec, .rcaes-cartao .rcaes-btn.rcaes-btn-sec { color: var(--rc-azul) !important; background: var(--rc-branco) !important; border: 1px solid var(--rc-azul); }
.rcaes-btn.rcaes-btn-sec:hover { background: var(--rc-fundo-2) !important; box-shadow: none; }
.rcaes-btn.rcaes-btn-perigo, .rcaes-cartao .rcaes-btn.rcaes-btn-perigo { color: var(--rc-verm) !important; background: var(--rc-verm-bg) !important; border: 1px solid #fca5a5; }
.rcaes-btn.rcaes-btn-perigo:hover { background: #fecaca !important; box-shadow: none; }
.rcaes-btn.rcaes-btn-escuro { background: var(--rc-azul) !important; }
.rcaes-btn.rcaes-btn-escuro:hover { background: var(--rc-azul-2) !important; box-shadow: none; }
.rcaes-btn-bloco { display: flex; width: 100%; }
.rcaes-btn-peq { padding: .4rem .75rem; font-size: .8rem; }

.rcaes-aviso { padding: .85rem 1.1rem; margin: 1rem 0; border-radius: var(--rc-raio-sm); border: 1px solid var(--rc-borda); background: var(--rc-fundo-2); font-size: .95rem; }
.rcaes-aviso.rcaes-ok { background: var(--rc-verde-bg); border-color: #6ee7b7; color: #065f46; }
.rcaes-aviso.rcaes-erro { background: var(--rc-verm-bg); border-color: #fca5a5; color: #991b1b; }
.rcaes-aviso.rcaes-info { background: var(--rc-info-bg); border-color: #93c5fd; color: #1e40af; }
.rcaes-aviso a { color: inherit; font-weight: 600; }
.rcaes-aviso blockquote { margin: .5rem 0; padding: .5rem .8rem; background: rgba(255, 255, 255, .7); border-left: 3px solid var(--rc-laranja); border-radius: 6px; }

/* ---------- 4. Cartões e etiquetas ---------- */
.rcaes-grade { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.rcaes-cartao {
	display: flex; flex-direction: column; background: var(--rc-branco) !important; border-radius: var(--rc-raio);
	box-shadow: var(--rc-sombra); overflow: hidden; padding: 0 0 1rem; transition: transform .15s, box-shadow .15s; width: 100%;
}
.rcaes-cartao:hover { transform: translateY(-2px); box-shadow: var(--rc-sombra-lg); }
.rcaes-cartao > * { margin-left: 1rem; margin-right: 1rem; }
.rcaes-cartao > img { width: 100%; height: 190px; object-fit: cover; margin: 0 0 .9rem; border-radius: 0; display: block; }
.rcaes-cartao h4 { margin: 0 1rem .3rem; font-size: 1.05rem; }
.rcaes-cartao p { margin: .3rem 1rem; }
.rcaes-cartao .rcaes-btn { margin-top: .5rem; color: #fff !important; background: var(--rc-laranja) !important; }
.rcaes-etiqueta {
	display: inline-block; padding: .2rem .7rem; border-radius: 999px; background: var(--rc-fundo-2); color: var(--rc-azul);
	font-family: var(--rc-fonte-titulo); font-weight: 600; font-size: .75rem; line-height: 1.4;
}
.rcaes-tipo-encontrado, .rcaes-st-ativo { background: var(--rc-verde-bg); color: var(--rc-verde); }
.rcaes-tipo-perdido, .rcaes-st-falha { background: var(--rc-verm-bg); color: var(--rc-verm); }
.rcaes-st-processando, .rcaes-st-pendente { background: var(--rc-amar-bg); color: var(--rc-amar); }
.rcaes-st-resolvido { background: var(--rc-info-bg); color: var(--rc-info); }
.rcaes-detalhes { margin: .6rem 0; }
.rcaes-cartao > .rcaes-detalhes { margin: .6rem 1rem; }
.rcaes-detalhes > summary { cursor: pointer; font-family: var(--rc-fonte-titulo); font-weight: 600; color: var(--rc-laranja-esc); padding: .3rem 0; }
.rcaes-detalhes[open] > summary { margin-bottom: .5rem; }
.rcaes-previa { background: var(--rc-fundo-2); border: 1px dashed #94a3b8; border-radius: var(--rc-raio-sm); padding: .8rem 1rem; margin: 1rem 0; }
.rcaes-previa .rcaes-grade { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .7rem; }
.rcaes-previa label { font-weight: 400; font-size: .8rem; background: #fff; border-radius: 10px; padding: .4rem; }
.rcaes-previa img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.rcaes-lista-simples { padding-left: 1.2rem; }
.rcaes-lista-simples li { margin: .5rem 0; }
.rcaes-lista-simples a { color: var(--rc-laranja-esc); font-weight: 600; }

/* ---------- 5. Cabeçalho de página e tabela ---------- */
.rcaes-topo { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 0 0 1.2rem; }
.rcaes-topo-acoes { display: flex; flex-wrap: wrap; gap: .5rem; }
.rcaes-tabela-wrap { background: var(--rc-branco); border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); overflow-x: auto; }
.rcaes-tabela { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 0; }
.rcaes-tabela th { text-align: left; padding: .8rem 1rem; background: var(--rc-fundo-2); font-family: var(--rc-fonte-titulo); font-size: .8rem; color: var(--rc-azul); white-space: nowrap; border: 0; }
.rcaes-tabela td { padding: .8rem 1rem; border: 0; border-top: 1px solid var(--rc-borda); vertical-align: middle; color: #3b4b63; }
.rcaes-celula-cao { display: flex; align-items: center; gap: .7rem; }
.rcaes-celula-cao img { width: 44px; height: 44px; object-fit: cover; border-radius: 10px; }
.rcaes-celula-cao strong { color: var(--rc-azul); font-family: var(--rc-fonte-titulo); }
.rcaes-acoes-cel { min-width: 220px; }
.rcaes-acoes-cel form { display: inline; }
.rcaes-acoes-cel .rcaes-btn { margin: 0 .25rem .25rem 0; }
.rcaes-resolver { display: block; margin: .3rem 0; }
.rcaes-resolver form { display: block; margin-top: .4rem; }
.rcaes-resolver select { margin: .25rem 0 .5rem; }

/* ---------- 6. Cadastro e login (cartão central) ---------- */
.rcaes-auth {
	max-width: 440px; margin: 2rem auto; padding: 2rem 1.6rem; background: var(--rc-branco);
	border-radius: 20px; box-shadow: var(--rc-sombra-lg); text-align: center;
}
.rcaes-auth-icone {
	display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-bottom: .6rem;
	font-size: 1.6rem; background: var(--rc-azul); border-radius: 14px;
}
.rcaes-auth-icone.rcaes-laranja { background: var(--rc-laranja); }
.rcaes-auth h2 { font-size: 1.5rem; margin: 0 0 .25rem; }
.rcaes-auth .rcaes-sub { margin-bottom: 1.4rem; }
.rcaes-auth .rcaes-form { text-align: left; }
.rcaes-auth .rcaes-btn { width: 100%; }
.rcaes-auth .rcaes-peq { text-align: center; }
.rcaes-auth .rcaes-peq a { color: var(--rc-laranja-esc); font-weight: 600; }
.rcaes-auth .rcaes-detalhes { text-align: left; margin-top: 1rem; }

#rcaes-form-cao, .rcaes-form-cartao { max-width: 680px; margin: 1rem auto; padding: 1.6rem; background: var(--rc-branco); border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); }

/* ---------- 7. Chat ---------- */
.rcaes-msgs { max-height: 440px; overflow-y: auto; padding: .9rem; background: var(--rc-fundo); border: 1px solid var(--rc-borda); border-radius: var(--rc-raio); }
.rcaes-msg { margin: .45rem 0; padding: .55rem .85rem; border-radius: 14px; max-width: 82%; font-size: .93rem; }
.rcaes-msg-txt { white-space: pre-wrap; overflow-wrap: anywhere; }
.rcaes-meu { background: var(--rc-azul); color: #fff; margin-left: auto; border-bottom-right-radius: 4px; }
.rcaes-meu .rcaes-peq { color: rgba(255, 255, 255, .7); }
.rcaes-outro { background: #fff; border: 1px solid var(--rc-borda); margin-right: auto; border-bottom-left-radius: 4px; }

/* ---------- 8. Avaliação do site ---------- */
.rcaes-avaliacao { max-width: 760px; margin: 0 auto; }
.rcaes-escala { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .4rem; }
.rcaes-escala label {
	display: inline-flex !important; align-items: center; justify-content: center; min-width: 2.4rem; padding: .45rem .6rem;
	border: 1px solid var(--rc-borda); border-radius: 10px; background: #fff; cursor: pointer;
	font-family: var(--rc-fonte) !important; font-weight: 500 !important; font-size: .9rem;
}
.rcaes-escala label:has(input:checked) { background: var(--rc-laranja); border-color: var(--rc-laranja); color: #fff; }
.rcaes-escala input { position: absolute; opacity: 0; pointer-events: none; }
.rcaes-escala-legenda { display: flex; justify-content: space-between; font-size: .75rem; color: var(--rc-suave); margin-top: .2rem; max-width: 30rem; }
.rcaes-sus { width: 100%; border-collapse: collapse; font-size: .88rem; }
.rcaes-sus th, .rcaes-sus td { padding: .5rem .35rem; border-top: 1px solid var(--rc-borda); text-align: center; }
.rcaes-sus th:first-child, .rcaes-sus td:first-child { text-align: left; width: 48%; }
.rcaes-sus thead th { font-size: .7rem; color: var(--rc-suave); border-top: 0; vertical-align: bottom; }
.rcaes-avaliacao .rcaes-form-cartao { max-width: none; margin: 1rem 0; }
.rcaes-obrig { color: var(--rc-laranja-esc); }

/* ---------- 9. Classes opcionais para o restante do site (Blocos → "Classes CSS adicionais") ---------- */
.cdr-container { width: min(1120px, 100% - 2rem); margin-inline: auto; }
.cdr-header { background: var(--rc-azul); color: #fff; padding: .9rem 0; }
.cdr-header .cdr-container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.cdr-logo { font-family: var(--rc-fonte-titulo); font-weight: 700; font-size: 1.25rem; color: #fff; text-decoration: none; }
.cdr-logo b { color: var(--rc-laranja); font-weight: 700; }
.cdr-nav { display: flex; align-items: center; gap: 1.3rem; flex-wrap: wrap; font-family: var(--rc-fonte-titulo); font-weight: 500; font-size: .92rem; }
.cdr-nav a { color: #e2e8f0; text-decoration: none; }
.cdr-nav a:hover { color: #fff; }
.cdr-hero {
	position: relative; overflow: hidden; color: #fff; padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(4rem, 9vw, 7rem);
	background: linear-gradient(135deg, #1e3a5f 0%, #2c4a72 100%);
}
.cdr-hero::before { content: ""; position: absolute; right: -80px; top: -60px; width: 340px; height: 340px; border-radius: 50%; background: rgba(255, 255, 255, .05); }
.cdr-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 48px; background: var(--rc-fundo); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.cdr-hero > * { position: relative; z-index: 1; }
.cdr-hero h1 { font-family: var(--rc-fonte-titulo); font-weight: 800; font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.08; color: #fff; margin: 0 0 1rem; }
.cdr-laranja { color: var(--rc-laranja); }
.cdr-selo { display: inline-block; margin-bottom: 1rem; padding: .3rem .8rem; border: 1px solid rgba(255, 106, 49, .5); border-radius: 999px; background: rgba(255, 106, 49, .12); color: var(--rc-laranja); font-family: var(--rc-fonte-titulo); font-weight: 700; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.cdr-hero p { max-width: 36rem; color: #dbe4f0; font-size: 1.05rem; }
.cdr-hero-botoes { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.5rem 0; }
.cdr-hero-botoes .rcaes-btn { padding: .9rem 1.4rem; }
.cdr-hero-botoes .rcaes-btn-sec { border-color: #fff; }
.cdr-numeros { display: flex; flex-wrap: wrap; gap: 2rem; }
.cdr-numeros strong { display: block; font-family: var(--rc-fonte-titulo); font-weight: 800; font-size: 1.5rem; color: var(--rc-laranja); }
.cdr-numeros span { font-size: .8rem; color: #b6c4d8; }
.cdr-secao { padding: clamp(2.2rem, 6vw, 4rem) 0; background: var(--rc-fundo); }
.cdr-secao.cdr-branca { background: #fff; }
.cdr-titulo { text-align: center; font-family: var(--rc-fonte-titulo); font-weight: 700; font-size: clamp(1.5rem, 4vw, 2rem); color: var(--rc-azul); margin: 0 0 .4rem; }
.cdr-titulo::after { content: ""; display: block; width: 46px; height: 3px; margin: .6rem auto 0; background: var(--rc-laranja); border-radius: 2px; }
.cdr-subtitulo { text-align: center; color: var(--rc-suave); margin: .8rem 0 2rem; }
.cdr-faixa { background: linear-gradient(135deg, #1e3a5f, #2c4a72); color: #fff; border-radius: 20px; padding: clamp(1.4rem, 4vw, 2.2rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.cdr-faixa .cdr-grande { font-family: var(--rc-fonte-titulo); font-weight: 800; font-size: clamp(2.2rem, 7vw, 3.4rem); color: var(--rc-laranja); line-height: 1; }
.cdr-cta { position: relative; overflow: hidden; text-align: center; color: #fff; padding: clamp(2.5rem, 7vw, 4.5rem) 1rem; background: linear-gradient(135deg, #ff6a31 0%, #e8551f 100%); }
.cdr-cta::before { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.cdr-cta > * { position: relative; }
.cdr-cta h2 { font-family: var(--rc-fonte-titulo); font-weight: 800; font-size: clamp(1.7rem, 5vw, 2.4rem); color: #fff; margin: 0 0 .5rem; }
.cdr-cta .rcaes-btn { background: #fff !important; color: var(--rc-laranja-esc) !important; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.cdr-depoimento { background: #fff; border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); padding: 1.2rem; font-style: italic; font-size: .92rem; color: #3b4b63; }
.cdr-depoimento::before { content: "★★★★★"; display: block; color: var(--rc-laranja); font-style: normal; letter-spacing: 2px; margin-bottom: .5rem; }
.cdr-footer { background: var(--rc-azul); color: #cbd5e1; padding: 2.5rem 0 1.2rem; font-size: .9rem; }
.cdr-footer .cdr-container { display: grid; gap: 1.6rem; grid-template-columns: 1.4fr 1fr 1fr 1fr; }
.cdr-footer h4 { font-family: var(--rc-fonte-titulo); color: #fff; font-size: .95rem; margin: 0 0 .7rem; }
.cdr-footer a { display: block; color: #cbd5e1; text-decoration: none; margin: .35rem 0; }
.cdr-footer a:hover { color: #fff; }
.cdr-footer-base { grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 1rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; font-size: .8rem; color: #94a3b8; }

/* ---------- Responsivo ---------- */
@media (max-width: 900px) {
	.cdr-footer .cdr-container { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.rcaes-grade { grid-template-columns: 1fr; }
	.rcaes-topo { align-items: stretch; }
	.rcaes-topo-acoes .rcaes-btn { flex: 1 1 auto; }
	.rcaes-auth { margin: 1rem auto; padding: 1.5rem 1.1rem; border-radius: 16px; }
	.rcaes-msg { max-width: 92%; }

	/* Tabela vira lista de cartões, com o rótulo de cada coluna antes do valor */
	.rcaes-tabela-wrap { background: transparent; box-shadow: none; overflow: visible; }
	.rcaes-tabela, .rcaes-tabela tbody, .rcaes-tabela tr, .rcaes-tabela td { display: block; width: 100%; }
	.rcaes-tabela thead { position: absolute; left: -9999px; }
	.rcaes-tabela tr { background: #fff; border-radius: var(--rc-raio); box-shadow: var(--rc-sombra); margin-bottom: 1rem; padding: .4rem 0; }
	.rcaes-tabela td { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .5rem 1rem; border-top: 0; text-align: right; }
	.rcaes-tabela td::before { content: attr(data-label); font-family: var(--rc-fonte-titulo); font-weight: 600; font-size: .78rem; color: var(--rc-suave); text-align: left; }
	.rcaes-acoes-cel { display: block !important; text-align: left !important; }
	.rcaes-acoes-cel::before { display: block; margin-bottom: .4rem; }
	.rcaes-sus thead { display: none; }
	.rcaes-sus, .rcaes-sus tbody, .rcaes-sus tr, .rcaes-sus td { display: block; width: 100%; }
	.rcaes-sus td:first-child { width: 100%; font-weight: 600; padding-top: .9rem; }
	.rcaes-sus td { text-align: left; border-top: 0; display: inline-block; width: auto; }
	.rcaes-sus tr { border-top: 1px solid var(--rc-borda); }
	.rcaes-sus td:first-child { display: block; }
}
@media (max-width: 480px) {
	.cdr-footer .cdr-container { grid-template-columns: 1fr; }
	.cdr-hero-botoes .rcaes-btn { width: 100%; }
	.cdr-nav { gap: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
	.rcaes-cartao, .rcaes-btn { transition: none; }
}

/* ---------- 10. Listas públicas ([rcaes_caes] e [rcaes_numeros]) ---------- */
.rcaes-grade-col { grid-template-columns: repeat(var(--rc-cols, 3), minmax(0, 1fr)); }
@media (max-width: 900px) { .rcaes-grade-col { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rcaes-grade-col { grid-template-columns: 1fr; } }
.rcaes-foto { position: relative; }
.rcaes-cartao > .rcaes-foto { margin: 0 0 .9rem; }
.rcaes-foto img { display: block; width: 100%; height: 190px; object-fit: cover; }
.rcaes-selo { position: absolute; left: .7rem; top: .7rem; padding: .2rem .7rem; border-radius: 999px; font-family: var(--rc-fonte-titulo); font-weight: 600; font-size: .75rem; line-height: 1.4; box-shadow: 0 1px 4px rgba(0, 0, 0, .15); }
.rcaes-publico h4 { margin: 0 1rem .4rem; }
.rcaes-meta { margin: .25rem 1rem; font-size: .85rem; color: var(--rc-suave); }
.rcaes-meta strong { color: var(--rc-azul); }
.rcaes-cartao > .rcaes-btn-bloco { width: auto; margin-top: .8rem; }
.rcaes-foto-info { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem .9rem .6rem; display: flex; flex-direction: column; color: #fff; background: linear-gradient(transparent, rgba(15, 23, 42, .75)); font-size: .8rem; }
.rcaes-foto-info strong { font-family: var(--rc-fonte-titulo); font-size: 1rem; color: #fff; }
.rcaes-coracao strong { color: var(--rc-azul); }
.rcaes-coracao { color: var(--rc-laranja); }
.rcaes-vazio { text-align: center; color: var(--rc-suave); padding: 1.5rem 0; }
.rcaes-centro { text-align: center; margin-top: 1.5rem; }
.cdr-faixa .cdr-grande::before { content: "+ "; }
.cdr-faixa strong { color: #fff; font-family: var(--rc-fonte-titulo); }
.cdr-faixa .cdr-numeros strong { color: var(--rc-laranja); }
