/* ==========================================================================
   Zona de Drop — estilos sobre o GeneratePress
   Paleta: grafite, âmbar e verde militar · Fontes: Chakra Petch + Barlow
   ========================================================================== */

:root {
	--zd-bg: #111210;
	--zd-bg-deep: #0B0C0A;
	--zd-surface: #1B1C18;
	--zd-surface-2: #171815;
	--zd-border: #2C2F25;
	--zd-border-strong: #3A3D31;
	--zd-text: #ECE9DF;
	--zd-text-2: #C9C6B8;
	--zd-muted: #A7A596;
	--zd-faint: #8C8A7C;
	--zd-accent: #F2A900;
	--zd-accent-hover: #FFC53D;
	--zd-on-accent: #111210;
	--zd-military: #4A5134;
	--zd-military-2: #5C6440;
	--zd-display: 'Chakra Petch', 'Barlow', system-ui, sans-serif;
	--zd-body: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;

	/* Cores globais do GeneratePress (Personalizar > Cores) */
	--contrast: var(--zd-text);
	--contrast-2: var(--zd-text-2);
	--contrast-3: var(--zd-muted);
	--base: var(--zd-border);
	--base-2: var(--zd-surface);
	--base-3: var(--zd-bg);
	--accent: var(--zd-accent);
}

/* ---------- Base ---------- */

body {
	background: var(--zd-bg);
	color: var(--zd-text);
	font-family: var(--zd-body);
	font-size: 18px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .widget-title {
	font-family: var(--zd-display);
	font-weight: 700;
	color: var(--zd-text);
	line-height: 1.15;
}
h1, .entry-title { font-size: clamp(2rem, 4.5vw, 3.5rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2rem); margin-top: 2.2em; }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.5rem); }

a { color: var(--zd-accent); text-decoration: none; }
a:hover, a:focus { color: var(--zd-accent-hover); }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

:focus-visible { outline: 2px solid var(--zd-accent); outline-offset: 2px; }

::selection { background: var(--zd-accent); color: var(--zd-on-accent); }

hr { background-color: var(--zd-border); }

/* ---------- Cabeçalho ---------- */

.site-header,
.main-navigation,
.main-navigation ul ul {
	background: var(--zd-bg-deep);
}
.site-header { border-bottom: 1px solid var(--zd-border); }

.zd-wordmark { margin: 0; font-size: 22px; line-height: 1; }
.zd-wordmark a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--zd-text);
	text-decoration: none;
}
.zd-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--zd-accent);
	color: var(--zd-on-accent);
	font-family: var(--zd-display);
	font-weight: 700;
	font-size: 15px;
	clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
}
.zd-wordmark__text {
	font-family: var(--zd-display);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.zd-accent { color: var(--zd-accent); }

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	color: var(--zd-text);
	font-family: var(--zd-body);
	font-weight: 600;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
	color: var(--zd-accent);
	background: transparent;
}
.main-navigation ul ul { border: 1px solid var(--zd-border); }

/* Item de menu destacado: adicione a classe CSS "zd-cta" ao item no menu */
.main-navigation .main-nav ul li.zd-cta > a {
	background: var(--zd-accent);
	color: var(--zd-on-accent);
	line-height: 44px;
	padding: 0 20px;
	margin-left: 12px;
}
.main-navigation .main-nav ul li.zd-cta > a:hover { background: var(--zd-accent-hover); color: var(--zd-on-accent); }

/* ---------- Conteúdo ---------- */

.site-content,
.separate-containers .site-main,
.one-container .container { background: transparent; }

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
	background: var(--zd-bg);
	color: var(--zd-text);
}

