/*
Theme Name: Mundi Live
Theme URI: https://mundilive.com.br
Author: Mundi Live
Author URI: https://mundilive.com.br
Description: Tema de blog para conteúdo de bem-estar, alimentação, cuidados com a pele e cotidiano. Segue a identidade visual MundiLive: verde #1FA189, Instrument Sans e cards claros. Lista de posts com miniatura, barra lateral com últimos posts, áreas para anúncios, newsletter, barra de progresso de leitura e índice do artigo.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mundilive
Tags: blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   1. Fonte — Instrument Sans (variável, hospedada localmente)
   ========================================================================== */

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400 600;
	font-stretch: 100%;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Instrument Sans';
	font-style: normal;
	font-weight: 400 600;
	font-stretch: 100%;
	font-display: swap;
	src: url('assets/fonts/instrument-sans-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ==========================================================================
   2. Tokens da identidade
   ========================================================================== */

:root {
	--ml-verde: #1fa189;
	--ml-verde-escuro: #17806d;
	--ml-verde-claro: #e3f6f2;
	--ml-menta: #63dcc3;
	--ml-menta-clara: #bfeadf;
	--ml-tinta: #12231b;
	--ml-papel: #faf9f6;
	--ml-branco: #ffffff;
	--ml-muted: #f2f0eb;
	--ml-muted-fg: #636e68;
	--ml-borda: #e8e4dd;
	--ml-borda-hover: #dcd7ce;

	--ml-ambar: #f2a436;
	--ml-ambar-bg: #fff7ea;
	--ml-ambar-borda: #f6dcae;
	--ml-ambar-fg: #5c4a28;
	--ml-coral: #e64533;

	--ml-foco: rgba(31, 161, 137, .22);

	--ml-font: 'Instrument Sans', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	/* Escala de espaçamento */
	--ml-s1: 4px;
	--ml-s2: 8px;
	--ml-s3: 10px;
	--ml-s4: 14px;
	--ml-s5: 18px;
	--ml-s6: 22px;
	--ml-s7: 26px;
	--ml-s8: 34px;
	--ml-s9: 44px;
	--ml-s10: 56px;
	--ml-s11: 72px;

	/* Raios */
	--ml-r-btn: 10px;
	--ml-r-sm: 14px;
	--ml-r: 16px;
	--ml-r-lg: 18px;
	--ml-r-pill: 999px;

	--ml-sombra: 0 1px 2px rgba(18, 35, 27, .05);
	--ml-sombra-alta: 0 2px 4px rgba(18, 35, 27, .04), 0 8px 20px rgba(18, 35, 27, .06);

	--ml-ease: cubic-bezier(.16, 1, .3, 1);

	--ml-content: 720px;
	--ml-wide: 1120px;
	--ml-max: 1200px;
}

/* ==========================================================================
   3. Reset e base
   ========================================================================== */

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--ml-papel);
	color: var(--ml-tinta);
	font-family: var(--ml-font);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-variant-numeric: tabular-nums;
}

img, video, iframe, embed, object { max-width: 100%; height: auto; }
img { display: block; }

a {
	color: var(--ml-verde);
	text-decoration: none;
	transition: color .16s var(--ml-ease);
}

a:hover { color: var(--ml-verde-escuro); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5em;
	color: var(--ml-tinta);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.25;
	text-wrap: pretty;
}

h1 { font-size: 40px; letter-spacing: -.03em; line-height: 1.15; }
h2 { font-size: 24px; }
h3 { font-size: 19px; }
h4 { font-size: 17px; }

p { margin: 0 0 1.3em; text-wrap: pretty; }

ul, ol { margin: 0 0 1.3em; padding-left: 1.3em; }
li { margin-bottom: .4em; }

blockquote {
	margin: var(--ml-s8) 0;
	padding: 2px 0 2px var(--ml-s6);
	border-left: 3px solid var(--ml-verde);
	color: var(--ml-verde-escuro);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.6;
}

blockquote p:last-child { margin-bottom: 0; }

blockquote cite {
	display: block;
	margin-top: .6em;
	font-size: 13px;
	font-weight: 400;
	font-style: normal;
	color: var(--ml-muted-fg);
}

code, kbd, pre, samp {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .9em;
}

code {
	padding: .1em .35em;
	background: var(--ml-muted);
	border: 1px solid var(--ml-borda);
	border-radius: 6px;
}

pre {
	padding: var(--ml-s6);
	background: var(--ml-tinta);
	color: #eef5f1;
	border-radius: var(--ml-r-sm);
	overflow-x: auto;
}

pre code { padding: 0; background: none; border: 0; color: inherit; }

hr {
	height: 1px;
	margin: var(--ml-s9) 0;
	border: 0;
	background: var(--ml-borda);
}

table {
	width: 100%;
	margin-bottom: var(--ml-s6);
	border-collapse: collapse;
	font-size: 14.5px;
}

th, td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--ml-borda);
	text-align: left;
}

th { font-weight: 600; }

figure { margin: var(--ml-s8) 0; }

figcaption {
	margin-top: var(--ml-s3);
	font-size: 13px;
	color: var(--ml-muted-fg);
	text-align: center;
}

/* Acessibilidade */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	border: 0;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	top: 0;
	left: -9999px;
	z-index: 999;
	padding: 12px 18px;
	background: var(--ml-verde);
	color: #fff;
	border-radius: 0 0 var(--ml-r-btn) 0;
}

