/* =====================================================================
   LETO — páginas legais / conteúdo simples (page.php, page-compliance.php)
   + faixa de aviso (disclaimer) no rodapé. Global: carrega em todo o site,
   mas só "pega" onde os elementos existem.
   ===================================================================== */

/* ---------- Faixa-título escura (dá fundo ao header fixo) ---------- */
.leto-page { background: var(--leto-paper); }
.leto-page__hero {
	background: var(--leto-charcoal);
	color: #fff;
	padding-block: clamp(120px, 88px + 6vw, 184px) clamp(2.4rem, 1.4rem + 3vw, 56px);
}
.leto-page__eyebrow {
	display: inline-block;
	margin-bottom: 1rem;
	font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--leto-green);
}
.leto-page__title {
	max-width: 18ch;
	font-size: clamp(2rem, 1.4rem + 3.2vw, 54px);
	font-weight: 400; line-height: 1.05; color: #fff;
}

/* ---------- Corpo / prosa legível ---------- */
.leto-page__body { padding-block: clamp(3rem, 2rem + 4vw, 80px); }
.leto-page__prose { max-width: 760px; }
.leto-page__prose > :first-child { margin-top: 0; }
.leto-page__prose h2 {
	margin: 2.4em 0 .55em;
	font-size: clamp(1.3rem, 1rem + 1vw, 26px); font-weight: 500; line-height: 1.18; color: var(--leto-ink);
}
.leto-page__prose h3 {
	margin: 1.9em 0 .5em;
	font-size: clamp(1.1rem, .95rem + .6vw, 20px); font-weight: 600; color: var(--leto-ink);
}
.leto-page__prose p,
.leto-page__prose li { font-size: 16.5px; line-height: 1.72; color: #3a3a37; }
.leto-page__prose p { margin: 0 0 1.1em; }
.leto-page__prose ul,
.leto-page__prose ol { margin: 0 0 1.3em; padding-left: 1.35em; }
.leto-page__prose li { margin-bottom: .5em; }
.leto-page__prose li::marker { color: var(--leto-green-deep); }
.leto-page__prose a { color: var(--leto-ink); text-decoration: underline; text-underline-offset: 3px; }
.leto-page__prose strong { font-weight: 600; color: var(--leto-ink); }
.leto-page__prose hr { margin: 2em 0; border: 0; border-top: 1px solid rgba(45,45,45,.14); }
.leto-page__updated {
	max-width: 760px;
	margin-top: clamp(2.5rem, 1.5rem + 3vw, 56px); padding-top: 1.4rem;
	border-top: 1px solid rgba(45,45,45,.16);
	font-size: 13px; color: var(--leto-gray);
}

/* ---------- Compliance: lista de documentos ---------- */
.page-compliance .comp-intro { margin-bottom: clamp(2rem, 1.4rem + 2vw, 44px); }
.comp-docs {
	list-style: none; margin: 0; padding: 0; max-width: 900px;
	border-top: 1px solid rgba(45,45,45,.14);
}
.comp-doc { border-bottom: 1px solid rgba(45,45,45,.14); }
.comp-doc__link {
	display: flex; align-items: center; gap: clamp(1rem, .6rem + 1.4vw, 24px);
	padding: clamp(1.1rem, .85rem + 1vw, 22px) 4px;
	color: var(--leto-ink); text-decoration: none;
	transition: padding-left .25s var(--ease), color .2s;
}
a.comp-doc__link:hover { padding-left: 14px; color: #000; }
.comp-doc__icon { flex: 0 0 auto; width: 26px; height: 26px; color: var(--leto-gray); }
.comp-doc__icon svg { width: 100%; height: 100%; }
.comp-doc__text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.comp-doc__title { font-size: clamp(1.05rem, .9rem + .6vw, 20px); font-weight: 500; line-height: 1.2; }
.comp-doc__desc { font-size: 13.5px; color: var(--leto-gray); }
.comp-doc__action { flex: 0 0 auto; display: inline-flex; align-items: center; color: var(--leto-gray); }
.comp-doc__action svg { width: 22px; height: 22px; }
a.comp-doc__link:hover .comp-doc__action { color: var(--leto-green-deep); }
.comp-doc--soon { opacity: .7; }
.comp-doc__soon {
	font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase;
	color: var(--leto-gray); border: 1px solid rgba(45,45,45,.22); border-radius: 100px; padding: 4px 11px;
	white-space: nowrap;
}

/* ---------- Rodapé: faixa do aviso/disclaimer ---------- */
.site-footer__legal { margin-top: clamp(2rem, 1.2rem + 2vw, 40px); }
.site-footer__legal .stage { padding-top: 1.6rem; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__disclaimer-title {
	margin: 0 0 .9rem;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}
.site-footer__disclaimer { max-width: 1000px; font-size: 11.5px; line-height: 1.65; color: rgba(255,255,255,.42); }
.site-footer__disclaimer p { margin: 0 0 .55em; }
.site-footer__disclaimer p:last-child { margin-bottom: 0; }

@media (max-width: 680px) {
	.comp-doc__action svg { width: 20px; height: 20px; }
}
