/*
Theme Name: CM Tema
Theme URI: https://cmariana.com
Author: Congregação Mariana
Description: Tema mínimo da Congregação Mariana — o esqueleto estrutural do site. Todo o design (cores, tipografia, cabeçalho, rodapé, layouts) vem dos plugins CM Núcleo e CM Biblioteca; o tema fornece apenas a marcação limpa e neutra sobre a qual eles trabalham.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cm-tema
*/

/* -------------------------------------------------------------------------
 * Base neutra. As cores reais vêm do CM Núcleo (variáveis --cmn-*);
 * os valores aqui são só a rede de segurança com a paleta da marca.
 * ---------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--cmn-cor-3, #F6F1E8);
	color: var(--cmn-cor-5, #24211D);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 17px;
	line-height: 1.6;
	word-wrap: break-word;
}

img, svg, video { max-width: 100%; height: auto; }

a { color: var(--cmn-cor-1, #024F97); }
a:hover, a:focus { color: var(--cmn-cor-2, #BF892A); }

h1, h2, h3, h4, h5, h6 {
	color: var(--cmn-cor-1, #024F97);
	line-height: 1.25;
	margin: 1.4em 0 0.5em;
}
h1:first-child, h2:first-child { margin-top: 0; }

/* ---------- Estrutura ---------- */
.site-content {
	display: block;
	padding: 2.25rem 1rem 3rem;
}
.cm-contido {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

/* Conteúdo do editor: largura de leitura com suporte a alinhamentos largos */
.entry-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.entry-content > .alignwide { max-width: 1140px; }
.entry-content > .alignfull {
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.entry-title { text-align: center; margin-bottom: 1.25rem; }

/* ---------- Formulários e botões (rede de segurança) ---------- */
button, input, select, textarea { font: inherit; max-width: 100%; }
input[type="text"], input[type="search"], input[type="email"], input[type="url"],
input[type="date"], input[type="number"], input[type="password"], textarea, select {
	padding: 0.5rem 0.7rem;
	border: 1px solid #d8d0c0;
	border-radius: 6px;
	background: #fff;
	color: inherit;
}
button, input[type="submit"], .wp-block-button__link {
	cursor: pointer;
}

/* ---------- Listagens (arquivo/busca/blog) ---------- */
.cm-lista-artigo {
	max-width: 760px;
	margin: 0 auto 2.25rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(191, 137, 42, 0.35);
}
.cm-lista-artigo:last-child { border-bottom: 0; }
.cm-lista-artigo h2 { margin: 0 0 0.4rem; font-size: 1.4rem; }
.cm-lista-meta { font-size: 0.85rem; color: rgba(36, 33, 29, 0.65); margin: 0 0 0.6rem; }

/* ---------- Comentários / avaliações ---------- */
.comments-area { max-width: 760px; margin: 2.5rem auto 0; }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { border-top: 1px solid rgba(191, 137, 42, 0.3); padding: 1rem 0; }
.comment-meta { font-size: 0.85rem; color: rgba(36, 33, 29, 0.65); }

/* ---------- Acessibilidade ---------- */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	overflow: hidden;
	position: absolute !important;
}
.pular-link:focus {
	clip: auto; clip-path: none;
	position: fixed; top: 8px; left: 8px;
	height: auto; width: auto;
	padding: 0.6rem 1rem;
	background: var(--cmn-cor-1, #024F97);
	color: #fff;
	z-index: 100000;
	border-radius: 6px;
}
:focus-visible { outline: 2px solid var(--cmn-cor-1, #024F97); outline-offset: 2px; }