.skip-link:focus { left: 0; color: #fff; }

:focus-visible {
	outline: none;
	border-color: var(--ml-verde);
	box-shadow: 0 0 0 3px var(--ml-foco);
	border-radius: 4px;
}

/* ==========================================================================
   4. Layout
   ========================================================================== */

.ml-container {
	width: 100%;
	max-width: var(--ml-max);
	margin: 0 auto;
	padding: 0 var(--ml-s8);
}

.ml-site-content { padding: var(--ml-s8) 0 var(--ml-s10); }

.ml-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 40px;
	align-items: start;
}

.ml-layout--full { grid-template-columns: minmax(0, 1fr); }

/* ==========================================================================
   5. Marca
   ========================================================================== */

.ml-logo {
	display: inline-flex;
	align-items: center;
	gap: var(--ml-s3);
}

.ml-logo__mark {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	color: var(--ml-verde);
}

.ml-logo__mark svg { width: 100%; height: 100%; display: block; }

.ml-logo__word {
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.03em;
	color: var(--ml-tinta);
	white-space: nowrap;
}

.ml-logo__word em { font-style: normal; color: var(--ml-verde); }

.ml-footer .ml-logo__mark { color: var(--ml-menta); }
.ml-footer .ml-logo__word { color: #f1f8f4; }
.ml-footer .ml-logo__word em { color: var(--ml-menta); }

/* ==========================================================================
   6. Cabeçalho
   ========================================================================== */

.ml-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--ml-branco);
	border-bottom: 1px solid var(--ml-borda);
}

.admin-bar .ml-header { top: 32px; }

.ml-header__inner {
	display: flex;
	align-items: center;
	gap: var(--ml-s7);
	padding-top: var(--ml-s5);
	padding-bottom: var(--ml-s5);
}

.ml-branding { flex: 0 0 auto; margin-right: auto; }
.ml-branding__desc { display: none; }
.custom-logo { max-height: 40px; width: auto; }

/* Navegação */
.ml-nav ul {
	display: flex;
	align-items: center;
	gap: var(--ml-s6);
	list-style: none;
	margin: 0;
	padding: 0;
}

.ml-nav li { position: relative; margin: 0; }

.ml-nav a {
	display: block;
	padding: 4px 0;
	font-size: 14px;
	font-weight: 400;
	color: var(--ml-muted-fg);
	white-space: nowrap;
	transition: color .16s var(--ml-ease);
}

.ml-nav a:hover,
.ml-nav .current-menu-item > a,
.ml-nav .current-menu-ancestor > a,
.ml-nav .current-menu-parent > a,
.ml-nav .current_page_item > a {
	color: var(--ml-tinta);
	font-weight: 500;
}

/* Submenus */
.ml-nav ul ul {
	position: absolute;
	top: calc(100% + 12px);
	left: -14px;
	display: block;
	min-width: 200px;
	padding: var(--ml-s2);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
	box-shadow: var(--ml-sombra-alta);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s var(--ml-ease), transform .16s var(--ml-ease), visibility .16s;
}

.ml-nav ul ul ul { top: -8px; left: 100%; }

.ml-nav li:hover > ul,
.ml-nav li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.ml-nav ul ul li { display: block; }
.ml-nav ul ul a { padding: 8px 12px; border-radius: 8px; }
.ml-nav ul ul a:hover { background: var(--ml-verde-claro); color: var(--ml-verde-escuro); }

/* Botão de fechar e busca do menu — só existem no celular */
.ml-nav-close,
.ml-nav__search { display: none; }

.ml-header__actions {
	display: flex;
	align-items: center;
	gap: var(--ml-s2);
	flex: 0 0 auto;
}

/* Busca em pílula no cabeçalho */
.ml-header__search { width: 190px; }

.ml-header__search .search-form { position: relative; }

.ml-header__search .search-field {
	height: 34px;
	padding: 0 14px 0 36px;
	border-radius: var(--ml-r-pill);
	font-size: 13.5px;
}

.ml-header__search .search-submit {
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 34px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--ml-muted-fg);
	box-shadow: none;
}

.ml-header__search .search-submit:hover {
	background: none;
	color: var(--ml-verde);
	transform: none;
}

.ml-header__search .search-submit svg { width: 15px; height: 15px; }

.ml-icon-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-pill);
	color: var(--ml-tinta);
	cursor: pointer;
	transition: background .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-icon-btn:hover { background: var(--ml-muted); border-color: var(--ml-borda-hover); transform: none; }
.ml-icon-btn svg { width: 20px; height: 20px; }

/* Barra de progresso de leitura */
.ml-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background: var(--ml-borda);
}

.ml-progress__bar {
	height: 100%;
	width: 0;
	background: var(--ml-verde);
	transition: width .1s linear;
}

/* ==========================================================================
   7. Ícones, formulários e botões
   ========================================================================== */

/* Todo SVG de ícone tem tamanho explícito — sem isso o navegador usa 300x150. */
svg.ml-icon {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

svg.ml-icon--fill { fill: currentColor; stroke: none; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
textarea,
select {
	width: 100%;
	padding: 10px 14px;
	font-family: inherit;
	font-size: 14.5px;
	color: var(--ml-tinta);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-btn);
	transition: border-color .16s var(--ml-ease), box-shadow .16s var(--ml-ease);
}

input:focus,
textarea:focus,
select:focus {
	outline: none;
	border-color: var(--ml-verde);
	box-shadow: 0 0 0 3px var(--ml-foco);
}

textarea { min-height: 150px; resize: vertical; }

button,
input[type="submit"],
.ml-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--ml-s2);
	height: 42px;
	padding: 0 20px;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	color: #fff;
	background: var(--ml-verde);
	border: 1px solid var(--ml-verde);
	border-radius: var(--ml-r-btn);
	cursor: pointer;
	transition: background .16s var(--ml-ease), border-color .16s var(--ml-ease), box-shadow .16s var(--ml-ease), transform .16s var(--ml-ease);
}

