/* =========================================================
   TECHNOARTH — estilos do site (mobile first)
   ========================================================= */

/* ---------- Fontes locais ---------- */
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-var-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Jakarta";
	src: url("../fonts/jakarta-800-latin.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--ink: #0B1118;
	--ink-2: #111a24;
	--ink-3: #1a2430;
	--on-ink: #F4F6F8;
	--on-ink-muted: #AEB7C2;
	--accent: #FF6A00;          /* marca: sobre fundo escuro, ícones, detalhes */
	--accent-strong: #CC4A00;   /* fundo de botão com texto branco (AA) */
	--accent-strong-hover: #B34100;
	--accent-text: #C24600;     /* texto laranja sobre fundo claro (AA) */

	--bg: #F5F6F8;
	--surface: #FFFFFF;
	--soft: #EEF1F4;
	--text: #0B1118;
	--muted: #566070;
	--border: #E1E5EA;
	--code-bg: #0F1720;
	--code-text: #E6EDF3;

	--r-sm: 6px;
	--r: 10px;
	--r-lg: 14px;
	--shadow: 0 1px 2px rgba(11, 17, 24, .05), 0 4px 16px rgba(11, 17, 24, .05);

	--f-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--f-head: "Jakarta", "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--f-mono: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

	--gutter: 16px;
	--wrap: 1280px;
	--header-h: 64px;
	color-scheme: light;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0B1118;
		--surface: #111a24;
		--soft: #1a2430;
		--text: #EEF1F4;
		--muted: #A3ADB9;
		--border: #243040;
		--accent-text: #FF8A3D;
		--shadow: none;
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--bg: #0B1118;
	--surface: #111a24;
	--soft: #1a2430;
	--text: #EEF1F4;
	--muted: #A3ADB9;
	--border: #243040;
	--accent-text: #FF8A3D;
	--shadow: none;
	color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font: 400 16px/1.6 var(--f-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: inherit; text-underline-offset: .18em; }
button { font: inherit; color: inherit; }
h1, h2, h3, h4 { line-height: 1.2; margin: 0 0 .5em; text-wrap: balance; }
p { margin: 0 0 1em; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
::selection { background: rgba(255, 106, 0, .25); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.ta-skip {
	position: absolute; left: 12px; top: -48px; z-index: 100;
	background: var(--accent-strong); color: #fff; padding: 10px 14px; border-radius: var(--r-sm);
	font-weight: 600; text-decoration: none;
}
.ta-skip:focus { top: 12px; }
.ta-main:focus { outline: none; }

.ta-container { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.ta-container--narrow { max-width: calc(760px + var(--gutter) * 2); }
.ta-container--wide { max-width: calc(1040px + var(--gutter) * 2); }

.ta-icon { flex: none; vertical-align: middle; }

/* Link que cobre o card inteiro */
.ta-stretched { text-decoration: none; }
.ta-stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* ---------- Botões ---------- */
.ta-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .7em 1.4em; border-radius: var(--r-sm);
	font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none;
	border: 1px solid transparent; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.ta-btn--primary { background: var(--accent-strong); color: #fff; }
.ta-btn--primary:hover { background: var(--accent-strong-hover); }
.ta-btn--ghost { border-color: rgba(255, 255, 255, .55); color: #fff; }
.ta-btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .06); }
.ta-btn[disabled] { opacity: .6; cursor: not-allowed; }

.ta-iconbtn {
	display: inline-grid; place-items: center; width: 44px; height: 44px;
	background: none; border: 0; border-radius: var(--r-sm); color: var(--on-ink); cursor: pointer;
}
.ta-iconbtn:hover { background: rgba(255, 255, 255, .08); }

/* ---------- Rótulos ---------- */
.ta-kicker {
	display: inline-block; margin: 0 0 .35em;
	font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--accent-text); text-decoration: none;
}
.ta-pill {
	position: absolute; left: 10px; bottom: 10px; z-index: 2;
	background: var(--surface); color: var(--accent-text);
	font-size: .6875rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
	padding: 4px 8px; border-radius: 4px; text-decoration: none;
}
.ta-meta { display: flex; flex-wrap: wrap; gap: .5em; margin: auto 0 0; color: var(--muted); font-size: .8125rem; }

/* =========================================================
   Cabeçalho
   ========================================================= */
.ta-header { background: var(--ink); color: var(--on-ink); position: relative; z-index: 50; }
.ta-header__inner { display: flex; align-items: center; gap: 12px; min-height: var(--header-h); }

.ta-brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--on-ink); margin-right: auto; }
.ta-brand__logo { display: block; height: 30px; width: auto; }
.ta-brand__tagline { font-size: .6875rem; color: var(--on-ink-muted); margin: 2px 0 0 27%; letter-spacing: .02em; white-space: nowrap; }

.ta-header__tools { display: flex; align-items: center; gap: 4px; }
.ta-search-toggle, .ta-header__tools .ta-theme-toggle, .ta-lang--header { display: none; }

.ta-theme-toggle__moon { display: none; }
:root[data-theme="dark"] .ta-theme-toggle__sun { display: none; }
:root[data-theme="dark"] .ta-theme-toggle__moon { display: inline; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .ta-theme-toggle__sun { display: none; }
	:root:not([data-theme="light"]) .ta-theme-toggle__moon { display: inline; }
}

.ta-menu-toggle__close { display: none; }
.ta-menu-toggle[aria-expanded="true"] .ta-menu-toggle__open { display: none; }
.ta-menu-toggle[aria-expanded="true"] .ta-menu-toggle__close { display: inline; }

/* Navegação: gaveta no mobile */
.ta-nav { display: none; }
.ta-nav.is-open {
	display: block; position: absolute; left: 0; right: 0; top: 100%;
	background: var(--ink-2); border-top: 1px solid rgba(255, 255, 255, .08);
	box-shadow: 0 12px 24px rgba(0, 0, 0, .35); max-height: calc(100vh - var(--header-h)); overflow: auto;
}
.ta-nav__list { list-style: none; margin: 0; padding: 8px var(--gutter) 16px; }
.ta-nav__list a {
	display: block; padding: 12px 4px; color: var(--on-ink); text-decoration: none; font-weight: 500;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.ta-nav__list a:hover, .ta-nav__list [aria-current="page"], .ta-nav__list .current-menu-item > a { color: var(--accent); }
.ta-nav__list .sub-menu { list-style: none; padding-left: 16px; margin: 0; }

/* Busca + idioma (mobile: sempre visíveis, como no layout aprovado) */
.ta-search-panel { background: var(--ink); padding: 0 0 10px; }
.ta-searchform { display: flex; background: #fff; border-radius: var(--r-sm); overflow: hidden; }
.ta-searchform input {
	flex: 1; min-width: 0; border: 0; padding: 12px 14px; font: inherit; font-size: 16px; color: #0B1118; background: transparent;
}
.ta-searchform input::placeholder { color: #6B7480; }
.ta-searchform input:focus { outline: none; }
.ta-searchform:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.ta-searchform button { border: 0; background: transparent; color: #0B1118; width: 48px; cursor: pointer; display: grid; place-items: center; }
.ta-mobile-bar { display: flex; align-items: center; justify-content: space-between; padding-top: 6px; }

/* Seletor de idioma */
.ta-lang ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.ta-lang a {
	display: inline-grid; place-items: center; min-width: 40px; min-height: 40px; padding: 0 6px;
	font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: var(--on-ink-muted); text-decoration: none;
	border-bottom: 2px solid transparent;
}
.ta-lang a:hover { color: var(--on-ink); }
.ta-lang a.is-current { color: var(--accent); border-bottom-color: var(--accent); }

@media (min-width: 900px) {
	:root { --header-h: 76px; --gutter: 24px; }
	.ta-brand__logo { height: 34px; }
	.ta-search-toggle, .ta-header__tools .ta-theme-toggle, .ta-lang--header { display: inline-flex; }
	.ta-search-panel { display: none; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .08); }
	.ta-search-panel.is-open { display: block; }
	.ta-mobile-bar { display: none; }
	.ta-search-panel .ta-searchform { max-width: 640px; margin-inline: auto; }
}
@media (min-width: 1440px) {
	/* Logo + menu + ferramentas não cabem nos 1280px do conteúdo com respiro. */
	.ta-header__inner { gap: 18px; max-width: 1440px; }
	/* Respiro entre a logo e o menu (e entre o menu e as ferramentas). */
	.ta-brand { margin-right: 40px; }
	.ta-header__tools { margin-left: 24px; }
	.ta-nav, .ta-nav.is-open { display: block; position: static; background: none; border: 0; box-shadow: none; margin-inline: auto; overflow: visible; max-height: none; }
	.ta-nav__list { display: flex; gap: 0; padding: 0; }
	.ta-nav__list > li { position: relative; }
	.ta-nav__list a { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 8px 8px; border: 0; font-size: .875rem; border-radius: var(--r-sm); white-space: nowrap; }
	.ta-nav__list a:hover { background: rgba(255, 255, 255, .06); }
	.ta-nav__list .sub-menu {
		display: none; position: absolute; top: 100%; left: 0; min-width: 220px; padding: 6px;
		background: var(--ink-2); border-radius: var(--r); box-shadow: 0 12px 24px rgba(0, 0, 0, .35);
	}
	.ta-nav__list li:hover > .sub-menu, .ta-nav__list li:focus-within > .sub-menu { display: block; }
	.ta-menu-toggle { display: none; }
}

/* =========================================================
   Home — Hero
   ========================================================= */
.ta-hero {
	position: relative; isolation: isolate; overflow: hidden; color: var(--on-ink);
	background:
		radial-gradient(ellipse 80% 70% at 78% 115%, rgba(255, 106, 0, .38), transparent 60%),
		radial-gradient(ellipse 50% 50% at 88% 12%, rgba(90, 130, 210, .16), transparent 60%),
		linear-gradient(180deg, #0B1118 0%, #0d1520 100%);
}
.ta-hero.has-art { background: #0B1118 url("../img/hero-900.webp") right bottom / cover no-repeat; }
@media (min-width: 900px) { .ta-hero.has-art { background-image: url("../img/hero-1600.webp"); background-position: right center; } }
.ta-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.ta-hero.has-image::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(11, 17, 24, .94) 0%, rgba(11, 17, 24, .75) 45%, rgba(11, 17, 24, .35) 100%);
}
.ta-hero__grid { display: grid; gap: 32px; padding-block: 40px 44px; }
.ta-hero__title { font-family: var(--f-head); font-weight: 800; font-size: clamp(2.6rem, 9vw, 5.25rem); line-height: 1; letter-spacing: -.02em; margin: 0 0 .4em; }
.ta-hero__title span { display: block; }
.ta-accent { color: var(--accent); }
.ta-hero__text { font-size: 1.0625rem; color: #D5DBE2; max-width: 34em; margin-bottom: .6em; }
.ta-hero__text--more { display: none; }
.ta-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

.ta-hero__list { display: none; }
.ta-row {
	position: relative; display: grid; grid-template-columns: 112px 1fr auto; align-items: center; gap: 14px;
	padding: 8px; border-radius: var(--r); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08);
	transition: background-color .15s ease, border-color .15s ease;
}
.ta-row:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 106, 0, .5); }
.ta-row__media { aspect-ratio: 16 / 10; border-radius: var(--r-sm); overflow: hidden; background: var(--ink-3); }
.ta-row__media img { width: 100%; height: 100%; object-fit: cover; }
.ta-row .ta-kicker { color: var(--accent); margin-bottom: .2em; }
.ta-row__title { font-size: .9375rem; font-weight: 600; line-height: 1.35; margin: 0; font-family: var(--f-body); }
.ta-row__title a { color: var(--on-ink); }
.ta-row__chevron { color: var(--on-ink-muted); margin-right: 6px; }

@media (min-width: 900px) {
	.ta-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; padding-block: 56px 60px; gap: 48px; }
	.ta-hero__text { font-size: 1.1875rem; }
	.ta-hero__text--more { display: block; }
	.ta-hero__list { display: grid; gap: 10px; }
}

/* ---------- Cards de categorias ---------- */
.ta-cats { margin-top: 20px; }
.ta-cats__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ta-cat {
	position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
	padding: 14px 6px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
	transition: border-color .15s ease, transform .15s ease;
}
.ta-cat:hover { border-color: var(--accent); }
.ta-cat__icon { color: var(--accent); width: 28px; height: 28px; }
.ta-cat__name { font-size: .8125rem; font-weight: 600; color: var(--text); }
.ta-cat__desc { display: none; font-size: .75rem; color: var(--muted); line-height: 1.35; }
@media (min-width: 900px) {
	.ta-cats { margin-top: 24px; }
	/* uma linha só, com o número real de seções (--ta-cols vem do front-page.php) */
	.ta-cats__list { grid-template-columns: repeat(var(--ta-cols, 8), minmax(0, 1fr)); gap: 10px; }
	.ta-cat { padding: 18px 8px; }
	.ta-cat__icon { width: 34px; height: 34px; }
	.ta-cat__name { font-size: .9375rem; }
}
@media (min-width: 1200px) {
	.ta-cat__desc { display: block; }
}

/* =========================================================
   Seções, grids e cards
   ========================================================= */
.ta-layout { display: grid; gap: 32px; padding-block: 28px 48px; }
@media (min-width: 1100px) {
	.ta-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; }
	.ta-layout__side { display: flex; flex-direction: column; gap: 28px; }
}
.ta-layout__side { display: grid; gap: 24px; align-content: start; }