.entry-content { color: #DAD7C9; }
.entry-content > * + * { margin-top: 1.25em; }

.entry-meta,
.entry-meta a,
.cat-links, .tags-links, .comments-link {
	color: var(--zd-muted);
	font-size: 15px;
}
.entry-meta a:hover { color: var(--zd-accent); }

.post-image img, .featured-image img { display: block; width: 100%; height: auto; }

/* Cards de post no blog/arquivo */
.blog .inside-article,
.archive .inside-article,
.search .inside-article {
	background: var(--zd-surface);
	border: 1px solid var(--zd-border);
}
.blog .entry-title a,
.archive .entry-title a,
.search .entry-title a { color: var(--zd-text); }
.blog .entry-title a:hover,
.archive .entry-title a:hover { color: var(--zd-accent); }
.blog .entry-title,
.archive .entry-title,
.search .entry-title { font-size: 1.5rem; }

.cat-links a,
.entry-header .cat-links a {
	color: var(--zd-accent);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Paginação */
.paging-navigation .page-numbers,
.nav-links .page-numbers {
	display: inline-block;
	min-width: 44px;
	line-height: 44px;
	text-align: center;
	border: 1px solid var(--zd-border-strong);
	color: var(--zd-text);
}
.paging-navigation .page-numbers.current { background: var(--zd-accent); border-color: var(--zd-accent); color: var(--zd-on-accent); }

/* ---------- Barra lateral e rodapé ---------- */

.sidebar .widget,
.footer-widgets {
	background: var(--zd-surface-2);
	border: 1px solid var(--zd-border);
	color: var(--zd-text-2);
}
.widget-title {
	font-size: 17px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.sidebar .widget a { color: var(--zd-text-2); }
.sidebar .widget a:hover { color: var(--zd-accent); }

.site-footer,
.site-info {
	background: var(--zd-bg-deep);
	color: var(--zd-faint);
	border-top: 1px solid var(--zd-border);
	font-size: 14px;
}
.site-info a { color: var(--zd-text-2); }

/* ---------- Botões e formulários ---------- */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
a.button,
.wp-block-button__link:not(.has-background) {
	background: var(--zd-accent);
	color: var(--zd-on-accent);
	font-family: var(--zd-body);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: 0;
	border-radius: 0;
	min-height: 44px;
	padding: 12px 24px;
}
button:hover,
input[type="submit"]:hover,
a.button:hover,
.wp-block-button__link:not(.has-background):hover {
	background: var(--zd-accent-hover);
	color: var(--zd-on-accent);
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], textarea, select {
	background: var(--zd-surface);
	border: 1px solid var(--zd-border-strong);
	color: var(--zd-text);
	border-radius: 0;
	min-height: 44px;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--zd-accent);
	background: var(--zd-surface);
	color: var(--zd-text);
}

/* ---------- Série História Completa ---------- */

.zd-series-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 18px 22px;
	margin-bottom: 1.5em;
	background: var(--zd-military);
	border: 1px solid var(--zd-military-2);
}
.zd-series-box__label {
	flex: 1 1 260px;
	font-family: var(--zd-display);
	font-weight: 700;
	font-size: 16px;
	color: var(--zd-accent);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.zd-series-box a { color: var(--zd-text); font-weight: 600; font-size: 15px; text-decoration: none; }
.zd-series-box a:hover { color: var(--zd-accent); }

.zd-series-pager {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin-top: 2.5em;
}
.zd-series-pager a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px;
	border: 1px solid var(--zd-border);
	color: var(--zd-text);
	text-decoration: none;
}
.zd-series-pager a span {
	font-size: 13px;
	color: var(--zd-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.zd-series-pager__next { border: 2px solid var(--zd-accent) !important; text-align: right; }
.zd-series-pager__next span { color: var(--zd-accent) !important; }
.zd-series-pager a:hover strong { color: var(--zd-accent); }

.zd-series-index ol { list-style: none; margin: 0; padding: 0; border: 1px solid var(--zd-border); background: var(--zd-surface-2); }
.zd-series-index li a {
	display: flex;
	gap: 14px;
	padding: 12px 22px;
	color: var(--zd-text-2);
	text-decoration: none;
	border-bottom: 1px solid var(--zd-border);
}
.zd-series-index li:last-child a { border-bottom: 0; }
.zd-series-index li a:hover { color: var(--zd-accent); }
.zd-series-index li.is-current a { background: var(--zd-accent); color: var(--zd-on-accent); font-weight: 700; }
.zd-series-index__num { font-family: var(--zd-display); color: var(--zd-faint); min-width: 24px; }
.zd-series-index li.is-current .zd-series-index__num { color: var(--zd-on-accent); }

/* Capítulos: título com barra âmbar embaixo do cabeçalho */
.zd-is-chapter .entry-header { border-bottom: 4px solid var(--zd-accent); padding-bottom: 24px; margin-bottom: 32px; }

/* ---------- Blocos dos padrões ---------- */

.zd-spoiler {
	padding: 14px 18px;
	border: 1px solid #6B4E12;
	background: #2A220E;
	color: #F5DFA6;
	font-size: 16px;
}
.zd-spoiler p { margin: 0; }

.zd-tldr {
	padding: 28px;
	background: var(--zd-surface);
	border-top: 4px solid var(--zd-accent);
}
.zd-tldr h2 {
	margin-top: 0;
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.zd-timeline.wp-block-columns { gap: 0; border: 1px solid var(--zd-border); }
.zd-timeline .wp-block-column { padding: 18px; border-right: 1px solid var(--zd-border); }
.zd-timeline .wp-block-column:last-child { border-right: 0; }
.zd-timeline p { margin: 0; font-weight: 600; color: var(--zd-text); font-size: 18px; line-height: 1.4; }
.zd-label {
	font-size: 12px;
	font-weight: 700;
	color: var(--zd-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.is-style-zd-tabela table,
.entry-content table { border-collapse: collapse; width: 100%; font-size: 17px; line-height: 1.4; border: 0; }
.is-style-zd-tabela th,
.entry-content th {
	background: var(--zd-surface);
	color: var(--zd-muted);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-align: left;
	border: 0;
	border-bottom: 2px solid var(--zd-accent);
	padding: 14px 16px;
}
.is-style-zd-tabela td,
.entry-content td { border: 0; border-bottom: 1px solid var(--zd-border); padding: 14px 16px; }
.is-style-zd-tabela td:first-child { font-weight: 600; color: var(--zd-text); }

.zd-kicker {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--zd-accent);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.zd-product {
	gap: 28px;
	padding: 28px;
	background: var(--zd-surface);
	border: 1px solid var(--zd-border);
}
.zd-product__cover { flex: 0 0 160px; margin: 0; }
.zd-product__cover img { width: 160px; height: 200px; object-fit: cover; background: var(--zd-surface-2); }
.zd-product__body { gap: 10px; flex: 1 1 auto; }
.zd-product__body > * { margin: 0 !important; }
.zd-product__title { font-size: 26px; }
.zd-product__meta { font-size: 16px; color: var(--zd-muted); }

.zd-price {
	margin: 0;
	font-family: var(--zd-display);
	font-weight: 700;
	font-size: 28px;
	color: var(--zd-accent);
	line-height: 1.2;
}
.zd-price s { font-family: var(--zd-body); font-size: 14px; font-weight: 400; color: var(--zd-faint); margin-left: 6px; }

.zd-disclaimer { font-size: 13px; color: var(--zd-faint); }

.wp-block-button.is-style-zd-preco .wp-block-button__link {
	background: var(--zd-accent);
	color: var(--zd-on-accent);
	border-radius: 0;
	font-weight: 700;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	padding: 12px 28px;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
}
.wp-block-button.is-style-zd-preco .wp-block-button__link:hover { background: var(--zd-accent-hover); }

.zd-deals { gap: 24px; }
.zd-deal {
	position: relative;
	gap: 10px;
	padding: 18px;
	background: var(--zd-surface);
	border: 1px solid var(--zd-border);
}
.zd-deal > * { margin: 0 !important; }
.zd-deal__badge {
	align-self: flex-start;
	padding: 4px 10px;
	background: var(--zd-accent);
	color: var(--zd-on-accent);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.4;
}
.zd-deal__title { font-size: 18px; font-family: var(--zd-body); font-weight: 600; }
.zd-deal__store { font-size: 13px; color: var(--zd-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.zd-deal .wp-block-buttons, .zd-deal .wp-block-button, .zd-deal .wp-block-button__link { width: 100%; justify-content: center; }

.zd-faq {
	border: 1px solid var(--zd-border);
	background: var(--zd-surface-2);
	padding: 18px 22px;
}
.zd-faq summary { font-weight: 700; font-size: 19px; color: var(--zd-text); cursor: pointer; }
.zd-faq[open] summary { margin-bottom: 12px; }

.zd-sources { font-size: 15px; color: var(--zd-faint); }

.zd-newsletter {
	padding: 48px;
	background: var(--zd-accent);
	color: var(--zd-on-accent);
}
.zd-newsletter h2 { margin-top: 0; color: var(--zd-on-accent); }
.zd-newsletter p { font-weight: 500; }
.zd-newsletter .wp-block-button__link,
.zd-newsletter__btn .wp-block-button__link {
	background: var(--zd-on-accent) !important;
	color: var(--zd-text) !important;
	border-radius: 0;
	text-decoration: none;
}

/* Espaços de anúncio com altura reservada (evita CLS) */
.zd-ad-slot { display: block; margin: 2em auto; background: transparent; }
.zd-ad-slot--in-article { min-height: 280px; }
.zd-ad-slot--topo { min-height: 90px; max-width: 728px; }
.zd-ad-slot--lateral { min-height: 600px; }

/* ---------- Editor de blocos ---------- */

.editor-styles-wrapper {
	background: var(--zd-bg);
	color: var(--zd-text);
	font-family: var(--zd-body);
}

/* ---------- Celular ---------- */

@media (max-width: 768px) {
	body { font-size: 17px; }
	.zd-wordmark { font-size: 17px; }
	.zd-mark { width: 28px; height: 28px; font-size: 12px; }
	.zd-product { flex-wrap: wrap !important; padding: 20px; }
	.zd-product__cover { flex-basis: 100%; }
	.zd-timeline .wp-block-column { border-right: 0; border-bottom: 1px solid var(--zd-border); }
	.zd-timeline .wp-block-column:last-child { border-bottom: 0; }
	.zd-newsletter { padding: 28px 20px; }
	.zd-series-pager__next { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; }
}

/* ---------- Ajustes v0.1.1 ---------- */

/* Logo nunca quebra linha */
.zd-wordmark a,
.zd-wordmark__text { white-space: nowrap; }

/* Menu mais compacto para caber numa linha */
@media (min-width: 1025px) {
	.main-navigation .main-nav ul li a {
		padding-left: 14px;
		padding-right: 14px;
		font-size: 14px;
		letter-spacing: 0.04em;
	}
}

/* Botão do bloco de busca em âmbar */
.wp-block-search__button,
.wp-block-search .wp-block-search__button {
	background: var(--zd-accent) !important;
	color: var(--zd-on-accent) !important;
	border: 0;
	border-radius: 0;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.wp-block-search__button:hover { background: var(--zd-accent-hover) !important; }
.wp-block-search__label { color: var(--zd-muted); font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; }

/* Títulos dos widgets de bloco na barra lateral */
.sidebar .widget h2,
.sidebar .widget .wp-block-heading,
.footer-widgets .widget h2 {
	font-size: 17px;
	margin: 0 0 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* ---------- Barra lateral v0.1.2 ---------- */

/* Busca */
.sidebar .wp-block-search__input { background: var(--zd-bg); }

/* Índice da série dentro do widget: sem caixa dupla */
.zd-widget-serie .zd-series-index ol { border: 0; background: transparent; margin: 0 -22px; }
.zd-widget-serie .zd-series-index li a { padding: 10px 22px; font-size: 15px; }
.zd-widget-serie .zd-widget-more { margin: 12px 0 0; font-size: 14px; font-weight: 700; }
.zd-widget-serie .zd-widget-more a { color: var(--zd-accent); text-decoration: none; }

/* Últimos posts */
.sidebar .wp-block-latest-posts { margin: 0; padding: 0; list-style: none; }
.sidebar .wp-block-latest-posts li { padding: 10px 0; border-bottom: 1px solid var(--zd-border); margin: 0; }
.sidebar .wp-block-latest-posts li:last-child { border-bottom: 0; }
.sidebar .wp-block-latest-posts a { color: var(--zd-text-2); font-weight: 600; font-size: 15px; line-height: 1.35; }
.sidebar .wp-block-latest-posts a:hover { color: var(--zd-accent); }

/* Widget só com anúncio: sem caixa e fixo ao rolar (desktop) */
.sidebar .widget:has(.zd-ad-slot) { background: transparent; border: 0; padding: 0; }
@media (min-width: 769px) {
	.sidebar .widget:last-child:has(.zd-ad-slot--lateral) { position: sticky; top: 24px; }
	.admin-bar .sidebar .widget:last-child:has(.zd-ad-slot--lateral) { top: 56px; }
}
.zd-ad-slot--lateral { width: 300px; max-width: 100%; margin: 0 auto; }

/* Para você ver onde vão os anúncios (só aparece logado) */
.logged-in .zd-ad-slot {
	position: relative;
	border: 1px dashed var(--zd-border-strong);
}
.logged-in .zd-ad-slot::after {
	content: "Espaço de anúncio (visível só para você)";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--zd-faint);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	padding: 12px;
}

/* Caixas de spoiler e resumo mais justas */
.zd-spoiler.wp-block-group,
.zd-tldr.wp-block-group { padding-top: 14px; padding-bottom: 14px; }
.zd-tldr.wp-block-group { padding: 24px 28px; }
.zd-spoiler > *, .zd-tldr > * { margin-top: 0 !important; }
.zd-tldr p:last-child { margin-bottom: 0; }

/* ---------- Imagens e fontes v0.1.3 ---------- */

.entry-content .wp-block-image img { display: block; width: 100%; height: auto; border: 1px solid var(--zd-border); }
.entry-content .wp-element-caption,
.entry-content figcaption {
	margin-top: 8px;
	font-size: 14px;
	color: var(--zd-faint);
	text-align: left;
}
.featured-image img,
.post-image img { border-bottom: 4px solid var(--zd-accent); }

.zd-sources-box {
	margin-top: 2.5em;
	padding: 24px 28px;
	background: var(--zd-surface-2);
	border: 1px solid var(--zd-border);
	font-size: 15px;
	color: var(--zd-muted);
}
.zd-sources-box h2 { margin-top: 0; font-size: 18px; text-transform: uppercase; letter-spacing: 0.06em; }
.zd-sources-box ul { margin: 0 0 12px 1.2em; }
.zd-sources-box li { margin-bottom: 6px; }
.zd-sources-box a { color: var(--zd-text-2); }
.zd-sources-box p { font-size: 14px; color: var(--zd-faint); margin: 0; }

/* ---------- Logo A (paraquedas + caixa) v0.2.0 ---------- */
.zd-mark {
	width: 38px;
	height: 44px;
	background: none;
	clip-path: none;
	display: inline-block;
	flex-shrink: 0;
}
.zd-mark svg { display: block; }
@media (max-width: 768px) {
	.zd-mark { width: 30px; height: 35px; }
}

/* ---------- Banner da franquia v0.2.1 ---------- */
.zd-series-banner { margin: 0 0 16px; }
.zd-series-banner img { display: block; width: 100%; height: auto; border: 1px solid var(--zd-border); }
.zd-series-banner figcaption { margin-top: 6px; font-size: 13px; color: var(--zd-faint); }