button:hover,
input[type="submit"]:hover,
.ml-btn:hover {
	background: var(--ml-verde-escuro);
	border-color: var(--ml-verde-escuro);
	color: #fff;
	box-shadow: var(--ml-sombra-alta);
}

button:active,
input[type="submit"]:active,
.ml-btn:active { transform: translateY(.5px); }

.ml-btn svg,
button svg,
input[type="submit"] svg { width: 16px; height: 16px; flex: 0 0 auto; }

.ml-btn--ghost {
	background: transparent;
	color: var(--ml-tinta);
	border-color: var(--ml-borda);
}

.ml-btn--ghost:hover {
	background: var(--ml-muted);
	color: var(--ml-tinta);
	border-color: var(--ml-borda-hover);
}

.ml-btn--dark {
	background: var(--ml-tinta);
	border-color: var(--ml-tinta);
	color: #f5fbf8;
}

.ml-btn--dark:hover { background: #0a1710; border-color: #0a1710; color: #f5fbf8; }

.search-form { display: flex; gap: var(--ml-s2); }
.search-form .search-field { flex: 1 1 auto; }
.search-form .search-submit { flex: 0 0 auto; width: 42px; padding: 0; }

/* ==========================================================================
   8. Rótulos e metadados
   ========================================================================== */

.ml-eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ml-muted-fg);
}

.ml-cat-pill {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 11px;
	background: var(--ml-verde-claro);
	color: var(--ml-verde-escuro);
	border-radius: var(--ml-r-pill);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: -.01em;
	white-space: nowrap;
}

.ml-cat-pill:hover { background: var(--ml-menta-clara); color: var(--ml-verde-escuro); }

.ml-cat-eyebrow {
	display: block;
	margin-bottom: 5px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ml-verde);
}

.ml-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	font-size: 12.5px;
	color: var(--ml-muted-fg);
}

.ml-meta a { color: var(--ml-muted-fg); }
.ml-meta a:hover { color: var(--ml-verde); }

.ml-meta__item { display: inline-flex; align-items: center; gap: 5px; }
.ml-meta__item svg.ml-icon { width: 13px; height: 13px; opacity: .85; }

.ml-meta__avatar { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }

/* ==========================================================================
   9. Destaque da home
   ========================================================================== */

.ml-top {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: var(--ml-s6);
	align-items: start;
	margin-bottom: var(--ml-s8);
}

.ml-feature {
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r);
	overflow: hidden;
	box-shadow: var(--ml-sombra);
	transition: box-shadow .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-feature:hover { box-shadow: var(--ml-sombra-alta); border-color: var(--ml-borda-hover); }

.ml-feature__media {
	display: block;
	height: 240px;
	background: var(--ml-verde-claro);
	overflow: hidden;
}

.ml-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ml-ease);
}

.ml-feature:hover .ml-feature__media img { transform: scale(1.03); }

.ml-feature__body { padding: var(--ml-s6); }

.ml-feature__head {
	display: flex;
	align-items: center;
	gap: var(--ml-s4);
	margin-bottom: var(--ml-s4);
	flex-wrap: wrap;
}

.ml-feature__title {
	font-size: 28px;
	letter-spacing: -.03em;
	line-height: 1.2;
	margin: 0 0 var(--ml-s3);
}

.ml-feature__title a { color: var(--ml-tinta); }
.ml-feature__title a:hover { color: var(--ml-verde-escuro); }

.ml-feature__excerpt {
	margin: 0;
	font-size: 15px;
	color: var(--ml-muted-fg);
	line-height: 1.6;
}

/* Coluna lateral do destaque */
.ml-top__side {
	display: flex;
	flex-direction: column;
	gap: var(--ml-s4);
}

/* ==========================================================================
   10. Cards de post
   ========================================================================== */

/* Card horizontal (thumb quadrada à esquerda) */
.ml-hcard {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: var(--ml-s4);
	align-items: center;
	padding: var(--ml-s4);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
	box-shadow: var(--ml-sombra);
	transition: box-shadow .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-hcard:hover { box-shadow: var(--ml-sombra-alta); border-color: var(--ml-borda-hover); }

.ml-hcard__media {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 11px;
	overflow: hidden;
	background: var(--ml-muted);
}

.ml-hcard__media img { width: 100%; height: 100%; object-fit: cover; }

.ml-hcard__title {
	margin: 0 0 5px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.ml-hcard__title a { color: var(--ml-tinta); }
.ml-hcard__title a:hover { color: var(--ml-verde-escuro); }

/* Card vertical (grade "Publicados recentemente") */
.ml-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--ml-s6);
}

.ml-vcard {
	display: flex;
	flex-direction: column;
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r);
	overflow: hidden;
	box-shadow: var(--ml-sombra);
	transition: box-shadow .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-vcard:hover { box-shadow: var(--ml-sombra-alta); border-color: var(--ml-borda-hover); }

.ml-vcard__media {
	display: block;
	height: 130px;
	background: var(--ml-muted);
	overflow: hidden;
}