.ta-section { margin-bottom: 36px; }
.ta-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ta-section__title { font-family: var(--f-head); font-weight: 800; font-size: clamp(1.35rem, 3vw, 1.75rem); letter-spacing: -.01em; margin: 0; }
.ta-more { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-text); font-weight: 600; font-size: .875rem; text-decoration: none; white-space: nowrap; }
.ta-more:hover { text-decoration: underline; }

.ta-grid { display: grid; gap: 16px; }
.ta-grid--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 640px) {
	.ta-grid--3, .ta-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.ta-grid--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1000px) { .ta-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
	.ta-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.ta-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.ta-card {
	position: relative; display: flex; flex-direction: column; background: var(--surface);
	border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; box-shadow: var(--shadow);
	transition: border-color .15s ease, transform .15s ease;
}
.ta-card:hover { border-color: rgba(255, 106, 0, .55); }
.ta-card__media { position: relative; aspect-ratio: 16 / 9; background: var(--soft); }
.ta-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ta-card__body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; }
.ta-card__title { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; margin: 0 0 .45em; font-family: var(--f-body); }
.ta-card__title a:hover { color: var(--accent-text); }
.ta-card__excerpt { color: var(--muted); font-size: .875rem; line-height: 1.5; margin-bottom: 14px;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Mobile: artigos em destaque como lista (miniatura à esquerda) */
@media (max-width: 639px) {
	.ta-grid--4 .ta-card { display: grid; grid-template-columns: 120px 1fr; }
	.ta-grid--4 .ta-card__media { aspect-ratio: auto; min-height: 100%; }
	.ta-grid--4 .ta-pill { display: none; }
	.ta-grid--4 .ta-card__excerpt { display: none; }
	.ta-grid--4 .ta-card__body { padding: 10px 12px; }
	.ta-grid--4 .ta-card__title { font-size: .9375rem; }
}

.ta-compact { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; }
.ta-compact:hover { border-color: rgba(255, 106, 0, .55); }
.ta-compact__media { aspect-ratio: 16 / 10; background: var(--soft); }
.ta-compact__media img { width: 100%; height: 100%; object-fit: cover; }
.ta-compact__title { font-size: .8125rem; font-weight: 600; line-height: 1.35; margin: 0; padding: 10px 12px 12px; font-family: var(--f-body); }

.ta-thumb-fallback { display: grid; place-items: center; width: 100%; height: 100%; min-height: 64px; color: var(--accent); background: linear-gradient(135deg, var(--soft), var(--surface)); }
.ta-row .ta-thumb-fallback { background: var(--ink-3); }
.ta-empty { color: var(--muted); padding: 24px; background: var(--surface); border: 1px dashed var(--border); border-radius: var(--r); }

/* ---------- Novidades ---------- */
.ta-section__sub { margin: 4px 0 0; color: var(--muted); font-size: .9375rem; }
.ta-live { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); margin-right: 10px; vertical-align: middle; box-shadow: 0 0 0 4px rgba(255, 106, 0, .18); }
.ta-newslist { display: grid; gap: 10px; }
.ta-news {
	position: relative; display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 16px;
	padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r);
	transition: border-color .15s ease;
}
.ta-news:hover { border-color: rgba(255, 106, 0, .55); }
.ta-news__date { display: grid; place-items: center; align-content: center; height: 64px; border-radius: var(--r-sm); background: var(--ink); color: #fff; line-height: 1; }
.ta-news__day { font-family: var(--f-head); font-weight: 800; font-size: 1.5rem; }
.ta-news__mon { font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-top: 4px; }
.ta-news__title { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; margin: 0 0 4px; font-family: var(--f-body); }
.ta-news__title a:hover { color: var(--accent-text); }
.ta-news__excerpt { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ta-news__chevron { color: var(--muted); }
@media (max-width: 639px) {
	.ta-news { grid-template-columns: 52px 1fr; gap: 12px; padding: 12px; }
	.ta-news__date { height: 52px; }
	.ta-news__day { font-size: 1.25rem; }
	.ta-news__chevron, .ta-news__excerpt { display: none; }
	.ta-news__title { font-size: .9375rem; }
}

/* ---------- Barra lateral ---------- */
.ta-newsletter { background: var(--ink); color: var(--on-ink); border-radius: var(--r-lg); padding: 22px; }
.ta-newsletter .ta-kicker { color: var(--accent); }
.ta-newsletter__title { font-size: 1.25rem; font-weight: 700; line-height: 1.25; font-family: var(--f-body); }
.ta-newsletter__text { color: var(--on-ink-muted); font-size: .875rem; }
.ta-newsletter__form { display: grid; gap: 10px; }
.ta-newsletter__form input {
	width: 100%; min-height: 48px; padding: 10px 14px; border-radius: var(--r-sm); font: inherit; font-size: 16px;
	background: var(--ink-3); color: var(--on-ink); border: 1px solid #2b3747;
}
.ta-newsletter__form input::placeholder { color: #8B96A3; }
.ta-newsletter__note { font-size: .8125rem; color: var(--on-ink-muted); margin: 0; }

.ta-side__title { font-size: 1.125rem; font-weight: 700; font-family: var(--f-body); margin-bottom: 12px; }
.ta-mostread ol { list-style: none; counter-reset: mr; margin: 0; padding: 0; display: grid; gap: 4px; }
.ta-mostread li { counter-increment: mr; display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start; padding: 8px 0; border-bottom: 1px solid var(--border); }
.ta-mostread li::before {
	content: counter(mr); display: grid; place-items: center; width: 26px; height: 26px; border-radius: 6px;
	border: 1.5px solid var(--accent); color: var(--accent-text); font-weight: 700; font-size: .8125rem;
}
.ta-mostread a { font-size: .875rem; text-decoration: none; line-height: 1.4; }
.ta-mostread a:hover { color: var(--accent-text); text-decoration: underline; }

/* =========================================================
   Listagens
   ========================================================= */
.ta-archive { padding-block: 28px 56px; }
.ta-archive__header { margin-bottom: 24px; }
.ta-archive__title { font-family: var(--f-head); font-weight: 800; font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -.015em; }
.ta-archive__page { font-size: .5em; color: var(--muted); font-family: var(--f-body); font-weight: 500; margin-left: .4em; }
.ta-archive__desc { color: var(--muted); max-width: 60em; }
.ta-archive__search { max-width: 560px; margin-top: 12px; }
.ta-archive__search .ta-searchform { border: 1px solid var(--border); }

.ta-pagination ul { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 32px 0 0; justify-content: center; }
.ta-pagination li > a, .ta-pagination li > span {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; min-width: 44px; min-height: 44px; padding: 0 12px;
	border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); text-decoration: none; font-weight: 500;
}
.ta-pagination .current { background: var(--accent-strong); color: #fff; border-color: var(--accent-strong); }

.ta-breadcrumbs { font-size: .8125rem; color: var(--muted); margin-bottom: 14px; }
.ta-breadcrumbs a { color: var(--muted); }
.ta-breadcrumbs a:hover { color: var(--accent-text); }

/* =========================================================
   Artigo
   ========================================================= */
.ta-article { padding-top: 24px; }
.ta-article__wrap { display: grid; grid-template-columns: minmax(0, 1fr); }
.ta-article__side { display: none; }
.ta-article__title { font-family: var(--f-head); font-weight: 800; font-size: clamp(1.85rem, 5vw, 2.75rem); letter-spacing: -.015em; line-height: 1.12; margin-bottom: .4em; }
.ta-article__summary { font-size: 1.1875rem; color: var(--muted); line-height: 1.55; }
.ta-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; color: var(--muted); font-size: .875rem; padding: 14px 0; border-block: 1px solid var(--border); margin-top: 18px; }
.ta-article__meta > span { display: inline-flex; align-items: center; gap: 6px; }
.ta-article__author img { border-radius: 50%; }
.ta-article__author:not(:has(img)) { gap: 0; }
.ta-article__author a { color: var(--text); font-weight: 600; text-decoration: none; }
.ta-article__media { margin: 24px 0 8px; }
.ta-article__media img { width: 100%; border-radius: var(--r-lg); aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 1100px) {
	.ta-article__wrap { grid-template-columns: minmax(0, 760px) 280px; column-gap: 56px; justify-content: center; }
	.ta-article__header, .ta-article__media, .ta-article__content, .ta-article__footer { grid-column: 1; }
	.ta-article__side { display: block; grid-column: 2; grid-row: 1 / span 4; }
	.ta-article__sticky { position: sticky; top: 24px; display: grid; gap: 20px; max-height: calc(100vh - 48px); overflow-y: auto; padding-bottom: 8px; }
	.ta-article__content .ta-toc { display: none; }
	.ta-article__side .ta-toc { font-size: .875rem; }
	.ta-article__side .ta-toc ol { padding-left: 1.1em; }
	.ta-article__side .ta-toc a.is-active { color: var(--accent-text); font-weight: 600; }
	.ta-article__side .ta-toc a { display: block; padding: 5px 0; min-height: 28px; line-height: 1.4; }
	.ta-article__side .ta-toc li + li { margin-top: 0; }
	.ta-article__side .ta-share { border-top: 0; padding: 0; }
	.ta-article__side .ta-share__label { width: 100%; }
}
.ta-article__media figcaption, .ta-prose figcaption, .ta-prose .wp-element-caption { font-size: .8125rem; color: var(--muted); margin-top: 8px; text-align: center; }
.ta-article__content { padding-block: 8px 24px; }
.ta-article__footer { padding-bottom: 32px; }

/* Tipografia de leitura */
.ta-prose { font-size: 1.0625rem; line-height: 1.75; }
@media (min-width: 900px) { .ta-prose { font-size: 1.125rem; } }
.ta-prose > * + * { margin-top: 1.1em; }
.ta-prose p { margin: 0; }
.ta-prose > * + p { margin-top: 1.1em; }
.ta-prose h2 { font-family: var(--f-head); font-weight: 800; font-size: 1.6rem; letter-spacing: -.01em; margin: 2em 0 .6em; }
.ta-prose h3 { font-size: 1.25rem; font-weight: 700; margin: 1.6em 0 .5em; }
.ta-prose h4 { font-size: 1.0625rem; font-weight: 700; margin: 1.4em 0 .4em; }
.ta-prose a { color: var(--accent-text); font-weight: 500; }
.ta-prose a:hover { text-decoration-thickness: 2px; }
.ta-prose ul, .ta-prose ol { padding-left: 1.4em; }
.ta-prose li + li { margin-top: .4em; }
.ta-prose img { border-radius: var(--r); }
.ta-prose figure { margin-inline: 0; }
.ta-prose blockquote { margin-inline: 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--accent); color: var(--muted); font-style: italic; }
.ta-prose hr { border: 0; border-top: 1px solid var(--border); margin: 2.5em 0; }
.ta-prose .wp-block-table { overflow-x: auto; }
.ta-prose table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.ta-prose th, .ta-prose td { border: 1px solid var(--border); padding: 10px 12px; text-align: left; vertical-align: top; }
.ta-prose thead th { background: var(--soft); }
.ta-prose .wp-block-table thead { border-bottom: 2px solid var(--border); }
.ta-prose .wp-block-table { margin-inline: 0; }
@media (max-width: 639px) {
	.ta-prose table { font-size: .8125rem; line-height: 1.45; }
	.ta-prose th, .ta-prose td { padding: 8px 8px; }
	.ta-prose .wp-block-table { margin-inline: calc(-1 * var(--gutter) + 4px); }
}
.ta-prose .alignwide { margin-inline: calc(-1 * min(140px, (100vw - 760px) / 2)); max-width: none; }
.ta-prose .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; }
.ta-prose .alignfull img { border-radius: 0; }
.ta-prose :not(pre) > code { font-family: var(--f-mono); font-size: .875em; background: var(--soft); padding: .12em .38em; border-radius: 4px; overflow-wrap: anywhere; }

