/**
 * La Regenera — tema filho. Reset alinhado à marca + base tipográfica + conteúdo editorial.
 * Tokens (--lr-*) vêm do plugin La Regenera Core (fallbacks abaixo).
 */

/* ================================================================== reset */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--lr-white, #FFFFFF);
	color: var(--lr-primary, #66443D);
	font-family: var(--lr-font, 'Figtree', system-ui, sans-serif);
	font-size: calc(17px * var(--lr-ts, 1));
	font-weight: 400;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	border-style: none;
}

/* WebP Express (modo <picture>) e similares: o wrapper não interfere no layout dos cards/artigo. */
.lr-card picture,
.lr-article picture,
.lr-archive picture {
	display: contents;
}

a {
	color: var(--lr-primary, #66443D);
	text-decoration: none;
	background-color: transparent;
}

a:hover {
	color: var(--lr-teal, #0092A8);
}

:focus-visible {
	outline: 2px solid var(--lr-teal, #0092A8);
	outline-offset: 3px;
}

::selection {
	background: var(--lr-mint, #9BE8E0);
	color: var(--lr-primary, #66443D);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 .5em;
	font-family: inherit;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: inherit;
}

p {
	margin: 0 0 1em;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
	margin: 0;
}

button {
	cursor: pointer;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="password"],
select,
textarea {
	width: 100%;
	padding: 10px 16px;
	border: 1.5px solid color-mix(in srgb, var(--lr-primary, #66443D) 30%, transparent);
	border-radius: 10px;
	background: var(--lr-white, #FFFFFF);
	transition: border-color .3s;
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--lr-teal, #0092A8);
	outline: none;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table td,
table th {
	padding: 12px;
	border: 1px solid var(--lr-line, rgba(102, 68, 61, .16));
	text-align: left;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Acessibilidade */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link.screen-reader-text:focus {
	top: 12px;
	left: 12px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 20px;
	clip: auto;
	border-radius: 999px;
	background: var(--lr-primary, #66443D);
	color: var(--lr-white, #FFFFFF);
	font-weight: 700;
}

/* Âncoras não ficam escondidas sob o header fixo. */
[id] {
	scroll-margin-top: 80px;
}

/* ================================================================== Elementor */

/* Containers das sections La Regenera: sem padding/gap herdados do Kit. */
.e-con.lr-section {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
}

.e-con.lr-section > .elementor-widget {
	width: 100%;
}

/* ================================================================== conteúdo editorial (posts, páginas sem Elementor) */

.site-main {
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(48px, 7vw, 96px) var(--lr-gutter, 24px);
}

.site-main.post-list,
.archive .site-main,
.blog .site-main,
.search .site-main {
	max-width: var(--lr-max, 1440px);
}

.page-header .entry-title,
.site-main > .page-header h1 {
	margin: 0;
	font-size: calc(clamp(40px, 5vw, 80px) * var(--lr-ts, 1));
	line-height: 1;
	letter-spacing: -.035em;
	text-wrap: balance;
}

.page-content,
.entry-content {
	margin-top: clamp(28px, 3vw, 44px);
	font-size: calc(clamp(17px, 1.2vw, 19px) * var(--lr-ts, 1));
	line-height: 1.65;
	text-wrap: pretty;
}

.page-content h2,
.entry-content h2 {
	margin: 1.8em 0 .5em;
	font-size: calc(clamp(28px, 2.6vw, 40px) * var(--lr-ts, 1));
}

.page-content h3,
.entry-content h3 {
	margin: 1.6em 0 .5em;
	font-size: calc(clamp(22px, 1.8vw, 28px) * var(--lr-ts, 1));
}

.page-content a,
.entry-content a {
	color: var(--lr-teal, #0092A8);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.page-content blockquote,
.entry-content blockquote {
	margin: 1.6em 0;
	padding: 0 0 0 24px;
	border-left: 3px solid var(--lr-mint, #9BE8E0);
	font-size: 1.15em;
	font-weight: 700;
}

.page-content ul,
.page-content ol,
.entry-content ul,
.entry-content ol {
	padding-left: 1.2em;
	margin: 0 0 1em;
}

.page-content figure,
.entry-content figure {
	margin: 2em 0;
}

.page-content figcaption,
.entry-content figcaption {
	margin-top: 8px;
	font-size: calc(14px * var(--lr-ts, 1));
	opacity: .8;
}

.post-tags,
.page-links {
	margin-top: 32px;
	font-size: calc(14px * var(--lr-ts, 1));
}

/* Lista de posts (fallback quando não há template Elementor) */
.post-list article,
.blog .site-main article,
.archive .site-main article {
	padding: 28px 0;
	border-top: 1.5px solid var(--lr-primary, #66443D);
}

.blog .site-main article .entry-title,
.archive .site-main article .entry-title {
	font-size: calc(clamp(24px, 2.4vw, 36px) * var(--lr-ts, 1));
}

.pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
	font-weight: 700;
}

/* Comentários desativados visualmente por padrão do layout */
.comments-area {
	margin-top: 48px;
}