.ml-vcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ml-ease); }
.ml-vcard:hover .ml-vcard__media img { transform: scale(1.04); }

.ml-vcard__body { padding: var(--ml-s5); display: flex; flex-direction: column; gap: var(--ml-s2); }

.ml-vcard__title {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.ml-vcard__title a { color: var(--ml-tinta); }
.ml-vcard__title a:hover { color: var(--ml-verde-escuro); }

/* Card em lista (arquivos e busca) */
.ml-posts { display: flex; flex-direction: column; gap: var(--ml-s6); }

.ml-card {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: var(--ml-s6);
	align-items: center;
	padding: var(--ml-s5);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r);
	box-shadow: var(--ml-sombra);
	transition: box-shadow .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-card:hover { box-shadow: var(--ml-sombra-alta); border-color: var(--ml-borda-hover); }

.ml-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--ml-r-sm);
	overflow: hidden;
	background: var(--ml-muted);
}

.ml-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ml-ease); }
.ml-card:hover .ml-card__media img { transform: scale(1.04); }

.ml-card__body { min-width: 0; }

.ml-card__title {
	margin: var(--ml-s2) 0 var(--ml-s3);
	font-size: 19px;
	letter-spacing: -.02em;
	line-height: 1.3;
}

.ml-card__title a { color: var(--ml-tinta); }
.ml-card__title a:hover { color: var(--ml-verde-escuro); }

.ml-card__excerpt {
	margin: 0 0 var(--ml-s4);
	font-size: 14.5px;
	color: var(--ml-muted-fg);
}

/* Placeholder quando o post não tem imagem destacada */
.ml-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--ml-verde-claro);
	color: var(--ml-verde);
}

.ml-ph svg { width: 34px; height: 34px; opacity: .5; }
.ml-hcard .ml-ph svg { width: 24px; height: 24px; }

.ml-readmore {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ml-verde);
}

.ml-readmore svg { width: 14px; height: 14px; transition: transform .16s var(--ml-ease); }
.ml-readmore:hover svg { transform: translateX(3px); }

/* ==========================================================================
   11. Cabeçalhos de seção
   ========================================================================== */

.ml-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--ml-s4);
	margin-bottom: var(--ml-s6);
}

.ml-section-head h2 { margin: 0; font-size: 19px; letter-spacing: -.02em; }

.ml-section-head__link { font-size: 13.5px; font-weight: 500; color: var(--ml-verde); }

.ml-page-head {
	padding: var(--ml-s8) 0;
	background: var(--ml-branco);
	border-bottom: 1px solid var(--ml-borda);
}

.ml-page-head h1 { margin: var(--ml-s2) 0 0; font-size: 32px; }
.ml-page-head__desc { max-width: 640px; margin: var(--ml-s3) 0 0; color: var(--ml-muted-fg); font-size: 15px; }

.ml-breadcrumbs { font-size: 12.5px; color: var(--ml-muted-fg); }
.ml-breadcrumbs a { color: var(--ml-muted-fg); }
.ml-breadcrumbs a:hover { color: var(--ml-verde); }
.ml-breadcrumbs span[aria-hidden] { margin: 0 6px; opacity: .55; }

/* ==========================================================================
   12. Newsletter
   ========================================================================== */

.ml-newsletter {
	margin-top: var(--ml-s8);
	padding: 32px 36px;
	background: var(--ml-verde);
	border-radius: var(--ml-r);
	color: #f5fbf8;
}