/* Telas recriadas (passo a passo) */
.ta-prose .ta-screen { margin-block: 1.4em; }
.ta-prose .ta-screen img { width: 100%; height: auto; border: 1px solid var(--border); border-radius: var(--r); box-shadow: 0 2px 10px rgba(11, 17, 24, .08); background: #E9EDF2; }
.ta-prose .ta-screen figcaption { text-align: left; font-size: .875rem; margin-top: 10px; color: var(--muted); }

/* Código / comandos */
.ta-prose pre, .ta-codewrap pre {
	position: relative; margin: 0; padding: 16px 18px; padding-right: 56px;
	background: var(--code-bg); color: var(--code-text); border-radius: var(--r);
	font: 400 .875rem/1.65 var(--f-mono); white-space: pre-wrap; overflow-wrap: anywhere; tab-size: 4;
}
.ta-prose pre code { font: inherit; background: none; padding: 0; color: inherit; }
.ta-codewrap { position: relative; }
.ta-copy {
	position: absolute; top: 8px; right: 8px; z-index: 2;
	display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 10px;
	background: rgba(255, 255, 255, .08); color: #E6EDF3; border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--r-sm); font-size: .75rem; font-weight: 600; cursor: pointer;
}
.ta-copy:hover { background: rgba(255, 255, 255, .16); }
.ta-copy.is-done { color: #7EE2A8; border-color: rgba(126, 226, 168, .4); }
.ta-command { border-radius: var(--r); overflow: hidden; }
.ta-command__bar { display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: #1A2430; color: #C9D2DC; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ta-command__bar .ta-icon { color: var(--accent); }
.ta-command pre { border-radius: 0; }
/* Prompt de IA: texto corrido (não monoespaçado) para ler e copiar */
.ta-prompt pre, .ta-prompt .ta-codewrap pre { font-family: inherit; font-size: .9375rem; line-height: 1.6; }

/* Passos numerados */
.ta-prose ol.is-style-ta-steps { list-style: none; padding: 0; }
.ta-prose ol.is-style-ta-steps > li { position: relative; padding-left: 48px; min-height: 34px; }
.ta-prose ol.is-style-ta-steps > li + li { margin-top: 1em; }
.ta-prose ol.is-style-ta-steps > li::before {
	content: counter(list-item); position: absolute; left: 0; top: .1em;
	display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
	background: var(--accent-strong); color: #fff; font-weight: 700; font-size: .9375rem; line-height: 1;
}

/* Avisos */
.ta-callout { --c: #B45309; --t: rgba(180, 83, 9, .08); border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); border-left: 4px solid var(--c); background: var(--t); border-radius: var(--r); padding: 14px 18px; }
/* --c: borda | --lc: cor do rótulo (AA) | --t: fundo */
.ta-callout--dica { --c: #D35400; --lc: #B34100; --lcd: #FF9A52; --t: rgba(255, 106, 0, .07); }
.ta-callout--atencao { --c: #B7791F; --lc: #8A5300; --lcd: #F5C04A; --t: rgba(234, 179, 8, .10); }
.ta-callout--importante { --c: #2563EB; --lc: #1D4ED8; --lcd: #8AB4FF; --t: rgba(37, 99, 235, .07); }
.ta-callout--resultado { --c: #15803D; --lc: #166534; --lcd: #5EE08F; --t: rgba(21, 128, 61, .07); }
.ta-callout--erro { --c: #C62828; --lc: #B91C1C; --lcd: #FF8A8A; --t: rgba(198, 40, 40, .07); }
.ta-callout--solucao { --c: #0F766E; --lc: #0F766E; --lcd: #4FE0CC; --t: rgba(15, 118, 110, .08); }
:root[data-theme="dark"] .ta-callout { --t: color-mix(in srgb, var(--c) 14%, transparent); --lc: var(--lcd); }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .ta-callout { --t: color-mix(in srgb, var(--c) 14%, transparent); --lc: var(--lcd); }
}
.ta-callout__label { display: flex; align-items: center; gap: 8px; margin: 0 0 .4em !important; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lc, var(--c)); }
.ta-callout__title { font-weight: 700; margin: 0 0 .4em !important; overflow-wrap: anywhere; }
.ta-callout--erro .ta-callout__title { font-family: var(--f-mono); font-size: .9375rem; }
.ta-callout__body > * + * { margin-top: .7em; }
.ta-callout__body > :last-child { margin-bottom: 0; }

/* Índice */
.ta-toc { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 4px 18px; font-size: .9375rem; }
.ta-toc summary { cursor: pointer; font-weight: 700; padding: 12px 0; list-style-position: inside; }
.ta-toc ol { margin: 0 0 12px; padding-left: 1.2em; }
.ta-toc ol ol { margin: 4px 0; font-size: .875rem; }
.ta-toc li + li { margin-top: .3em; }
.ta-toc a { color: var(--text); font-weight: 400; text-decoration: none; }
.ta-toc a:hover { color: var(--accent-text); text-decoration: underline; }

/* Perguntas frequentes */
.ta-prose details.wp-block-details { border: 1px solid var(--border); border-radius: var(--r); background: var(--surface); padding: 0 18px; }
.ta-prose details.wp-block-details + details.wp-block-details { margin-top: 10px; }
.ta-prose details.wp-block-details summary { cursor: pointer; font-weight: 600; padding: 14px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.ta-prose details.wp-block-details summary::-webkit-details-marker { display: none; }
.ta-prose details.wp-block-details summary::after { content: "+"; color: var(--accent-text); font-weight: 700; font-size: 1.25em; line-height: 1; }
.ta-prose details.wp-block-details[open] summary::after { content: "–"; }
.ta-prose details.wp-block-details > :not(summary) { margin: 0 0 14px; }
.ta-prose .ta-toc { padding: 4px 18px; }
.ta-prose .ta-toc summary { display: list-item; list-style: disclosure-closed inside; }
.ta-prose .ta-toc[open] summary { list-style-type: disclosure-open; }

/* Compartilhar / autor */
.ta-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px 0; border-top: 1px solid var(--border); }
.ta-share__label { font-weight: 700; font-size: .875rem; margin-right: 4px; }
.ta-share ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ta-share a, .ta-share button {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--border); background: var(--surface); color: var(--text); cursor: pointer;
}
.ta-share a:hover, .ta-share button:hover { border-color: var(--accent); color: var(--accent-text); }
.ta-share button.is-done { border-color: #15803D; color: #15803D; }
.ta-authorbox { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; padding: 20px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); margin-top: 8px; }
.ta-authorbox img { border-radius: 50%; }
.ta-authorbox__name { font-weight: 700; font-size: 1.0625rem; margin: 0 0 .3em; }
.ta-authorbox__name a { text-decoration: none; }
.ta-authorbox p:last-child { margin-bottom: 0; color: var(--muted); font-size: .9375rem; }
.ta-related { padding-bottom: 48px; }
.ta-related .ta-section__title { margin-bottom: 16px; }

/* Formulário de contato */
.ta-form { display: grid; gap: 14px; max-width: 640px; }
.ta-form p { margin: 0; }
.ta-form__row { display: grid; gap: 6px; }
.ta-form label { font-weight: 600; font-size: .9375rem; }
.ta-form input[type="text"], .ta-form input[type="email"], .ta-form textarea {
	width: 100%; padding: 12px 14px; font: inherit; font-size: 16px; color: var(--text);
	background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-sm);
}
.ta-form input:focus, .ta-form textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: transparent; }
.ta-form textarea { resize: vertical; min-height: 140px; }
.ta-form__privacy { font-size: .875rem; color: var(--muted); }
.ta-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ta-form__notice { padding: 12px 16px; border-radius: var(--r-sm); font-weight: 600; }
.ta-form__notice--ok { background: rgba(21, 128, 61, .1); color: #166534; border: 1px solid rgba(21, 128, 61, .35); }
.ta-form__notice--error { background: rgba(198, 40, 40, .08); color: #B91C1C; border: 1px solid rgba(198, 40, 40, .35); }
:root[data-theme="dark"] .ta-form__notice--ok { color: #5EE08F; }
:root[data-theme="dark"] .ta-form__notice--error { color: #FF8A8A; }
.ta-authors { display: grid; gap: 14px; }
.ta-authors .ta-authorbox { grid-template-columns: 1fr; margin: 0; }

/* 404 */
.ta-404 { padding-block: 56px 72px; text-align: center; }
.ta-404__code { font-family: var(--f-head); font-weight: 800; font-size: 6rem; line-height: 1; color: var(--accent); margin: 0; }
.ta-404 .ta-searchform { max-width: 520px; margin: 20px auto; border: 1px solid var(--border); }

/* =========================================================
   Anúncios (só aparecem quando ativados)
   ========================================================= */
.ta-ad { margin: 2em auto; text-align: center; min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ta-ad__label { display: block; font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.ta-ad--sidebar { min-height: 250px; margin: 0; }
.ta-ad--listing { grid-column: 1 / -1; min-height: 120px; margin: 0; }
@media (max-width: 1099px) { .ta-ad--sidebar { display: none; } }

/* =========================================================
   Rodapé
   ========================================================= */
.ta-footer { background: var(--ink); color: var(--on-ink-muted); font-size: .9375rem; border-top: 1px solid rgba(255, 255, 255, .06); }
.ta-footer__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding-block: 44px 36px; }
.ta-footer__brand, .ta-footer__col--cats { grid-column: 1 / -1; }
.ta-footer .ta-brand { margin: 0 0 14px; }
.ta-footer .ta-brand__logo { height: 34px; }
.ta-footer__about { max-width: 30em; line-height: 1.6; margin-bottom: 16px; }
.ta-footer__title { color: var(--on-ink); font-weight: 700; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 14px; }
.ta-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ta-footer__list--2col { display: block; columns: 2; column-gap: 20px; }
.ta-footer__list--2col li { break-inside: avoid; }
.ta-footer__list a {
	display: inline-flex; align-items: center; min-height: 36px; color: var(--on-ink-muted);
	text-decoration: none; transition: color .15s ease;
}
.ta-footer__list a:hover, .ta-footer__list a:focus-visible { color: var(--accent); }
.ta-footer .ta-lang ul { gap: 6px; }
.ta-footer .ta-lang a { border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--r-sm); min-height: 36px; }
.ta-footer .ta-lang a.is-current { border-color: var(--accent); }
.ta-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .08); }
.ta-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding-block: 16px; font-size: .8125rem; }
.ta-footer__bar p { margin: 0; }
.ta-footer__top-link { color: var(--on-ink-muted); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.ta-footer__top-link:hover { color: var(--accent); }
@media (min-width: 640px) and (max-width: 999px) {
	.ta-footer__col--cats { grid-column: auto; }
}
@media (min-width: 1000px) {
	.ta-footer__top { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.25fr) minmax(0, .8fr) minmax(0, 1fr); gap: 40px; padding-block: 56px 44px; }
	.ta-footer__brand, .ta-footer__col--cats { grid-column: auto; }
}

/* Movimento reduzido */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Impressão: só o conteúdo */
@media print {
	.ta-header, .ta-footer, .ta-share, .ta-related, .ta-ad, .ta-copy, .ta-toc { display: none !important; }
	body { background: #fff; color: #000; }
	.ta-prose pre { white-space: pre-wrap; background: #f4f4f4; color: #000; }
}

/* Busca: contagem de resultados e seções sugeridas quando nada é encontrado */
.ta-archive__count { margin: 12px 0 0; color: var(--muted); font-size: .9375rem; }
.ta-empty__browse p { margin: 16px 0 10px; color: var(--muted); }
.ta-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ta-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface); text-decoration: none; font-weight: 500; }
.ta-chips a:hover { border-color: var(--accent); }