.ml-newsletter__title { margin: 0 0 6px; color: #f5fbf8; font-size: 22px; letter-spacing: -.02em; }
.ml-newsletter__text { margin: 0 0 var(--ml-s6); color: var(--ml-menta-clara); font-size: 14.5px; }

.ml-newsletter__form { display: flex; flex-wrap: wrap; gap: var(--ml-s3); }

.ml-newsletter__form input[type="email"],
.ml-newsletter__form input[type="text"] {
	flex: 0 1 250px;
	height: 44px;
	background: #fff;
	border-color: #fff;
}

.ml-newsletter__form input:focus { box-shadow: 0 0 0 3px rgba(255, 255, 255, .35); }

.ml-newsletter__form button,
.ml-newsletter__form .ml-btn {
	height: 44px;
	background: var(--ml-tinta);
	border-color: var(--ml-tinta);
	color: #f5fbf8;
}

.ml-newsletter__form button:hover { background: #0a1710; border-color: #0a1710; }

/* Widget de newsletter na lateral */
.ml-widget--cta {
	background: var(--ml-verde);
	border-color: var(--ml-verde);
	color: #f5fbf8;
}

.ml-widget--cta .ml-widget__title { color: #f5fbf8; }
.ml-widget--cta p { color: var(--ml-menta-clara); font-size: 14px; }
.ml-widget--cta input { background: #fff; border-color: #fff; }
.ml-widget--cta button,
.ml-widget--cta .ml-btn { width: 100%; margin-top: var(--ml-s3); background: var(--ml-tinta); border-color: var(--ml-tinta); color: #f5fbf8; }

/* ==========================================================================
   13. Anúncios
   ========================================================================== */

.ml-ad {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: var(--ml-s7) auto;
	background: var(--ml-muted);
	border: 1px dashed var(--ml-borda);
	border-radius: var(--ml-r-sm);
	color: var(--ml-muted-fg);
	font-size: 11px;
	letter-spacing: .09em;
	text-transform: uppercase;
	overflow: hidden;
}

.ml-ad--box { width: 300px; max-width: 100%; min-height: 250px; }
.ml-ad--leaderboard { width: 728px; max-width: 100%; min-height: 90px; }
.ml-ad--sticky { position: sticky; top: 96px; }
.ml-ad:empty::after { content: "Espaço de anúncio"; }
.ml-ad > * { max-width: 100%; }

/* Quando o Ad Inserter preencher, tira a moldura tracejada. */
.ml-ad:not(:empty) { background: transparent; border: 0; }

/* ==========================================================================
   14. Barra lateral e widgets
   ========================================================================== */

.ml-sidebar {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: var(--ml-s6);
}

.admin-bar .ml-sidebar { top: 128px; }

.ml-widget {
	padding: var(--ml-s6);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r);
	box-shadow: var(--ml-sombra);
	font-size: 14px;
}

.ml-widget__title {
	margin: 0 0 var(--ml-s4);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--ml-muted-fg);
}

.ml-widget ul { list-style: none; margin: 0; padding: 0; }
.ml-widget li { margin-bottom: var(--ml-s3); }
.ml-widget li:last-child { margin-bottom: 0; }
.ml-widget a { color: var(--ml-tinta); }
.ml-widget a:hover { color: var(--ml-verde); }

.ml-widget_categories li,
.ml-widget_archive li {
	display: flex;
	justify-content: space-between;
	gap: var(--ml-s3);
	padding-bottom: var(--ml-s3);
	border-bottom: 1px solid var(--ml-borda);
	font-size: 14px;
}

.ml-widget_categories li:last-child,
.ml-widget_archive li:last-child { border-bottom: 0; padding-bottom: 0; }

/* Lista de últimos posts com miniatura */
.ml-recent { display: flex; flex-direction: column; gap: var(--ml-s4); }

.ml-recent__item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: var(--ml-s3);
	align-items: center;
	margin: 0;
}

.ml-recent__media {
	display: block;
	width: 52px;
	height: 52px;
	border-radius: var(--ml-s3);
	overflow: hidden;
	background: var(--ml-muted);
}

.ml-recent__media img { width: 100%; height: 100%; object-fit: cover; }

.ml-recent__title {
	display: block;
	margin-bottom: 3px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--ml-tinta);
}

.ml-recent__item:hover .ml-recent__title { color: var(--ml-verde-escuro); }
.ml-recent__date { font-size: 12.5px; color: var(--ml-muted-fg); }

.ml-recent__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--ml-verde-claro);
	color: var(--ml-verde-escuro);
	font-size: 15px;
	font-weight: 600;
}

/* Widget sobre */
.ml-about { text-align: center; }

.ml-about img {
	width: 84px;
	height: 84px;
	margin: 0 auto var(--ml-s4);
	border-radius: 50%;
	object-fit: cover;
}

.ml-about__name { margin: 0 0 6px; font-size: 16px; font-weight: 600; letter-spacing: -.02em; color: var(--ml-tinta); }
.ml-about__text { margin: 0; font-size: 14px; color: var(--ml-muted-fg); }

/* Índice do artigo */
.ml-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }

.ml-toc li { margin-bottom: var(--ml-s3); line-height: 1.4; }

.ml-toc a {
	font-size: 13.5px;
	color: var(--ml-muted-fg);
	transition: color .16s var(--ml-ease);
}

.ml-toc a:hover { color: var(--ml-tinta); }

.ml-toc a.is-active { color: var(--ml-verde); font-weight: 500; }

.ml-toc li.is-sub { padding-left: var(--ml-s4); }

/* Nuvem de tags */
.ml-widget .tagcloud a,
.ml-widget .wp-block-tag-cloud a {
	display: inline-block;
	margin: 0 5px 7px 0;
	padding: 4px 11px;
	background: var(--ml-verde-claro);
	border-radius: var(--ml-r-pill);
	font-size: 12.5px !important;
	color: var(--ml-verde-escuro);
}

.ml-widget .tagcloud a:hover,
.ml-widget .wp-block-tag-cloud a:hover { background: var(--ml-menta-clara); }

/* ==========================================================================
   15. Post individual
   ========================================================================== */

.ml-single__head { margin-bottom: var(--ml-s7); }

.ml-single__title { margin: var(--ml-s4) 0 var(--ml-s5); font-size: 40px; }

.ml-byline {
	display: flex;
	align-items: center;
	gap: var(--ml-s3);
	font-size: 13px;
	color: var(--ml-muted-fg);
}

.ml-byline__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--ml-verde-claro);
	color: var(--ml-verde-escuro);
	font-size: 13px;
	font-weight: 600;
	overflow: hidden;
}

.ml-byline__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

.ml-byline__name { color: var(--ml-tinta); font-weight: 500; }
.ml-byline__sep { opacity: .5; }

.ml-single__thumb {
	margin: 0 0 var(--ml-s7);
	height: 280px;
	border-radius: var(--ml-r-sm);
	overflow: hidden;
	background: var(--ml-verde-claro);
}

.ml-single__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ml-single__thumb figcaption { padding-top: var(--ml-s3); }

.ml-entry-content {
	font-size: 18px;
	line-height: 1.75;
}

.ml-entry-content > * { max-width: 66ch; }
.ml-entry-content > .alignwide { max-width: var(--ml-wide); }
.ml-entry-content > .alignfull { max-width: none; }

.ml-entry-content > h2 { margin-top: 1.6em; font-size: 24px; }
.ml-entry-content > h3 { margin-top: 1.4em; font-size: 19px; }

.ml-entry-content > p:first-of-type {
	font-size: 19px;
	line-height: 1.7;
	color: var(--ml-tinta);
}

.ml-entry-content a:not(.ml-btn) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.ml-entry-content img { border-radius: var(--ml-r-sm); }

.ml-entry-content ul,
.ml-entry-content ol { max-width: 66ch; }

.alignwide { max-width: var(--ml-wide); }
.alignfull { max-width: 100%; }
.aligncenter { margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: .4em var(--ml-s6) var(--ml-s5) 0; max-width: 45%; }
.alignright { float: right; margin: .4em 0 var(--ml-s5) var(--ml-s6); max-width: 45%; }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 13px; color: var(--ml-muted-fg); text-align: center; }

/* Caixa de atenção */
.ml-callout {
	display: flex;
	gap: var(--ml-s4);
	max-width: 66ch;
	margin: var(--ml-s7) 0;
	padding: var(--ml-s5) var(--ml-s6);
	background: var(--ml-ambar-bg);
	border: 1px solid var(--ml-ambar-borda);
	border-radius: var(--ml-r-sm);
	color: var(--ml-ambar-fg);
	font-size: 14.5px;
	line-height: 1.6;
}

.ml-callout__icon { flex: 0 0 auto; color: var(--ml-ambar); }
.ml-callout__icon svg { width: 22px; height: 22px; }
.ml-callout__title { margin: 0 0 4px; font-size: 14.5px; font-weight: 600; color: var(--ml-ambar-fg); }
.ml-callout p { margin: 0; }
.ml-callout p + p { margin-top: .6em; }

/* Card de afiliado */
.ml-affiliate {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr) auto;
	gap: var(--ml-s5);
	align-items: center;
	max-width: 66ch;
	margin: var(--ml-s7) 0;
	padding: var(--ml-s5);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
	box-shadow: var(--ml-sombra);
}

.ml-affiliate__media {
	width: 74px;
	height: 74px;
	border-radius: var(--ml-s3);
	overflow: hidden;
	background: var(--ml-muted);
}

.ml-affiliate__media img { width: 100%; height: 100%; object-fit: cover; }
.ml-affiliate__title { margin: 4px 0 0; font-size: 16px; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; }
.ml-affiliate .ml-btn { flex: 0 0 auto; }

/* Tags */
.ml-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ml-s2);
	max-width: 66ch;
	margin-top: var(--ml-s8);
}

.ml-tags a {
	padding: 4px 12px;
	background: var(--ml-muted);
	border-radius: var(--ml-r-pill);
	font-size: 12.5px;
	color: var(--ml-muted-fg);
}

.ml-tags a:hover { background: var(--ml-verde-claro); color: var(--ml-verde-escuro); }

/* Compartilhar */
.ml-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ml-s2);
	max-width: 66ch;
	margin-top: var(--ml-s6);
	padding: var(--ml-s5);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
}

.ml-share__label { margin-right: auto; font-size: 13.5px; font-weight: 500; }

.ml-share a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--ml-muted);
	color: var(--ml-muted-fg);
	transition: background .16s var(--ml-ease), color .16s var(--ml-ease);
}

.ml-share a:hover { background: var(--ml-verde); color: #fff; }
.ml-share svg { width: 17px; height: 17px; }

/* Caixa do autor */
.ml-author-box {
	display: flex;
	gap: var(--ml-s5);
	max-width: 66ch;
	margin-top: var(--ml-s8);
	padding: var(--ml-s6);
	background: var(--ml-verde-claro);
	border-radius: var(--ml-r-sm);
}

.ml-author-box img { flex: 0 0 auto; border-radius: 50%; }
.ml-author-box h3 { margin: 0 0 5px; font-size: 16px; }
.ml-author-box p { margin: 0; font-size: 14.5px; color: var(--ml-verde-escuro); }

/* Navegação entre posts */
.ml-post-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ml-s4);
	max-width: 66ch;
	margin-top: var(--ml-s8);
}

.ml-post-nav__item {
	padding: var(--ml-s5);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
	transition: border-color .16s var(--ml-ease), box-shadow .16s var(--ml-ease);
}

.ml-post-nav__item:hover { border-color: var(--ml-borda-hover); box-shadow: var(--ml-sombra-alta); }
.ml-post-nav__item--next { text-align: right; }
.ml-post-nav__label { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--ml-muted-fg); }
.ml-post-nav__title { font-size: 14.5px; font-weight: 500; line-height: 1.35; color: var(--ml-tinta); }

/* Relacionados */
.ml-related { margin-top: var(--ml-s10); }

/* ==========================================================================
   16. Paginação
   ========================================================================== */

.ml-pagination { margin-top: var(--ml-s8); }

.ml-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--ml-s2);
}

.ml-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-btn);
	font-size: 14px;
	font-weight: 500;
	color: var(--ml-tinta);
	transition: background .16s var(--ml-ease), border-color .16s var(--ml-ease);
}

.ml-pagination .page-numbers:hover { background: var(--ml-muted); border-color: var(--ml-borda-hover); }

.ml-pagination .page-numbers.current {
	background: var(--ml-verde);
	border-color: var(--ml-verde);
	color: #fff;
}

.ml-pagination .page-numbers.dots { background: none; border-color: transparent; }

/* ==========================================================================
   17. Comentários
   ========================================================================== */

.ml-comments {
	max-width: 66ch;
	margin-top: var(--ml-s10);
	padding-top: var(--ml-s8);
	border-top: 1px solid var(--ml-borda);
}

.ml-comments__title { font-size: 24px; margin-bottom: var(--ml-s6); }

.comment-list { list-style: none; margin: 0 0 var(--ml-s8); padding: 0; }

.comment-list ol.children {
	list-style: none;
	margin: var(--ml-s5) 0 0;
	padding-left: var(--ml-s7);
	border-left: 2px solid var(--ml-borda);
}

.comment-body {
	margin-bottom: var(--ml-s5);
	padding: var(--ml-s5);
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r-sm);
	font-size: 15px;
}

.comment-meta { display: flex; align-items: center; gap: var(--ml-s3); margin-bottom: var(--ml-s3); }
.comment-author { display: flex; align-items: center; gap: var(--ml-s2); font-size: 14.5px; font-weight: 500; }
.comment-author img { border-radius: 50%; }
.comment-author .says { display: none; }
.comment-metadata { margin-left: auto; font-size: 12.5px; color: var(--ml-muted-fg); }
.comment-metadata a { color: var(--ml-muted-fg); }
.reply { margin-top: var(--ml-s2); }
.comment-reply-link { font-size: 13px; font-weight: 500; }

.comment-respond { margin-top: var(--ml-s3); }
.comment-reply-title { font-size: 19px; margin-bottom: var(--ml-s2); }
.comment-form p { margin-bottom: var(--ml-s4); }
.comment-form label { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 500; }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: var(--ml-s3); font-size: 13.5px; }
.comment-form-cookies-consent input { width: auto; margin-top: 4px; }
.comment-form-cookies-consent label { margin: 0; font-weight: 400; }
.comment-notes, .logged-in-as { font-size: 13.5px; color: var(--ml-muted-fg); }

/* ==========================================================================
   18. Rodapé
   ========================================================================== */

.ml-footer {
	margin-top: var(--ml-s10);
	padding: var(--ml-s8) 0;
	background: var(--ml-tinta);
	color: #8fa79b;
	font-size: 13px;
}

.ml-footer a { color: #8fa79b; }
.ml-footer a:hover { color: #f1f8f4; }

.ml-footer__top {
	display: grid;
	grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
	gap: var(--ml-s8);
	padding-bottom: var(--ml-s8);
}

.ml-footer__disclaimer { margin: var(--ml-s4) 0 0; max-width: 32ch; color: #8fa79b; font-size: 12.5px; line-height: 1.55; }

.ml-footer .ml-widget {
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	color: inherit;
	font-size: 13px;
}

.ml-footer .ml-widget__title { color: #f1f8f4; }
.ml-footer .ml-widget a { color: #8fa79b; }
.ml-footer .ml-widget a:hover { color: #f1f8f4; }
.ml-footer .ml-widget li { border-color: rgba(255, 255, 255, .08) !important; }
.ml-footer .ml-recent__title { color: #e6eeea; }
.ml-footer .ml-recent__date { color: #8fa79b; }
.ml-footer .ml-recent__num { background: rgba(255, 255, 255, .07); color: var(--ml-menta); }
.ml-footer .ml-recent__media { background: rgba(255, 255, 255, .07); }
.ml-footer .tagcloud a { background: rgba(255, 255, 255, .07); color: #8fa79b; }

.ml-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: var(--ml-s5) 0 0;
	padding: 0;
}

.ml-social li { margin: 0; }

.ml-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .07);
	color: #bfeadf;
	transition: background .16s var(--ml-ease), color .16s var(--ml-ease);
}

.ml-social a:hover { background: var(--ml-verde); color: #fff; }
.ml-social svg { width: 17px; height: 17px; }

.ml-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ml-s4);
	padding-top: var(--ml-s6);
	border-top: 1px solid rgba(255, 255, 255, .08);
	font-size: 12.5px;
}

.ml-footer__menu ul { display: flex; flex-wrap: wrap; gap: var(--ml-s5); list-style: none; margin: 0; padding: 0; }
.ml-footer__menu li { margin: 0; }

.ml-to-top {
	position: fixed;
	right: var(--ml-s6);
	bottom: var(--ml-s6);
	z-index: 70;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	box-shadow: var(--ml-sombra-alta);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .2s var(--ml-ease), transform .2s var(--ml-ease), visibility .2s;
}

.ml-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }

/* ==========================================================================
   19. Estados vazios e 404
   ========================================================================== */

.ml-empty {
	padding: var(--ml-s10) var(--ml-s8);
	text-align: center;
	background: var(--ml-branco);
	border: 1px solid var(--ml-borda);
	border-radius: var(--ml-r);
}

.ml-empty h2 { margin-bottom: var(--ml-s3); font-size: 24px; }
.ml-empty p { color: var(--ml-muted-fg); font-size: 15px; }
.ml-empty .search-form { max-width: 380px; margin: var(--ml-s6) auto 0; }

.ml-404 {
	max-width: 560px;
	margin: 0 auto;
	padding: 48px 40px;
	text-align: center;
}

.ml-404__mark { width: 72px; height: 72px; margin: 0 auto var(--ml-s6); color: var(--ml-verde-claro); }
.ml-404__mark svg { width: 100%; height: 100%; }
.ml-404 h1 { margin: var(--ml-s3) 0 var(--ml-s4); font-size: 28px; letter-spacing: -.03em; }
.ml-404 p { max-width: 34ch; margin: 0 auto var(--ml-s7); color: var(--ml-muted-fg); font-size: 15px; }
.ml-404__actions { display: flex; flex-wrap: wrap; gap: var(--ml-s3); justify-content: center; }

/* Resultados de busca */
.ml-results { display: flex; flex-direction: column; }

.ml-result {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: var(--ml-s4);
	align-items: center;
	padding: var(--ml-s5) 0;
	border-bottom: 1px solid var(--ml-borda);
}

.ml-result:last-child { border-bottom: 0; }

.ml-result__media {
	width: 64px;
	height: 64px;
	border-radius: var(--ml-r-btn);
	overflow: hidden;
	background: var(--ml-muted);
}

.ml-result__media img { width: 100%; height: 100%; object-fit: cover; }
.ml-result__title { margin: 0 0 3px; font-size: 15.5px; font-weight: 600; letter-spacing: -.02em; line-height: 1.35; }
.ml-result__title a { color: var(--ml-tinta); }
.ml-result__title a:hover { color: var(--ml-verde-escuro); }
.ml-result__excerpt { margin: 0; font-size: 13px; color: var(--ml-muted-fg); }

.ml-search-count { margin-bottom: var(--ml-s6); font-size: 15px; color: var(--ml-muted-fg); }
.ml-search-count strong { color: var(--ml-tinta); font-weight: 600; }

/* ==========================================================================
   20. Responsivo
   ========================================================================== */

@media (max-width: 1080px) {
	.ml-top { grid-template-columns: minmax(0, 1fr); }
	.ml-top__side { flex-direction: row; flex-wrap: wrap; }
	.ml-top__side > * { flex: 1 1 260px; }
	.ml-card { grid-template-columns: 180px minmax(0, 1fr); }
}

@media (max-width: 900px) {
	.ml-container { padding: 0 var(--ml-s6); }

	.ml-layout { grid-template-columns: minmax(0, 1fr); }

	.ml-sidebar {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--ml-s6);
		margin-top: var(--ml-s9);
	}

	.ml-toc-widget { display: none; }

	.ml-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ml-single__title { font-size: 32px; }
	.ml-entry-content { font-size: 17px; }

	/* Cabeçalho no celular */
	.ml-header__search { display: none; }
	.ml-icon-btn { display: flex; }

	.ml-nav {
		position: fixed;
		inset: 0 0 0 auto;
		width: min(320px, 86vw);
		padding: 80px var(--ml-s6) var(--ml-s8);
		background: var(--ml-branco);
		border-left: 1px solid var(--ml-borda);
		box-shadow: -14px 0 40px -20px rgba(18, 35, 27, .35);
		transform: translateX(101%);
		transition: transform .3s var(--ml-ease);
		overflow-y: auto;
		z-index: 90;
	}

	.ml-nav.is-open { transform: translateX(0); }

	.ml-nav ul { flex-direction: column; align-items: stretch; gap: 2px; }

	.ml-nav a {
		padding: 12px 14px;
		font-size: 16px;
		border-radius: var(--ml-r-btn);
		white-space: normal;
	}

	.ml-nav a:hover { background: var(--ml-muted); }

	.ml-nav ul ul {
		position: static;
		display: block;
		min-width: 0;
		margin-left: var(--ml-s4);
		padding: 0 0 0 var(--ml-s2);
		border: 0;
		border-left: 2px solid var(--ml-borda);
		border-radius: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
	}

	.ml-nav-close { display: flex; position: absolute; top: 18px; right: 18px; }

	.ml-nav__search {
		display: block;
		margin-top: var(--ml-s6);
		padding-top: var(--ml-s6);
		border-top: 1px solid var(--ml-borda);
	}

	.ml-nav-overlay {
		position: fixed;
		inset: 0;
		z-index: 80;
		background: rgba(18, 35, 27, .4);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s var(--ml-ease), visibility .3s;
	}

	.ml-nav-overlay.is-open { opacity: 1; visibility: visible; }
}

@media (max-width: 640px) {
	.ml-container { padding: 0 var(--ml-s5); }
	.ml-site-content { padding: var(--ml-s6) 0 var(--ml-s8); }

	.ml-card { grid-template-columns: minmax(0, 1fr); gap: var(--ml-s4); }
	.ml-card__media { aspect-ratio: 16 / 10; }

	.ml-grid { grid-template-columns: minmax(0, 1fr); }
	.ml-sidebar { grid-template-columns: minmax(0, 1fr); }
	.ml-footer__top { grid-template-columns: minmax(0, 1fr); gap: var(--ml-s6); }
	.ml-post-nav { grid-template-columns: minmax(0, 1fr); }
	.ml-post-nav__item--next { text-align: left; }

	.ml-single__title { font-size: 28px; }
	.ml-feature__title { font-size: 22px; }
	.ml-feature__media { height: 200px; }
	.ml-single__thumb { height: 220px; }

	.ml-newsletter { padding: var(--ml-s6); }
	.ml-newsletter__form input[type="email"] { flex: 1 1 100%; }
	.ml-newsletter__form button { width: 100%; }

	.ml-affiliate { grid-template-columns: 64px minmax(0, 1fr); }
	.ml-affiliate .ml-btn { grid-column: 1 / -1; }

	.ml-author-box { flex-direction: column; align-items: center; text-align: center; }

	.alignleft, .alignright { float: none; margin: var(--ml-s6) auto; max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.ml-header, .ml-sidebar, .ml-footer, .ml-share, .ml-to-top, .ml-comments, .ml-ad { display: none !important; }
	body { background: #fff; }
	.ml-layout { grid-template-columns: 1fr; }
}
